User Tools

Site Tools


qookie:database

This is an old revision of the document!


Qookie Database Design

Design goals

The following is a prioritized list of design goals for the Qookie database.

  1. Simplicity, the database should not (necessarily) require external services to run in order to work.
  2. Speed, the database should respond quickly to search queries.
  3. Ease of backup, the database should be easy to backup.
  4. Portability, the database should be easily ported to other formats/databases.

The following is a list of things that are not required by the Qookie database.

  • Size, the database size will not be an issue, since it will probably never contain more than a couple of thousands entries.

Database middleware

The database is implemented through a middleware layer, in order to abstract the physical database access away from the data itself.
This is also done in order to make porting the data storing to other databases an easy task.

Data definitions

Ingredient

A basic ingredient, such as flour, an egg or a tomato.

Dish

A single dish is an atomic component of a dish, i.e. cheese sauce, fried potatoes, meat balls.

Course

A course is a combination of several dishes all served together at the same time, i.e. fried potatoes with meat balls and cheese sauce.

A menu is a combination of dishes to be served together or after each other. A standard menu is aperitif, starter, main course and desert.

qookie/database.1227427961.txt.gz · Last modified: 2008/11/23 09:12 (external edit)