Читайте также: |
|
Реляционные модели данных кроме структуры данных должны входить операции манипулирования данных. На более известными языка запроса в реляционной модели данных является реляционная алгебра и реляционная исчисление. В классическом понимание алгебра понимается как пара в которой складывается из основного множества и множества операции(сигнатура). При этом аргументы и результат каждой операции принадлежит основному множеству. Реляционная алгебра – это алгебра строгом классическом понимании ее определения. Элементами основного множества является реляционные отношения. В связи с этим операции алгебры могут вкладывается одна в одну то есть аргумента конкретной информации, может быть результат выполнения др. операции. Это дает возможность записывать запросы произвольного уровня сложности виде выражении, которые содержат вложенные одна в одну операции.
Операции реляционной алгебры
Сигнатура реляционной алгебры Кодда содержит из 8 операции. Введем понятия совместимости реляционных отношении. Это понятия необходимо так как некоторые операции такие как теоритико -множественные операции, объединение, пересечение, разность определенны только для совместимых отношений.
Реляционное отношение R1(A1 …. Am) и реляционных отношении R2(B1 …. Bk) m=k совместимы, если:
1) У них одинаковое количество атрибутов
2) Можно установить взаимно однозначное соответствие между доменами атрибутов первого и второго отношения. То есть домены сопоставленных атрибутов должны быть одинаковые.
26.03.2015
Лекция 11
Отметим некоторые особенности бинарных операции:
1) Операция ϕ комуникативна, если AB = BA
2) Операция ϕ ассоциативно, если выполняется (AϕB) ϕC = Aϕ (BϕC)
3) Операция ϕ дистрибутивная по отношению Θ, если Aϕ(BΘC) = (AϕB)Θ(AϕC)
Рассмотрим 5 основных операции проекции объединении, разности, декартовых произведения и селекция. Другие часто используемые операции такие как пересечение, соединение и деление можно выразить через 5 основных операции. Представим отношения которое будем использовать в примере
ПРИМЕР 1:
P (D1 D2 D3)
1 11 x
2 11 g
3 11 z
4 12 x
Q (D4 D5)
X 1
X z
Y 1
S (A B)
5 a
10 b
15 c
2 d
6 a
1 b
R (M P Q T)
Y 101 5 a
Y 105 3 a
Z 500 3 a
W 50 1 b
W 10 2 b
W 300 4 b
Проекция 1 операция представляет собой выборку из каждого картежа отношении, значения атрибутов входящих в список А, которое является подмножества U(A<U). И удаления из полученных повторяющих строк(картежей)
R[A] {r [A]: r є R}
r – это картежная переменная значения которого является картежа исходного отношения R, а r[A] часть картежа р с атрибутами из списка [A]
Пример
Необходимо найти отношения
R[M, T] =
Операция объединение
Это операция коммуникативно, ассоциативно и дистрибутивно к операции пересечения.
Алгебра зап так
{t: t є R v t є S}
Для того чтобы объединение было возможны отношения операнды R and S должны быть совместимы по объединению. То есть их атрибуты должны быть определенны на совместимыми доменами.
{t: t є R v t є S}
A B A B 5 a
R[ Q T] u S = 5 a 5 a 3 a
3 a 10 b 9 a
9 a U 15 c = 1 b
1 b 2 d 2 b
2 b 6 a 4 b
4 b 1 b 10 b
15 c
2 d
6 a
Операция Разность
Это операция не коммутативно не ассоциативно, не дистрибутивна к другим операциям.
Алг зап так
R - S отношения {t: t є R л t не принадлежит S}
Кроме этого операнды должны быть совместимы по доменам, т.е. их атрибуты должны быть определенны над совместимыми доменами.
Q T A B
5 a 5 a 3 a
3 a 12 b 9 a
R [Q T] – S = 9 b - 15 c = 2 b
1 b 2 d 4 b
2 b 6 a
4 b 4 b
Декартовое произведение
Эта операция коммутативная и социативная с др. операциями
Флгебра зап так
{(r || S): r є R л S
Конкатенация - r || S
Операция осуществляется между отношениями картежав результатом является конкатенация или сцепления соответствующих картежей.
G (R x S) = G(R) + Gt (S)
Мощность - M(R x S) = M(R) x M(S)
ДОПИСАТЬ
На практике используются ограниченный вариант этой операции которое называется соединением.
Ra= R[M T]
Rb = Q [D4 D5] МГ D4 D5
M T D4 D5 xa x1
X a x 1 xa x2
Rs = Ra x Rb = g a x x 2 = xa y1
Z a y 1 ya x1
W b ya x2
Ya y2
Za x1
Za x2
Za y1
Wb x1
Wb x2
Wb y1
Операция селекция (ограничения)
Алгебра зап так
А) R [A Θ U]
B) R [A Θ B]
{r: r є R л (r[A] Θ r[B]}
Где u - константа)
В атрибут отношении R B не равно А (A, Bє R)
~ = {> < <= >= = не равно
P [D2 =11] [D1] =
16.04.2014
Лекция 14
Примеры применения реляционной алгебры
Пусть задана схема БД выще учебного заведения которого состоит
# - ссылка на что или может быть первичным ключом
Факульттъет(#F, Названия, Декан, Корпус Фонд)
Кафедра(#D, #F, Названия, #Заведующий, Корпус, Фонд)
Преподователь(#T, #D, Фамилия, Должность, Телефон)
Группа(#G, #D, Курс, Номер, Количество студентов, #Куратор)
Предмет(#S, Названия)
Аудитория(#R, Номер, Корпус, Вместимость)
Лекция(#L, #G, #S, #R, Тип, День, Неделя
Факультет |
Корпус |
Препод |
Группа |
#D
#D #Заведующ
#T
Лекция |
#R
#S
Предмет |
АУДИТОРИЯ |
1) Операция Проекции
Вывести список всех преподавателей вуза с номерами телефона
Преподаватель [Фамилия, Телефон]
2) Ограничения
Кто является деканам факультета СУЛА
Факультет [Названия = ‘СУЛА’] [Декан]
Вывести список всех профессоров заведения
Преподователь [Должность = “ПРофесор”] [Фамилия]
3) Соединения ограничения и проекция
Вывести названия факультетов вместе с названиями соответствующих кафедр
(Факультет [#F = #F] Кафедра) [Факультет. Названия, Кафедра. Названия]
Факультет, Названия | Кафедра, Названия |
Сула | |
Сула | |
ДТ | |
… |
Вывести список всех преподавателей факультета СУЛА вместе с номерами их телефонов
(((Факультет [#F = #F] Кафедра) [#D = #D] Преподаватель) [Факультет. Названия = ’СУЛА‘])[Фамилия, Телефон])
4) Теоретико множественные операции
Вывести список всех корпусов, где размещены кафедры факультета СУЛА, а также деканаты этих факультетов
(Факультет [Названия = ‘СУЛА’] [Корпус] U ((Факультет [#F = #F] Кафедра) [Факультет. Названия = ‘СУЛА’] [Кафедра. Корпус] U ((Факультет [#F =#F] Кафедра) [Факультет. Названия = ‘Менеджмент’] [Кафедра. Корпус]
Кто из преподавателей ИУС не читает лекции
(Кафедра [#D =#D] Преподавателем)[Кафедра.Названия = ‘ИУС’]
[Кафедра. Фамилия] –
((Кафедра [#D = #D] Преподователь) [#T = #T] Лекция)
[Кафедра. Названия = “ИУС”] [Преподователь. Фамилия]
23.04.2015
Лекция 15
Амер инст нацыон стандартов и междунар организация (ИСО) занимается поддержкой языка SQL. Все станд поддержуют этот язык, но есть отклонения в каждом конкретном случае описываются в документации программного продукта, кроме того большинство в системе разработано расширения языка СКОЛ которые дают возможность используют язык запросов в среде программирования
Какие возможности дает SQL^
1) Создавать удалять табл БД изменять заголовки этих табл
2) Вставлять изменять удалять картежи табл
3) Добавлять поиск и выполнять сортировку этого поиска
4) Описывать процедуры поддержки целостности данных
5) Определять и изменять информацию о защите
Дата добавления: 2015-08-09; просмотров: 83 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Нормальные формы схем отношений | | | SQL CACHE |