Лекция 2


НазваниеЛекция 2
страница6/11
ТипЛекция
filling-form.ru > бланк строгой отчетности > Лекция
1   2   3   4   5   6   7   8   9   10   11

Альтернативная «техническая» терминология (профессиональный сленг, SQL).


Реляционный термин

Альтернативный термин

Переменная отношения (Relation Variable)

Таблица (Table),

Представление (View)

Отношение (Relation)

Набор данных (Dataset),

Состояние (текущее наполнение) таблицы,

Результат запроса,

Таблица

Атрибут отношения

Столбец (Column),

Поле (Field)

Домен

Домен, Тип, Определяемый пользователем тип

Кортеж

Строка (Row),

Запись (Record)

Лекция 8

Реляционная алгебра


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

Реляционная алгебра – это коллекция операций, которые принимают отношения в качестве операндов и возвращают отношение в качестве результата. Первая версия этой алгебры была определена Коддом в 1970 г. Его оригинальная алгебра включала 8 операций:

  1. Традиционные операции с множествами — объединение, пересечение, разность и декартово произведение (все они были немного модифицированы с учетом того факта, что их операндами являются именно отношения, а не произвольные множества).

  2. Специальные реляционные операции, такие как сокращение (селекция), проекция, соединение и деление.

В реляционной алгебре определен ряд операций над отношениями. 5 операций являются основными: проекция, объединение, разность, декартово произведение и селекция. Другие часто используемые операции: пересечение, соединение, деление, их можно выразить через пять основных операций.

Свойство замкнутости РА является очень важным: благодаря ему становится возможным использовать вложенные выражения. Это превращает алгебру практически в язык запросов.



  1. Проекция.


Предположим, что отношение R имеет атрибуты X, Y, . . ., Z (а также, возможно, некоторые другие). В таком случае проекция отношения R по атрибутам X, Y, ..., Z, которая определяется с помощью следующего выражения

R { X, Y, . . . , Z }

является отношением, соответствующим описанным ниже требованиям.

  • Его заголовок формируется из заголовка отношения а путем удаления всех атрибутов, не указанных в множестве { X, Y, ... , Z }.

  • Тело состоит из всех кортежей { Х х , У у, ..., Z z}, таких, что в отношении а присутствует кортеж со значением х атрибута X, у атрибута Y... и (соответственно) z атрибута Z.

Таким образом, применение операции проекции фактически приводит к получению "вертикального" подмножества заданного отношения, а именно подмножества, полученного путем удаления всех атрибутов, не указанных в разделенном запятыми списке имен атрибутов, и последующего устранения дубликатов (суб)кортежей из множества оставшихся кортежей.
Пример 1: Исходное отношение

, тогдаR[M,T]=

Пример 2: Пусть имеется отношение КЛИЕНТ (НОМЕР-КЛИЕНТА, ФАМИЛИЯ-И-ИМЯ, АДРЕС).

Схема выполнения операции проекция:

КЛИЕНТ

НОМЕР-КЛИЕНТА

ФАМИЛИЯ-И-ИМЯ

АДРЕС

5

Иванов Иван

Томск

10

Петров Петр

Новосибирск

12

Сидоров Сидор

Томск

18

Климов Клим

Барнаул


КЛИЕНТ [ФАМИЛИЯ-И-ИМЯ]




ФАМИЛИЯ-И-ИМЯ

Иванов Иван



Климов Клим

Выше приведен полученный результат — проекция отношения КЛИЕНТ на атрибут ФАМИЛИЯ-И-ИМЯ.

  1. Объединение R1UR2.

Если даны отношения R1 и R2 одного и того же типа, то объединение этих отношений R1UR2 является отношением того же типа с телом, которое состоит из всех кортежей, присутствующих в R1 или R2 или в обоих отношениях.

Пример:



где R1 и R2 — исходные отношения, а R — объединение отношений, т.е. кортеж [и к л] входит в результирующее отношение только один раз.

  1. Разность отношений R1 и R2: R=R1-R2. Если даны отношения R1 и R2 одного и того же типа, то разность отношений R1-R2 является отношением того же типа с телом, которое состоит из всех кортежей, присутствующих в R1, но не присутствующих в R2.

Можно это определение отобразить диаграммой Венна. Разность R отношений изображена в виде штрихованной области.



Пример:



  1. Декартово произведение 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.

Отсюда следует, что результирующее отношение может иметь очень большие размеры.





Пример с произведением самого на себя.

Проблемы при конкатенации возникают, когда имена атрибутов в перемножаемых отношениях совпадают. В оригинальной алгебре Кодда атрибуты идентифицировались номером позиции, но в нашем определении идентификация производится по имени, а порядок не важен. В этом случае нужно переименовывать названия совпадающих атрибутов.

  1. Селекция (сокращение).

