ОП БД Лекция_4-5

Содержание

Слайд 2

База данных (БД) — именованная совокупность данных, отражающая состояние объектов и их

База данных (БД) — именованная совокупность данных, отражающая состояние объектов и их
отношений в рассматриваемой предметной области.

Основные понятия моделей данных

Слайд 3

Основные понятия моделей данных

Данные — это набор конкретных значений, параметров, характеризующих объект,

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

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

Слайд 4

Уровни моделей данных

Уровни моделей данных

Слайд 6

Объекты (сущности) – вершины математического графа

Связи – дуги графа

Связи – это соединения

Объекты (сущности) – вершины математического графа Связи – дуги графа Связи –
между двумя или более множествами сущностей

Основные понятия

Сущности – это члены множества сущностей

Атрибуты – это значения, описывающие свойства сущности

1

5

2

4

3

Слайд 7

Инфологические модели

Инфологические модели данных используются на ранних стадиях проектирования для описания структур

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

Цель инфологического моделирования – обеспечение наиболее естественных для человека способов сбора и представления той информации, которую предполагается хранить в создаваемой базе данных.

Слайд 8

Диаграммы Бахмана

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

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

Слайд 9

Модель «сущность-связь» (ER)

Пример диаграммы

Модель «сущность-связь» (ER) Пример диаграммы

Слайд 10

Даталогические модели

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

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

Слайд 11

Документальные модели

Документальная модель соответствуют представлению о слабоструктурированной информации, ориентированной на свободные

Документальные модели Документальная модель соответствуют представлению о слабоструктурированной информации, ориентированной на свободные
форматы документов, текстов на естественном языке.

Ориентированные на формат документа

Документальная модель

Дескрипторные модели

Тезаурусные модели

Слайд 12

Модели основаны на языках разметки документов и связаны прежде всего со стандартным

Модели основаны на языках разметки документов и связаны прежде всего со стандартным
общим языком разметки – SGML.

Ориентированные на формат документа

SGML – это язык предназначенный для создания других языков разметки, он определяет допустимый набор тегов (ссылок), их атрибуты и внутреннюю структуру документа.

Слайд 13

Ориентированные на формат документа

Пример XML, описывающий данные о IT Специалисте:
xmlns:xs="http://www.w3.org/2001/XMLSchema">

Ориентированные на формат документа Пример XML, описывающий данные о IT Специалисте: xmlns:xs="http://www.w3.org/2001/XMLSchema">










Слайд 14

Дескрипторные модели

Дескрипторные модели — используются на ранних стадиях использования документальных

Дескрипторные модели Дескрипторные модели — используются на ранних стадиях использования документальных баз
баз данных.

Дескриптор — описатель
Он имеет жесткую структуру и описывает документ в соответствии с теми характеристиками, которые требуются для работы с документами в разрабатываемой документальной БД.

Слайд 15

Дескрипторные модели

Пример дескрипторной классификации —УДК — универсальная десятичная классификация.
Применяется, например, так:

Дескрипторные модели Пример дескрипторной классификации —УДК — универсальная десятичная классификация. Применяется, например,
142.214.53 + 213434/(431) имеет значение «Справочники по радиоприемникам и телевизорам».

Слайд 16

Тезаурусные модели

Тезаурусные модели основаны на принципе организации словарей, содержат определенные языковые

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

Слайд 17

Фактографические модели

Фактографические модели – соответствуют представлению о четко структурированной информации, формализованных данных

Фактографические модели Фактографические модели – соответствуют представлению о четко структурированной информации, формализованных
(дерево, сеть, таблица)

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

Слайд 18

Теоретико-графовые модели

Теоретико-графовая модель – это совокупность объектов реального мира в виде графа

Теоретико-графовые модели Теоретико-графовая модель – это совокупность объектов реального мира в виде графа взаимосвязанных информационных объектов.
взаимосвязанных информационных объектов.

Слайд 19

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

Иерархическая модель данных — это модель данных, где используется представление базы данных в виде древовидной (иерархической) структуры, состоящей

