
Особенности проектирования многотабличных баз данных
Как правило, на практике приходится иметь дело с многотабличными базами данных. Поэтому вопросы проектирования структуры данных создаваемого приложения и эффективного распределения данных между таблицами приобретают особое значение.
1. Реляционные базы данных
Основными понятиями в теории реляционных баз данных являются таблица, отношение, строка, столбец, первичный и внешний ключи.
Таблица состоит из строк и столбцов и имеет уникальное имя в базе данных. База данных содержит множество таблиц, связь между которыми устанавливается с помощью совпадающих полей. В каждой из таблиц содержимся информация о каких-либо объектах одного типа (группы).
MS Access поддерживает,четыре типа отношений между таблицами: «один-к-одному», «один-ко-многим», «много-к-одному», «много-ко-многим».
Прежде чем перейти к вопросам проектирования реляционных баз данных, остановимся подробнее на каждом из типов отношений.
Отношение «один-к-одному»
Отношение «один-к-одному» означает, что каждая запись в одной таблице соответствует только одной записи в другой таблице.
Пример: отношение между группами Физические лица и Сотрудники, представленными в одноименных таблицах.
Структура таблицы физические лица
N |
Наименование |
Тип |
1 |
Код ФизЛица |
Счетчик |
2 |
Фамилия |
Текстовый |
3 |
Имя |
Текстовый |
4 |
Отчество |
Текстовый |
5 |
Телефон |
Текстовый |
6 |
Индекс |
Текстовый |
7 |
Страна |
Текстовый |
8 |
Город |
Текстовый |
9 |
Область |
Текстовый |
10 |
Адрес |
Текстовый |
11 |
Дата рождения |
Дата/Время |
12 |
Фотография |
Поле объекта OLE |
13 |
Примечание |
Мемо |
Структура таблицы Сотрудники
N |
Наименование |
Тип |
1 |
Код сотрудника |
Счетчик |
2 |
Должность |
Текстовый |
3 |
Разряд |
Числовой |
4 |
Зарплата |
Числовой |
5 |
Задолженность |
Числовой |
6 |
Рейтинг |
Числовой |
7 |
Дата приема |
Дата/Время |
8 |
Дата увольнения |
Дата/Время |
9 |
Примечание |
Мемо |
Обе таблицы содержат информацию о сотрудниках компании. В таблице Физические лица содержатся данные о личности сотрудника, а в таблице Сотрудники — профессиональные сведения. Между таблицами Физические лица и Сотрудники существует отношение «один-к-одному», поскольку для одного человека может существовать только одна запись, содержащая профессиональные сведения.
Связь между этими таблицами поддерживается при помощи совпадающих полей: Код сотрудника (таблица Сотрудники) и Код ФизЛица (таблица Физические лица). Эти поля имеют разные наименования.
Связь между таблицами устанавливается на основании значений совпадающих полей, но не их наименований.