22
Базы данных Лекция #11 Нереляционные модели данных Михаил Моисеев

Лекция #11 - spbstu.rukspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec11.pdf · Базыданных . Лекция №11 2 ... Описание базы данных выглядит

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Лекция #11 - spbstu.rukspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec11.pdf · Базыданных . Лекция №11 2 ... Описание базы данных выглядит

Базы данных

Лекция #11

Нереляционные модели данных

Михаил Моисеев

Page 2: Лекция #11 - spbstu.rukspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec11.pdf · Базыданных . Лекция №11 2 ... Описание базы данных выглядит

2Базы данных. Лекция №11

Достоинства реляционной модели� Предсказуемость результатов работы с данными. В основе

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

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

� По этим причинам реляционные СУБД являются наиболее распространенными

Page 3: Лекция #11 - spbstu.rukspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec11.pdf · Базыданных . Лекция №11 2 ... Описание базы данных выглядит

3Базы данных. Лекция №11

Требования к реляционной СУБД� В основе лежит требование соответствия реляционной модели

� Правила Кодда:� Вся информация д.б. представлена в виде значений в реляционных

таблицах

� К каждому атомарному значению должен обеспечиваться доступ с помощью

указания имени таблицы, значения первичного ключа и имени атрибута

� Наличие индикаторов пустых значений

� Описание базы данных выглядит также как обычные данные

� Пользовательские запросы не должны зависеть от физической организации

данных и распределенного размещения данных

� Пользовательские запросы не должны изменяться при изменении правил проверки целостности

� Пользовательские запросы не должны изменяться при изменении правил проверки целостности

Page 4: Лекция #11 - spbstu.rukspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec11.pdf · Базыданных . Лекция №11 2 ... Описание базы данных выглядит

4Базы данных. Лекция №11

Нереляционные модели данных� Иерархическая модель

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

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

� Объектно-реляционная модель

Page 5: Лекция #11 - spbstu.rukspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec11.pdf · Базыданных . Лекция №11 2 ... Описание базы данных выглядит

5Базы данных. Лекция №11

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

� Сущности иерархической модели

� Атрибут (элемент данных)

� Запись – именованная совокупность атрибутов, тип записи

определяется совокупностью ее атрибутов

� Групповое отношение – иерархическое отношение между записями

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

одного предка

� ИМ – связный неориентированный граф древовидной структуры

� Иерархическая БД – упорядоченный набор деревьев

� В реляционной модели отношения между атрибутами записей

Page 6: Лекция #11 - spbstu.rukspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec11.pdf · Базыданных . Лекция №11 2 ... Описание базы данных выглядит

6Базы данных. Лекция №11

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

� Корневая запись каждого дерева обязательно должна содержать

ключ с уникальным значением

� Ключи некорневых записей должны иметь уникальное значение

только в рамках своего группового отношения

� Каждая запись идентифицируется полным сцепленным ключом -

совокупность ключей всех записей от корневой по пути в

иерархии

Page 7: Лекция #11 - spbstu.rukspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec11.pdf · Базыданных . Лекция №11 2 ... Описание базы данных выглядит

7Базы данных. Лекция №11

Схема БД в РМ

Page 8: Лекция #11 - spbstu.rukspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec11.pdf · Базыданных . Лекция №11 2 ... Описание базы данных выглядит

8Базы данных. Лекция №11

Схема БД в ИМ

Page 9: Лекция #11 - spbstu.rukspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec11.pdf · Базыданных . Лекция №11 2 ... Описание базы данных выглядит

9Базы данных. Лекция №11

Особенности ИМ

� Удобно представляются иерархические данные

� В иерархической модели представляются отношения 1:N

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

Page 10: Лекция #11 - spbstu.rukspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec11.pdf · Базыданных . Лекция №11 2 ... Описание базы данных выглядит

10Базы данных. Лекция №11

Операции над данными в ИМ� Добавление записи – для корневой записи формирование ключа

� Изменения данных записи – атрибуты ключа не должны меняться

� Удаление записи – удаляются все подчиненные записи

� Выборка

� Корневой записи по ключу

� Следующей запись в выбранном дереве

� Запросы «вниз» и «вверх» по дереву

Page 11: Лекция #11 - spbstu.rukspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec11.pdf · Базыданных . Лекция №11 2 ... Описание базы данных выглядит

11Базы данных. Лекция №11

Целостность данных в ИМ� Поддерживается целостность связей между главными и

подчиненными записями в пределах одного группового отношения

� Нет связей между разными групповыми отношениями

Page 12: Лекция #11 - spbstu.rukspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec11.pdf · Базыданных . Лекция №11 2 ... Описание базы данных выглядит

