- •Информационные системы: определение, функции, классификация.
- •Модели представления данных.
- •Субд: общие сведения, функции, классификация.
- •5. Реляционная алгебра.
- •6. Теоретико-множественные операторы реляционной алгебры: объединение.
- •7. Теоретико-множественные операторы реляционной алгебры: пересечение.
- •8. Теоретико-множественные операторы реляционной алгебры: вычитание.
- •9. Теоретико-множественные операторы реляционной алгебры: декартово произведение.
- •10. Специальные реляционные операторы: выборка
- •12. Специальные реляционные операторы: тэта-соединение.
- •13. Специальные реляционные операторы: экви-соединение.
- •14. Специальные реляционные операторы: естественное соединение.
- •15. Специальные реляционные операторы: деление.
- •16. Нормализация: общие сведения.
- •17. Нормальные формы: первая нормальная форма (определение, примеры).
- •22.Транзакции. Управление транзакциями.
- •23. Язык манипулирования данными sql: общие сведения, формы построения запросов.
10. Специальные реляционные операторы: выборка
Выборка – ограничение или селекция на отношении А и с условием С называется отношение с тем же заголовком что и в отношениях А и телом состоящим из кортежей значение атрибутов который при постановке в условие С дают значение истины при этом С представляет собой логическое выражение, в которое могут входить атрибуты отношения А и скалярные выражения.
А WHERE C
Формально операция выборки дает горизонтальный срез по определенному условию.
11. Специальные реляционные операторы: проекция.
Проекцией отношения А по атрибутам Х,Y,Z, где каждый из атрибутов принадлежит отношению А, называется отношение с заголовком XYZ и телом, содержащим множество кортежей вида x,y,z таких, для которых в отношении А найдутся атрибуты со значением Х=х, Y=y, Z=z.
Проекция дает вертикальный срез отношения, в котором удалены все возникшие дубликаты кортежей.
R(название_кортежа)
12. Специальные реляционные операторы: тэта-соединение.
отношений R и S содержит кортежи,
которые составлены из кортежей отношения R,
продолженных кортежами отношения S,
удовлетворяющими условию C.
Синтаксис этого условия такой же, как
и у оператора
выбора.
Так как в C могут
входить не только равенства атрибутов,
то атрибуты R и S с
одинаковыми именами входят в схему P1 дважды
(обычно, как и в случае декартова
произведения, перед ними помещается
через точку имя отношения ).
Оператор тета-соединения выражается
через операторы
выбора и декартового
произведения:
.
Ему соответствует формула
,
в которой C' -
это формула C,
где вместо имен атрибутов подставлены
имена соответствующих переменных.
Операторы реляционной алгебры можно соединять в сложные выражения, позволяющие выражать необходимые пользователям запросы. Например, чтобы получить список фамилий сотрудников с доступным каждому из них оборудованием, можно использовать выражение
Результат его вычисления представлен в следующей таблице:
ФИО |
Название |
Иванов А.А. |
компьютер |
Иванов А.А. |
принтер |
Сидорова М.И |
компьютер |
Сидорова М.И |
принтер |
Горев С.В. |
ксерокс |
13. Специальные реляционные операторы: экви-соединение.
В общем случае экви-соединение может рассматриваться как равенство. Синтаксис этих соединений выглядит в форме A[X=Y]В
Пример:
Пусть имеются отношения P, D, PD, хранящие инфомация о поставщиках, деталях и поставках
Вид этих базовых отношений
P
№ поставщика (PNUM) |
Наименование поставщика (PNAME) |
1 |
Иванов |
2 |
Петров |
3 |
Сидоров |
D
№ детали (DNUM) |
Наименование детали (DNAME) |
1 |
Болт |
2 |
Гайка |
3 |
Винт |
PD
№ поставщика (PNUM) |
№ детали (DNUM) |
Поставляемое количество (VOLUME) |
1 |
1 |
100 |
1 |
2 |
200 |
1 |
3 |
300 |
2 |
1 |
150 |
2 |
2 |
250 |
3 |
1 |
1000 |
Вид данного соединение записывается как:
P[PNUM= PNUM] PD
Т.к. в отношении имеются одинаковые атрибуты, то в начале требуется их переименование.
В результате имеем:
№ поставщика (PNUM1) |
Наименование поставщика (PNAME) |
№ поставщика (PNUM2) |
№ детали (DNUM) |
Поставляемое количество (VOLUME) |
1 |
Иванов |
1 |
1 |
100 |
1 |
Иванов |
1 |
2 |
200 |
1 |
Иванов |
1 |
3 |
300 |
2 |
Петров |
2 |
1 |
150 |
2 |
Сидоров |
2 |
2 |
250 |
3 |
Сидоров |
3 |
1 |
1000 |
Недостатком такого соединения является то, что если соединение происходит по атрибутам с одинаковыми наименованиями, в результирующем отношении появляется 2 атрибута с одинаковыми значениями, в рассмотренном примере поставщик №1, №2 содержат дублирующие данные, избавиться от которых можно выполнив проекцию по всем атрибутам, кроме одного из дублирующих, что, например происходит в естественном соединении.
