- •Содержание
- •1.1. Основные понятия
- •1.2. Компоненты БнД
- •1.3. Классификация БнД и бд
- •1.4. Этапы проектирования бд
- •1.5. Взаимосвязь этапов проектирования бд
- •Вопросы для самоконтроля
- •Раздел 2. Проектирование баз данных. Тема 2. Инфологическое моделирование (начало)
- •2.1. Необходимость инфологического моделирования
- •2.1.1. Виды ограничений целостности
- •2.1.2. Причины, приводящие к нарушению ограничений целостности
- •2.2. Описание объектов и их свойств
- •Тема 3. Инфологическое моделирование (окончание)
- •3.1. Описание связей между объектами.
- •3. 2. Описание сложных объектов
- •Вопросы для самоконтроля
- •Тема 4. Даталогическое проектирование
- •4.1. Общие сведения
- •4.2. Подход к даталогическому проектированию
- •4.3. Определение состава бд
- •4.4. Разновидности даталогических моделей
- •Вопросы для самоконтроля
- •Тема 5. Реляционная даталогическая модель базы данных
- •5.1. Основные понятия
- •5.2. Цели проектирования рбд
- •5.2.1. Возможность хранения всех необходимых данных в бд
- •5.2.2. Исключение избыточности данных
- •5.2.3. Сведение числа хранимых в бд отношений к минимуму
- •5.2.4. Нормализация отношений
- •Вопросы для самоконтроля
- •Тема 6. Метод проектирования реляционной базы данных на основе илм
- •Вопросы для самоконтроля
- •Тема 7. Пример проектирования реляционной базы данных на основе илм
- •7.6. Определение состава бд
- •7.7. Определение отношений, включаемых в бд
- •7.8. Описание логической структуры бд на языке субд (схема бд)
- •7.9. Сравнение спроектированной рбд с однотабличной бд
- •Вопросы для самоконтроля
- •Раздел 3. Описание информационных потребностей пользователей базы данных. Тема 8. Информационные потребности пользователей базы данных.
- •8.1. Типы и языки запросов
- •8.2. Реляционная алгебра (алгебра отношений)
- •8.2.1. Проекция
- •8.2.2. Выборка
- •8.2.3. Соединение
- •8.2.4. Объединение
- •8.2.5. Пересечение
- •8.2.6. Вычитание
- •8.2.7. Умножение
- •8.2.8. Деление
- •8.3. Примеры запросов на реляционном языке
- •Вопросы для самоконтроля
- •Раздел 4. Использование языкаSql для работы с базами данных. Тема9. Структурированный язык запросов sql
- •9.1. Стандарт и разновидности языка sql
- •9.2. Краткое введение в sql
- •Тема 10. Основные элементы языка sql. Использование языка sql для выборки данных
- •10.1. Оператор select
- •Тема 11. Отбор строк из таблиц. Условия поиска строк
- •Вопросы для самоконтроля
- •Тема 12. Сортировка таблиц
- •Тема 13. Использование псевдонимов для обозначения таблиц базы данных. Самосоединение таблиц. Итоговые запросы и агрегатные функции
- •Вопросы для самоконтроля
- •Тема 14. Запросы с группировкой
- •Тема 15. Вложенные запросы
- •Вопросы для самоконтроля
- •Тема 16. Изменение данных в базе данных
- •16.1. Корректировка таблиц бд
- •16.2. Создание объектов бд
- •16.3. Создание представлений
- •Вопросы для самоконтроля
- •Рекомендуемая литература
Тема 3. Инфологическое моделирование (окончание)
3.1. Описание связей между объектами.
Помимо связи между объектом и его свойствами в ИЛМ фиксируются связи между объектами разных классов. Различают типы связей “один к одному” (1:1), “один ко многим” (1:N), “многие к одному” (N:1) и “многие ко многим” (N:M). тип связи называют также степенью связи.
Кроме степени связи в ИЛМ для характеристики связи между объектами разных классов надо указывать так называемый класс принадлежности. Класс принадлежности показывает, должен или не должен объект одного класса участвовать в связи с каким либо объектом другого класса. Класс принадлежности объекта должен быть либо обязательным, либо необязательным.
Если все объекты данного класса должны участвовать в связи, то класс принадлежности для этих объектов называется обязательным. Если (некоторые) объекты данного класса могут не участвовать в связи, то класс принадлежности называется необязательным.
В ИЛМ связи между объектами с учетом степени связи и класса принадлежности описываются с помощью ER- диаграмм, впервые предложенных Ченом (Chen P.P.S.) в 1979 г., называемых также диаграммами “сущность- связи” или “объект- связи” (ER- первые буквы английских слов Entity (сущность, объект) и Relationship (связь)).
Предположим, что предметной областью является кафедра института, преподаватели которой читают дисциплины, имеющиеся в учебном плане.
Двумя главными объектами, или сущностями, представляющими интерес, являются ПРЕПОДАВАТЕЛЬ и КУРС. Эти две сущности соотносятся с помощью связи ЧИТАЕТ, что позволяет нам сказать
ПРЕПОДАВАТЕЛЬ ЧИТАЕТ КУРС
Связь ЧИТАЕТ, существующая между указанными сущностями, может быть представлена двумя способами. На рис. 2.5 связь сущностей представлена с помощью диаграммы ER-экземпляров. На диаграмме показано, какой конкретно курс читает каждый преподаватель, причем каждый преподаватель идентифицируется номером преподавателя (НП), а каждый курс - номером курса (НК).
На рис 2.6 связь сущностей представлена диаграммой ER-типа.
Рис.2.5. Пример диаграммы ER-экземпляров
Рис.2.6. Пример диаграммы ER-типа
Приведенные примеры диаграмм отражают степень связи и класса принадлежности объектов, или сущностей, а именно: степень связи объектов, или сущностей, 1:1, а классы принадлежности обеих сущностей необязательные.
При изображении диаграмм используется такие термины, как сущность, связь, атрибут. Эти термины определяются следующим образом.
СУЩНОСТЬ. Сущность определяется как некоторый объект, представляющий интерес в данной ПО. Этот объект должен иметь экземпляры, отличающиеся друг от друга и допускающие однозначную идентификацию. Единственный определяющий признак, который может помочь в нахождении сущностей, состоит в том , что сущность- это, как правило, существительное. Примерами сущностей могут служить машины, банковские счета, кафедры студенты, заказы. На рис. 2.5 и 2.6 сущностями являются КУРС и ПРЕПОДАВАТЕЛЬ в то время как отдельные экземпляры каждой сущности номера- курса и номера преподавателя соответственно.
СВЯЗЬ. Связь представляет собой соединение между двумя и более сущностями. При поиске связей в основном следует полагаться на то, что связь обычно выражается глаголом. Типичными примерами связи между двумя сущностями являются: преподаватель РАБОТАЕТ на кафедре, студент ИЗУЧАЕТ учебный курс, мастер РЕМОНТИРУЕТ машину.
АТРИБУТ. Атрибут - это свойство сущности. Например, атрибутами сущности ПРЕПОДАВАТЕЛЬ являются: номер преподавателя, фамилия, имя, отчество, должность.
На диаграмме ER-экземпляров (см. рис. 2.5) названия всех сущностей помещены над экземплярами этих сущностей и в них использованы простые буквы, в то время как каждый экземпляр сущности идентифицируется значением атрибута. Так КУРС является сущностью, а К1- конкретным экземпляром сущности.
Связь также именуется, и ее название, составленное из прописных букв, размещается над экземплярами связи, при этом экземпляр каждой отдельной связи задается линией между теми двумя экземплярами сущностей, которые эта связь соединяет. Экземпляр связи между К1 и П3, например, означает, что преподаватель с номером П3 читает курс с номером К1.
Атрибут или набор атрибутов, используемый для идентификации экземпляра сущности, называется ключом сущности. Каждый экземпляр связи однозначно определяется набором ключей сущностей, соединяемых этой связью.
На диаграмме ER-типа (см. рис. 2.5) сущности представляются в виде прямоугольников, а связи- в виде ромбов. Ниже каждой сущности размещается подчеркнутый атрибут, или набор атрибутов, являющийся ключом сущности для этой- сущности. Цифры “1” рядом с сущностями указывают степень связи 1:1, а точки на линиях, соединяющих ромб с прямоугольниками, обозначает необязательный класс принадлежности.
Можно рекомендовать более простой способ изображения связи на диаграмме ER-типа, учитывающий степень связи сущностей: вместо ромба используется двусторонняя стрелка, соединяющая сущности, а название связи записывается над стрелкой или не указывается. Ниже приведены возможные способы изображения связей, соответствующие различным степеням связи (рис. 2.7).
Рис. 2.7. Альтернативные способы изображения связей сущностей с учетом степеней связи
Диаграммы, изображенные на рис. 2.5 и 2.6, соответствуют случаю, когда каждый преподаватель читает не более одного курса, и каждый курс читается не более чем одним преподавателем, т.е. допускается наличие преподавателей, не читаемых вовсе. Таким образом, ни один преподаватель не должен читать более одного курса, и ни один курс не должен читаться более чем одним преподавателем.
Диаграмма ER- типа, изображенная на рис. 2.8(а), соответствует случаю, когда каждый преподаватель читает только один курс, а каждый курс читается не более, чем одним преподавателем. Поскольку все преподаватели участвуют в чтении какого-либо курса, т. е. Связан с каким-либо курсом, то класс принадлежит сущности ПРЕПОДАВАТЕЛЬ является обязательным и этот факт отмечается точкой в блоке, смежном с прямоугольником сущности.
Диаграмма ER- типа, изображенная на рис. 2.8.(б), соответствует случаю, когда каждый преподаватель читает не более одного курса (т. е. 1 или 0 курсов), а каждый курс читается только одним преподавателем.
Диаграмма ER- типа, изображенная на рис. 2.8. (в), соответствует случаю, когда каждый преподаватель читает только один курс и каждый курс читается только одним преподавателем.
Во всех четырех случаях степень связи равна 1:1, а сочетание классов принадлежности сущностей различается ( необяз.- необяз., обязат.- необязат., необязат.- обязат., обязат.- обязат.)
На диаграммах ER-типа непосредственно под каждой сущностью выписывается и выделяется подчеркиванием ключ этой сущности: НП ( номер- преподавателя) для сущности ПРЕПОДАВАТЕЛЬ и НК (номер- курса) для сущности КУРС. Точки, расположение вслед за каждым из этих атрибутов, указывают на то, что ни какие другие возможно имеющиеся атрибуты , соответствующие сущности не могут быть частью ее ключа.
Рис. 2.8 Диаграммы ER- типа для случая степени связи 1:1 и различных классов принадлежности.
Помимо распространенных случаев организация чтения курсов преподавателями возможны и другие, например:
1) каждый преподаватель может читать одновременно несколько курсов, но каждый курс читается не более чем одним преподавателем;
2) каждый преподаватель читает не более одного курса, но каждый курс может читаться сразу несколькими преподавателями;
3) каждый преподаватель может читать несколько курсов (в частности, ни одного курса) и каждый курс может читаться несколькими преподавателями (в частности, ни одним преподавателем).
Этим случаем соответствуют степени связи 1:N, N:1, N:M и различные сочетания классов принадлежности сущностей. На рис.2.9 - 2.11 приведены диаграммы ER- типа, отражающие все возможные случаи организации чтения курсов преподавателями.
Рис. 2.9. Диаграммы ER- типа для случая степени связи1:N.
Рис. 2.10. Диаграмма ER-типа для случая степени связиN:1.
Рис. 2.11. Диаграмма ER-типа для случая степени связиN:M.