Пусть R – некоторое отношение, а P — логическое выражение, принимающее значения атрибутов кортежа отношения R в качестве входных параметров.

Опр.: Селекцией отношения R является отношение с тем же заголовком, что и в R, и с телом, состоящим из всех кортежей отношения R, таких, что функция P принимает истинное значение для рассматриваемого кортежа.

Оператор селекции, по сути, позволяет получить "горизонтальное" подмножество заданного отношения, т.е. подмножество кортежей заданного отношения, для которых удовлетворяется некоторое указанное условие.

Результат выполнения селекции над отношением УЧЕТ, в котором задано условие F=ОКЛАД>2000:

Исходное отношение Результат — отношение СПИСОК

ДОЛЖНОСТЬ

ОКЛАД




ДОЛЖНОСТЬ

ОКЛАД

Инженер

2200




Инженер

2200

Нач. цеха

2400




Нач. цеха

2400

Техник

1600










шофер

1800












  1. Опр.: Соединением М отношений 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’.

Пример естественного соединения на примере студенты – группы.

Лекция 9

Реляционная алгебра: http://www.intuit.ru/department/database/rdbintro/3/

θ-соединение

θ – это операция, принимающая на вход значения двух атрибутов заданного типа и возвращающая истину или ложь. Типичными примерами θ-операции являются <, >, =, != и подобные.

θ-соединением называется соединение, в котором тета-операция принимает значения двух атрибутов и используется как условие селекции.

Если θ — арифметический оператор равенства, то операцию называют эквисоединением.

Естественное соединение является случаем эквисоединения в случае, когда соединение происходит по одному атрибуту, т.е. множество B (из определения) состоит из одного атрибута.

Пример: исходные отношения




A

B

C







D

E

R1=

А

б

с




R2=

а

и




А

и

Р







е

к




Д

е

ж













Результат операции эквисоединения этих отношений:



A

B

C

D




д

е

ж

к

Сначала получаем декартово произведение , затем в нем рассматриваем все кортежи и оставляем те из них, у которых значения атрибутов B и D совпадают. В примере остается только один кортеж. Столбец В остается, а одинаковый с ним столбец D вычеркивается.

В приведенных операциях вначале использовано обращение к элементам кортежей по номерам столбцов отношения. Здесь же показано, что можно обращаться по именам столбцов, при этом, должны выполняться преобразования имени столбца в его порядковый номер и обратно.

  1. Пересечение R S.

Пересечением отношений R и S называется множество кортежей, принадлежащих R и S. Отношения R и S должны иметь одинаковую степень. Т.е., RS=R-(R-S).

Пример операции пересечения:



  1. Деление.

Операция деления R=R1\R2 является бинарной операцией, причем степень отношения-делимого должна удовлетворять условию n1>=2, а арность отношения-делителя — условию n2<=n1-1, т.е. в отношении R2 атрибутов должно быть по крайней мере на 1 меньше, чем в отношении R1 . Формирование кортежей нового отношения выполняется на основе равенства значений атрибутов связи. Эта операция называется еще частным отношений R1 и R2.

Опр.: Результатом деления отношения R1(A’,B’) на отношение R2(B’), где A’ и B’ — подмножество атрибутов, причем B’ — подмножество общих для обоих отношений атрибутов, — атрибутов связи, является новое отношение R(A’), содержащее атрибуты A и кортежи отношения R1 с одинаковыми c R2 значениями атрибутов связи B’.

Пример деления отношений:

//??Операция называется делением, потому что (R1 / R2)xR2 = R1.

Пусть имеются отношения r1{A, B} и r2{B}. Утверждается, что результат r1 DIVIDE BY r2 совпадает с результатом выражения (r1 PROJECT A) MINUS (((r2 TIMES (r1 PROJECT A)) MINUS r1) PROJECT A) в терминах операций реляционной алгебры Кодда.

Пусть заданы два отношения – R1 с заголовком {A1, A2, ..., An, B1, B2, ..., Bm}= {A’, B’} и R2 с заголовком {B1, B2, ..., Bm} = {B’}. Будем считать, что атрибут bi отношения A и атрибут bi отношения B (i = 1, 2, …, m) не только обладают одним и тем же именем, но и определены на одном и том же домене. Назовем множество атрибутов {Aj} составным атрибутом A, а множество атрибутов {Bj} – составным атрибутом B. После этого будем говорить о реляционном делении «бинарного» отношения R1{A’, B’} на унарное отношение R2{B’}.

