Проектирование и нормализация БД

От этапа проектирования зависит дальнейший успех работы с базой. При неправильно спроектированной базе данных придется вносить изменения не только в ее структуру, но и во все уже созданные для этой базы приложения (формы, отчеты, запросы, программы и т.д.).

Первое, что нужно сделать при проектировании БД, - определить список данных, которые необходимо хранить в базе. Следующий шаг – сформировать структуру таблиц (одной или нескольких). База данных, созданная при проектировании, может обладать некоторыми недостатками. Например, может содержать избыточную информацию (например, повторение записей). Для избавления от недостатков база данных должна быть нормализованной. Обычно в результате нормализации получается многотабличная БД.

БД может считаться нормализованной, если выполнены следующие условия:

каждая таблица имеет главный ключ;

все поля каждой таблицы зависят от главного ключа целиком;

в таблицах отсутствуют группы повторяющихся значений.

Для успешной работы с многотабличными базами данных обычно требуется установить между ними связи. При установке связей обычно пользуются терминами базовая таблица и подчиненная. Связь создается парой полей, одно из которых находится в базовой таблице, а другое – в подчиненной. Базовая –это та таблица, которая участвует в связи своим ключевым полем (название этого поля на Схеме данных отображается полужирным шрифтом). Эти поля могут содержать повторяющиеся значения. Когда значение в связанном поле записи базовой таблицы совпадает со значением в связанном поле подчиненной, то эти записи называются связанными.

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

Пример создания базы данных "Результат сессии"

Пусть одна таблица содержит данные о студентах – номер зачетной книжки, фамилию, имя, отчество, пол, дату рождения, номер группы (рис. 1). Другая - может быть посвящена результатам сессии (рис. 3). Третья – назначению стипендии (рис. 4).

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

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

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

 
  Проектирование и нормализация БД - student2.ru

Рис. 1

При создании таблицы целесообразно задать ключевое поле. Это поможет впоследствии, при организации связей между таблицами. Для задания ключевого поля достаточно щелкнуть на его имени правой кнопкой мыши и в открывшемся динамическом меню выбрать пункт Ключевое поле. Microsoft Access вводит в таблицу в качестве ключевого поля то, в котором находится слово Счетчик (рис. 1). Нет нужды самостоятельно заполнять это поле - Microsoft Access автоматически присвоит номер каждой из ваших записей. Остальную информацию придется вводить с клавиатуры. Для перехода к следующей записи нажмите клавишу [Tab].

Наши рекомендации