Планирование баз данных.

Перед созданием новой базы данных обязательно необходимо хорошо продумать следующие вопросы:

1 Какие данные будут храниться в БД и как их организовать наилучшим образом? - Это позволит определить, какие потребуются таблицы и какие связи необходимо организовать между ними.

2 Какие действия с данными необходимо будет производить в процессе эксплуатации БД? - это позволит определить, какие потребуются формы.

3 Какие документы необходимо будет выводить на печать? - Это позволит определить, какие потребуются отчеты.

Таблицы и связи между ними представляют собой так называемую модель данных, которая является основой любой БД. В теории БД существуют так называемые правила нормализации данных, которые позволяют устранить избыточность, противоречивость и непоследовательность модели данных.

При проектировании таблиц базы данных рекомендуется:

1 Избегать повторения информации

Если информация повторяется то логичнее разбить информацию в две таблицы, задать ключевые поля и связать таблицы по ключевым полям.

2 Избегать повторяющихся групп

Повторяющаяся группа - это столбцы, которые повторяются в пределах одной и той же строки для хранения нескольких значений данных одного вида.

Например, мы храним таблицу со списком зарегистрированных фирм, и в ней 10 столбцов с наименованиями фирм-учредителей. Но количество учредителей чаще всего меньше 10-ти и поэтому многие поля в этой таблице будут пустыми.

С другой стороны, если когда-нибудь придется зарегистрировать фирму с количеством учредителей больше 10-ти, то придется заводить новый столбец. Если наша таблица связана с другими, и мы уже разработали много форм и отчетов, то такая ситуация повлечет за собой переделку всей базы данных.

3 Каждая таблица должна описывать одну сущность реального мира

Не следует смешивать, например, в одной таблице сведения о сотрудниках фирмы и заключенных ими договорах.

4 Там, где это возможно, следует использовать коды (первичные ключи)

Первичные ключи помогают связывать таблицы.

5 Справочную информацию следует помещать в отдельные таблицы.