Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции / Лекции_ИОСУ1.doc
Скачиваний:
49
Добавлен:
17.02.2014
Размер:
567.3 Кб
Скачать

4.1.1 Иерархическая модель

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

При этом каждый узел может иметь только одного предка (рис. изменить).

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

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

Пример:

4.1.2 Сетевая модель

Сетевой подход к организации данных является расширением иерархического. В иерархических структурах запись-потомок должна иметь в точности одного предка; в сетевой структуре данных потомок может иметь любое число предков. В сетевой модели (по крайней мере, теоретически) возможны связи «всех со всеми».

Сетевая БД состоит из набора записей и набора связей между этими записями.

Пример:

Студент:

Ф.И.О., группа

Работа: руководитель

Ф.И.О., предмет

Возможно участие одного студента в нескольких НИР, а также нескольких студентов в разработке одной НИР.

ДОСТОИНСТВА

1. Навигация по связанным данным, что является отличительной особенностью СМД;

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

3. Адекватно отражает инфологические схемы сложных предметных областей.

НЕДОСТАТОК

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

4.1.3. Реляционная модель

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

Элементы РМД и их представления:

  1. Отношение– двумерная таблица, содержащая некоторые данные.

  2. Схемаотношения– строка заголовка таблицы.

  3. Атрибут– заголовок столбца таблицы (поле).

  4. Кортеж– строка таблицы (запись).

  5. Домен– столбец таблицы, со значениями соответствующего атрибута.

  6. Первичный ключ – один или несколько атрибутов.

  7. Тип данных – тип значений элементов таблицы.

Общий вид отношения в реляционной модели.

ОТНОШЕНИЕ

ЗАГОЛОВОК ОТНОШЕНИЯ

А1

А3

A7

Аn

ТЕЛО ОТНОШЕНИЯ

V1

V3

V7

Vn

к

о

р

т

е

ж

V1i

V3i

V7i

Vni

Ai - атрибуты, Vi - значения атрибутов

Заголовок отношениясостоит из фиксированного множества атрибутов А1, А2, …, Аn. Между этими атрибутами Аi и определяющими их доменами Di существует взаимно однозначное соответствие.

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

Степень отношения– это число его атрибутов.

Кардинальное числоилимощность отношения– это число его кортежей. Кардинальное число отношения изменяется во времени в отличие от его степени.

Если R – отношение с атрибутами A1, A2, ..., An, то множество атрибутов K = (Ai, Aj, ..., Ak) отношения R является возможным ключом R тогда и только тогда, когда удовлетворяются два независимых от времени условия: уникальность и минимальность.

Уникальность: в произвольный заданный момент времени никакие два различных кортежа R не имеют одного и того же значения для Ai, Aj, ..., Ak.

Минимальность: ни один из атрибутовAi, Aj, ..., Akне может быть исключен изKбез нарушения уникальности.

Основы реляционной алгебры.

В теории реляционной алгебры отношение рассматривается как множество. Над отношениями выполняются традиционные операции теории множеств. Виды операций:

1) объединение

2) пересечение

3) вычитание

4) произведение (декартово)

5) выборка (горизонтальное подмножество)

6) проекция (вертикальное подмножество)

7) соединение

8) деление

объединение

 Операция ОБЪЕДИНЕНИЕ выполняется над двумя односхемными таблицами (таблицы имеют одинаковые атрибуты).

Результирующая таблица содержит все строки операндов (таблиц), за исключением повторяющихся.

пересечение

 Операция пересечение выполняется над двумя односхемными таблицами (таблицы имеют одинаковые атрибуты).

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

Итоговая таблица (сотрудники, которые являются вкладчиками)

Фамилия

Год

рождения

Иванов

1958

Сидоров

1972

вычитание

Операция ВЫЧИТАНИЕ (разность) выполняется над односхемными таблицами-отношениями.

Во многом ВЫЧИТАНИЕ похоже на ПЕРЕСЕЧЕНИЕ, за исключением того, что результирующее отношение содержит кортежи, присутствующие в первом и отсутствующие во втором исходных отношениях.

произведение (декартово)

Операция ПРОИЗВЕДЕНИЕ (декартово) выполняется над таблицами-отношениями с разными схемами.

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

Следовательно:

- степень результирующего отношения (количество атрибут) равна сумме степеней исходных отношений;

- мощность результирующего отношения (количество строк) равна произведению мощностей исходных отношений.

выборка (горизонтальное подмножество)

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

Пример:

Экзаменационная ведомость по математике

Группа

№ зач. книжки

ФИО студента

Дисциплина

Оценка

11

111

Иванов

Математика

5

11

222

Петров

Математика

5

11

333

Сидоров

Математика

4

Требуется список студентов, получивших только отлично.

Группа

№ зач. книжки

ФИО студента

Дисциплина

Оценка

11

111

Иванов

Математика

5

11

222

Петров

Математика

5

проекция (вертикальное подмножество)

Проекция отношения – создание нового отношения отбором в него определенных столбцов отношения-операнда и удаление из полученного отношения повторяющихся строк.

Экзаменационная ведомость по предметам

Группа

№ зач. книжки

ФИО студента

Дисциплина

Оценка

11

111

Иванов

Математика

5

11

222

Петров

Математика

5

11

333

Сидоров

Математика

4

11

333

Сидоров

Физика

4

Требуется список студентов, содержащий № зачетной книжки и ФИО

№ зач. книжки

ФИО студента

111

Иванов

222

Петров

333

Сидоров

соединение

Операция СОЕДИНЕНИЕ – выполняется над таблицами-отношениями с разными схемами. В каждой таблице-отношении выделяется поле, по которому будет осуществляться соединение.

Схема итоговой таблицы-отношения включает все поля первой таблицы и все поля второй таблицы.

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

Пример:

Студент

ФИО

Дата рождения

№ зач.книжки

Иванов

22.12.80

111

Петров

12.05.80

222

Сидоров

30.09.80

333

Оценка

Код дисциплины

№ зач.книжки

Оценка

1

111

4

1

222

5

2

111

4

2

222

5

Результат операции соединения

ФИО

Дата рождения

№ зач.книжки

Код

дисциплины

Оценка

Иванов

22.12.80

111

1

4

Иванов

22.12.80

111

2

4

Петров

12.05.80

222

1

5

Петров

12.05.80

222

2

5

деление

Деление отношений – создание нового отношения, содержащего атрибуты 1-го операнда, отсутствующие во 2-ом операнде, и кортежи 1-го операнда, которые совпали с кортежами 2-го операнда. Для выполнения этой операции 2-ой операнд должен содержать лишь атрибуты, совпадающие с атрибутами первого.

Пример:

Студент

ФИО

Дата рождения

группа

Стипендия

Иванов

22.12.80

11

да

Петров

12.05.80

11

да

Сидоров

30.09.80

11

нет

Козлов

10.10.80

11

да

группа

Стипендия

11

да

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

ФИО

Дата рождения

Иванов

22.12.80

Петров

12.05.80

Козлов

10.10.80

Соседние файлы в папке лекции