yes, a database is necessary if you wish to store the information about items purchased at the time of checkout.
you do not need to store the info to a database if you don't wish. If you have universal Email (or CSS Form Builder) and choose to use on of the local checkout options (or not to use a gateway), you can configure to have a receipt send at checkout time, the receipt will be sent to the purchaser, you can configure to have a copy sent to the store owner.