Автор: Пользователь скрыл имя, 18 Ноября 2012 в 14:40, лекция
Лекции с глоссарием по базам данным
Описывая конкретный тип группового
отношения, администратор БД определяет,
допустимы или нет экземпляры
с одинаковыми значениями ключей,
а также направление
Таким образом, признак отношения и способ упорядочения позволяют создать ограничение целостности данных; одни и те же записи, являясь подчиненными в разных отношениях, могут быть упорядочены различными способами
В сетевой модели обеспечивается только поддержание целостности по ссылкам (владелец отношения - член отношения). Как уже отмечалось, не обеспечивается автоматическое поддержание соответствия парных записей.
Типичным представителем (наиболее известным и распространенным) является Information Management System (IMS) фирмы IBM. Первая версия появилась в 1968 г. До сих пор поддерживается много таких баз данных, что создает существенные проблемы с переходом, как на новую технологию БД, так и на новую технику.
Структура данных как и в сетевой модели, определяется терминами: элемент данных, агрегат данных, запись, групповое отношение, база данных.
Иерархическая БД состоит из упорядоченного набора деревьев; более точно, из упорядоченного набора нескольких экземпляров одного типа дерева. Для графического изображения также удобно использовать диаграммы Бахмана. Отличительная черта для иерархических баз данных – ее диаграмма Бахмана будет деревом (рис. 5.1).
|
Рис. 5.1 Диаграмма Бахмана |
Очевидно, что количество деревьев в БД определяется числом корневых записей. Групповые отношения в иерархической модели не именуются, поскольку они определяются парой типов записей. Владелец именуется исходной записью, а член группового отношения – подчиненной.
К любой записи существует единственный путь от корневой записи. Этот путь называется иерархическим.
Для упорядочивания подчиненных записей
в экземплярах групповых
Экземпляры корневых записей должны иметь уникальные значения ключей в рамках группового отношения. Каждой записи можно поставить в соответствие полный сцепленный ключ – совокупность всех ключей от корневой записи до данной. Любую сетевую структуру можно представить иерархической моделью, при этом сетевая структура подвергается преобразованию (рис. 5.2).
|
Сетевая модель |
|
Иерархическая модель |
Рис. 5.2 Преобразование сетевой модели в иерархическую. |
Все сведения о жителе, хранящиеся в одной записи “житель”, распределены по трем записям. Запись “Пациент” - содержит медицинские сведения, “Работник” - производственные данные, “Вкладчик” -банковские данные. Часть данных обязательно дублируется. Пример: паспортные данные, такие записи называют парными. Ответственность за поддержание соответствия между парными записями ложиться на пользователя, модель данных этого не обеспечивает. Для внесения группового отношения в иерархическую модель должен быть включен режим автоматического включения.
Всякая обработка БД начинается с какой-либо корневой записи. Дальнейшая обработка некорневых записей осуществляется по иерархическому пути.
|
Для движения по структуре служит операция извлечь следующего, т.е. понимается в смысле левостороннего обхода дерева. Пример: для дерева изображенного на рисунке 5.3, левосторонний обход вершин следующий: A, B, C, D, E, F. Операция извлечь допускает задание условий выборки. Пример: выбрать только мужчин в картотеке поликлиники. |
Рис. 5.3 Левосторонний обход дерева. |
Для групповых отношений в
Поддерживается только целостность связей между владельцами и членами группового отношения (никакой потомок не может существовать без предка). Как уже отмечалось, не обеспечивается автоматическое поддержание соответствия парных записей, входящих в разные иерархии.
Реляционная модель предложена сотрудником компании 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 |
БД содержит три типа информации.
номер поставщика;
наименование детали;
название города.
номер детали;
наименование детали.