Скачать 0.72 Mb.
|
Альтернативная «техническая» терминология (профессиональный сленг, SQL).
Лекция 8 Реляционная алгебраИзвестно, что алгебра определяет некоторое множество элементов и набор операций над этими элементами. Основным свойством операций является их замкнутость, т.е. операции определены на заданном множестве и результатом этих операций также являются элементы этого множества. Реляционная алгебра – это коллекция операций, которые принимают отношения в качестве операндов и возвращают отношение в качестве результата. Первая версия этой алгебры была определена Коддом в 1970 г. Его оригинальная алгебра включала 8 операций:
В реляционной алгебре определен ряд операций над отношениями. 5 операций являются основными: проекция, объединение, разность, декартово произведение и селекция. Другие часто используемые операции: пересечение, соединение, деление, их можно выразить через пять основных операций. Свойство замкнутости РА является очень важным: благодаря ему становится возможным использовать вложенные выражения. Это превращает алгебру практически в язык запросов.
Предположим, что отношение R имеет атрибуты X, Y, . . ., Z (а также, возможно, некоторые другие). В таком случае проекция отношения R по атрибутам X, Y, ..., Z, которая определяется с помощью следующего выражения R { X, Y, . . . , Z } является отношением, соответствующим описанным ниже требованиям.
Таким образом, применение операции проекции фактически приводит к получению "вертикального" подмножества заданного отношения, а именно подмножества, полученного путем удаления всех атрибутов, не указанных в разделенном запятыми списке имен атрибутов, и последующего устранения дубликатов (суб)кортежей из множества оставшихся кортежей. Пример 1: Исходное отношение , тогдаR[M,T]= Пример 2: Пусть имеется отношение КЛИЕНТ (НОМЕР-КЛИЕНТА, ФАМИЛИЯ-И-ИМЯ, АДРЕС). Схема выполнения операции проекция: КЛИЕНТ
КЛИЕНТ [ФАМИЛИЯ-И-ИМЯ]
Выше приведен полученный результат — проекция отношения КЛИЕНТ на атрибут ФАМИЛИЯ-И-ИМЯ.
Если даны отношения R1 и R2 одного и того же типа, то объединение этих отношений R1UR2 является отношением того же типа с телом, которое состоит из всех кортежей, присутствующих в R1 или R2 или в обоих отношениях. Пример: где R1 и R2 — исходные отношения, а R — объединение отношений, т.е. кортеж [и к л] входит в результирующее отношение только один раз.
Можно это определение отобразить диаграммой Венна. Разность R отношений изображена в виде штрихованной области. Пример:
В математике декартовым произведением (или сокращенно произведением) двух множеств является множество всех таких упорядоченных пар, что в каждой паре первый элемент берется из первого множества, а второй — из второго множества. Поэтому декартово произведение двух отношений, неформально выражаясь, представляет собой множество упорядоченных пар кортежей. Но мы снова должны сохранить свойство замкнутости; иными словами, необходимо, чтобы результат содержал кортежи как таковые, а не упорядоченные пары кортежей. Поэтому реляционной версией декартова произведения служит расширенная форма этой операции, в которой каждая упорядоченная пара кортежей заменяется одним кортежем, являющимся объединением двух рассматриваемых кортежей (будем называть эту операцию конкатенацией). Это означает, что если даны следующие кортежи 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. Отсюда следует, что результирующее отношение может иметь очень большие размеры. Пример с произведением самого на себя. Проблемы при конкатенации возникают, когда имена атрибутов в перемножаемых отношениях совпадают. В оригинальной алгебре Кодда атрибуты идентифицировались номером позиции, но в нашем определении идентификация производится по имени, а порядок не важен. В этом случае нужно переименовывать названия совпадающих атрибутов.
Пусть R – некоторое отношение, а P — логическое выражение, принимающее значения атрибутов кортежа отношения R в качестве входных параметров. Опр.: Селекцией отношения R является отношение с тем же заголовком, что и в R, и с телом, состоящим из всех кортежей отношения R, таких, что функция P принимает истинное значение для рассматриваемого кортежа. Оператор селекции, по сути, позволяет получить "горизонтальное" подмножество заданного отношения, т.е. подмножество кортежей заданного отношения, для которых удовлетворяется некоторое указанное условие. Результат выполнения селекции над отношением УЧЕТ, в котором задано условие F=ОКЛАД>2000: Исходное отношение Результат — отношение СПИСОК
называется отношение, представляющее собой произведение 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 (из определения) состоит из одного атрибута. Пример: исходные отношения
Результат операции эквисоединения этих отношений:
Сначала получаем декартово произведение , затем в нем рассматриваем все кортежи и оставляем те из них, у которых значения атрибутов B и D совпадают. В примере остается только один кортеж. Столбец В остается, а одинаковый с ним столбец D вычеркивается. В приведенных операциях вначале использовано обращение к элементам кортежей по номерам столбцов отношения. Здесь же показано, что можно обращаться по именам столбцов, при этом, должны выполняться преобразования имени столбца в его порядковый номер и обратно.
Пересечением отношений R и S называется множество кортежей, принадлежащих R и S. Отношения R и S должны иметь одинаковую степень. Т.е., RS=R-(R-S). Пример операции пересечения:
Операция деления 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 Основные сведения об измерениях Базовой системой любой автоматизированной системы управления технологическими процессами (асу тп) является системой автоматического... | ||
И охраны окружающей среды администрации города ижевска доклад об экологической обстановке Администрация города/Структурные подразделения Администрации города Ижевска/Управление природных ресурсов и охраны окружающей среды... | Курсовая работа по дисциплине «Введение в специальность» Гигиеническое нормирование содержания тяжелых металлов в объектах окружающей среды“ | ||
Лекция приемы разработки и выборов управленческих решений в условиях... Пособствовать формированию у учащихся навыков экономического соперничества, психологии успеха, умений работать в группе, выступать... | Государственный комитет по охране окружающей среды ханты-мансийского... Государственным Комитетом по охране окружающей среды Ханты-Мансийского автономного округа при участии территориальных специально... | ||
Государственный комитет по охране окружающей среды ханты-мансийского... Государственным Комитетом по охране окружающей среды Ханты-Мансийского автономного округа (Хантымансийскгоскомэкологией) при участии... | Программа учебной дисциплины «Геохимия окружающей среды и ландшафтоведение» Целью дисциплины «Геохимия окружающей среды и ландшафтоведение» является формирование у студентов понимания целостности биосферы... | ||
Рабочая программа дисциплины «Нормативы по защите окружающей среды» Цель освоения дисциплины «Нормативы по защите окружающей среды» приобретение студентами знаний об основах экологического нормирования... | О проведении Года охраны окружающей среды в 2013 году на территории... На основании Указа Президента РФ от 10. 08. 2012 №1157 «О проведении в Российской Федерации Года охраны окружающей среды» 2013 год... | ||
Исследовательская работа «Мусор- источник загрязнения окружающей среды» Откуда же берется мусор? «Как же сократить это безумное количество выбрасываемого мусора?». «Как он влияет на окружающую природу».... | 1. Введение 14 > Образовательные технологии 20 ... | ||
Информация о проведении Всероссийского открытого урока охраны окружающей... | Программа дисциплины ер. Р. 01 Химия окружающей среды цели и задачи... Курс «Химия окружающей среды» проводится после изучения систематических курсов общая и неорганическая химия, органическая химия,... | ||
Доклад подготовлен специалистами Управления природных ресурсов и... В докладе «Об экологической обстановке города Ижевска в 2005 году» представлена аналитическая информация, характеризующая состояние... | Доклад на заседании областной коллегии органов исполнительной власти... «О состоянии окружающей среды Тамбовской области, повышении эффективности деятельности органов власти области по обеспечению экологической... |