
- •Введение
- •1 Лекция. Развитие технологии баз данных
- •1.1 Информационные системы
- •1.2 Файлы и файловые системы
- •2 Лекция. Информационные системы, использующие базы данных
- •2.1 Недостатки файловых систем
- •2.2 Информационные системы, использующие базы данных
- •3 Лекция. История развития систем управления базами данных
- •3.1 Базы данных на больших эвм
- •3.2 Эпоха персональных компьютеров
- •3.3 Распределенные базы данных
- •3.4 Перспективы развития систем управления базами данных
- •4 Лекция 4 Системный анализ предметной области
- •4.1 Предметная область информационной системы
- •4.2 Примеры описания предметной области
- •5 Лекция. Принципы проектирования баз данных
- •5.1 Архитектура базы данных. Физическая и логическая независимость
- •5.2 Концептуальные модели данных
- •6 Лекция. Концептуальное моделирование данных
- •6.1 Основные определения концептуальных моделей данных
- •6.2 Графическое представление концептуальной модели
- •7 Лекция Разработка er-диаграммы для анализируемой предметной области
- •8 Лекция. Примеры концептуального моделирования
- •9 Лекция 9 Методы моделирования данных
- •9.1 Три базовые модели данных
- •10 Лекция 10 Реляционная модель данных
- •10.1 Реляционные таблицы и ключи
- •10.2 Ограничительные условия, поддерживающие целостность данных
- •11. Лекция. Преобразование концептуальной модели в реляционную
- •11.1 Преобразование объектных множеств и атрибутов
- •11.2 Преобразование отношений
- •12 Лекция. Нормализация базы данных
- •13 Лекция. Функциональные зависимости и связанные с ними нормальные формы
- •13.1 Функциональные зависимости и нормальные формы
- •13.2 Сравнение концептуального и реляционного моделирования данных
- •14 Лекция 14 Реализация разработанной реляционной схемы
- •14.1 Структурированный язык запросов sql
- •14.2 Объекты базы данных
- •15 Лекция. Распределенная обработка данных
- •15.1 Общие сведения
- •15.2 Модели «клиент—сервер» в технологии баз данных
- •15.3 Двухуровневые модели
11.1 Преобразование объектных множеств и атрибутов
1. Для каждого объектного множества модели создается реляционная таблица. Чаще всего имена объектных множеств и таблиц совпадают. Но они могут быть и различными, потому что на имена объектных множеств могут не накладываться дополнительные синтаксические ограничения, кроме уникальности имени в рамках модели. Имена же таблиц могут быть ограничены требованиями конкретной СУБД. Чаще всего эти имена являются идентификаторами в некотором базовом языке, они ограничены по длине и не должны содержать пробелов и некоторых специальных символов. Например, объектное множество может быть названо СОТРУДНИКИ (рисунок 11.1), а соответствующую ей таблицу желательно назвать, например, EMPLOYEE (без пробелов и латинскими буквами).
Рисунок 11.1 - Преобразование объектного множества СОТРУДНИКИ в таблицу EMPLOYEE
Атрибуты объектного множества становятся атрибутами реляционной таблицы. Переименование атрибутов должно происходить в соответствии с теми же правилами, что и переименование объектных множеств. Для каждого атрибута задается конкретный допустимый в СУБД тип данных (рисунок 11.2) и обязательность или необязательность данного атрибута (то есть допустимость или недопустимость NULL значений для него).
Рисунок 11.2 - Свойства атрибутов отношения EMPLOYEE
2. Если в концептуальной модели существует ключевой атрибут, то он может использоваться в качестве ключа реляционной таблицы (PRIMARY KEY). В противном случае ключевой атрибут таблицы может быть создан проектировщиком базы данных. Все-таки лучше, если такой атрибут естественным образом возникает из модели. На практике, конечно, проектировщики должны советоваться с пользователями по поводу выбора ключа. Атрибуты, входящие в первичный ключ отношения, автоматически получают свойство обязательности (NOT NULL).
3. Если в концептуальной модели есть конкретизации объектного множества, то есть подобъекты и обобщающие объекты, то возможны несколько вариантов представления. Возможно создать только одно отношение для всех подобъектов одного обобщающего объекта. В него включают все атрибуты всех подобъектов. Однако тогда для ряда экземпляров ряд атрибутов не будет иметь смысла. И даже если они будут иметь неопределенные значения, то потребуются дополнительные правила различения одних подобъектов от других. Достоинством такого представления является то, что создается всего одно отношение. При втором способе для каждого подобъекта и для обобщающего объекта создаются свои отдельные отношения. Недостатком такого способа представления является то, что создается много отношений, однако достоинств у такого способа больше, так как можно работать только со значимыми атрибутами подобъекта.
Обычно конкретизация объектного множества будет иметь все атрибуты объектного множества, которое оно конкретизирует. Тогда конкретизация и обобщающее множество содержат повторяющуюся информацию. Чтобы избежать такой избыточности данных, из реляционной таблицы конкретизации удаляются все повторяющиеся не ключевые атрибуты; ключи же совпадают с ключами обобщающих объектных множеств.