Основные понятия теории баз данных.
Автор: Пользователь скрыл имя, 18 Ноября 2012 в 14:40, лекция
Описание работы
Лекции с глоссарием по базам данным
Работа содержит 1 файл
Лекции_БД_ВМЕСТЕ С ГЛОССАРИЕМ.doc
— 1.52 Мб (Скачать)
- последовательное извлечение – если сейчас извлечена запись, то эта операция извлекает следующую запись;
- извлечение по ключу – какая бы запись не была извлечена, сейчас команда извлекает запись с заданным ключом;
- извлечение с использованием отношений – извлечь подчиненного данной записи или извлечь владельца данной записи.
- Удалить – позволяет убрать из БД ненужную запись, если удаляемая запись владелец, анализируется класс членства подчиненных записей. Обязательные члены должны быть откреплены от этого владельца, фиксированные будут удалены вместе с владельцем, а необязательные останутся в БД.
- Исключить из группового отношения – позволяет разорвать связь между записью владельцем и подчиненной записью, сохраняя обе в БД.
Ограничения целостности в сетевой модели.
Описывая конкретный тип группового
отношения, администратор БД определяет,
допустимы или нет экземпляры
с одинаковыми значениями ключей,
а также направление
Таким образом, признак отношения и способ упорядочения позволяют создать ограничение целостности данных; одни и те же записи, являясь подчиненными в разных отношениях, могут быть упорядочены различными способами
В сетевой модели обеспечивается только поддержание целостности по ссылкам (владелец отношения - член отношения). Как уже отмечалось, не обеспечивается автоматическое поддержание соответствия парных записей.
Иерархические базы данных
Типичным представителем (наиболее известным и распространенным) является 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 |
БД содержит три типа информации.
- Информация о поставщиках детал
ей на предприятие (таблица 6.3):
номер поставщика;
наименование детали;
название города.
- Информация о деталях, используемых на предприятии (таблица 6.4):
номер детали;
наименование детали.
- Информация о номере и количестве поступления деталей от каждого поставщика (таблица 6.5)