Главная | Обратная связь
МегаЛекции

ДЕКАРТОВО ПРОИЗВЕДЕНИЕ





Базы данных

Модели данных. РМД. Объекты данных в РМД.

Модель данных

Модель данных – фиксированная система понятий и правил для представления структуры данных. Задается языком определения данных (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 UNION B

ПЕРЕСЕЧЕНИЕ

Отношение с тем же заголовком, что и у отношений A и B, и телом, состоящим из кортежей, принадлежащих одновременно обоим отношениям A и B.
Синтаксис: A INTERSECT B

ВЫЧИТАНИЕ

Отношение с тем же заголовком, что и у совместимых по типу отношений A и B, и телом, состоящим из кортежей, принадлежащих отношению A и не принадлежащих отношению B.
Синтаксис: A MINUS 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 DIVIDEBY B

Тремя наиболее часто используемыми операторами являются операторы ВЫБОРКИ, ПРОЕКЦИИ и СОЕДИНЕНИЯ.

Языки запросов всех СУБД включают в своей состав команды, эквивалентные перечисленным выше.

Оператор ВЫБОРКАреляционной алгебры применяется к единичному, уже существующему, отношению и результатом этого применения является генерация нового отношения. Новое отношение получается путем ВЫБОРКИ только из тех кортежей из исходного отношения, которые удовлетворяют заданному условию.

Общая форма операции выборка

ВЫБОРКА ИЗ Имя-Отношения

ГДЕ Условие

ПОЛУЧАЯ Имя-Результата

где Имя-Отношения – это имя исходного отношения; Условие – есть условие, которое должно учитываться при выборе кортежей; Имя-Результата – имя отношения, которое будет содержать результаты выполненной операции.

Синтаксис: 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- 2020 megalektsii.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.