По определению, результатом деления R1 на R2 является отношение R{A'}, тело которого состоит из кортежей v таких, что в теле отношения R1 содержатся кортежи v + w такие, что множество {w} включает тело отношения B. Операция реляционного деления не является примитивной и выражается через операции декартова произведения, взятия разности и проекции.







Примеры:

A WHERE (comp1 AND comp2) то же, что (A WHERE comp1) INTERSECT (A WHERE comp2)

PROJECT СЛУЖАЩИЕ_В_ПРОЕКТЕ_1 {СЛУ_ОТД_НОМ}

СЛУЖАЩИЕ JOIN (ПРОЕКТЫ RENAME (ПРО_НОМ, ПРО_НОМ1)) WHERE (СЛУ_ЗАРП = ПРО_ЗАРП) то же, что СЛУЖАЩИЕ NATURAL JOIN ПРОЕКТЫ

Реляционная алгебра – формальный язык запросов. Приведем примеры запросов к БД, которая используется на ЛР.

Выбрать преподавателей, которые ведут лабораторные по курсу «Управление данными».

PROJECT (Преподаватели JOIN Занятия WHERE Тип занятия = ‘Лабораторная’) {ФИО}

Выбрать всех студентов (в виде ФИО, Номер группы), которые не сдали курсовой по управлению данными.

PROJECT ((PROJECT Студенты {ID_Студента, ФИО, ID_Группы} MINUS PROJECT ((Семестровые испытания JOIN Курсы WHERE Курс = ‘Управление данными’ AND Название испытания = ‘курсовое проектирование’) JOIN Зачётная ведомость JOIN Студенты) {ID_Студента, ФИО, ID_Группы}) JOIN Группы) {ФИО, Номер группы}

Выбрать пары студентов, у которых совпадают ФИО и они учатся в одной группе.

PROJECT Студенты {ID Студента, ФИО, ID Группы} TIMES (PROJECT Студенты {ID Студента, ФИО, ID Группы} RENAME (ID Студента -> ID Студента2; ФИО -> ФИО2; ID Группы -> ID Группы2)) WHERE ФИО = ФИО2 AND ID Группы = ID Группы2 AND ID Студента <> ID Студента2

Не были рассмотрены операции:

Расширения (Extend), агрегирования, транзитивного замыкания

Лекция 10
1   2   3   4   5   6   7   8   9   10   11

Похожие:

Лекция 2 iconЛекция №17 77 Синдром воспаления 77 Лекция №18 80 Синдром воспаления...
Хирургический метод лечения имеет большое значение в клинической медицине. Одну четверть заболеваний составляют хирургические болезни....

Лекция 2 iconЛекция религии современных неписьменных народов: человек и его мир...
Редактор Т. Липкина Художник Л. Чинёное Корректор Г. Казакова Компьютерная верстка М. Егоровой

Лекция 2 icon2. Лекция: "Общие критерии", часть Основные идеи 8
Лекция: Обзор наиболее важных стандартов и спецификаций в области информационной безопасности 3

Лекция 2 iconЛекция Автоматическое и автоматизированное управление. 5
Лекция Основные требования к scada-системам и их возможности. Аппаратные и программные средства scada-систем 17

Лекция 2 iconЛекция к вопросу о трудностях перевода при обучении студентов немецкому...
Цель: ознакомить со спецификой перевода текстов по специальности на немецком языке, дать характеристику трудностей, возникающих при...

Лекция 2 iconЛекция №5 Налогообложение общественных организаций инвалидов (часть...
Жением. В связи с этим, пятая лекция будет посвящена также вопросам налогового законодательства: налог на прибыль, налог на имущество,...

Лекция 2 iconЛекция №1 Открытые данные: введение Часть 1 Иван Бегтин я вначале...
Надеюсь, для последующих лекций нам удастся найти зал побольше. А некоторые лекции мы хотим вообще сделать публичными, чтобы на них...

Лекция 2 iconЛекция 10. Международное сотрудничество в ОРД лекция 11. Проблемы...
Спецкурс «Актуальные вопросы оперативно-розыскной деятельности» как открытая учебная дисциплина представляет устоявшуюся систему...

Лекция 2 iconЛекция №15. Тема: «Проложение хода технического нивелирования и ведение полевого журнала»
Лекция №15. Тема: «Проложение хода технического нивелирования и ведение полевого журнала». Учебник В. Д. Киселёв, Д. Ш. Михелёв....

Лекция 2 iconЛекция I 10

Вы можете разместить ссылку на наш сайт:


Все бланки и формы на filling-form.ru




При копировании материала укажите ссылку © 2019
контакты
filling-form.ru

Поиск