Иерархическая модель Иерархическая модель данных — это модель данных, где используется представление
из объектов (данных) различных уровней.

Слайд 20

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

Поле данных – это минимальная, неделимая единица данных, доступная пользователю с

Иерархическая модель Поле данных – это минимальная, неделимая единица данных, доступная пользователю
помощью СУБД.
Сегмент (запись) данных – более высокий уровень абстракции, объединение полей данных.


Основные информационные единицы в иерархической модели: база данных, поле данных, сегмент данных.

Слайд 21

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

Пример Иерархической модели данных:

Иерархическая модель Пример Иерархической модели данных:

Слайд 22

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

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

Слайд 23

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

Пример

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

Слайд 24

В каждой физической БД существует один корневой сегмент, у которого нет логически

В каждой физической БД существует один корневой сегмент, у которого нет логически
исходного (родительского) типа сегмента.

Каждый логически подчиненный сегмент может быть связан только с одним логически исходным (родительским) сегментом

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

Физическая БД удовлетворяет иерархическим ограничениям

Каждый логически исходный сегмент может быть связан с произвольным числом логически подчиненных сегментов

Слайд 25

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

Логически исходный сегмент

Логически подчиненный сегмент

Тип сегмента, находящийся на более высоком уровне

Иерархическая модель Логически исходный сегмент Логически подчиненный сегмент Тип сегмента, находящийся на
иерархии.

Данные соединенные направленными иерархическими ребрами с логически исходными сегментами.

Слайд 26

Тип сегмента — это поименованная совокупность типов элементов данных (полей), которые его

Тип сегмента — это поименованная совокупность типов элементов данных (полей), которые его
образуют.

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

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

Слайд 27

Простота понимания и использования, быстрота доступа к данным
Простота оценок операционных характеристик.

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

Трудность

Простота понимания и использования, быстрота доступа к данным Простота оценок операционных характеристик.
реализации взаимосвязей «многие-ко-многим
Из-за строгой иерархической упорядоченности объектов модели значительно усложняются операции включения и удаления
Язык манипулирования данными в иерархической модели поддерживает в явном виде навигационные операции

Недостатки

Преимущества

Слайд 28

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

Агрегат типа вектор соответствует линейному набору элементов данных:

Зарплата

месяц

сумма

Владелец набора - родительский

Сетевая модель Агрегат типа вектор соответствует линейному набору элементов данных: Зарплата месяц
тип записи в данном наборе.
Член набора - дочерний тип записи.

Слайд 29

Элемент данных — минимальная информационная единица, доступная пользователю с использованием СУБД.
Агрегат данных

Элемент данных — минимальная информационная единица, доступная пользователю с использованием СУБД. Агрегат
— агрегат типа вектор и агрегат типа повторяющаяся группа.
Запись — совокупность агрегатов или элементов данных, моделирующая некоторый класс объектов реального мира. Различают типа записи и экземпляра записи.
Набор данных — двухуровневый граф, связывающий отношением «один-ко-многим» два типа записи.

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

Базовые объекты модели

Слайд 30

Теоретико-множественные модели

Появление теоретико-множественных моделей в системах баз данных было предопределено настоятельной потребностью

Теоретико-множественные модели Появление теоретико-множественных моделей в системах баз данных было предопределено настоятельной
пользователей в переходе от работы с элементами данных к работе с некоторыми макрообъектами.

Слайд 31

Реляционная модель

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

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

Слайд 32

Бинарные отношения. В математике большую роль играют бинарные отношения, т.е. отношения, заданные

Бинарные отношения. В математике большую роль играют бинарные отношения, т.е. отношения, заданные
на декартовом произведении двух множеств
Отношение эквивалентности. Отношение R на множестве называется отношением эквивалентности, если оно обладает следующими свойствами:
1) (x,x) ∈ R для всех x ∈ A (рефлексивность)
2) Если (x,y) ∈ R , то (y,x) ∈ R (симметричность)
3) Если (x,y) ∈ R и (y,z) ∈ R , то (x,z) ∈ R (транзитивность)

