Similar presentations:
Модели данных
1.
Лекция 3. Модели данных1
2.
Модель данных – совокупность структур данных (типовсвязей между данными) и операций их обработки.
Модель данных – формальная теория представления
и обработки данных, включающая методы описания
типов и логических структур данных (аспект структуры),
методы
манипулирования
данными
(аспект
манипуляции) и методы описания и поддержки
целостности данных (аспект целостности).
Модели данных
Иерархическая
Реляционная
Сетевая
3.
Иерархическая модель – это упорядоченный наборвеерных отношений (потомок-предок R S), в котором для
каждого потомка существует единственный предок.
Иерархическая модель позволяет строить БД с древовидной
структурой. Каждый узел содержит свой тип данных (сущность). На
верхнем уровне дерева имеется один
корневой узел, на
следующем уровне располагаются узлы, связанные с этим корнем,
затем узлы, связанные с узлами предыдущего уровня, и т. д.
Каждый узел может иметь только одного предка.
Поиск данных всегда начинается с корня. Затем производится
спуск с одного уровня на другой пока не будет достигнут искомый
уровень. Перемещения от одной записи к другой осуществляются с
помощью ссылок.
Достоинствами иерархической модели являются простота
описания иерархических структур реального мира, минимальный
объем, а также быстрое выполнение запросов, соответствующих
структуре данных.
Недостатки иерархической модели: содержит избыточные
данные (в разных группах одинаковые данные), нет полной
целостности модели, неудобно редактировать, так как любой поиск
нужно начинать с корня, неуниверальность.
4.
Организация данных в СУБД иерархического типа определяется втерминах: элемент, агрегат, запись (группа), групповое отношение,
база данных.
• Атрибут (элемент данных) – наименьшая единица структуры
данных. Обычно каждому атрибуту при описании базы данных
присваивается уникальное имя. По этому имени к нему
обращаются при обработке. Атрибут также часто называют полем.
• Запись – именованная совокупность атрибутов. Использование
записей позволяет за одно обращение к базе получить некоторую
логически связанную совокупность данных. Именно записи
изменяются, добавляются и удаляются.
• Групповое отношение – иерархическое отношение между
записями двух типов. Родительская запись (владелец группового
отношения) называется исходной записью, а дочерние записи
(члены группового отношения) – подчиненными. Иерархическая
база данных может хранить только такие древовидные структуры.
5.
Корневая запись каждого дерева обязательно должна содержатьключ с уникальным значением. Ключи некорневых записей должны
иметь уникальное значение только в рамках группового отношения.
Каждая запись идентифицируется полным сцепленным ключом,
под которым понимается совокупность ключей всех записей от
корневой по иерархическому пути.
Ранг – глубина дерева,
количество уровней дерева
(количество узлов предков,
имеющих потомков - 3)
ранг
При
графическом
изображении
групповые
отношения
изображают дугами ориентированного графа, а типы записей вершинами (диаграмма Бахмана).
Порядок – ширина дерева,
максимальное количество
элементов в (записи - 3)
порядок
6.
7.
Операции над данными, определенные виерархической модели:
•ДОБАВИТЬ в базу данных новую запись. Для корневой записи
обязательно формирование значения ключа.
•ИЗМЕНИТЬ значение данных предварительно извлеченной
записи. Ключевые данные не должны подвергаться изменениям.
•УДАЛИТЬ некоторую запись и все подчиненные ей записи.
•ИЗВЛЕЧЬ:
•извлечь корневую запись по ключевому значению, допускается
также последовательный просмотр корневых записей .
•извлечь следующую запись (следующая запись извлекается в
порядке левостороннего обхода дерева) .
8.
Ограничения целостностиПоддерживается только целостность связей между
владельцами и членами группового отношения (никакой
потомок не может существовать без предка). Как уже
отмечалось, не обеспечивается автоматическое поддержание
соответствия парных записей, входящих в разлные иерархии.
9.
Сетевая модель данныхСетевая модель – это неупорядоченный набор веерных
отношений (потомок-предок).
В сетевой модели возможны связи всех информационных
объектов со всеми. Например, каждый преподаватель может
обучать много студентов и каждый студент может обучаться у
многих преподавателей.
На разработку стандарта сетевой модели данных большое
влияние оказал американский ученый Ч.Бахман (в середине 60-х
годов 20 века). Эталонный вариант сетевой модели данных описан в
отчетах рабочей группы по языкам баз данных (COnference on DAta
SYstem Languages) CODASYL (1971 г.).
Сетевая модель данных определяется в тех же терминах, что и
иерархическая. Она состоит из множества записей, которые могут
быть владельцами или членами групповых отношений. Связь между
между записью-владельцем и записью-членом также имеет вид 1:N.
10.
В сетевой модели каждый экземпляр группового отношения можетхарактеризоваться
следующими
признаками
упорядочения
подчиненных записей: произвольный; хронологический (очередь);
обратный хронологический (стек); сортированный.
Если запись объявлена подчиненной в нескольких групповых
отношениях, то в каждом из них может быть назначен свой способ
упорядочивания.
11.
Принято выделять три класса членства подчиненных записейв групповых отношениях:
1. Фиксированное. Подчиненная запись жестко связана с
записью владельцем и ее можно исключить из группового
отношения только удалив. При удалении записи-владельца все
подчиненные записи автоматически тоже удаляются.
2. Обязательное. Допускается переключение подчиненной
записи на другого владельца, но невозможно ее существование
без владельца. Для удаления записи-владельца необходимо,
чтобы она не имела подчиненных записей с обязательным
членством.
3. Необязательное. Можно исключить запись из группового
отношения, но сохранить ее в базе данных не прикрепляя к
другому владельцу. При удалении записи-владельца ее
подчиненные записи - необязательные члены сохраняются в
базе, не участвуя более в групповом отношении такого типа.
12.
Операции над данными• ДОБАВИТЬ - внести запись в БД и, в зависимости от режима
включения, либо включить ее в групповое отношение, где она
объявлена подчиненной.
• ВКЛЮЧИТЬ В ГРУППОВОЕ ОТНОШЕНИЕ - связать существующую
подчиненную запись с записью-владельцем.
• ПЕРЕКЛЮЧИТЬ - связать существующую подчиненную запись с
другой записью-владельцем в том же групповом отношении.
• ОБНОВИТЬ - изменить значение элементов предварительно
извлеченной записи.
• ИЗВЛЕЧЬ - извлечь записи последовательно по значению ключа, а
также используя групповые отношения.
• УДАЛИТЬ - убрать из БД запись.
• ИСКЛЮЧИТЬ ИЗ ГРУППОВОГО ОТНОШЕНИЯ - разорвать связь
между записью-владельцем и записью-членом.
13.
Ограничения целостностиКак и в иерархической модели, обеспечивается
только поддержание целостности по ссылкам
(владелец отношения - член отношения).
Достоинствами сетевой модели являются универсальность,
наличие алгоритмов поиска данных.
Недостатки сетевой модели: содержит избыточные данные и
связи, большой объем, нет полной целостности модели.
14.
Реляционная модель данныхРеляционная модель предложена сотрудником компании IBM
Е.Ф. Коддом в 1970 г. И является до сих пор основным
стандартом современных баз данных.
В основу модели положена математическая теория
отношений (само название «реляционная» происходит от
английского relation – «отношение»).
Отношение – любое подмножество из декартова
произведения доменов.
Не формально: отношение (relationship) – зависимость одних
данных от других
Например,
R = {(2,1), (4,1)}
D1 x D2
D2
D1 D2 = {(2,1), (2,3) , (2,5) , (4,1) , (4,3) , (4,5)}
R
D1
15. Основные понятия
Домен – это множество возможных значений некоторойвеличины из предметной области.
Например:
Фамилии = {Иванов, Петров, Сидоров}
Дисциплины = {БД, СПО, ПЯВУ}
D1 = {2,4} D2 = {1,3,5}
• Декартово произведение множеств – множество
всевозможных пар сочетаний элементов из D1 и D2
D1 D2 = {(2,1), (2,3) , (2,5) , (4,1) , (4,3) , (4,5)}
16. Характеристики отношения
Отношение моделирует реальную ситуацию, т.е. для каждогоэлемента из R можно утверждать, что он соответствуют
действительности
Фамилия
студента :
фамилия
Учебная
дисциплина :
дисциплина
Экзаменационная оценка :
оценка
Иванов
Петров
Петров
СПО
БД
СПО
2
4
5
Кортеж = Строка = n-ка
Атрибут - вхождение домена в отношение
Степень отношения – количество атрибутов
Кардинальность – количество кортежей
Схема отношения – перечень имен атрибутов с указанием
соответствующих доменов
17. Свойства отношения
• В отношении нет двух одинаковых кортежей• Порядок следования кортежей – произвольный
• Атрибуты имеют уникальные имена
Если атрибуты из одного домена, то они называются -сравнимыми, где
- множество операций сравнения для заданного домена. Например,
место рождения и место жительства – сравнимы, место рождения и год
рождения не сравнимы (разные домены).
Для домена «Год рождения» = {=, <>, >, <, >=, <=}
Для домена «Место жительства» = {=, <>}
Эквивалентные схемы – одинаковая степень и одинаковый порядок
следования атрибутов
18. Реляционные ключи
Реляционная модель данных – совокупность взаимосвязанных отношений.Для поддержки иерархических связей предназначены ключи.
• Суперключ – атрибут или множество атрибутов, однозначно
определяющие кортеж данного отношения.
• Потенциальный ключ – суперключ, который не содержит подмножества,
также являющегося суперключем данного отношения. Т.о. потенциальный
ключ обладает свойствами уникальности и неприводимости.
• Первичный ключ – это потенциальный ключ, который выбран для
уникальной идентификации кортежей внутри отношения
• Внешний ключ – это атрибут или множество атрибутов одного отношения,
которые принимают значения потенциального ключа другого отношения
(может быть и того же)
На схемах названия атрибутов первичного ключа выделяют подчеркиванием
19. Реляционные ключи
первичныйОтделы
№ отдела
Название
Телефон
1
Отдел кадров
004
2
Бухгалтерия
123
Сотрудники
внешний
ФИО
№ отдела
Должность
Иванов
2
Начальник
отдела
Сидоров
2
Кассир
Помещения
внешний
№ комнаты
№ отдела
Площадь
1
2
40
5
2
15
20. Постреляционная модель данных
Постреляционная модель данных представляет собой расширеннуюреляционную модель, снимающую ограничение неделимости данных,
хранящихся в записях таблиц. Постреляционная модель данных допускает
многозначные поля — поля, значения которых состоят из подзначений.
Набор значений многозначных полей считается самостоятельной таблицей,
встроенной в основную таблицу. Помимо обеспечения вложенности полей
постреляционная модель поддерживает ассоциированные многозначные
поля (множественные группы). Совокупность ассоциированных полей
называется ассоциацией. При этом в строке первое значение одного
столбца ассоциации соответствует первым значениям всех других столбцов
ассоциации. Аналогичным образом связаны все вторые значения столбцов
и т. д. На длину полей и количество полей в записях таблицы не
накладывается требование постоянства. Это означает, что структура данных
и таблиц имеют большую гибкость.
Достоинства: возможность представления совокупности связанных
реляционных таблиц одной постреляционной таблицей. Это обеспечивает
высокую наглядность представления информации и повышение
эффективности ее обработки.
Недостатки: постреляционной модели является сложность решения
проблемы обеспечения целостности и непротиворечивости хранимых
данных.