12Базы данных. Лекция №11

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

� Определяется в тех же терминах что и иерархическая модель

� Запись может быть членом более чем одного группового

отношения

� Каждое групповое отношение именуется и проводится различие

между его типом и экземпляром

� Тип группового отношения задается его именем и определяет

свойства общие для всех экземпляров данного типа

� Экземпляр группового отношения представляется записью-

владельцем и множеством (возможно пустым) подчиненных записей

� ИМ м.б. представлена с помощью СМ

Page 13: Лекция #11 - spbstu.rukspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec11.pdf · Базыданных . Лекция №11 2 ... Описание базы данных выглядит

13Базы данных. Лекция №11

Схема БД в СМ

Page 14: Лекция #11 - spbstu.rukspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec11.pdf · Базыданных . Лекция №11 2 ... Описание базы данных выглядит

14Базы данных. Лекция №11

Зависимости вида N:N в СМ

Page 15: Лекция #11 - spbstu.rukspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec11.pdf · Базыданных . Лекция №11 2 ... Описание базы данных выглядит

15Базы данных. Лекция №11

Свойства групповых отношений в СМ

� Способ упорядочения подчиненных записей

� Произвольный/Хронологический/Сортированный

� Режим включения подчиненных записей

� Автоматический/Ручной

� Режим исключения

� Фиксированное – подчиненная запись жестко связана с главной, ее

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

удалении главной записи удаляются все подчиненные

� Обязательное – допускается переключение подчиненной записи на

другую главную, но невозможно ее существование без владельца

� Необязательное

Page 16: Лекция #11 - spbstu.rukspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec11.pdf · Базыданных . Лекция №11 2 ... Описание базы данных выглядит

16Базы данных. Лекция №11

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

� Добавление записи

� Включение записи в групповое отношение

� Исключение записи из группового отношения

� Переключение записи

� Изменение полей записи

� Удаление записи

� Выборка данных

� Ограничение целостности такое же как в иерархической модели

Page 17: Лекция #11 - spbstu.rukspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec11.pdf · Базыданных . Лекция №11 2 ... Описание базы данных выглядит

17Базы данных. Лекция №11

Нереляционные СУБД

� Иерархические

� IBM Information Management System

� InterSystem Cache

� System – 2000

� Сетевые

� СУБД на основе XML

� Neo4j

� AllegroGraph

Page 18: Лекция #11 - spbstu.rukspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec11.pdf · Базыданных . Лекция №11 2 ... Описание базы данных выглядит

18Базы данных. Лекция №11

Объектные модели данных

� В ОО БД хранятся не записи, а объекты

� Инкапсуляция – объект хранит некоторые данные и обладает

методами их обработки

� Наследование объектов, простое и множественное

� Полиморфизм

Page 19: Лекция #11 - spbstu.rukspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec11.pdf · Базыданных . Лекция №11 2 ... Описание базы данных выглядит

19Базы данных. Лекция №11

Операции и целостность данных в ОМ

� Операции выполняются с помощью ОО языка (C++,Java,…)

� Автоматическое поддержание отношений наследования

� Возможность объявить некоторые поля данных и методы

объекта как «скрытые»

� Создание процедур контроля целостности внутри объекта

Page 20: Лекция #11 - spbstu.rukspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec11.pdf · Базыданных . Лекция №11 2 ... Описание базы данных выглядит

20Базы данных. Лекция №11

Особенности ОМ

� Естественное представление данных, возможность выразить

сложные зависимости

� Возможность определять новые типы данных и операции над

ними

� Запросы на процедурных языках (в отличии от декларативных

запросов в РСУБД)

� Ограничения целостности в процедурном стиле (в отличии от

декларативных внешних ключей и полудекларативных триггеров)

Page 21: Лекция #11 - spbstu.rukspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec11.pdf · Базыданных . Лекция №11 2 ... Описание базы данных выглядит

21Базы данных. Лекция №11

Стандарт ODMG

� Объектная модель

� атрибуты и связи объектов

� методы объектов

� множественное наследование

� идентификаторы объектов (ключи)

� совокупности объектов (списки, массивы)

� Язык описания объектов (ODL - Object Defifnition Language) -

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

� Язык объектных запросов (OQL - Object Query Language) - SQL -

подобный декларативный язык

� Связывание с ОО-языками

Object Database Management Group - консорциум поставщиков ООБД

Page 22: Лекция #11 - spbstu.rukspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec11.pdf · Базыданных . Лекция №11 2 ... Описание базы данных выглядит

22Базы данных. Лекция №11

ОО СУБД

� Oracle

� Matisse

� Versant

� InterSystem Cache