Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УДьт.doc
Скачиваний:
60
Добавлен:
27.03.2015
Размер:
1.08 Mб
Скачать

Операции над данными в иерархической модели

  • Запомнить – позволяет занести в БД новые записи. Для корневой записи необходим уникальный ключ. Система не допускает хранение в БД двух корневых записей с идентичными значениями ключей. Запись можно запомнить только при наличии экземпляра исходной записи.

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

  • Удалить – операция служит для исключения из БД некоторой записи и всех подчиненных ей.

  • Извлечь Эта операция имеет несколько модификаций:

  1. извлечь корневую запись по ключу;

  2. извлечь корневую запись последовательно.

Всякая обработка БД начинается с какой-либо корневой записи. Дальнейшая обработка некорневых записей осуществляется по иерархическому пути.

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

Пример: для дерева изображенного на рисунке 5.3, левосторонний обход вершин следующий: A, B, C, D, E, F. Операция извлечь допускает задание условий выборки.

Пример: выбрать только мужчин в картотеке поликлиники.

Рис. 5.3 Левосторонний обход дерева.

Ограничения целостности в иерархической модели.

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

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

5 Реляционные базы данных.

Реляционная модель предложена сотрудником компании IBM Е.Ф.Коддом в 1970 г. В настоящее время эта модель является фактическим стандартом, на который ориентируются практически все современные коммерческие СУБД.

В реляционной модели достигается гораздо более высокий уровень абстракции данных, чем в иерархической или сетевой. Представление данных не зависит от способа их физической организации. Это обеспечивается за счет использования математической теории отношений (само название “реляционная” происходит от английского relation – “отношение”).

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

  • Домен имеет уникальное имя (в пределах базы данных).

  • Домен определен на некотором простом типе данных или на другом домене.

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

  • Домен несет определенную смысловую нагрузку.

Например, домен D, имеющий смысл “возраст сотрудника” можно описать как следующее подмножество множества натуральных чисел:

D={nєN: n≥18 and n≤60}

Основное значение доменов состоит в том, что домены ограничивают сравнения. Некорректно, с логической точки зрения, сравнивать значения из различных доменов, даже если они имеют одинаковый тип. В этом проявляется смысловое ограничение доменов.

Кортежи – это упорядоченная совокупность элементов доменов.

Математическое описание отношения :

пусть даны множества D1,D2,…,Dn – домены и существует ряд кортежей вида <d1, d2,…,dn>; di D, тогда декартовым произведением

D = D1•D2•D3•…•Dn называется множество всех возможных кортежей.

Пример:

D1 = { красный, синий }

D2 = { карандаш, фломастер, ручка }

D3 = { +, – }

D = D1•D2•D3 = {

<красный,

карандаш,

+>

<…

…>

<синий,

ручка,

–>}

Отношением R на доменах D1, D2,… ,D3 называется подмножество декартового произведения R  D.

С точки зрения организации данных отношения удобно изображать в виде таблиц (таблица 6.1):

Таблица 6.1

Цвет

Предмет

Наличие

Красный

Карандаш

+

Красный

Карандаш

Синий

Ручка

Термины, которыми оперирует реляционная модель данных, имеют соответствующие “табличные” синонимы:

Таблица 6.2

Реляционный термин

Соответствующий “табличный” термин

База данных

Набор таблиц

Отношение

Таблица (файл)

Атрибут отношения

Наименование столбца таблицы (поле)

Кортеж отношения

Строка таблицы (запись)

Степень (-арность) отношения

Количество столбцов таблицы

Мощность отношения

Количество строк таблицы

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

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

Мощность отношения – это количество кортежей отношения (количество строк в таблице). В общем случае она изменяется с течением времени.

Замечание.

По определению в отношении не может содержаться два идентичных кортежа. Многие реляционные СУБД допускают хранение файлов данных идентичных записей. Если в каком-либо приложении хранение идентичных записей недопустимо, программист должен позаботься об этом лично.

Расмотрим простую реляционную базы данных состоящую из трех таблиц (Таб. 6.3-6.5).

Таблица 6.3 “Поставщик”.

№ поставщика

Название поставщика

Город

2

Нормаль

Н.Новгород

1

Красная Этна

Н.Новгород

3

Уралмаш

Екатеринбург

4

Нормаль

Москва

Таблица 6.4 “Деталь”.

№ детали

Название детали

4

Болт 17

8

Шпильки

1

Гайка 22

2

Гайка 10

Таблица 6.5 “Поставщик – Деталь”.

№ поставщика

№ детали

Количество

1

1

20

1

2

10

2

1

7

3

8

20

БД содержит три типа информации.

  • Информация о поставщиках деталей на предприятие (таблица 6.3):

номер поставщика;

наименование детали;

название города.

  • Информация о деталях, используемых на предприятии (таблица 6.4):

номер детали;

наименование детали.

  • Информация о номере и количестве поступления деталей от каждого поставщика (таблица 6.5)

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

Первичный ключ - это атрибут или набор атрибутов, значение которых однозначно указывают на конкретный кортеж отношения. Первичный ключ должен быть минимальным набором атрибутов.

Число отношений в БД и конкретные атрибуты, приписываемые каждому отношению определяются в процессе проектирования БД, который может быть довольно продолжительным. После проектирования создание БД средствами СУБД может пойти достаточно быстро.

В таблице 6.6 описаны типы данных для атрибутов БД “Поставщики и детали”.

Таблица 6.6 Типы Атрибутов.

Название атрибута

Тип атрибута

Пном

Числовой (3)

Пназ

Символьный(16)

Гор

Символьный(15)

Дназ

Символьный(10)

Штук

Числовой (5)

Дном

Числовой (5)

Отношения с указанными первичными ключами для данной БД:

Поставщик

(Пном, Пназ, Гор)

Деталь

(Дном, Дназ)

Поставщик-Деталь

(Пном, Дном, Штук)

Результатом проектирования является концептуальная модель БД.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]