Декартово произведение
Стр 1 из 3Следующая ⇒ Базы данных Модели данных. РМД. Объекты данных в РМД. Модель данных Модель данных – фиксированная система понятий и правил для представления структуры данных. Задается языком определения данных (DDL) и языком манипуляции данных (DML). Различают 4 основных модели данных: 1) Бинарная – представление о предметной области в виде бинарных отношений, характеризующихся триадой: объект - атрибут - значение. 2) Иерархическая – представление о предметной области в виде дерева объектов, когда каждый объект может иметь несколько подчиненных объектов, но только один старший. 3) Сетевая – представляение о предметной области в виде объектов, связанных бинарными отношениями много-ко-многим. 4) Реляционная – основана на представление данных в виде плоских двумерных таблиц, связанных ссылочной целостностью. (1970 год) РМД В РМД рассматривается 3 аспекта данных: 1) Структура (объекты) данных; 2) Целостность данных 3) Обработка данных (операторы). Объекты данных
Свойства отношений: 1) Отношения не имеют одинаковых кортежей (это свойство следует из определения отношений как множества) 2) Кортежи не упорядочены сверху - вниз 3) Атрибуты не упорядочены слева - направо 4) Все значения атрибутов – атомарны в рамках заданной модели Отношение, удовлетворяющее данному условию (атомарности) являются нормальзованным, оно находится в 1й нормальной форме. Отношения могут быть именованными и не именованными.
Именованные: базовые отношения, представления и снимки. Не именованные: результаты запроса. РМД. Целостность реляционных данных Потенциальные ключи Пусть R – некоторое отношение, тогда потенциальный ключи k для R – это подмножество множества атрибутов R, обладающих, следующими свойствами: 1) Уникальности, т.е. нет 2х различных кортежей в отношении R с одинаковыми значениями k 2) Неизбыточность, т.е. никакое из подмножеств k не обладает свойством уникальности. Каждое отношение имеет по определению хотя бы 1 потенциальный ключ. Тогда: а) либо это комбинация обладает свойством неизбыточности, а значит будет единственным потенциальным ключом. Б) либо существует подмножества этой комбинации удовлетворяющей этим условиям. Простой ключ состоит из одного атрибута, а составной – из нескольких. Прикладное значение потенциальных ключей в том, что они обеспечивают механизм адресации на уровне кортежа в реляционной системе. Потенциальных ключей может быть несколько в отношении. Если базовое отношение содержит более одного потенциального ключа, то один из них должен быть выбран в качестве первичного, остальные получат статус альтернативного. Каждое базовое отношение должно иметь первичный ключ.
Внешние ключи Пусть R2 – базовое отношение, тогда внешний ключ FK, в отношении R2 – это подмножество множества атрибутов R2, такое что: а) существует базовое отношение R1 с потенциальным ключом CK б) каждое значение в FK в текущем значении R2 всегда совпадает со значением CK некоторого кортежа в текущем значении R1 Комментарии: 1) Вышеперечисленное выражение работает в одну сторону 2) Внешний ключ будет составным, если соответствующий ему потенциальный ключ будет составным 3) Внешний ключ не обязательно является компонентом потенциального ключа в отношении его содержащем.
Отношение, которое содержит внешний ключ называют ссылающимся. Отношение, которое содержит соответственный потенциальный ключ – ссылочным или целевым. S <- SP ->P Отношение может быть ссылочным и ссылающимся одновременно. A- >B-> C Синтаксис определения внешнего ключа: FOREIGN KEY (element) REFERENCES base-relation [(element)]
Правило ссылочной целостности: База данных не должна содержать внешних ключей для которых не существует отвечающего ему значения соответствующего потенциального ключа в соответствующем целевом отношении.
R1 и R2 в определении внешнего ключа не всегда различимы, т.е. некоторые отношения могут содержать внешний ключ, значение которого соответствует значению потенциального ключа в этом же отношении. Такие отношения называются самоссылающимися.
NULL-значения Ни один элемент ключа не может быть NULL-значением. Поэтому на все атрибуты ключа должны быть явно объявлены опции NOT NULL при их определении. Реляционная алгебра по Кодду Реляционная алгебра состоит из множества операторов высокого уровня, применение которых к отношениям приводит к генерации новых отношений. ОБЪЕДИНЕНИЕ Отношение с тем же заголовком, что и у совместимых по типу отношений A и B, и телом, состоящим из кортежей, принадлежащих или A, или B, или обоим отношениям. ПЕРЕСЕЧЕНИЕ Отношение с тем же заголовком, что и у отношений A и B, и телом, состоящим из кортежей, принадлежащих одновременно обоим отношениям A и B. ВЫЧИТАНИЕ Отношение с тем же заголовком, что и у совместимых по типу отношений A и B, и телом, состоящим из кортежей, принадлежащих отношению A и не принадлежащих отношению B. ДЕКАРТОВО ПРОИЗВЕДЕНИЕ Отношение (A1, A2, …, Am, B1, B2, …, Bm), заголовок которого является сцеплением заголовков отношений A(A1, A2, …, Am) и B(B1, B2, …, Bm), а тело состоит из кортежей, являющихся сцеплением кортежей отношений A и B: (a1, a2, …, am, b1, b2, …, bm) таких, что (a1, a2, …, am) ∈ A, (b1, b2, …, bm) ∈ B. Синтаксис: A TIMES B
ДЕЛЕНИЕ Отношение с заголовком (X1, X2, …, Xn) и телом, содержащим множество кортежей (x1, x2, …, xn), таких, что для всех кортежей (y1, y2, …, ym) ∈ B в отношении A(X1, X2, …, Xn, Y1, Y2, …, Ym) найдется кортеж (x1, x2, …, xn, y1, y2, …, ym).
Тремя наиболее часто используемыми операторами являются операторы ВЫБОРКИ, ПРОЕКЦИИ и СОЕДИНЕНИЯ. Языки запросов всех СУБД включают в своей состав команды, эквивалентные перечисленным выше. Оператор ВЫБОРКА реляционной алгебры применяется к единичному, уже существующему, отношению и результатом этого применения является генерация нового отношения. Новое отношение получается путем ВЫБОРКИ только из тех кортежей из исходного отношения, которые удовлетворяют заданному условию. Общая форма операции выборка ВЫБОРКА ИЗ Имя-Отношения ГДЕ Условие ПОЛУЧАЯ Имя-Результата где Имя-Отношения – это имя исходного отношения; Условие – есть условие, которое должно учитываться при выборе кортежей; Имя-Результата – имя отношения, которое будет содержать результаты выполненной операции. Синтаксис: A WHERE c Оператор реляционной алгебры ПРОЕКЦИЯ применяется к одному существующему отношению для получения нового отношения. Новое отношение получается путем выбора (ПРОЕЦИРОВАНИЯ) определенных столбцов из текущего отношения. Если результат операции ПРОЕКЦИЯ содержит повторяющиеся кортежи, то в его новом отношении сохраняются только один из повторяющейся группы. Общая форма оператора ПРОЕКЦИЯ имеет вид: ПРОЕКЦИЯ а1, а2, … аn ИЗ Имя-Отношения ПОЛУЧАЯ Имя-Результата где а1, а2, … аn – это список названий атрибутов, выбираемых из отношения с именем Имя-Отношения; Результат операции будет записано в отношение с именем Имя-Результата. Синтаксис: A[X, Y, …, Z] или PROJECT A {x, y, …, z} Оператор СОЕДИНЕНИЕ предназначен для создания одного нового отношения из двух уже существующих отношений. Новое отношение получается путем конкатенации (СОЕДИНЕНИЯ) кортежей первого отношения с кортежами второго отношения. Только те кортежи подвергаются конкатенации, в которых значения специфицированного атрибута первого отношения совпадает со значением специфицированного атрибута второго отношения. Если первое отношение являющееся объектом операции СОЕДИНЕНИЕ, имеет N столбцов, а второе – M столбцов, то получаемое в результате отношение (M+N) столбцов. В получаемом отношении в двух столбцах всегда будут содержаться одинаковые значения. Если один из этих столбцов удалить, то принято называть результат ЕСТЕСТВЕННЫМ СОЕДИНЕНИЕМ.
Общая форма оператора СОЕДИНЕНИЕ имеет вид СОЕДИНЕНИЕ Отношение-1 И Отношение-2 ПО Атрибут-1 И Атрибут-2 ПОЛУЧАЯ Имя-Результата где, Отношение-1 и Отношение-2 идентифицируют два отношения, над которыми осуществляется операция СОЕДИНЕНИЕ; Атрибут-1 (О-1) и Атрибут-2 (Входит в отношение О-2) идентифицируют атрибуты, используемые при определении кортежей, включаемых в конечное отношение; Имя-Результата – имя отношения, в котором будут размещены результаты выполнения операции. Синтаксис: (A TIMES B) WHERE c
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|