Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2. Презентация к лекции Модели данных 25.02.09.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
884.22 Кб
Скачать

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

В общем случае реляционная модель данных представляет множество взаимосвязанных таблиц. Графическое изображение связи между таблицами называется схемой данных.

Имеется таблица Заказы вида:

ЗАКАЗЫ

Номер

заказа

Код

клиента

Дата

заказа

Вес

заказа

1020

АБ

01.02.06

400

1021

АА

01.02.06

100

1022

АС

12.02.06

300

1023

АА

20.03.06

120

1024

АБ

28.05.06

600

Нужно связать таблицы клиенты и заказы. Поле «Код клиента» таблицы клиенты является первичным ключом, а таблицы заказы – внешним.

КЛИЕНТЫ ЗАКАЗЫ

К од клиента

Номер_заказа

Клиент

Код клиента

Адрес

Дата заказа

Вес заказа

Рис.5. Схема данных таблиц

КЛИЕНТЫ и ЗАКАЗЫ

3.2. Условия реляционной целостности

В реляционной модели данных должны выполняться условия целостности данных.

Условие «целостности таблиц» накладывает ограничения на значения первичного ключа – значения первичного ключа таблицы должны быть уникальными и непустыми.

Условие «ссылочной целостности» предполагает, что каждое значение внешнего ключа должно совпадать с одним из значений первичного ключа.

3.3. Операции реляционной алгебры

В процессе обработки реляционных таблиц СУБД выполняет операции реляционной алгебры такие, как объединение, пересечение, декартово произведение, разность, проекция, выборка, соединение, деление.

Операции объединения, пересечения, разности производятся над двумя исходными отношениями R1 и R 2, имеющими одинаковый состав и порядок атрибутов. Результатом является отношение такой же структуры.

Объединением двух отношений R1 U R2 называется отношение R, содержащее множество кортежей, принадлежащих либо R1, либо R2, либо обоим отношениям R1, R2 одновременно.

Пример 1

Пусть исходными отношениями являются отношения R1 и R2, которые содержат перечень номеров заказов и веса заказов, которые оформлялись двумя различными участками отдела сбыта:

R1 R2

Номер

заказа

Вес

заказа

Номер

заказа

Вес

заказа

1021

100

1021

100

1022

300

1022

300

1023

120

1024

500

1024

500

1025

300

1026

200

Тогда объединение R1 U R2 содержит общий перечень заказов, которые оформлялись в отделе сбыта:

R

Номер

заказа

Вес

заказа

1021

100

1022

300

1023

120

1024

500

1025

300

1026

200

Пересечением отношений R1  R2 называется отношение R, которое содержит множество кортежей, принадлежащих одновременно и R1, и R2.

Пример 2

Пусть отношения R1, R2 такие же, как в примере 1. Тогда пересечение R1 R2 содержит перечень заказов, которые оформлялись обоими участками отдела сбыта:

R

Номер

заказа

Вес

заказа

1021

100

1022

300

1024

500

Операция декартова произведения была пояснена ранее.

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

Пример 3

Пусть отношения R1, R2 такие же, как в примере 1. Тогда разность R1\ R2 содержит перечень заказов, которые оформлялись только на первом участке отдела сбыта:

R

Номер

заказа

Вес

заказа

1023

120

1026

200

Операции проекции, выборки, соединения, деления являются специальными операции реляционной алгебры.

Операция проекции – это выбор атрибутов в отношении. Пусть в отношении R выбирается подмножество его атрибутов Y. Тогда проекцией PY (R) будет отношение, в которое входят все кортежи R, содержащие только значения атрибутов из подмножества Y.

Пример 4

Пусть отношение R есть таблица ЗАКАЗЫ, а подмножество Y включает два атрибута – «Номер заказа» и «Код клиента». Тогда проекцией PY (R) является отношение:

Номер

заказа

Код

клиента

1020

АБ

1021

АА

1022

АС

1023

АА

1024

АБ

Для операции выборки задается условие выборки кортежей булевым выражением (r), составленным из термов сравнения с помощью логических операций «И», «ИЛИ», «НЕ». Терм сравнения – выражение типа сравнения (в нем могут использоваться операции «=», «>», «<». «», «», «»). Результат операции выборки R[(r)] на отношении R есть отношение, включающее кортежи, для которых истинно заданное условие.

Пример 5

Требуется выбрать заказы с номером 1021 из отношения:

R1

Номер

заказа

Вес

заказа

Номер

участка

1021

100

1

1022

300

1

1023

120

1

1024

500

1

1026

200

1

1023

120

2

1021

100

2

1024

500

3

Тогда результатом выборки является отношение, содержащее кортежи, у которых номер заказа равен 1021:

R

Номер

заказа

Вес

заказа

Номер

участка

1021

100

1

1021

100

2

Операция соединения отношений R1  R2

А1=А2

выполняется путем сцепления кортежей отношения R1 с кортежами отношения R2 при условии совпадения значения атрибута А1 отношения R1 со значением атрибута А2 отношения R2 (А1, А2 – атрибуты, задаваемые для сцепления). При этом в результирующее отношение R одинаковые атрибуты включаются только один раз.

Пример 6

Пусть отношение R1 – это таблица КЛИЕНТЫ, а отношение R2 – таблица ЗАКАЗЫ. Тогда соединением отношений R1, R2 по «Коду клиента» будет отношение:

R

Код

клиента

Клиент

Адрес

Номер

заказа

Дата

заказа

Вес

заказа

АА

БГЭУ

Минск, пр-т Партизанский, 26

1021

01.02.06

100

АА

БГЭУ

Минск, пр-т Партизанский, 26

1023

20.03.06

120

АБ

Сименс

Мюнхен, ул. Лейбница, 8

1020

01.02.06

400

АБ

Сименс

Мюнхен, ул. Лейбница, 8

1024

28.05.06

600

АС

Атлант

Минск, пр-т Победителей, 61

1022

12.02.06

300

Операция деления выполняется над двумя отношениями R1, R2, имеющими атрибуты, определенные на одном домене. Пусть k1 – степень отношения R1, а k2 – отношения R2 и k1>k2. Тогда результат операции деления R1R2 есть отношение R степени k1-k2, любой кортеж которого вместе с любым кортежем R2 образует кортеж, имеющийся в R1.

Пример7

Пусть исходные отношения:

R1 R2

Код

произво-

дителя

Произво-

дитель

Мероприятие

Дата

Мероприятие

Дата

П1

Сименс

Рекламная акция

10.06.06

Рекламная

акция

10.06.06

П1

Сименс

Участие

в выставке

20.06.06

Участие

в выставке

20.06.06

П2

Атлант

Рекламная акция

10.06.06

П2

Атлант

Участие

в выставке

20.06.06

П3

Горизонт

Участие

в выставке

20.06.06

Тогда результатом операции деления R1R2 есть отношение :

R

П1

Сименс

П2

Атлант