- •Реляционная модель данных
- •Содержание
- •Раздел 1. Теория реляционных баз данных 9
- •Раздел 2. Проектирование реляционных баз данных на основе принципов нормализации 39
- •Раздел 3. Лабораторная работа 58
- •Введение
- •Раздел 1. Теория реляционных баз данных
- •1.1. Основные понятия реляционных баз данных
- •Виды связей реляционных баз данных
- •1.2. Реляционная алгебра и реляционное исчисление
- •Операции реляционной алгебры. Формулы исчисления кортежей
- •Проекция. Проекцией отношения а по атрибутам X, y,..., z, где каждый из атрибутов принадлежит отношению а.
- •Extend Группа add (2011-ГодПоступления) as Курс
- •Контрольные вопросы по разделу 1
- •Контрольное задание по разделу 1
- •Примерные задания для подготовки к тестированию в системе Moodle по материалу раздела 1
- •Раздел 2. Проектирование реляционных баз данных на основе принципов нормализации
- •2.1 Целостность баз данных. Ограничения целостности.
- •3. Ограничения, связанные с коллективным доступом к бд.
- •2.2 Теория нормальных форм
- •Первая нормальная форма (1нф)
- •Вторая нормальная форма (2нф)
- •Третья нормальная форма (знф)
- •2.3 Избыточное дублирование данных и аномалии.
- •Контрольные вопросы по разделу 2
- •Контрольное задание по разделу 2
- •Примерные задания для подготовки к тестированию в системе Moodle по материалу раздела 2
- •Раздел 3. Лабораторная работа Основы проектирования реляционных баз данных Разработка структуры базы данных
- •Практическое руководство: создание логической и физической моделей с помощью Microsoft Visio 2007
- •Нотация idef1x
- •Контрольные вопросы по разделу 3:
- •Глоссарий
- •Список литературы
Операции реляционной алгебры. Формулы исчисления кортежей
Существует много подходов к определению реляционной алгебры, которые различаются набором операций и способами их интерпретации. Рассмотрим традиционные операции над множествами, используемые в реляционных базах данных [2].
Объединение. Объединение в реляционной алгебре не полностью совпадает с математическим объединением, вернее, это особая форма объединения, в которой требуется, чтобы два исходных отношения были совместимо по типу.
Будем говорить, что два отношения совместимы по типу, если у них идентичные заголовки, а точнее:
если каждое из них имеет одно и то же множество имен атрибутов (следовательно, они должны иметь одну и ту же степень);
если соответствующие атрибуты (т.е. атрибуты с теми же самыми именами в двух отношениях) определены на одном и том же домене.
Операции объединения, пересечения и вычитания требуют от операндов совместимости по типу.
Объединением двух совместимых по типу отношений А и Б (A UNION Б) называется отношение с тем же заголовком, как и в отношениях А и Б, и с телом, состоящим из множества всех кортежей, принадлежащих А или Б или обоим отношениям.
Пример операции объединения отношений приведен на рисунке 1.4.
Рисунок 1.4 - Пример операции объединения отношений А и Б
Пересечение. Пересечением двух совместимых по типу отношений А и Б (A INTERSECT Б) называется отношение с тем же заголовком, как и в отношениях А и Б, и с телом, состоящим из множества всех кортежей, принадлежащих одновременно обоим отношениям A и Б.
Пример операции пересечения отношений приведен на рисунке 1.5.
Рисунок 1.5 - Результат операции пересечения отношений A и Б
Вычитание. Вычитанием двух совместимых по типу отношений А и Б (A MINUS B) называется отношение с тем же заголовком, как и в отношениях А и Б, и с телом, состоящим из множества всех кортежей, принадлежащих отношению A и не принадлежащих отношению B.
Пример операции вычитания отношений приведен на рисунке 1.6.
Рисунок 1.6 - Результат операции вычитания отношений A минус Б и Б минус A
Произведение. В математике декартово произведение (или для краткости произведение) двух множеств является множеством всех таких упорядоченных пар элементов, что первый элемент в каждой паре берется из первого множества, а второй элемент в каждой паре берется из второго множества. Следовательно, декартово произведение двух отношений, должно быть множеством упорядоченных пар кортежей. Но необходимо сохранить свойство замкнутости: результат должен содержать кортежи, а не упорядоченные пары кортежей.
Декартово произведение двух отношений А и Б (A TIMES Б), где А и Б не имеют общих имен атрибутов, определяется как отношение с заголовком, который представляет собой сцепление двух заголовков исходных отношений А и Б, и телом, состоящим из множества всех кортежей t, таких, что t представляет собой сцепление кортежа a, принадлежащего отношению А, и кортежа б, принадлежащего отношению Б.
Кардинальное число результата равняется произведению кардинальных чисел исходных отношений А и Б, а степень равняется сумме их степеней. Пример операции декартова произведения представлен на Рисунок 1.7
Явное использование операции декартова произведения требуется только для очень сложных запросов. Эта операция включена в реляционную алгебру главным образом по концептуальным соображениям. Декартово произведение требуется как промежуточный шаг при определении операции Q-соединения которая используется довольно часто.
Рисунок 1.7 - Результат операции декартово произведение отношений A и Б
Операции объединения, пересечения и декартова произведения (но не вычитания) обладают свойствами ассоциативности и коммутативности.
Пусть А, Б и В – произвольные реляционные выражения (дающие совместимые по типу отношения). Тогда операция объединения:
(A UNION Б) UNION В эквивалентна операции А UNION (Б UNION В) (свойство ассоциативности), а операция объединения:
А UNION Б эквивалентна операции Б UNION A (свойство коммутативности).
Аналогично свойства ассоциативности и коммутативности определяются для остальных операций.
Свойство ассоциативности позволяет записывать последовательные операторы объединения (пересечения и декартова произведения) без использования круглых скобок; таким образом, выражение из предыдущего примера можно однозначно упростить: A UNION Б UNION В.
Рассмотрим специальные реляционные операции.
Выборка. Выборка – это сокращенное название Q-выборки, где Q обозначает любой скалярный оператор сравнения (=, , >, , ≤, <). Q-выборкой из отношения A по атрибутам Х и Y (в этом порядке) A WHERE X Q Y называется отношение, имеющее тот же заголовок, что и отношение А, и тело, содержащее множество всех кортежей отношения А, для которых проверка условия X Q Y дает значение истина. Атрибуты X и Y должны быть определены на одном и том же домене, а оператор должен иметь смысл для этого домена.
На рисунке 1.8 приведен пример операции выборки.
Рисунок 1.9 - Исходное отношение A и результат операции выборки кортежей из отношения A по условию Номер региона = 1.
