Лекция Реляционная модель РА.ppt
- Количество слайдов: 31
Реляционная модель данных
Понятия реляционной модели • Отношение - плоская таблица с некоторым количеством столбцов и строк. • Атрибут – именованный столбец отношения. • Домен – это совокупность значений, из которой берутся значения соответствующих атрибутов. • Кортеж – строка отношения.
Понятия реляционной модели • Степень отношения – это количество атрибутов, которое оно содержит. • Кардинальность – количество кортежей, которое содержится в отношении. • Схемой отношения R называется перечень имен атрибутов данного отношения с указанием домена, к которому они относятся: • SR = (А 1, А 2, …, Аn), Аi Di
Понятия реляционной модели • Отношение R, заданное реляционной схемой SR, является множеством таких nарных кортежей: • R = {(a 1, a 2, … an)}, где ai Ai • Схемы двух отношений называются эквивалентными • SR 1 = (A 1, A 2, . . . , An) — схема отношения R 1. • SR 2 = (Bi 1, Bi 2, . . . , Bin) — схема отношения R 2 после упорядочения имен атрибутов. • Тогда SR 1~SR 2 ↔ 1. n=m, и 2. Аj, Bij Dj
Понятия реляционной модели • Совокупность отношений, используемых в некоторой программе,
Свойства отношений • отношение имеет имя, которое отличается от • • • имен всех других отношений в реляционной схеме каждая ячейка отношения содержит только одно элементарное (неделимое) значение каждый атрибут имеет уникальное имя значения атрибута берутся из одного и того же домена каждый кортеж является уникальным порядок следования атрибутов значения не имеет порядок следования кортежей не имеет значения
Реляционные ключи • Потенциальный ключ – это атрибут или некоторое подмножество атрибутов, которое единственным образом идентифицирует кортеж данного отношения • Первичный ключ – потенциальный ключ, выбранный для идентификации кортежей данного отношения. • Внешний ключ – атрибут или множество атрибутов внутри отношения, которое соответствует потенциальному ключу другого отношения.
Представление схем Концептуальной моделью (концептуальной схемой) называется множество всех реляционных схем БД. Например, • «Сотрудник» ( «Таб. №» , «Фамилия И. О. » , «Должность» , «Ключ адреса» ) • «Адрес» ( «Номер п/п» , «Адрес» , «Номер телефона» )
Реляционная целостность • целостность сущностей • ссылочная целостность • корпоративные ограничения целостности
Внешние представления • Базовое отношение – Именованное отношение, соответствующее сущности в концептуальной схеме, кортежи которого физически хранятся в БД. • Представление – Динамический результат одной или нескольких реляционных операций над базовыми отношениями с целью создания некоторого иного отношения.
Реляционная алгебра • Выборка или ограничение - предикат(R) • зарплата>10000(Сотрудник) • Список всех сотрудников с зарплатой, превышающей 10000 руб. •
Реляционная алгебра • Проекция - ПA 1…An(R) • Определяет новое отношение, содержащее вертикальное подмножество отношения R, создаваемое в результате извлечения значений указанных атрибутов A 1…An и исключения из результат строк – дубликатов • Пример. ПФИО, зарплата(Сотрудник)
Реляционная алгебра • Объединение - R S • Определяет новое отношение, которое включает все кортежи, содержащиеся в Rили S, причем все дубликаты кортежей исключены. Отношения R и S должны быть совместимы по объединению • Например, • Создать список городов, в которых имеет отделение компании или объект недвижимости • Пгород(Офис) Пгород(Объект недвижимости)
Реляционная алгебра • Разность - R - S • Состоит из кортежей, которые имеются в отношении R, но отсутствуют в отношении S. Отношения R и S должны быть совместимы по объединению. • Создать список городов, в которых имеет отделение компании , но нет объектов недвижимости • • Пгород(Офис) - Пгород(Объект недвижимости)
Реляционная алгебра • Пересечение - R S • Содержит кортежи, присутствующие как в отношении R, так и в отношении S. Отношения R и S должны быть совместимы по объединению. • Создать список всех городов, в которых есть отделение компании, а также по крайней мере один объект недвижимости, сдаваемой в аренду. • Пгород(Офис) Пгород(Объект недвижимости) • R S = R – (R – S)
Реляционная алгебра • Декартово произведение - R x S • Отношение, которое является результатом конкатенации (сцепления) каждого кортежа из отношения R с каждым кортежем отношения S. • Если одно отношение имеет I кортежей и N атрибутов, а другое – J кортежей и M атрибутов, то их декартово произведение будет содержать (I x J) кортежей и (N x M) атрибутов
• Создать список всех арендаторов, которые осматривали объекты недвижимости, с указанием сделанных ими комментариев. • Имена арендаторов хранятся в отношении «Клиент» , а сведения о выполненных осмотрах – в отношении «Осмотры» . • Клиент№=Осмотры. Клиент№( Пклиент№, ФИО(Клиент) х Пклиент№, Коммент(Осмотры))
• Декомпозиция сложных операций • Промеж. Осмотр(Клиент№, Коммент) Пклиент№, Коммент(Осмотры) • Промеж. Клиент(Клиент№, ФИО) Пклиент№, ФИО(Клиент) • Коммент(Промеж. Осмотр. Клиент№, ФИО, П ромеж. Клиент№, Коммент) Промеж. Осмотр х Промеж. Клиент • Результат Промеж. Осмотр. Клиент№= Промеж. Клиент№(Коммент) • Еще один вариант состоит в использовании операции переименования . • S(E) или S(a 1, …, an)(E)
Реляционная алгебра • Тета-соединение - определяет отношение, которое содержит кортежи из декартова произведения отношений R и S, удовлетворяющее предикату F. Предикат F имеет вид: R. ai ¤ S. bj, где символ ¤ может быть заменен на одну из операций сравнения: <, <=, >, >=, = или ~=. • • Соединение по эквивалентности - предикат F тетасоединения содержит только операцию сравнения по равенству “=” • - создать список всех арендаторов, которые осматривали объекты недвижимости, с указанием сделанных ими комментариев
Реляционная алгебра • Естественное соединение - соединение по эквивалентности двух отношений R и S, выполненное по всем общим атрибутам x, из результатов которого исключается по одному экземпляру каждого общего атрибута. • Пример • Создать список всех арендаторов, которые осматривали объекты недвижимости, с указанием их имен и сделанных ими комментариев
Реляционная алгебра • Внешнее соединение • R S Левым внешним соединением называется соединение, при котором в результирующее отношение включаются также кортежи отношения R, не имеющие совпадающих значений в общих столбцах отношения S. • R S Правым внешним соединением называется соединение, при котором в результирующее отношение включаются также кортежи отношения S, не имеющие совпадающих значений в общих столбцах отношения R. • R S Полным внешним соединением называется соединение, при котором в результирующее отношение включаются также кортежи отношений R и S, не имеющие совпадающих значений в общих столбцах другого отношения. • Для обозначения несовпадающих значений кортежей используются значения NULL.
Реляционная алгебра Null Пример Создайть отчет о ходе проведения осмотра объектов недвижимости
Реляционная алгебра • Полусоединение • отношение, содержащее те кортежи отношения R, которые входят в соединение отношений R и S. Пример • Создать отчет, содержащий полную информацию обо всех сотрудниках, работающих в отделении компании, расположенном в городе Екатеринбург.
Реляционная алгебра Деление набор кортежей отношения R, определенных на множестве атрибутов C, которые соответствуют комбинации всех кортежей отношения S Пример Создать список всех арендаторов, которые осматривали объекты недвижимости с тремя комнатами
Реляционное исчисление кортежей Выражение
Реляционное исчисление кортежей Примеры
Реляционное исчисление доменов Выражение Примеры
ПРОЕКТИРОВАНИЕ РЕЛЯЦИОННЫХ БАЗ ДАННЫХ • Логическое проектирование • Физическое проектирование • Ошибки проектирования • • - избыточность -потенциальная противоречивость -аномалии включения -аномалии удаления
Функциональные зависимости • Пусть R(A 1, A 2, …, An) - схема отношения, а X, Y - подмножества {A 1, A 2, . . . An}. Говорят, что X функционально определяет Y и обозначают это как X Y, если в любом отношении r, являющимся текущим значением R, каждому значению X соответствует единственное значение Y. Пример
Правила вывода функциональных зависимостей Дополнительные правила вывода
Замыкание множества атрибутов