Даталогическим (логическим) проектированием называют проектирование логической структуры БД в среде конкретной СУБД. Выберем в качестве модели данных реляционную базу данных (РБД).
Существуют разные способы проектирования логической структуры РБД. Рассмотрим способ проектирования, основанный на анализе инфологической модели и переходе от нее к реляционным отношениям.
Для реляционной базы данных проектирование логической структуры заключается в том, чтобы разбить всю информацию по отношениям, а также определить состав атрибутов для каждого из этих отношений.
В результате получили следующие отношения:
Абоненты (Номер паспорта; Фамилия; Имя; Отчество; Дата рождения; Адрес).
Операторы (ИНН; Название; Адрес;).
Номера телефонов (Номер телефона; Номер паспорта; ИНН оператора).
Нормализация отношений
Следующим шагом в проектировании РБД является нормализация отношений (определить функциональные зависимости, определить ключи и привести отношения к 3-ей нормальной форме).
Составим таблицу «Абоненты» со всеми необходимыми полями (Номер телефона; Номер паспорта; Фамилия; Имя; Отчество; Дата рождения; Адрес; ИНН оператора; Название оператора; Адрес оператора).
Для приведения РБД к нормальной форме выделим из исходной таблицы «Абоненты» сущности «Операторы» и «Номера телефонов» .
Реляционная база данных ГТС. Физическое проектирование
Выполним физическое проектирование в среде СУБД Microsoft Access 2007. Поименуем таблицы и атрибуты, определим типы данных и размерность атрибутов. В таблицах выберем первичные ключи и индексированные поля.
Таблица 1. Структура таблицы «Абоненты».
|
Имя поля. | Тип данных. | Размер поля. | Первичный ключ индексированное поле. |
Номер паспорта. | Числовой. | | Первичный ключ. |
Фамилия. | Текстовый. | |
Имя. | Текстовый. | |
Отчество. | Текстовый. | |
Дата рождения. | Дата. | |
Адрес. | Текстовый. | |
Таблица 2. Структура таблицы «Операторы».
|
Имя поля. | Тип данных. | Размер поля. | Первичный ключ индексированное поле. |
ИНН. | Числовой. | | Первичный ключ. |
Название. | Текстовый. | |
Адрес. | Текстовый. | |
Таблица 3. Структура таблицы «Номера телефона».
|
Имя поля. | Тип данных. | Размер поля. | Первичный ключ индексированное поле. |
Номер телефона. | Текстовый. | | Совпадения не допускаются. |
Номер паспорта. | Числовой. | |
ИНН оператора. | Числовой. | |
Связи между таблицами в базе данных представлены на рис. 3.