- •Тема 3.1. Разработка информационно-логической модели 2
- •Тема 3.1. Разработка информационно-логической модели
- •3.1.1. Основные понятия теории баз данных
- •3.1.2. Виды моделей данных
- •Иерархическая модель
- •Основные свойства иерархической модели
- •Сетевая модель
- •Реляционная модель
- •Правила назначения ключа таблицы
- •3.1.3. Информационно-логическая модель данных
- •3.1.4. Нормализация отношений Понятие нормализации отношений
- •Первая нормальная форма (1нф)
- •Вторая нормальная форма (2нф)
- •Третья нормальная форма (3нф)
- •Устранение связи «многие-ко-многим»
Правила назначения ключа таблицы
Можно сформулировать несколько правил, которые следует иметь в виду при назначении ключа таблицы.
Простой ключ лучше, чем составной.
Составной ключ должен состоять из минимального количества атрибутов, необходимых для идентификации каждой строки в таблице.
Лучше числовой ключ, чем текстовый. Как правило, создается поле Код <объекта> типа Счетчик.
Ключ должен быть обязательным полем, то есть соответствующая ячейка в таблице не должна быть пустой.
3.1.3. Информационно-логическая модель данных
Будем называть информационно-логической моделью (ИЛМ) данных графическую схему, по которой можно составить наглядное представление о сущностях предметной области и их атрибутов, а также о связях между сущностями. Каждая сущность имеет ключевые и описательные атрибуты
Графически сущность на схеме изображается в виде прямоугольника, на котором обязательно указывается название сущности, а также при необходимости атрибуты сущности. Атрибутивный состав каждой сущности можно описать отдельно с пояснениями смысла используемых атрибутов
Между сущностями указывают связи в виде соединительных дуг. Каждая связь является бинарной, то есть связывает только две сущности. На связи указывается ее тип
В теории баз данных выделяют три типа связей:
«один-к-одному» (1:1);
«один-ко-многим» (1:М);
«многие-ко-многим» (М:М)
Учитывая, что в настоящее время для создания баз данных повсеместно используется реляционная модель, сформулируем правила определения связей применительно к таблицам. Каждая таблица соответствует одной сущности.
Предположим, у вас есть две таблицы — ТабА и ТабВ
Связь «один-к-одному» означает, что одной записи в таблице ТабА соответствует только одна запись в таблице ТабВ, а одной записи в ТабВ — только одна запись в ТабА
Таким образом, при связи «один-к-одному» обе таблицы (ТабА и ТабВ) имеют одинаковое количество записей, и между этими записями установлено взаимно-однозначное соответствие
Например, в предметной области «Вуз» выделены две таблицы — «Факультет» и «Декан». Первая таблица содержит поля «Название факультета», «Помещение», «Номер телефона» и пр., а вторая имеет атрибуты «Фамилия», «Имя», «Отчество» и другие личные данные декана. Поскольку у каждого факультета только один декан и один декан является директором только одного факультета, между этими сущностями имеет место связь «один-к-одному» (условное обозначение 1:1). Связь «один-к-одному» является довольно редким типом связей, так как при таком отношении данных вполне можно заменить две таблицы одной
Связь «один-ко-многим» означает, что одной записи в таблице ТабА (конец связи «один») соответствует много записей в таблице ТабВ (конец связи «многие»), но одной записи в ТабВ соответствует только одна запись в ТабА. Таблица со стороны связи «один» называется главной, а таблица со стороны связи «многие» — подчиненной. Эта связь характерна также тем, что записи в главной таблице могут и не иметь подчиненных записей, но для каждой записи в подчиненной таблице обязательно должна быть запись в главной таблице. «Один-ко-многим» — наиболее распространенный тип связей
Например, таблица «Дом» содержит сведения об улицах и номерах домов, таблица «Квартира» — о номере квартиры в доме, количестве комнат, общей жилой площади. Между таблицами «Дом» и «Квартира» имеет место связь «один-комногим»: «один» — со стороны таблицы «Дом», «многие» — со стороны таблицы «Квартира». Это так, потому что один дом содержит много квартир, но одна конкретная квартира находится только в одном доме
Связь «многие-ко-многим» означает, что одной записи в ТабА соответствует много записей в ТабВ, а одной записи в ТабВ — много записей в ТабА
Например, в предметной области «Маршруты городского транспорта» в таблице «Остановки» содержатся адреса остановок для маршрутов городского транспорта, а в таблице «Маршруты» — перечень маршрутов. Между этими таблицами установлена связь «многие-ко-многим», так как на одну остановку могут прибывать многие маршруты, и наоборот, каждому маршруту соответствует много остановок.
На рис. 3.1.5 представлена информационно-логическая модель. Тип связи обозначается на концах линий, соединяющих сущности (таблицы).
Рис. 3.1.5. Информационно-логическая модель
