1
Управление данными.
Часть 2.
Основные модели данных
(©) Владислав Лавров, vlavrov.com
2
2.1. Классификация моделей данных
Модель данных
- это некоторая абстракция, которая, будучи
применима к конкретным данным, позволяет
пользователям и разработчикам трактовать их
уже как информацию, то есть сведения,
содержащие не только данные, но и
взаимосвязь между ними.
(©) Владислав Лавров, vlavrov.com
3
Классификация моделей данных
Модели данных
Инфологические Даталогические Физические
Модель
«сущность-
связь» (ER)
Документальные Фактографические Основаны на
файловых
структурах
Основаны на
странично-
сегментной
организации
Дескрипторные
Тезаурусные
Иерархические
Сетевые
Реляционные
Объектно-
ориентированные
(©) Владислав Лавров, vlavrov.com
4
Уровни моделей данных
(последовательность разработки БД)
Предметная область
(часть реального мира, отражаемая в БД)
Пользователи АБД
ИНФОЛОГИЧЕСКАЯ МОДЕЛЬ
Обобщенное, не привязанное к
какой-либо СУБД, описание
предметной области (набор
данных, типов, связей и др.)
ДАТАЛОГИЧЕСКАЯ МОДЕЛЬ
Описание на языке конкретной
СУБД
ФИЗИЧЕСКАЯ МОДЕЛЬ
Описание хранимых данных
База данных
Модели,
используемые
СУБД
(©) Владислав Лавров, vlavrov.com
5
2.2. Взаимосвязи в моделях данных
Связь
- это ассоциирование двух или более объектов
Основное назначение связей
- это возможность организации поиска данных
в базе данных
Типы связей
• один к одному;
• один ко многим;
• многие ко многим.
(©) Владислав Лавров, vlavrov.com
6
Связь «один-к-одному»
А
Работник
B
Табельный номер
1 1
1 1
(©) Владислав Лавров, vlavrov.com
7
Связь «один-ко-многим»
А
Цех
B
Технологический
агрегат
1 ∞
1 ∞
(©) Владислав Лавров, vlavrov.com
8
Связь «многие-ко-многим»
А
Изделие
B
Технологическая
операция
∞
∞
∞
∞
(©) Владислав Лавров, vlavrov.com
9
Сегмент (запись) данных
- более высокий уровень абстракции, объединение полей данных.
2.3. Иерархическая модель данных
Поле данных
- минимальная информационная единица, доступная пользователю
с использованием СУБД
Тип сегмента
- поименованная совокупность типов полей (элементов) данных,
которые в него входят
Экземпляр сегмента
- состоит из конкретных значений полей, которые его образуют
(!) Особенность модели - сегменты объединяются в ориентированный
древовидный граф
Пример: СУБД Information Management System (IMS) фирмы IBM (1968 г.)
(©) Владислав Лавров, vlavrov.com
10
Пример иерархии между сегментами
Сегмент
типа B
Сегмент
типа C
Сегмент
типа D
Сегмент
типа E
Сегмент
типа А
Уровень 1
Уровень 2
Уровень 3
Логически исходный
(корневой) сегмент
Логически
подчиненные
сегменты
(©) Владислав Лавров, vlavrov.com
11
Ограничения иерархической структуры данных
• В каждой физической БД существует один корневой сегмент, т.е.
сегмент, у которого нет логически исходного (родительского) типа
сегмента. Уровень, на котором находится данный сегмент,
определяется расстоянием от корневого сегмента;
• Каждый логически исходный сегмент может быть связан с
произвольным числом логически подчиненных сегментов;
• Каждый логически подчиненный сегмент может быть связан только
с одним логически исходным (родительским) сегментом.
Основное правило – никакой потомок не может существовать без
своего родителя.
(©) Владислав Лавров, vlavrov.com
12
Пример структуры иерархического дерева
Компьютерная фирма
Адрес Руководитель
Филиал фирмы
Адрес Руководитель
Типовые модели
Имя Стоимость Количество на складе
Индивидуальные модели
Номер заказа Стоимость Количество
Название сегмента
Названия полей
(©) Владислав Лавров, vlavrov.com
13
Пример иерархии экземпляров дерева
КЛОСС
Адрес Руководитель
Филиал 1
Ленина, 2 Иванов И.И.
Модель 21
Brand 1540 2
Brand 1
Заказ 21
8 2
Филиал 2
Малышева, 4 Петров П.П.
900
2 700 4
Заказ 22
2800
Модель 22
Заказ 11
18 4500
12 1500 4
Заказ 12
Модель 11
Brand 2500 4
Brand 13500
Модель 12
Экземпляр сегмента
Экземпляр поля
(©) Владислав Лавров, vlavrov.com
14
Преимущества иерархической структуры данных
• Простота понимания и использования, быстрота
доступа к данным.
• Простота оценки операционных характеристик
благодаря заранее заданным взаимосвязям и
тому, что операции манипулирования данными
являются навигационными, т.е. разработчик
приложения явным образом описывает всю
процедуру обработки.
(©) Владислав Лавров, vlavrov.com
15
Недостатки иерархической структуры данных
• Трудность реализации взаимосвязей «многие-ко-многим». При этом
искусственно созданная структура иерархической модели становится
громоздкой, может потребоваться хранение избыточных данных на
физическом уровне.
• Из-за строгой иерархической упорядоченности объектов модели
значительно усложняются операции включения и удаления. Удаление
исходных объектов влечёт удаление порождённых, поэтому выполнение
команды «удалить» требует особой осторожности.
• Язык манипулирования данными в иерархической модели поддерживает
в явном виде навигационные операции. Эти операции связаны с
перемещением указателя, который определяет текущий экземпляр
конкретного сегмента.
(©) Владислав Лавров, vlavrov.com
16
2.4. Сетевая модель данных
Элемент данных
- минимальная информационная единица, доступная пользователю
с использованием СУБД
Агрегат данных
- более высокий уровень обобщения в модели. Агрегат имеет
имя, по которому в системе допустимо обращение к нему.
КвартираДомУлицаГородИндекс
Адрес
КвартираДомУлицаГородИндекс
Адрес
Разработана рабочей группой по базам данных (Data Base Task
Group, DBTG) Ассоциации КОДАСИЛ (Conference on Data Systems
Languages, CODASYL)
Пример: СУБД Integrated Database Management System (IDMS)
компании Cullinet Software, Inc. (1972 г.)
(©) Владислав Лавров, vlavrov.com
17
Сетевая модель данных
Запись типа А Владелец набора N
Запись типа B
Тип набора N
Член набора N
Запись
- совокупность агрегатов или элементов данных,
моделирующая некоторый класс объектов реального
мира. Различают тип записи и экземпляр записи
Набор
- двухуровневый граф, связывающий отношением
«один ко многим» два типа записи .
(!) Особенности модели - наборы объединяются в сетевой граф, потомок
может иметь любое число предков !!!
(©) Владислав Лавров, vlavrov.com
18
Пример типа набора
Преподаватель Запись-владелец
Занятие
Преподаватель провел занятие
Запись-член
Пример экземпляра набора
Иванов Экземпляр записи-владельца
1 пара
Доцент
12.10.2007 …СУБД… Группа Мт
1 пара13.10.2007 …СУБД… Группа Мт
2 пара13.10.2007 …СУБД… Группа Мт
Экземпляры
записи-члена
(©) Владислав Лавров, vlavrov.com
19
Пример связи типов объектов «многие-ко-многим»
Группа Мт-1
(член набора)
Группа Мт-2
(член набора)
Группа Мт-3
(член набора)
Иванов
Сидоров
Юзеров
Группа Мт-1
(член набора)
(экз.набора)
Ведет занятия в
Петров
(член набора)
(член набора)
(член набора)
(член набора)
Занимается у
(экз.набора)
Иванов
(владелец набора)
Преподаватель
Группа
Занимается у Ведет занятия в
Пример взаимосвязей экземпляров объектов «многие-ко-многим»
(©) Владислав Лавров, vlavrov.com
20
Преимущества сетевой структуры данных
• Простота реализации взаимосвязей «многие ко
многим», часто встречающихся в реальном мире
• Наличие успешных реализации СУБД,
поддерживающих сетевую модель
(©) Владислав Лавров, vlavrov.com
21
Недостаток сетевой структуры данных
• Сложность разработки.
В частности, прикладной программист должен
детально знать логическую структуру базы данных,
поскольку ему необходимо осуществляя навигацию
среди различных экземпляров наборов и
экземпляров записей. Другими словами,
программист должен представлять «свое» текущее
положение в экземплярах наборов при
«продвижении» по базе данных.
(©) Владислав Лавров, vlavrov.com
22
Преимущества дореляционных моделей данных
• Развитие средства управления данными во внешней
памяти на низком уровне
• Возможность построения вручную эффективных
прикладных систем;
Недостатки дореляционных моделей данных
• Слишком сложно пользоваться
• Фактически необходимы знания о физической
организации
• Прикладные системы зависят от этой организации
(логическая и физическая зависимости данных);
• Логика построения приложений перегружена деталями
организации доступа к БД
(©) Владислав Лавров, vlavrov.com

