Основные понятия теории баз данных.

Автор: Пользователь скрыл имя, 18 Ноября 2012 в 14:40, лекция

Описание работы

Лекции с глоссарием по базам данным

Работа содержит 1 файл

Лекции_БД_ВМЕСТЕ С ГЛОССАРИЕМ.doc

— 1.52 Мб (Скачать)

 

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

 

  • Удалить – позволяет убрать из БД ненужную запись, если удаляемая запись владелец, анализируется класс членства подчиненных записей. Обязательные члены должны быть откреплены от этого владельца, фиксированные будут удалены вместе с владельцем, а необязательные останутся в БД.
  • Исключить из группового отношения – позволяет разорвать связь между записью владельцем и подчиненной записью, сохраняя обе в БД.

 

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

 

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

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

 

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

  1. Иерархические базы данных

 

 

Типичным представителем (наиболее известным и распространенным) является Information Management System (IMS) фирмы IBM. Первая версия появилась в 1968 г. До сих пор поддерживается много таких баз данных, что создает существенные проблемы с переходом, как на новую технологию БД, так и на новую технику.

 

    1. Структура данных иерархической модели

 

Структура данных как и в сетевой модели, определяется терминами: элемент данных, агрегат данных, запись, групповое отношение, база данных.

 

Иерархическая БД состоит из упорядоченного набора деревьев; более точно, из упорядоченного набора нескольких экземпляров одного типа дерева. Для графического изображения также удобно использовать диаграммы Бахмана. Отличительная черта для иерархических баз данных – ее диаграмма Бахмана будет деревом (рис. 5.1).

 

Рис. 5.1 Диаграмма Бахмана иерархической  базы данных.


 

Очевидно, что количество деревьев в БД определяется числом корневых записей. Групповые отношения в иерархической модели не именуются, поскольку они определяются парой типов записей. Владелец именуется исходной записью, а член группового отношения – подчиненной.

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

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

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

 

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

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

Рис. 5.2 Преобразование сетевой модели в иерархическую.


 

Все сведения о жителе, хранящиеся в одной записи “житель”, распределены по трем записям. Запись “Пациент” - содержит медицинские сведения, “Работник” - производственные данные, “Вкладчик” -банковские данные. Часть данных обязательно дублируется. Пример: паспортные данные, такие записи называют парными. Ответственность за поддержание соответствия между парными записями ложиться на пользователя, модель данных этого не обеспечивает. Для внесения группового отношения в иерархическую модель должен быть включен режим автоматического включения.

 

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

 

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

 

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

 

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

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

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

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

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

 

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

 

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

 

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

 

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

 

 

Реляционная модель предложена сотрудником  компании 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)

Информация о работе Основные понятия теории баз данных.