Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка без заданий часть1.pdf
Скачиваний:
11
Добавлен:
12.05.2015
Размер:
310.49 Кб
Скачать

модель является логической, т.е. таблицы (отношения) являются логическими, а не физическими структурами;

для реляционных баз данных верен информационный принцип: все информационное наполнение базы данных представлено одним и только одним способом, а именно — явным заданием значений, помещенных в позиции столбцов (атрибутов) в строках (кортежах) таблицы (отношения); в частности, нет никаких указателей, связывающих одну таблицу (отношение) с другой.

Основой реляционной модели являются таблицы, все данные представлены в виде простых таблиц, разбитых на строки и столбцы, на пересечении которых расположены данные. Запросы к таким таблицам возвращают таблицы, которые сами могут становиться предметом дальнейших запросов. Каждая база данных может включать несколько таблиц. Кратко особенности реляционной модели данных можно сформулировать следующим образом:

Данные хранятся в таблицах, состоящих из столбцов ("атрибутов") и строк ("записей").

На пересечении каждого столбца и строчки стоит в точности одно значение.

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

Запросы к базе данных возвращают результат в виде таблиц, которые тоже могут выступать как объект запросов.

Строки в реляционной базе данных неупорядочены - упорядочивание производится в момент формирования ответа на запрос.

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

Реляционные языки

Реляционная алгебра

Реляционная алгебра — это теоретический язык операций, которые на основе одного или нескольких отношений позволяют создавать другое отношение без изменения самих исходных отношений. Таким образом, оба операнда и результат являются отношениями, а потому результаты одной операции могут стать исходными данными для другой операции. Это позволяет создавать вложенные выражения реляционной алгебры точно так же, как создаются вложенные арифметические выражения. Это свойство называется замкнутостью, т.е. отношения покрываются реляционной алгеброй так же, как числа — арифметическими операциями.

Реляционная алгебра является языком последовательного использова-

- 20 -

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

Пять основных операций реляционной алгебры, а именно выборка (selection), проекция (projection), декартово произведение (cartesian product), объединение (union) и разность (set difference), выполняют большинство операций извлечения данных, которые могут представлять для нас интерес. На основании пяти основных операций можно также вывести дополнительные операции, такие как операции соединения (join), пересечения (intersection) и деления (division).

Операции выборки и проекции являются унарными, поскольку они работают с одним отношением. Другие операции работают с парами отношений, и поэтому их называют бинарными операциями. В приведенных ниже определениях R и S — это два отношения, определенные над атрибутами А=(а12,... ,aN) и B=(b1,b2,... ,bН) соответственно.

Выборка (или ограничение) Qпредикат(R)

Операция выборки работает с одним отношением R и определяет результирующее отношение, которое содержит только те кортежи (строки) отношения R, которые удовлетворяют заданному условию (предикату).

 

Пусть R =

 

Q B < 2 or b > 2 (R)=

 

 

 

 

 

 

A

B

A

B

 

 

 

 

 

 

 

a

1

 

a

1

 

 

 

 

 

 

 

b

2

 

c

3

 

 

 

 

 

 

 

c3

Проекция Патр.1,...,атр.n(R)

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

П B (R)=

B

1

2

3

- 21 -

Декартово произведение RxS

Операция декартового произведения определяет новое отношение, которое является результатом конкатенации (т.е. сцепления) каждого кортежа из отношения R с каждым кортежем из отношения S.

 

Пусть S =

 

R x S =

 

 

 

 

 

 

 

 

B

C

 

R.A

R.B

S.B

S.C

 

 

 

 

 

 

 

1

aa

 

a

1

1

aa

 

 

 

 

 

 

 

2

bb

 

a

1

2

bb

 

 

 

 

 

 

 

 

 

 

b

2

1

aa

 

 

 

 

 

 

 

 

 

 

b

2

2

bb

 

 

 

 

 

 

 

 

 

 

c

3

1

aa

 

 

 

 

 

 

 

 

 

 

c

3

2

aa

 

 

 

 

 

 

 

Если одно отношение имеет / кортежей и N атрибутов, а другое — J кортежей и М атрибутов, то отношение с их декартовым произведением будет содержать (IxJ) кортежей и (NxM) атрибутов. Исходные отношения могут содержать атрибуты с одинаковыми именами, в таком случае имена атрибутов будут содержать названия отношений в виде префиксов для обеспечения уникальности имен атрибутов в отношении, полученном как результат выполнения операции декартового произведения.

Объединение R U S

Объединение отношений R и S с кортежами I и J соответственно можно получить в результате их конкатенации с образованием одного отношения с максимальным количеством кортежей (I+J), если кортежи-дубликаты исключены. При этом отношения R и S должны быть совместимы по объединению.

 

Пусть K =

 

 

R U K =

 

 

 

 

 

 

 

 

 

 

 

A

B

 

 

 

 

 

A

B

 

 

A

B

 

g

4

 

 

 

 

 

 

 

 

 

 

 

 

a

1

 

a

 

1

 

z

3

 

 

 

 

 

b

2

 

b

 

2

 

a

1

 

 

 

 

 

c

3

 

c

 

3

 

 

 

 

 

 

 

 

g

4

 

 

 

g

 

4

 

 

 

 

 

 

 

 

z

3

 

 

 

z

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

1

 

 

 

 

 

 

 

 

 

 

 

 

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

- 22 -