Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
экзамен / BD_konspekt_lektsiy.doc
Скачиваний:
31
Добавлен:
06.02.2018
Размер:
142.34 Кб
Скачать

2.2. Древовидные модели данных

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

В древовидной схеме данных предполагается, что между узлом (схемой отношения) предком и узлом потомком установлена связь типа 1:М и каждый узел имеет не более одного предка.

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

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

Примечание. Малое количество информации может быть записано сбалансированным и бинарным деревьями.

Зависимость данных от структуры. Если в структурированном представлении данных для получения каких-либо сведений требуется воспользоваться связями, то такое представление называется зависимым от структуры.

2.3. Сетевые модели данных

Определение. Схему данных, в которой потомок может иметь более одного предка, называют сетевой.

Свойство. Если схема данных содержит связь типа М:М, то она является сетевой.

Определение. Схема данных, в которой явно присутствует связь типа М:М, называется сложной сетевой схемой, в противном случае – простым.

Правило преобразования сложной сетевой схемы к простой сетевой. Допустим, что схема данных содержит две схемы отношений (типов записей) со связью М:М. A и B ‑ ключи этих записей. Создается новое отношение с ключом A+B. Со схемы удаляется связь типа М:М, а от нового отношения устанавливается связь М:1 к исходным отношениям.

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

Общие данные, данные пересечения, изолированные данные:

1. Элемент данных на схеме называется общим, если он по правилу склеивания записей может быть присоединен к нескольким различным типам записей.

2. Элемент данных, который по правилу склейки не может быть присоединен ни к одному из существующих типов записей (к нему приходят только сдвоенные стрелки) называется данным пересечения, если существует совокупность ключевых полей из других типов записей однозначно определяющих значение этого элемента данных.

3. Элемент данных, который по правилу склейки не может быть присоединен ни к одному из существующих типов записей (к нему приходят только сдвоенные стрелки) называется изолированным данным, если отсутствует совокупность ключевых полей из других типов записей однозначно определяющих значение этого элемента данных

2.4. Реляционная модель данных

Определение. Табличное представление данных называется реляционным, если выполнены следующие требования:

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

2. Элементы каждого столбца таблицы являются однородными, то есть их значения отражают одну и ту же характеристику для класса объектов.

3. Каждый столбец таблицы имеет уникальное имя во всей совокупности таблицы. Имена столбцов (элементов данных) в различных таблицах должны совпадать, если это одна и та же характеристика.

4. Каждая таблица в описании данных должна иметь уникальное имя.

5. Каждый элемент таблицы должен быть элементом данных.

6. Связи между таблицами на схеме БД устанавливается по одноименным атрибутам данных.

Определение. Каждая таблица, удовлетворяющая перечисленным требованиям, называется отношением, находящимся в первой нормальной форме (1НФ).

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

Базисный набор операций:

1. Объединение: R=R1 R2. Результат операции R содержит кортежи из R1 и R2. Ограничения на операнды: а) k1=k2; б) схемы R1 и R2 также должны совпадать; в) дублирующие кортежи в результат включаются только один раз. Пример:

R1

=

A

B

C

R2

=

A

B

C

R

=

A

B

C

a1

b1

c1

a2

b1

c2

a1

b1

c1

a2

b1

c2

a3

b2

c2

a2

b1

c2

a3

b2

c1

a3

b2

c1

a3

b2

c2

SQL: R1 UNION R2;

2. Разность: R=R1 \ R2. Результат операции R включает в себя кортежи из R1, которых нет в R2. Ограничения на операнды: а) k1=k2; б) схемы R1 и R2 также должны совпадать. Пример:

R

=

A

B

C

a1

b1

c1

a3

b2

c1

SQL: к сожалению в стандарте SQL нет соответствующего оператора, например, как в ORACLE: R1 MINUS R2;, поэтому можно воспользоваться другими конструкциями, например: DELETE * FROM R1 WHERE ID IN (SELECT ID FROM R2);, где ID – одиночное значение некоторого выражения, например первичного ключа в R1 и R2.

3. Декартово произведение. R=R1 R2. Результат операции R: каждый кортеж из R1 дополняется кортежем из R2; арность результата – k = k1+k2; n = n1*n2. Результат декартова произведения не может содержать дублирующие кортежи.

Пример: пусть

R2

=

B

C

D

b1

c1

d1

b2

c2

d1

тогда

R

=

A

R1.B

R1.C

R2.B

R2.C

D

a1

b1

c1

b1

c1

d1

a2

b1

c2

b2

c2

d1

a3

b2

c1

b1

c1

d1

a1

b1

c1

b2

c2

d1

a2

b1

c2

b1

c1

d1

a3

b2

c1

b2

c2

d1

SQL: SELECT * FROM R1, R2;

4. Селекция: R = F(Ri), где F - логическая формула над атрибутами из Ri. Результатом операции является таблица R, содержащая те же столбцы, что и Ri и строки из Ri, подстановка которых в F дает значение "истина". Пример: R = C=c1 (R1):

R

=

A

B

C

a1

b1

c1

a3

b2

c1

SQL: SELECT * FROM R1 WHERE F;

5. Проекция: R = X(Ri), где X - подмножество атрибутов их схемы Ri. Результат операции - таблица со схемой (заголовком) X; строки таблицы формируются из таблицы Ri, но только для атрибутов из X (вырезка по столбцам); дублирующие кортежи из результата удаляются. Пример: R = BC(R1)

R1

=

B

C

b1

c1

b1

c2

b2

c1

SQL: SELECT DISTINCTROW B,C FROM R1;

Дополнительные операции реляционной алгебры:

1. Пересечение: R=R1 R2. Выражение через базисный набор: R=R1 \ (R1 \ R2).

2. Соединение: R=R1 F R2, где F - логическое выражение над атрибутами из R1 и R2. Выражение через базисный набор: R=F(R1 R2)

3. Эквисоединение. Частный случай соединения, когда F≡R1.Ai=R2.Aj.

4. Естественное соединение: R=R1 ►◄ R2. Каждый кортеж из R1 сопоставляется с каждым кортежем из R2. Два кортежа соединяются, если все одноименные атрибуты в них имеют одинаковое значение, результат соединения помещаются в R. Столбцы для одноименных атрибутов не дублируются, так как значение в этих столбцах совпадают. Пример:

R1

=

A

B

C

R2

=

B

C

D

a1

b1

c1

b1

c1

d1

a2

b1

c2

b2

c2

d1

a3

b2

c2

Результат:

R

=

A

B

C

D

a1

b1

c1

d1

a3

b2

c2

d1

Выражение через базисный набор: R=X(F(R1R2)), где F=i=1,…,k(R1.Ai=R2.Ai) – конъюнкция по всем одноименным атрибутам, X= R1R2 – объединение атрибутов из R1 и R2.

Соседние файлы в папке экзамен