- •Введение в базы данных
- •Отношения между прикладными программами и субд
- •Системы обработки баз данных
- •История баз данных
- •Организационный контекст
- •Реляционная модель
- •Коммерческие субд для микрокомпьютеров
- •Клиент-серверные приложения баз данных
- •Базы данных с использованием Интернет-технологий
- •Распределенные базы данных
- •Объектно-ориентированные субд
- •Банк данных
- •Основные понятия и определения
- •Пользователи банков данных
- •База данных
- •Архитектура базы данных. Физическая и логическая независимость
- •Схемы и отображения
- •Независимость от данных
- •Система управления базами данных – субд
- •Процесс прохождения пользовательского запроса
- •Введение в разработку баз данных
- •Метаданные
- •Индексы
- •Метаданные приложений
- •Подсистема средств проектирования
- •Подсистема обработки
- •Ядро субд
- •Создание базы данных
- •Процесс разработки базы данных
- •Моделирование данных
- •Функции субд
- •Модели данных
- •Объектные или инфологические модели данных
- •Модели данных на основе записей или даталогические
- •Реляционная модель данных
- •Преподаватели
- •Сетевая модель данных
- •. Физические модели данных
- •Концептуальное моделирование
- •Реляционная модель
- •Структура реляционных данных
- •Кортежи
- •Внешний ключ
- •Альтернативная терминология
- •Математические отношения
- •Отношения в базе данных
- •Реляционные ключи
- •Реляционная целостность
- •Целостность сущностей
- •Ссылочная целостность
- •Реляционные языки
- •Реляционная алгебра
- •Учебный проект DreamHome
- •Реляционная алгебра (продолжение)
- •Выборка (или ограничение)
- •Проекция
- •Декартово произведение
- •Объединение
- •Разность
- •Операции соединения
- •Tema-соединение (θ-join)
- •Естественное соединение
- •Внешнее соединение
- •Полусоединение
- •Пересечение
- •Деление
- •Другие языки
- •Примеры применения реляционной алгебры
- •Обзор жизненного цикла информационных систем
- •Жизненный цикл приложения баз данных
- •Проектирование базы данных
- •Проектирование баз данных на основе восходящего подхода (Метод нормализации или декомпозиции)
- •Цель нормализации
- •Проблемы, вызываемые использованием единственного отношения (аномалии обновления)
- •Проблема вставки
- •Проблема обновления
- •Проблемы удаления
- •Функциональные зависимости
- •Процесс нормализации
- •Декомпозиция без потерь и функциональные зависимости
- •Первая нормальная форма (1 нф) (из Коннолли)
- •Вторая нормальная форма (2нф)
- •Третья нормальная форма (знф)
- •Нормальная форма Бойса-Кодда (нфбк)
- •4 И 5 нормальные формы (4нф и 5нф)
- •Пример нормализации
- •. Другая декомпозиция отношения консультант
- •Некоторые комментарии к декомпозиционному алгоритму проектирования
- •Некоторые модификации алгоритма проектирования Избыточные функциональные зависимости
- •Транзитивные зависимости
- •Добавление атрибутов в фз
- •Правила вывода
- •Алгоритм проектирования бд методом декомпозиции (восходящий метод)
- •Проверка отношений на завершающей фазе их проектирования
- •Задачи к текущему материалу
- •Пример аномалий для 2нф
- •Нормальная форма Бойса—Кодда (нфбк) с примером аномалий для 3 формы
- •Язык sql
- •Запрос одиночной таблицы
- •Проектирование в sql
- •Выборка в sql
- •Сортировка
- •Встроенные функции sql
- •Встроенные функции и группировка
- •Запрос нескольких таблиц
- •Вложенные запросы
- •Соединение с помощью sql
- •Сравнение вложенного запроса и соединения
- •Внешнее соединение
- •Операторы exists и not exists
- •Изменение данных
- •Insert into запись
- •Insert into запись
- •Insert into третьекурсник
- •Удаление данных
- •Модификация данных
- •Запрос на sql с exist и not exist (реализация реляционной операции Деления)
- •Операция внешнего соединения таблиц в access (Мои замечания)
- •Псевдонимы столбцов и таблиц
- •Уточнения запроса
- •Теоретико-множественные операции
- •Декартово произведение наборов записей
- •Объединение наборов записей (union)
- •Пересечение наборов записей (intersect)
- •Intersect corresponding (id_компонента, Тип_компонента)
- •Вычитание наборов записей (except)
- •Операции соединения
- •Естественное соединение (natural join)
- •Условное соединение (join... On)
- •Соединение по именам столбцов (join... Using)
- •Внешние соединения
- •Левое соединение {left outer join)
- •Правое соединение {right outer join)
- •Внешнее соединение Преподаватель-Изучение-Предмет. Создание в access. Пример
- •Операторы exists и not exists
- •Низходящее проектирование бд на основе er-модели Модель «сущность—связь» и ее варианты
- •Реализация низходящего проектирования бд на основе er-модели
- •Типы сущностей
- •Способы представления сущностей на диаграмме
- •Атрибуты
- •Типы связей
- •Представление связей на диаграммах
- •Атрибуты связей
- •. Структурные ограничения
- •Показатель кардинальности
- •Степень участия
- •Примеры er-проектирования
- •Модель «сущность—связь» в другом рассмотрении
- •Элементы модели «сущность—связь»
- •Сущности
- •Атрибуты
- •Идентификаторы
- •Три типа бинарных связей
- •Диаграммы «сущность—связь»
- •Изображение атрибутов в диаграммах «сущность—связь»
- •Слабые сущности
- •Представление многозначных атрибутов при помощи слабых сущностей
- •Подтипы сущностей
- •Пример er-диаграммы
- •Документирование делового регламента
- •Модель «сущность—связь» и case-средства
- •Диаграммы «сущность—связь» в стиле uml
- •Сущности и связи в uml
- •Представление слабых сущностей
- •Представление подтипов
- •Конструкции ооп, введенные языком uml
- •Роль uml в базах данных на сегодняшний день
- •Примеры
- •Вопросы группы I
- •Вопросы группы II
- •Литература по курсу «базы и банки данных»
Атрибуты связей
Атрибуты, описанные в разделе 5.1.2, могут также принадлежать связям. Рассмотрим в качестве примера связь Views между сущностями Client и Property for Rent. Допустим, что требуется фиксировать дату просмотра объекта недвижимости клиентом, а также записывать комментарии, сделанные клиентом в ходе осмотра этой недвижимости. Данная информация скорее относится к связи Views, чем к сущности Client или Property for Rent. Как показано на рис. 5.11, для хранения этих сведений связи Views присваиваются атрибуты Date_View (Дата просмотра) и Continents (Комментарии).
Наличие у связи одного или нескольких атрибутов может свидетельствовать о том, что эта связь скрывает некоторую неопределенную сущность. Например, наличие атрибутов Date View и Comments у связи Views может свидетельствовать о наличии некоторой сущности с именем Viewing (Просмотр).
. Структурные ограничения
Рассмотрим теперь ограничения, которые могут накладываться на сущности — участницы некоторой связи. По сути, они являются отражением определенных требований реального мира. Примерами таких ограничений являются требования, чтобы объект недвижимости имел владельца и в каждом отделении компании был некоторый персонал. Основными двумя типами накладываемых на связи ограничений являются ее кардинальность (cardinality) (в некоторых книгах- степень связи, что противоречит ранее введенному термину) и степень участия (participation) (другой термин – класс принадлежности).
Показатель кардинальности
Показатель кардинальности (по Джексону - степень связи) описывает количество возможных связей для каждой из сущностей-участниц.
Наиболее распространенными являются бинарные связи с показателями кардинальности «один к одному» (1:1), «один ко многим» (1:М) и «многие ко многим» (M:N).
Показатели кардинальности связей между сущностями определяются прежде всего производственными правилами, установленными на данном предприятии. Правила, определяющие показатели кардинальности, называются бизнес-правилами (business rules) организации. Важной частью моделирования процессов функционирования предприятия является выделение и учет всех (без исключения) существующих в нем бизнес-правил. К сожалению, не все существующие типы бизнес-правил могут быть представлены с помощью ER-модели. Примером подобного бизнес-правила является распоряжение о том, что любой сотрудник получает дополнительный выходной день за каждый отработанный в данной корпорации год.
Рис. 6.3 иллюстрирует все возможные формы диаграммы ER-экземпляров, которые могли бы существовать между сущностями ПРЕПОДАВАТЕЛЬ и КУРС в том случае, когда кардинальность равна 1:1. Каждая диаграмма представляет собственный набор возможных правил функционирования организации (в данном случае университета). Только одна из этих диаграмм может быть истинной для организации в каждый момент времени. Перечни правил, которых следует придерживаться для соответствия каждой диаграмме, представленной на рис. 6.3, формулируются следующим образом:
Рис. 6.3(а). Каждый преподаватель читает не более одного курса и каждый курс читается не более чем одним преподавателем, т.е. допускается наличие преподавателей, не читающих ни одного курса, а также курсов, не читаемых вовсе. Таким образом, ни один преподаватель не должен читать более одного курса, и ни один курс не должен читаться более чем одним преподавателем.
ОМИТ
ЭФУ
АП
ИПУ
ОМИТ
ЭФУ
АП
ИПУ
ОМИТ
ЭФУ
АП
ИПУ
ОМИТ
ЭФУ
АП
ИПУ
Рис. 6.3. Различные степени участия (классы принадлежности) для показателя кардинальности связи 1:1.
Показатель кардинальности 1:1 и степень участия всех сущностей – частичная.
Показатель кардинальности 1:1 и степень участия сущности ПРЕПОДАВАТЕЛЬ – полная.
Показатель кардинальности 1:1 и степень участия сущности КУРС – полная.
Показатель кардинальности 1:1 и степень участия всех сущностей – полная.
Рис. 6.3(6). Каждый преподаватель читает только один курс, а каждый курс читается не более чем одним преподавателем.
Рис. 6.3(в). Каждый преподаватель читает не более одного курса, а каждый курс читается только одним преподавателем.
Рис. 6.3(г). Каждый преподаватель читает только один курс и каждый курс читается только одним преподавателем.
Тот факт, что каждый экземпляр сущности, расположенный как в левой, так и в правой частях диаграммы, связывается максимально с одним экземпляром сущности, расположенным в противоположной части диаграммы, дает основание определить каждую из диаграмм экземпляров, приведенную на рис. 6.3, как имеющую показатель кардинальности 1:1.
Различия между диаграммами, показанными на рис. 6.3, являются следствием того, должны или не должны все экземпляры сущности участвовать в связи. На рис. 6.3 (а) не выставляется требование участия всех экземпляров обеих сущностей в связи. На рис. 6.3(6) все экземпляры преподавателей обязательно должны участвовать в связи, а экземпляры курсов - необязательно. На рис. 6.3 (в) требуется участие в связи каждого экземпляра курса и допускается неучастие некоторых экземпляров преподавателей. На рис. 6.3(г) требование обязательного участия в связи накладывается на все экземпляры обеих сущностей.
Рис. 6.4 иллюстрирует возможность более компактной формы представления информации, приведенной на рис. 6.3.
