Загрузил polina s

Презентация 4

реклама
Информационно-аналитические БД. Реляционные модели
Основной структурой данных в модели является отношение, именно поэтому модель получила название
реляционной (от английского relation – отношение).
N-арным отношением R называют подмножество декартова произведения D1 D2  ...  Dn множеств D1, D2, ..., Dn (
n > 1 ), необязательно различных. Исходные множества D1, D2, ..., Dn называют в модели доменами.
где D1  D2  ...  Dn – полное декартово произведение.
Полное декартово произведение – это набор всевозможных сочетаний из n элементов каждое, где каждый
элемент берется из своего домена.
Например, имеем три домена: D1 содержит три фамилии, D2 – набор из двух учебных дисциплин и D3 – набор из
трех оценок. Допустим, содержимое доменов следующее:
D1 = {Иванов, Крылов, Степанов};
D2 = {Теория автоматов, Базы данных} ;
D3 = {3, 4, 5}
Информационно-аналитические БД. Реляционные модели
Тогда полное декартово произведение содержит набор из 18 троек, где первый элемент – это одна из фамилий,
второй – это название одной из учебных дисциплин, а третий – одна из оценок.
<Иванов,Теория автоматов,3>;
<Иванов,Теория автоматов,4>;
<Иванов,Теория автоматов,5>
<Крылов,Теория автоматов,3>;
<Крылов,Теория автоматов,4>;
<Крылов,Теория автоматов,5>;
<Степанов,Теория автоматов,3>;
<Степанов,Теория автоматов,4>;
<Степанов,Теория автоматов,5>;
<Иванов,Базы данных,3>;
<Иванов,Базы данных,4>;
<Иванов,Базы данных,5>;
<Крылов,Базы данных,3>;
<Крылов,Базы данных,4>;
<Крылов,Базы данных,5>;
<Степанов,Базы данных,3>;
<Степанов,Базы данных,4>;
<Степанов,Базы данных,5>
Информационно-аналитические БД. Реляционные модели
Отношение R моделирует реальную ситуацию, и оно может содержать, допустим, только 5 строк, которые
соответствуют результатам сессии (Крылов экзамен по "Базам данных" еще не сдавал):
<Иванов,Теория автоматов,4>;
<Крылов,Теория автоматов,5>;
<Степанов,Теория автоматов,5>;
<Иванов,Базы данных,3>;
<Степанов,Базы данных,4>
R
Фамилия
Иванов
Иванов
Крылов
Степанов
Степанов
Дисциплина
Теория автоматов
Базы данных
Теория автоматов
Теория автоматов
Базы данных
Оценка
4
3
5
5
4
Данная таблица обладает рядом специфических свойств:
1. В таблице нет двух одинаковых строк.
2. Таблица имеет столбцы, соответствующие атрибутам отношения.
3. Каждый атрибут в отношении имеет уникальное имя.
4. Порядок строк в таблице произвольный.
Вхождение домена в отношение принято называть атрибутом. Строки отношения называются кортежами.
Количество атрибутов в отношении называется степенью, или рангом, отношения.
Информационно-аналитические БД. Реляционные модели
R
Фамилия
Иванов
Иванов
Крылов
Степанов
Степанов
Дисциплина
Теория автоматов
Базы данных
Теория автоматов
Теория автоматов
Базы данных
Оценка
4
3
5
5
4
R1
Дисциплина
Теория автоматов
Теория автоматов
Теория автоматов
Базы данных
Базы данных
Фамилия
Крылов
Степанов
Иванов
Иванов
Степанов
Оценка
5
5
4
3
4
В соответствии со свойствами отношений два отношения, отличающиеся только порядком строк или
порядком столбцов, будут интерпретироваться в рамках реляционной модели как одинаковые, то есть
отношение R и отношение R1 одинаковы с точки зрения реляционной модели данных.
Информационно-аналитические БД. Реляционные модели
Схемой отношения R называется перечень имен атрибутов данного отношения с указанием домена, к
которому они относятся:
Если атрибуты принимают значения из одного и того же домена, то они называются  -сравнимыми, где  –
множество допустимых операций сравнения, заданных для данного домена. Например, если домен содержит
числовые данные , то для него допустимы все операции сравнения, тогда
Схемы двух отношений называются эквивалентными, если они имеют одинаковую степень и возможно такое
упорядочение имен атрибутов в схемах, что на одинаковых местах будут находиться сравнимые атрибуты, то есть
атрибуты, принимающие значения из одного домена.
SR1 = (A1, A2, ..., An) – схема отношения R1.
SR2 = (Bi1, Bi2,..., Bin) – схема отношения R2 после упорядочения имен атрибутов.
Тогда
Информационно-аналитические БД. Реляционные модели
Реляционная модель представляет базу данных в виде множества взаимосвязанных отношений. В этой
модели, так же как и в остальных, поддерживаются иерархические связи между отношениями. В каждой связи
одно отношение может выступать как основное, а другое отношение выступает в роли подчиненного. Это
означает, что один кортеж основного отношения может быть связан с несколькими кортежами подчиненного
отношения. Для поддержки этих связей оба отношения должны содержать наборы атрибутов, по которым они
связаны.
В основном отношении это первичный ключ отношения ( PRIMARY KEY ), который однозначно определяет
кортеж основного отношения.
В подчиненном отношении для моделирования связи должен присутствовать набор атрибутов,
соответствующий первичному ключу основного отношения. Однако здесь этот набор атрибутов уже является
вторичным ключом, то есть он определяет множество кортежей подчиненного отношения, которые связаны с
единственным кортежем основного отношения.
Данный набор атрибутов в подчиненном отношении принято называть внешним ключом ( FOREIGN KEY ).
Информационно-аналитические БД. Реляционные модели
PRIMARY KEY отношения Сотрудник атрибут Паспорт является FOREIGN KEY для отношения "карьера".
Информационно-аналитические БД. Теоретико-множественные операции реляционной алгебры
Объединением двух отношений называется отношение, содержащее множество кортежей, принадлежащих
либо первому, либо второму исходным отношениям, либо обоим отношениям одновременно.
Пусть заданы два отношения R1 = { r1 } , R2 = { r2}, где r1 и r2 - соответственно кортежи отношений R1 и R2, то
объединение
Здесь r – кортеж нового отношения,  – операция логического сложения "ИЛИ" (дизъюнкция).
R1
Шифр детали
00011073
00011075
00011076
00011003
00011006
00013063
00013066
Название детали
Гайка M1
Гайка М2
Гайка М3
Болт М1
Болт М3
Шайба М1
Шайба М3
R2
Шифр детали
00011073
00011076
00011077
00011004
Название детали
Гайка M1
Гайка М3
Гайка М4
Болт М2
R3
Шифр детали
00011073
00011075
00011076
00011003
00011006
00013063
00013066
00011077
00011004
Название детали
Гайка M1
Гайка М2
Гайка М3
Болт М1
Болт М3
Шайба М1
Шайба М3
Гайка М4
Болт М2
Информационно-аналитические БД. Теоретико-множественные операции реляционной алгебры
Пересечением отношений называется отношение, которое содержит множество кортежей, принадлежащих
одновременно и первому и второму отношениям R1 и R2:
здесь  – операция логического умножения "И" (конъюнкция).
В отношении R4 содержатся перечень деталей, которые выпускаются одновременно на двух участках цеха.
R4
Шифр детали
00011073
00011076
00011006
Название детали
Гайка M1
Гайка М3
Болт М3
Информационно-аналитические БД. Теоретико-множественные операции реляционной алгебры
Разностью отношений R1 и R2 называется отношение, содержащее множество кортежей, принадлежащих
R1 и не принадлежащих R2:
Отношение R5 содержит перечень деталей, изготавливаемых только на участке 1.
Отношение R6 содержит перечень деталей, изготавливаемых только на участке 2.
R2
00011006
Болт М3
R5
Шифр детали
00011075
00011003
00013063
00013066
Название детали
Гайка М2
Болт М1
Шайба М1
Шайба М3
R6
Шифр детали
00011077
00011004
Название детали
Гайка М4
Болт М2
Информационно-аналитические БД. Теоретико-множественные операции реляционной алгебры
R1= (ФИО, Паспорт, Школа);
R2= (ФИО, Паспорт, Школа);
R3= (ФИО, Паспорт, Школа).
Отношение R1 содержит список абитуриентов, сдававших репетиционные экзамены.
Отношение R2 содержит список абитуриентов, сдававших экзамены на общих условиях.
Отношение R3 содержит список абитуриентов, принятых в институт.
1. Список абитуриентов, которые поступали два раза и не поступили в вуз.
2. Список абитуриентов, которые поступили в вуз с первого раза.
3. Список абитуриентов, которые поступили в вуз только со второго раза.
4. Список абитуриентов, которые поступали только один раз и не поступили.
Информационно-аналитические БД. Теоретико-множественные операции реляционной алгебры
Расширенное декартово произведение
Сцеплением, или конкатенацией, кортежей c = <c1, c2, ..., cn> и q = <q1, q2, ..., qm> называется кортеж,
полученный добавлением значений второго в конец первого. Сцепление кортежей c и q обозначается как (c , q).
(c, q) = <c1, c2, ... , cn, q1, q2, ..., qm>
Расширенным декартовым произведением отношения R1 степени n со схемой
SR1 = (A1, A2, ... , An),
и отношения R2 степени m со схемой
SR2 = (B1, B2, ..., Bm),
называется отношение R3 степени n+m со схемой
SR3 = (A1, A2, ... , An, B1, B2, ..., Bm),
содержащее кортежи, полученные сцеплением каждого кортежа r отношения R1 с каждым кортежем q
отношения R2.
То есть если R1 = { r }, R2 = { q }
Информационно-аналитические БД.
Теоретико-множественные операции реляционной алгебры
R7
Шифр детали
00011073
00011075
00011076
00011003
00011006
00013063
00013066
00011077
00011004
00011005
00011006
00013062
Название детали
Гайка M1
Гайка М2
Гайка М3
Болт М1
Болт М3
Шайба М1
Шайба М3
Гайка М4
Болт М2
Болт М5
Болт М6
Шайба М2
R8
Цех
Цех 1
Цех 2
Цех 3
R9
Шифр детали
Название детали
Цех
00011073
Гайка M1
Цех 1
00011075
Гайка М2
Цех 1
00011076
Гайка М3
Цех 1
00011003
Болт М1
Цех 1
00011006
Болт М3
Цех 1
00013063
Шайба М1
Цех 1
00013066
Шайба М3
Цех 1
00011077
Гайка М4
Цех 1
00011004
Болт М2
Цех 1
00011005
Болт М5
Цех 1
00011006
Болт М6
Цех 1
00013062
Шайба М2
Цех 1
00011073
Гайка M1
Цех 2
00011075
Гайка М2
Цех 2
00011076
Гайка М3
Цех 2
00011003
Болт М1
Цех 2
00011006
Болт М3
Цех 2
00013063
Шайба М1
Цех 2
00013066
Шайба М3
Цех 2
00011077
Гайка М4
Цех 2
00011004
Болт М2
Цех 2
00011005
Болт М5
Цех 2
00011006
Болт М6
Цех 2
00013062
Шайба М2
Цех 2
00011073
Гайка M1
Цех 3
00011075
Гайка М2
Цех 3
00011076
Гайка М3
Цех 3
00011003
Болт М1
Цех 3
00011006
Болт М3
Цех 3
00013063
Шайба М1
Цех 3
00013066
Шайба М3
Цех 3
00011077
Гайка М4
Цех 3
00011004
Болт М2
Цех 3
00011005
Болт М5
Цех 3
00011006
Болт М6
Цех 3
00013062
Шайба М2
Цех 3
Информационно-аналитические БД. Теоретико-множественные операции реляционной алгебры
R9
R10
Шифр детали
Название детали
Цех
00011073
Гайка M1
Цех 1
Шифр детали
Название детали
Цех
00011075
Гайка М2
Цех 1
00011073
Гайка M1
Цех 1
00011076
Гайка М3
Цех 1
00011075
Гайка М2
Цех 1
00011003
Болт М1
Цех 1
00011006
Болт М3
Цех 1
00011076
Гайка М3
Цех 1
00013063
Шайба М1
Цех 1
00011003
Болт М1
Цех 1
00013066
Шайба М3
Цех 1
00011006
Болт М3
Цех 1
00011077
Гайка М4
Цех 1
00013063
Шайба М1
Цех 1
00011004
Болт М2
Цех 1
00013066
Шайба М3
Цех 1
00011005
Болт М5
Цех 1
00011006
Болт М6
Цех 1
00011077
Гайка М4
Цех 1
00013062
Шайба М2
Цех 1
00011004
Болт М2
Цех 1
00011073
Гайка M1
Цех 2
00011006
Болт М3
Цех 2
00011075
Гайка М2
Цех 2
00013063
Шайба М1
Цех 2
00011076
Гайка М3
Цех 2
00013066
Шайба М3
Цех 2
00011003
Болт М1
Цех 2
00011006
Болт М3
Цех 2
00011077
Гайка М4
Цех 2
00013063
Шайба М1
Цех 2
00011004
Болт М2
Цех 2
00013066
Шайба М3
Цех 2
00011006
Болт М6
Цех 2
00011077
Гайка М4
Цех 2
00013062
Шайба М2
Цех 2
00011004
Болт М2
Цех 2
00011073
Гайка M1
Цех 3
00011005
Болт М5
Цех 2
00011006
Болт М6
Цех 2
00011075
Гайка М2
Цех 3
00013062
Шайба М2
Цех 2
00011076
Гайка М3
Цех 3
00011073
Гайка M1
Цех 3
00011003
Болт М1
Цех 3
00011075
Гайка М2
Цех 3
00011006
Болт М3
Цех 3
00011076
Гайка М3
Цех 3
00013063
Шайба М1
Цех 3
00011003
Болт М1
Цех 3
00011006
Болт М3
Цех 3
00013066
Шайба М3
Цех 3
00013063
Шайба М1
Цех 3
00011077
Гайка М4
Цех 3
00013066
Шайба М3
Цех 3
00011005
Болт М5
Цех 3
00011077
Гайка М4
Цех 3
00011006
Болт М6
Цех 3
00011004
Болт М2
Цех 3
00011005
Болт М5
Цех 1
00011005
Болт М5
Цех 3
00011006
Болт М6
Цех 3
00011006
Болт М6
Цех 1
00013062
Шайба М2
Цех 3
00013062
Шайба М2
Цех 1
R11
Шифр детали
00011073
00011075
00011076
00011004
00013062
00011003
00011005
Название детали
Гайка M1
Гайка М2
Гайка М3
Болт М2
Шайба М2
Болт М1
Болт М5
Цех
Цех 2
Цех 2
Цех 2
Цех 3
Цех 3
Цех 2
Цех 3
Информационно-аналитические БД. Специальные операции реляционной алгебры. Операция фильтрации
Пусть  – булевское выражение, составленное из термов сравнения с помощью связок И (), ИЛИ (), НЕ () и,
возможно, скобок. В качестве термов сравнения допускаются:
• терм А ос ,
где А – имя некоторого атрибута, принимающего значения из домена D ;  – константа, взятая из того же домена
D,  D, oc – одна из допустимых для данного домена D операций сравнения;
• терм А ос В,
где А, В – имена некоторых  -сравнимых атрибутов, то есть атрибутов, принимающих значения из одного и того
же домена D.
Тогда результатом операции выбора, или фильтрации, заданной на отношении R в виде булевского выражения,
определенного на атрибутах отношения R, называется отношение
включающее те кортежи из исходного отношения, для которых истинно условие выбора или фильтрации:
Информационно-аналитические БД. Специальные операции реляционной алгебры. Операция фильтрации
R10
Шифр детали
Название детали
Цех
00011073
Гайка M1
Цех 1
00011075
Гайка М2
Цех 1
00011076
Гайка М3
Цех 1
00011003
Болт М1
Цех 1
00011006
Болт М3
Цех 1
00013063
Шайба М1
Цех 1
00013066
Шайба М3
Цех 1
00011077
Гайка М4
Цех 1
00011004
Болт М2
Цех 1
00011006
Болт М3
Цех 2
00013063
Шайба М1
Цех 2
00013066
Шайба М3
Цех 2
00011077
Гайка М4
Цех 2
00011004
Болт М2
Цех 2
00011006
Болт М6
Цех 2
00013062
Шайба М2
Цех 2
00011073
Гайка M1
Цех 3
00011075
Гайка М2
Цех 3
00011076
Гайка М3
Цех 3
00011003
Болт М1
Цех 3
00011006
Болт М3
Цех 3
00013063
Шайба М1
Цех 3
00013066
Шайба М3
Цех 3
00011077
Гайка М4
Цех 3
00011005
Болт М5
Цех 3
00011006
Болт М6
Цех 3
00011005
Болт М5
Цех 1
00011006
Болт М6
Цех 1
00013062
Шайба М2
Цех 1
Например, выбрать из R10 детали с шифром "0011003".
R12 = R10 [Шифр детали = "0011003"]
R12
Шифр детали
00011003
00011003
Название детали
Болт М1
Болт М1
Цех
Цех 1
Цех 3
Информационно-аналитические БД. Специальные операции реляционной алгебры. Операция проектирования
Пусть R – отношение, SR = (A1, ... , An) – схема отношения R.
Обозначим через B подмножество [ Ai ] ;
При этом пусть B1 – множество атрибутов из { Ai}, не вошедших в B.
Если B = {A1i, Ai2,..., Aik}, B = {A1, A2j ,..., Akj} и
то r [B], s = < a1j, a2j, ... , amj > ;
Проекцией отношения R на набор атрибутов В, обозначаемой R[B], называется отношение со схемой,
соответствующей набору атрибутов В SR[B] = B, содержащему кортежи, получаемые из кортежей исходного
отношения R путем удаления из них значений, не принадлежащих атрибутам из набора В.
R[B] = { r[B] }
По определению отношений все дублирующие кортежи удаляются из результирующего отношения.
Информационно-аналитические БД. Специальные операции реляционной алгебры. Операция проектирования
Выберем все цеха, которые изготавливают деталь "Болт М1".
Для этого нам необходимо из отношения R10 выбрать детали с заданным названием, а потом полученное
отношение спроектировать на столбец "Цех". Результатом выполнения этих операций будет отношение R14:
R13 = R10 [ Название детали = "Болт М1" ] R14 = R13 [ Цех ]
R13
Шифр детали
00011003
00011003
Название детали
Болт М1
Болт М1
Цех
Цех 1
Цех 3
R14
Цех
Цех 1
Цех 3
Информационно-аналитические БД. Специальные операции реляционной алгебры. Операция условного
соединения
Пусть R = {r}, Q={q} - исходные отношения,
SR, SQ - схемы отношений R и Q соответственно.
SR = (A1, A2, ... , Ak) ; SQ = (B1, B2, ... , Bm),
где Ai, Bj – имена атрибутов в схемах отношений R и Q соответственно. При этом полагаем, что заданы наборы
атрибутов А и В
и эти наборы состоят из  -сравнимых атрибутов.
Тогда соединением отношений R и Q при условии  будет подмножество декартова произведения отношений
R и Q, кортежи которого удовлетворяют условию  , рассматриваемому как одновременное выполнение условий:
1.
2.
Информационно-аналитические БД. Специальные операции реляционной алгебры. Операция условного
соединения
Пусть отношение R15 содержит перечень деталей с указанием материалов, из которых эти детали
изготавливаются, и оно имеет вид:
R15
Шифр детали
00011073
00011075
00011076
00011003
00011006
00013063
00013066
00011077
00011004
00011005
00013062
Название детали
Гайка M1
Гайка М2
Гайка М3
Болт М1
Болт М3
Шайба М1
Шайба М3
Гайка М4
Болт М2
Болт М5
Шайба М2
Материал
сталь-ст1
сталь-ст2
сталь-ст1
сталь-ст3
сталь-ст3
сталь-ст1
сталь-ст1
сталь-ст2
сталь-ст3
сталь-ст3
сталь-ст1
R16
Название детали
Гайка M1
Гайка М3
Шайба М1
Шайба М3
Шайба М2
Получим перечень деталей, которые изготавливаются в цеху 1 из материала "сталь-ст1"
Информационно-аналитические БД. Специальные операции реляционной алгебры. Операция деления
Пусть R – отношение со схемой SR = (A1, A2 ,..., Ak) ;
Пусть A – некоторый набор атрибутов
A1 – набор атрибутов, не входящих в множество A.
Пересечение множеств A и A1 пусто:
объединение множеств равно множеству всех атрибутов исходного отношения:
Тогда множеством образов элемента у проекции R[A] называется множество таких элементов y проекции R[A],
для которых сцепление (x, y) является кортежами отношения R, то есть множество образов
Например, множеством образов отношения R15 по материалу "сталь-ст2" будет множество кортежей
R15.Материал = {< 00011075, Гайка М2, "сталь-ст2">, < 00011077, Гайка М4, "сталь-ст2">}
Информационно-аналитические БД. Специальные операции реляционной алгебры. Операция деления
Пусть даны два отношения R и T соответственно со схемами:
SR = (A1, A2, ... , Ak); ST = (B1, B2, ... , Bm) ;
A и B - наборы атрибутов этих отношений, одинаковой длины (без повторений)
Проекции R[A] и T[B] совместимы по объединению, то есть имеют эквивалентные схемы: SR[A] ~ ST[B] .
Тогда операция деления ставит в соответствие отношениям R и T отношение Q = R[A:B]T, кортежи которого
являются теми элементами проекции R[A1], для которых T[B] входит в построенные для них множество образов:
R 17 = R10[Шифр детали, Наименование детали: Шифр детали, Наименование детали]R7
R 17
Цех
Цех1
Информационно-аналитические БД. Пример применения операций реляционной алгебры
R1 = <ФИО, Дисциплина, Оценка> ; R2 = <ФИО, Группа> ; R3 = < Группы, Дисциплина>,
где R1 – информация о попытках (как успешных, так и неуспешных) сдачи экзаменов студентами; R2 – состав групп; R3
– список дисциплин, которые надо сдавать каждой группе.
• Список студентов, которые сдали экзамен по БД на "отлично".
• Список тех, кто должен был сдавать экзамен по БД, но пока еще не сдавал.
• Список всех, кто сдавал экзамен по "БД".
R5 = (R1 [Дисциплина = "БД"])[ФИО] ;
и, наконец, результат – все, кто есть в первом множестве, но не во втором:
S=R4 \R5 ;
Информационно-аналитические БД. Пример применения операций реляционной алгебры
• Список несчастных, имеющих несколько двоек:
• Список круглых отличников. Строим список всех пар <студент– дисциплина>, которые в принципе должны быть
сданы:
R4 = (R2[R2 Группа = R3.Группа] R3)[ФИО, Дисциплина] ;
Строим список пар <студент– дисциплина>, где получена оценка "отлично":
R5 = (R1[Оценка = 5])[ФИО, Дисциплина] ;
Строим список студентов, что-либо не сдавших на "отлично":
R6 = (R4 \ R5)[ФИО].
Наконец, исключив последнее отношение из общего списка студентов, получаем результат:
R2[ФИО] \ R6
Скачать