- •Модель «Сущность-связь». Классификация бинарных связей и кратность связи. Понятие зависимой сущности.
- •Виды бинарных связей
- •Сильные и слабые(зависимые) сущности
- •Иерархическая модель
- •Сетевая модель данных
- •Принципы рмд
- •Реляционная модель данных. Ограничения целостности. Определения: потенциальные ключи, первичные ключи, альтернативные ключи, суперключи, внешние ключи.
- •Потенциальный ключ
- •Внешние ключи
- •Операции проекции, разности, пересечения, селекции.
- •Пересечение r s.
- •Операции объединения, декартова произведения, соединения, деления. Виды соединений.
- •Объединение r1ur2.
- •Деление.
Операции проекции, разности, пересечения, селекции.
Проекция.
Предположим, что отношение R имеет атрибуты X, Y, . . ., Z (а также, возможно, некоторые другие). В таком случае проекция отношения R по атрибутам X, Y, ..., Z, которая определяется с помощью следующего выражения
R { X, Y, . . . , Z }
является отношением, соответствующим описанным ниже требованиям.
Его заголовок формируется из заголовка отношения а путем удаления всех атрибутов, не указанных в множестве { X, Y, ... , Z }.
Тело состоит из всех кортежей { Х х , У у, ..., Z z}, таких, что в отношении а присутствует кортеж со значением х атрибута X, у атрибута Y... и (соответственно) z атрибута Z.
Таким образом, применение операции проекции фактически приводит к получению "вертикального" подмножества заданного отношения, а именно подмножества, полученного путем удаления всех атрибутов, не указанных в разделенном запятыми списке имен атрибутов, и последующего устранения дубликатов (суб)кортежей из множества оставшихся кортежей.
Разность отношений R1 и R2: R=R1-R2.
Если даны отношения R1 и R2 одного и того же типа, то разность отношений R1-R2 является отношением того же типа с телом, которое состоит из всех кортежей, присутствующих в R1, но не присутствующих в R2.
Можно это определение отобразить диаграммой Венна. Разность R отношений изображена в виде штрихованной области.
Пересечение r s.
Пересечением отношений R и S называется множество кортежей, принадлежащих R и S. Отношения R и S должны иметь одинаковую степень. Т.е., R S=R-(R-S).
Пример операции пересечения:
Селекцией отношения R является отношение с тем же заголовком, что и в R, и с телом, состоящим из всех кортежей отношения R, таких, что функция P принимает истинное значение для рассматриваемого кортежа. )
Оператор селекции, по сути, позволяет получить "горизонтальное" подмножество заданного отношения, т.е. подмножество кортежей заданного отношения, для которых удовлетворяется некоторое указанное условие.
Результат выполнения селекции над отношением УЧЕТ, в котором задано условие F=ОКЛАД>2000:
Операции объединения, декартова произведения, соединения, деления. Виды соединений.
Объединение r1ur2.
Если даны отношения R1 и R2 одного и того же типа, то объединение этих отношений R1 U R2 является отношением того же типа с телом, которое состоит из всех кортежей, присутствующих в R1 или R2 или в обоих отношениях.
Декартово произведение R1 R2 =R1хR2.
В математике декартовым произведением (или сокращенно произведением) двух множеств является множество всех таких упорядоченных пар, что в каждой паре первый элемент берется из первого множества, а второй — из второго множества. Поэтому декартово произведение двух отношений, неформально выражаясь, представляет собой множество упорядоченных пар кортежей. Но мы снова должны сохранить свойство замкнутости; иными словами, необходимо, чтобы результат содержал кортежи как таковые, а не упорядоченные пары кортежей. Поэтому реляционной версией декартова произведения служит расширенная форма этой операции, в которой каждая упорядоченная пара кортежей заменяется одним кортежем, являющимся объединением двух рассматриваемых кортежей (будем называть эту операцию конкатенацией). Это означает, что если даны следующие кортежи
R1 = { A1 a1, A2 а2, . . . , Am am } , где Аi – атрибут, а ai – значение кортежа
и
R2 = { B1 b1, B2 b2, ..., Bn bn }, где Bi – атрибут, а bi – значение кортежа, то конкатенация этих двух кортежей представляет собой приведенный ниже единственный кортеж.
R = R1+R2 = { A1 a1, A2 а2, ... , Am am, B1 b1, B2 b2, ..., Bn bn }
Кардинальность декартова произведения будет равна k1+k2, где k1 кардинальность отношения R1, а k2 — кардинальность отношения R2.
Отсюда следует, что результирующее отношение может иметь очень большие размеры.
Можно привести пример с произведением самого на себя.
Проблемы при конкатенации возникают, когда имена атрибутов в перемножаемых отношениях совпадают. В оригинальной алгебре Кодда атрибуты идентифицировались номером позиции, но в нашем определении идентификация производится по имени, а порядок не важен. В этом случае нужно переименовывать названия совпадающих атрибутов.
Соединение
Соединением М отношений R1 и R2 называется отношение, представляющее собой произведение R1 и R2, к которому применены операции проекции и селекции. В формуле P – это логическое условие, по которому производится селекция.
Виды соединений
Естественное соединение (Natural Join)
Допустим, что R1 {A1, A2, … Ai, B1, B2, … Bj}, R2 {C1, C2, … Ck, B1, B2, … Bj }, имеют общий набор атрибутов B1…Bj.
Тогда
естественное соединение
представляет собой соединение R1
и R2
с заголовком {A’,
B’,
C’}
и телом, в котором в результате селекции
оставлены только те кортежи, у которых
значение атрибутов Bi
из R1
соответственно равно значениям атрибутов
Bi
из R2
и соответственно равны значениям
атрибутов Bi
в результирующем отношении R.
В данном определении для простоты были
сгруппированы множества атрибутов Ai
в A’,
Bi
в B’,
Ci
в C’.
θ-соединение (тетта)
θ – это операция, принимающая на вход значения двух атрибутов заданного типа и возвращающая истину или ложь. Типичными примерами θ-операции являются <, >, =, != и подобные.
θ-соединением называется соединение, в котором тета-операция принимает значения двух атрибутов и используется как условие селекции.
Если θ — арифметический оператор равенства, то операцию называют эквисоединением.
Естественное соединение является случаем эквисоединения в случае, когда соединение происходит по одному атрибуту, т.е. множество B (из определения) состоит из одного атрибута.
Сначала
получаем декартово произведение
, затем в нем рассматриваем все кортежи
и оставляем те из них, у которых значения
атрибутов B
и D
совпадают. В примере остается только
один кортеж. Столбец В остается, а
одинаковый с ним столбец D
вычеркивается.
В приведенных операциях вначале использовано обращение к элементам кортежей по номерам столбцов отношения. Здесь же показано, что можно обращаться по именам столбцов, при этом, должны выполняться преобразования имени столбца в его порядковый номер и обратно.