Реляционная модель

Примеры отношений

Слайд 33

Отношения порядка. Отношение R на множестве A называется отношением порядка, если оно

Отношения порядка. Отношение R на множестве A называется отношением порядка, если оно
обладает следующими свойствами:
1) (x,x) ∈ R для всех x ∈ A (рефлексивность)
2) Если (x,y) ∈ R и (y,x) ∈ R, то x=y (антисимметричность)
3) Если (x,y) ∈ R и (y,z) ∈ R , то (x,z) ∈ R (транзитивность)

Примеры отношений

Реляционная модель

Слайд 34

Домен – множество возможных значений конкретного атрибута.
Атрибут – свойство объекта, явления

Домен – множество возможных значений конкретного атрибута. Атрибут – свойство объекта, явления
или процесса. Примеры атрибутов: фамилия, имя, отчество, дата рождения.
Кортеж – элемент отношения, это отображение имен атрибутов в значения, взятые из соответствующих доменов.

Реляционная модель

Слайд 35

Модель бинарных ассоциаций

Бинарная ассоциация – это ассоциация между ровно двумя классами.
Роль

Модель бинарных ассоциаций Бинарная ассоциация – это ассоциация между ровно двумя классами.
– это неотделимая часть ассоциации, описывающая некоторые свойства её соединения с классом (роль класса в данной ассоциации).
Имя роли
Навигация
Множественность
Квалификатор
Агрегирование

Свойства роли

Слайд 36

Композиция указывает на то, что данный класс может являться частью только

Композиция указывает на то, что данный класс может являться частью только одного
одного класса.

У ассоциации может быть атрибут под названием квалификатор (qualifier), который содержит один или несколько атрибутов класса, прикрепленного к другому концу ассоциации.

Модель бинарных ассоциаций

Агрегирование (aggregation) – это отношение между классами типа целое/часть.

Слайд 37

Множественность (multiplicity) показывает возможное количество объектов, которые могут быть связаны в соответствии

Множественность (multiplicity) показывает возможное количество объектов, которые могут быть связаны в соответствии
с этой ассоциацией.
Множественность указывается
для ролей ассоциации и
имеет следующий
формат:
<нижняя граница>…<верхняя граница>

Модель бинарных ассоциаций

Слайд 38

Объектно-ориентированные модели

Объекты, обладающие внутренней структурой и однозначно идентифицируемые уникальным внутрисистемным ключом.
Классы, являющиеся

Объектно-ориентированные модели Объекты, обладающие внутренней структурой и однозначно идентифицируемые уникальным внутрисистемным ключом.
по сути типами объектов.
Операции над объектами одного или разных типов, называемые «методами».

Слайд 39

Объектно-ориентированные модели

Объектно-ориентированные модели

Слайд 40

Достоинства объектно-ориентированной модели:
возможность для пользователя системы определять сложные типы данных;
наследуемость

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

Объектно-ориентированные модели

Слайд 41

Физические модели

Физические модели баз данных определяют способы размещения данных в среде хранения

Физические модели Физические модели баз данных определяют способы размещения данных в среде
и способы доступа к этим данным, которые поддерживаются на физическом уровне.

Слайд 42

Модели, основанные на файловых структурах

Модели, основанные на файловых структурах

Слайд 43

Модели, основанные на файловых структурах

Модели, основанные на файловых структурах

Слайд 44

имя файла
тип файла (например, расширение или другие характеристики)
размер записи
количество занятых физических блоков
базовый

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

Модели, основанные на файловых структурах

Для каждого файла в системе хранится следующая информация

Слайд 45

Модели, основанные на странично-сегментной организации

Для каждого сегмента поддерживается таблица страниц.
Номер записи в

Модели, основанные на странично-сегментной организации Для каждого сегмента поддерживается таблица страниц. Номер
таблице страниц соответствует номеру виртуальной страницы.
Размер записи колеблется от системы к системе, но чаще всего он составляет 32 бита. Из этой записи в таблице страниц находится номер кадра для данной виртуальной страницы, затем прибавляется смещение и формируется физический адрес.