Управление данными (модели данных)

  • 1.
    1 Управление данными. Часть 2. Основныемодели данных (©) Владислав Лавров, vlavrov.com
  • 2.
    2 2.1. Классификация моделейданных Модель данных - это некоторая абстракция, которая, будучи применима к конкретным данным, позволяет пользователям и разработчикам трактовать их уже как информацию, то есть сведения, содержащие не только данные, но и взаимосвязь между ними. (©) Владислав Лавров, vlavrov.com
  • 3.
    3 Классификация моделей данных Моделиданных Инфологические Даталогические Физические Модель «сущность- связь» (ER) Документальные Фактографические Основаны на файловых структурах Основаны на странично- сегментной организации Дескрипторные Тезаурусные Иерархические Сетевые Реляционные Объектно- ориентированные (©) Владислав Лавров, vlavrov.com
  • 4.
    4 Уровни моделей данных (последовательностьразработки БД) Предметная область (часть реального мира, отражаемая в БД) Пользователи АБД ИНФОЛОГИЧЕСКАЯ МОДЕЛЬ Обобщенное, не привязанное к какой-либо СУБД, описание предметной области (набор данных, типов, связей и др.) ДАТАЛОГИЧЕСКАЯ МОДЕЛЬ Описание на языке конкретной СУБД ФИЗИЧЕСКАЯ МОДЕЛЬ Описание хранимых данных База данных Модели, используемые СУБД (©) Владислав Лавров, vlavrov.com
  • 5.
    5 2.2. Взаимосвязи вмоделях данных Связь - это ассоциирование двух или более объектов Основное назначение связей - это возможность организации поиска данных в базе данных Типы связей • один к одному; • один ко многим; • многие ко многим. (©) Владислав Лавров, vlavrov.com
  • 6.
  • 7.
  • 8.
  • 9.
    9 Сегмент (запись) данных -более высокий уровень абстракции, объединение полей данных. 2.3. Иерархическая модель данных Поле данных - минимальная информационная единица, доступная пользователю с использованием СУБД Тип сегмента - поименованная совокупность типов полей (элементов) данных, которые в него входят Экземпляр сегмента - состоит из конкретных значений полей, которые его образуют (!) Особенность модели - сегменты объединяются в ориентированный древовидный граф Пример: СУБД Information Management System (IMS) фирмы IBM (1968 г.) (©) Владислав Лавров, vlavrov.com
  • 10.
    10 Пример иерархии междусегментами Сегмент типа B Сегмент типа C Сегмент типа D Сегмент типа E Сегмент типа А Уровень 1 Уровень 2 Уровень 3 Логически исходный (корневой) сегмент Логически подчиненные сегменты (©) Владислав Лавров, vlavrov.com
  • 11.
    11 Ограничения иерархической структурыданных • В каждой физической БД существует один корневой сегмент, т.е. сегмент, у которого нет логически исходного (родительского) типа сегмента. Уровень, на котором находится данный сегмент, определяется расстоянием от корневого сегмента; • Каждый логически исходный сегмент может быть связан с произвольным числом логически подчиненных сегментов; • Каждый логически подчиненный сегмент может быть связан только с одним логически исходным (родительским) сегментом. Основное правило – никакой потомок не может существовать без своего родителя. (©) Владислав Лавров, vlavrov.com
  • 12.
    12 Пример структуры иерархическогодерева Компьютерная фирма Адрес Руководитель Филиал фирмы Адрес Руководитель Типовые модели Имя Стоимость Количество на складе Индивидуальные модели Номер заказа Стоимость Количество Название сегмента Названия полей (©) Владислав Лавров, vlavrov.com
  • 13.
    13 Пример иерархии экземпляровдерева КЛОСС Адрес Руководитель Филиал 1 Ленина, 2 Иванов И.И. Модель 21 Brand 1540 2 Brand 1 Заказ 21 8 2 Филиал 2 Малышева, 4 Петров П.П. 900 2 700 4 Заказ 22 2800 Модель 22 Заказ 11 18 4500 12 1500 4 Заказ 12 Модель 11 Brand 2500 4 Brand 13500 Модель 12 Экземпляр сегмента Экземпляр поля (©) Владислав Лавров, vlavrov.com
  • 14.
    14 Преимущества иерархической структурыданных • Простота понимания и использования, быстрота доступа к данным. • Простота оценки операционных характеристик благодаря заранее заданным взаимосвязям и тому, что операции манипулирования данными являются навигационными, т.е. разработчик приложения явным образом описывает всю процедуру обработки. (©) Владислав Лавров, vlavrov.com
  • 15.
    15 Недостатки иерархической структурыданных • Трудность реализации взаимосвязей «многие-ко-многим». При этом искусственно созданная структура иерархической модели становится громоздкой, может потребоваться хранение избыточных данных на физическом уровне. • Из-за строгой иерархической упорядоченности объектов модели значительно усложняются операции включения и удаления. Удаление исходных объектов влечёт удаление порождённых, поэтому выполнение команды «удалить» требует особой осторожности. • Язык манипулирования данными в иерархической модели поддерживает в явном виде навигационные операции. Эти операции связаны с перемещением указателя, который определяет текущий экземпляр конкретного сегмента. (©) Владислав Лавров, vlavrov.com
  • 16.
    16 2.4. Сетевая модельданных Элемент данных - минимальная информационная единица, доступная пользователю с использованием СУБД Агрегат данных - более высокий уровень обобщения в модели. Агрегат имеет имя, по которому в системе допустимо обращение к нему. КвартираДомУлицаГородИндекс Адрес КвартираДомУлицаГородИндекс Адрес Разработана рабочей группой по базам данных (Data Base Task Group, DBTG) Ассоциации КОДАСИЛ (Conference on Data Systems Languages, CODASYL) Пример: СУБД Integrated Database Management System (IDMS) компании Cullinet Software, Inc. (1972 г.) (©) Владислав Лавров, vlavrov.com
  • 17.
    17 Сетевая модель данных Записьтипа А Владелец набора N Запись типа B Тип набора N Член набора N Запись - совокупность агрегатов или элементов данных, моделирующая некоторый класс объектов реального мира. Различают тип записи и экземпляр записи Набор - двухуровневый граф, связывающий отношением «один ко многим» два типа записи . (!) Особенности модели - наборы объединяются в сетевой граф, потомок может иметь любое число предков !!! (©) Владислав Лавров, vlavrov.com
  • 18.
    18 Пример типа набора ПреподавательЗапись-владелец Занятие Преподаватель провел занятие Запись-член Пример экземпляра набора Иванов Экземпляр записи-владельца 1 пара Доцент 12.10.2007 …СУБД… Группа Мт 1 пара13.10.2007 …СУБД… Группа Мт 2 пара13.10.2007 …СУБД… Группа Мт Экземпляры записи-члена (©) Владислав Лавров, vlavrov.com
  • 19.
    19 Пример связи типовобъектов «многие-ко-многим» Группа Мт-1 (член набора) Группа Мт-2 (член набора) Группа Мт-3 (член набора) Иванов Сидоров Юзеров Группа Мт-1 (член набора) (экз.набора) Ведет занятия в Петров (член набора) (член набора) (член набора) (член набора) Занимается у (экз.набора) Иванов (владелец набора) Преподаватель Группа Занимается у Ведет занятия в Пример взаимосвязей экземпляров объектов «многие-ко-многим» (©) Владислав Лавров, vlavrov.com
  • 20.
    20 Преимущества сетевой структурыданных • Простота реализации взаимосвязей «многие ко многим», часто встречающихся в реальном мире • Наличие успешных реализации СУБД, поддерживающих сетевую модель (©) Владислав Лавров, vlavrov.com
  • 21.
    21 Недостаток сетевой структурыданных • Сложность разработки. В частности, прикладной программист должен детально знать логическую структуру базы данных, поскольку ему необходимо осуществляя навигацию среди различных экземпляров наборов и экземпляров записей. Другими словами, программист должен представлять «свое» текущее положение в экземплярах наборов при «продвижении» по базе данных. (©) Владислав Лавров, vlavrov.com
  • 22.
    22 Преимущества дореляционных моделейданных • Развитие средства управления данными во внешней памяти на низком уровне • Возможность построения вручную эффективных прикладных систем; Недостатки дореляционных моделей данных • Слишком сложно пользоваться • Фактически необходимы знания о физической организации • Прикладные системы зависят от этой организации (логическая и физическая зависимости данных); • Логика построения приложений перегружена деталями организации доступа к БД (©) Владислав Лавров, vlavrov.com