- •1. Основы построения баз данных 11
- •2. Модели представления данных 22
- •3. ДатАлогические модели данных 38
- •4. Семантическое моделирование 101
- •5. Базы данных в сетях 155
- •6.Современное состояние и 177
- •1. Основы построения баз данных
- •1.1. Архитектура системы баз данных
- •1.2. Жизненный цикл базы данных
- •Контрольные вопросы и задания
- •2. Модели представления данных
- •2.1. Классификация моделей данных
- •2.2. Разновидности инфологических моделей данных
- •Контрольные вопросы и задания
- •3. ДатАлогические модели данных
- •3.1. Иерархические модели
- •Между предками и потомками автоматически поддерживается целостность ссылок. Основное правило: никакой потомок не может существовать без своего родителя, у некоторых родителей не может быть потомков.
- •3.2. Сетевые модели
- •3.3. Реляционные модели
- •3.3.1. Основные понятия реляционной модели
- •3.3.2. Реляционная алгебра
- •3.3.3. Язык запросов по образцу qbe
- •3.3.4. Структурированный язык запросов sql
- •Основные инструкции языка sql
- •Values ("3110", "чп Иванов п.Т.", null)
- •3.4. Проектирование реляционных баз данных
- •Контрольные вопросы и задания
- •4. Семантическое моделирование
- •4.1. Объектно-ориентированное проектирование
- •4.1.1. Представление объектов
- •4.1.2. Описания классов
- •4.1.3. Атрибуты в odl
- •4.1.4. Связи в odl
- •4.1.5. Обратные связи
- •4.1.6. Множественность связей
- •4.1.7. Типы в odl
- •4.1.8. Проектирование с использованием odl
- •Правильность
- •Устранение избыточности
- •4.1.9. Подклассы
- •4.1.10. Множественное наследование в odl
- •4.1.11. Моделирование ограничений
- •Ссылочная целостность
- •Прочие ограничения
- •4.1.12. Переход от объектно-ориентированной модели к реляционной
- •4.2. Диаграммы "сущность-связь"
- •4.2.1. Компоненты диаграмм "сущность-связь"
- •4.2.2. Множественность e/r-связей
- •Многосторонние связи
- •4.2.3. Роли в связях
- •4.2.4. Атрибуты связей
- •4.2.5. Конвертирование многосторонних связей в бинарные
- •4.2.6. Проектирование e/r моделей
- •Простота
- •Типы элементов проекта
- •Определения подклассов
- •Наследование в e/r-модели
- •Моделирование ограничений
- •Ссылочная целостность
- •Слабые множества сущностей
- •Переход от e/r-диаграмм к реляционным проектам
- •Контрольные вопросы и задания
- •5. Базы данных в сетях
- •5.1. Архитектура "клиент-сервер"
- •5.2. Распределенные базы данных
- •5.3. Базы данных в Интернет
- •Контрольные вопросы и задания
- •Контрольные вопросы и задания
- •Информационные ресурсы Internet
- •Словарь терминов
- •Список сокращений
- •Темы рефератов
Наследование в e/r-модели
Существует значительное отличие между наследованием в ODL или других объектно-ориентированных моделях и наследованием в E/R-модели. В ODL объект должен быть членом только одного класса. В E/R-модели считается, что сущность имеет компоненты, принадлежащие нескольким множествам сущностей, которые являются частью isa-иерархии. Эти компоненты объединены в единую сущность связями isa, и такая сущность имеет все атрибуты своих компонентов, а также участвует во всех связях, в которых они участвуют.
При таком подходе получается тот же эффект, что и в ODL, так как наследование свойств дает объекту те же атрибуты и связи, которые соответствующая ему сущность могла бы собрать из своих компонентов.
При необходимости, вместо использования множественного наследования, в E/R-модели можно ввести новое множество сущностей.
Моделирование ограничений
Как уже говорилось, описание базы данных включает ограничения или правила, позволяющие более адекватно описать предметную область, уменьшить возможность возникновения ошибок и аномалий.
Ключи
Аналогично классам ODL, множество сущностей может также иметь ключи. Если множество атрибутов формирует ключ для множества сущностей, в нем не может быть двух сущностей, чьи значения совпадают для каждого атрибута ключа. В нотации E/R-диаграммы подчеркиваются атрибуты, принадлежащие ключу для любого множества сущностей.
На рис. 58 показано множество сущностей Мастера из рис. 47 с атрибутами фамилия, имя, отчество, которые вместе служат ключом.
В модели может быть несколько ключей, при в E/R-модели отсутствуют средства для указания всех ключей. Принято выделять один ключ в качестве первичного и рассматривать множество его атрибутов как единственный ключ для множества сущностей. Первичный ключ В E/R-модели первичный ключ выделяется подчеркиванием, а другие ключи, называемые вторичными, либо не отмечаются, либо перечисляются в комментарии на краю диаграммы.
Возможна необычная ситуация, когда ключ для множества сущностей не принадлежит самому этому множеству. Такой случай называется "слабыми множествами сущностей".
Ссылочная целостность
В E/R-диаграммах можно расширить функции стрелок таким образом, чтобы они показывали, ожидается ли ссылочная целостность данной связи в одном или нескольких направлениях. Пусть R – это связь множества сущностей Е с множеством сущностей F. Стрелка с закругленным "острием", указывающая на F, означает не только то, что Е и F находятся в связи типа "многие-к-одному" или "один-к-одному", но и то, что должно существовать множество Е. То же самое относится к случаю, когда R – связь между более чем двумя атрибутами.
Пример 4.23. На рис. 59 показано ограничение ссылочной целостности для множеств Изделия, Цеха и Начальники. Эти множества и связи впервые были введены на рис. 47 и рис. 48. Закругленная стрелка, указывающая от связи обеспечивает на множество Цеха выражает ограничение ссылочной целостности, состоящее в том, что цех, обеспечивающий работу над изделием, должен всегда присутствовать в множестве Изделия.
Аналогично, вторая закругленная стрелка от Возглавляет к Цеха, означает: если начальник возглавляет цех, то этот цех обязательно существует в множестве Цеха.
Заметим, что от Возглавляет на Начальник по-прежнему указывает обычная стрелка, выражая разумное допущение о связи между начальниками и их цехами. Если цех прекращает свое существование, ее начальник больше не может называться начальником (цеха) и должен быть удален из множества Начальники. Поэтому закругленная стрелка указывает на Цеха. Если же из базы данных удален начальник, цех может продолжать существовать. Поэтому на Начальники указывает обычная стрелка, обозначающая, что у каждого цеха есть только один начальник, но иногда он может быть и без начальника.
Дополнительные ограничения
Для конкретной базы данных могут быть введены также другие ограничения (правила целостности).
Например, учитывая оборот изделий и реальные возможности мастеров, можно ввести правило, чтоб у каждого мастера было не более десяти изделий.
В E/R диаграммах соответствующим образом помечают линии между символами связи и множества сущностей, как в следующем примере (рис. 60).