Слайд 46

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

Запись в таблице страниц содержит информацию об атрибутах страницы. Это биты

Сетевая модель Запись в таблице страниц содержит информацию об атрибутах страницы. Это
присутствия и защиты (0 – read/write, 1 – read only...).

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

Слайд 47

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

Сетевая модель – это модель данных, хранящаяся в базе данных и описывающая

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

Представление связей в сетевой модели
данных

Пример сетевой модели данных

Слайд 48

Сетевая модель: операции

Добавить
(внести запись в БД)

Извлечь
(извлечь запись из БД)

Обновить
(изменить значение элементов извлеченной

Сетевая модель: операции Добавить (внести запись в БД) Извлечь (извлечь запись из
записи)

Элементы данных определяют характеристики типов записей

Включить в групповое отношение
(связать сущ-ую подчиненную запись с записью владельцем)

Исключить из группового отношения
(разорвать связь между записью-владельцем и записью-членом)

Переключить
(связать сущ-ую подчиненную запись с другой записью в том же групповом отношении)

Операции над
данными

Слайд 49

Сетевая модель, базовые объекты

Запись
(совокупность агрегатов данных, моделирующая некоторый класс объектов реального мира)

Агрегат

Сетевая модель, базовые объекты Запись (совокупность агрегатов данных, моделирующая некоторый класс объектов
данных
(именованная совокупность данных внутри одной записи)

Набор данных
(двухуровневый граф, связывающий отношением «один-ко-многим» два типа записи)

Элемент данных
(минимальная информационная единица, доступная пользователю с использованием СУБД)

Базовые объекты

Слайд 50

Сетевая модель, элементы данных

Векторы – повторяющиеся однотипные элементы
Повторяющиеся группы – набор групп,

Сетевая модель, элементы данных Векторы – повторяющиеся однотипные элементы Повторяющиеся группы –
включающих несколько разнотипных элементов
Неповторяющиеся группы – адрес – (город, улица, дом квартира)

Элементы данных определяют характеристики типов записей

Простые

Составные

Слайд 51

Сетевая модель преимущества

Возможность эффективной реализации по показателям затрат памяти и оперативности.
Большие возможности

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

+

+

+

Слайд 52

Высокая сложность и жесткость схемы БД.
Сложность для понимания и выполнения обработки информации

Высокая сложность и жесткость схемы БД. Сложность для понимания и выполнения обработки
в БД обычным пользователем.
Ослаблен контроль целостности связей вследствие допустимости установления произвольных связей между записями.

Сетевая модель недостатки




Слайд 53

Иерархическая модель базы данных представляет собой совокупность элементов, расположенных в порядке их

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

Корень потомок предок

Потомки

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

Слайд 54

Элементы графа

Корень - это элемент, который имеет подчиненные элементы и сам не

Элементы графа Корень - это элемент, который имеет подчиненные элементы и сам
является таковым.
Потомок - это подчиненный элемент по отношению к элементу, который выступает для него в роли предка (родителя).
Близнецы - это потомки одного и того же родителя по отношению друг к другу.

Слайд 55

2 уровень

3 уровень

Верхний уровень (корень) – занимает один объект. Второй – объекты

2 уровень 3 уровень Верхний уровень (корень) – занимает один объект. Второй
второго уровня и т.д.

1 уровень

Принцип работы: несколько узлов более низкого уровня соединяется при помощи связи с одним узлом более высокого уровня.

Данная модель характеризуется такими параметрами, как уровни, узлы, связи.

Элементы графа

Слайд 56

Отношение предка – если узел связан с узлом более близким к корню
Отношение

Отношение предка – если узел связан с узлом более близким к корню
потомка – если узел связан с узлом более низкого уровня
Отношение близнецы – узлы имеют общего предка

Узел — информационная модель элемента, находящегося на данном уровне иерархии.

Узел

Элементы графа

Между узлами существуют связи

Слайд 57

Несколько узлов низшего уровня связано только с одним узлом высшего уровня.
Иерархическое дерево

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

Свойства иерархической модели базы данных

Слайд 58

Достоинства и недостатки

Эффективное использование памяти ЭВМ.
Неплохие показатели времени выполнения основных операций над

Достоинства и недостатки Эффективное использование памяти ЭВМ. Неплохие показатели времени выполнения основных
данными.
Удобна для работы с иерархически упорядоченной информацией.

Громоздкость для обработки информации с достаточно сложными логическими связями.
Сложность понимания для обычного пользователя.

Недостатки

Достоинства

Слайд 59

Правила преобразования к табличному виду

Количество уровней равно количеству столбцов. Количество элементов

Правила преобразования к табличному виду Количество уровней равно количеству столбцов. Количество элементов
на последнем уровне равно количеству строк. Заполнять таблицу необходимо с левого нижнего элемента.

Слайд 60

Реляционная модель данных (РМД)

Домен, D – множество значений, которые может принимать элемент

Реляционная модель данных (РМД) Домен, D – множество значений, которые может принимать
данных.
Декартово произведение доменов – множество всех возможных комбинаций значений доменов:
D1×D2×... ×Dn = {(d1i , d1i , ..., dni)}, где dki ∈ Dk
Пример: D1 = (1, 2), D2 = (a, b, c).
D1×D2 = {(1,a), (1,b), (1,c), (2,a), (2,b), (2,c)}
Отношение – подмножество декартова произведения доменов.

В 1970 г. американский математик Э.Ф.Кодд опубликовал статью, с которой отсчитывается начало существования РМД.
РМД основана на теории множеств.

Слайд 61

Пример декартова произведения

Полужирным шрифтом выделены записи, имеющие соответствие в предметной области.

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

Слайд 62

Пример таблицы реляционной БД

Пример таблицы реляционной БД

Слайд 63

Термины, Свойства отношения

Первичный ключ

Столбец

Описание (схема отношения)

Строка, запись, кортеж

Отношение, таблица

Отношение обладает двумя основными

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

1

2

Слайд 64

Ключи отношения

Ключ – атрибут (группа атрибутов), которые позволяют классифицировать кортеж (запись таблицы).

Уникальный

Ключи отношения Ключ – атрибут (группа атрибутов), которые позволяют классифицировать кортеж (запись
ключ – атрибут (группа атрибутов), которые позволяют идентифицировать кортеж (запись таблицы).

Первичный ключ – обязательный уникальный ключ. Для каждой таблицы может быть определен только один первичный ключ.

Внешний ключ – служит для организации связей между таблицами.

Слайд 65

Пример отношения ж/д расписание

Пример отношения ж/д расписание

Слайд 66

Организация связей между таблицами

«Отдел» – внешний ключ в таблице «Сотрудники»

Таблица «Сотрудники»

Таблица

Организация связей между таблицами «Отдел» – внешний ключ в таблице «Сотрудники» Таблица
«Отделы»

«Номер отдела» - первичный ключ в таблице «Отделы»

Связь один-ко-многим: Отделы – Сотрудники

Слайд 67

В таблице «Участие»: «Участник» – внешний ключ к таблице «Сотрудники», «Проект» –

В таблице «Участие»: «Участник» – внешний ключ к таблице «Сотрудники», «Проект» –
внешний ключ к таблице «Проекты»

Таблица «Сотрудники»

Таблица «Проекты»

Связь многие-ко-многим: Проекты – Сотрудники

Таблица «Участие»

Организация связей между таблицами

Слайд 68

Пример связи внутри таблицы

Пример связи внутри таблицы

Слайд 69

Операции над данными в РМД

Операции применяются к кортежам отношений:

Запомнить

Извлечь

Обновить

Удалить

Операции над данными в РМД Операции применяются к кортежам отношений: Запомнить Извлечь Обновить Удалить