Скачать презентацию МОДЕЛИ ДАННЫХ Дунько Элеонора Михайловна К э н Скачать презентацию МОДЕЛИ ДАННЫХ Дунько Элеонора Михайловна К э н

Лекция 1(модели данных).ppt

  • Количество слайдов: 57

МОДЕЛИ ДАННЫХ Дунько Элеонора Михайловна К. э. н. , доцент кафедры информационных технологий е-mail: МОДЕЛИ ДАННЫХ Дунько Элеонора Михайловна К. э. н. , доцент кафедры информационных технологий е-mail: dunkoaly@mail. ru 1

План 1. 2. 3. 4. 5. 6. 7. 8. Трехуровневая модель организации данных. Иерархическая План 1. 2. 3. 4. 5. 6. 7. 8. Трехуровневая модель организации данных. Иерархическая модель. Сетевая модель. Реляционная модель. Постреляционная модель. Объектно-ориентированная модель. Объектно-реляционная модель. Многомерная модель. 2

Предметная область – часть реального мира, которая описывается и моделируется с помощью БД. ВЕС Предметная область – часть реального мира, которая описывается и моделируется с помощью БД. ВЕС РОСТ НОМЕР МЕДСТРАХОВ КИ Атрибуты … Человек Студент Объект ПО (сущность) Модель предметной области (ПО) – это наши знания о предметной области. 3

Трехуровневая модель организации данных ANSI/SPARC ВНЕШНИЙ УРОВЕНЬ на котором представляют данные пользователи; Представление пользователя Трехуровневая модель организации данных ANSI/SPARC ВНЕШНИЙ УРОВЕНЬ на котором представляют данные пользователи; Представление пользователя 1 Представление пользователя 2 Представление пользователя n Концептуальный уровень Внутренний уровень В 1978 году Национальным Институтом стандартизации – ANSI (American National Standards Institute) и Комитетом по планированию выпуска стандартов и технических условий – SPARC США. 4

Трехуровневая архитектура БД ANSI-SPARC На концептуальном уровне: n n Сущности, атрибуты и связи. Ограничения Трехуровневая архитектура БД ANSI-SPARC На концептуальном уровне: n n Сущности, атрибуты и связи. Ограничения на данные. Семантическая информация о данных. Меры обеспечения безопасности и поддержка целостности. 5

На внутреннем уровне: n n Распределение дискового пространства для хранения данных и индексов. Описание На внутреннем уровне: n n Распределение дискового пространства для хранения данных и индексов. Описание записей с указанием реальных размеров сохраняемых элементов данных. Сведения о размещении записей. Сведения о сжатии данных и выбранных методах их шифрования. 6

Модель данных - совокупность правил порождения структур данных в базах данных, операций над ними, Модель данных - совокупность правил порождения структур данных в базах данных, операций над ними, определяющих допустимые связи и значения данных, последовательности их изменения. Модель данных определяет: ØСтруктуры организации и хранения данных. ØОграничения целостности. ØНабор выполняемых операций. 7

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

Типы связей: 1: 1 Куратор Заведующий кафедрой Преподаватель Студенческая группа 1: M Сотрудник кафедры Типы связей: 1: 1 Куратор Заведующий кафедрой Преподаватель Студенческая группа 1: M Сотрудник кафедры N: M Студент 9

Три классические (традиционные) модели данных: n Иерархическая n Сетевая n Реляционная 10 Три классические (традиционные) модели данных: n Иерархическая n Сетевая n Реляционная 10

Иерархическая модель Один потомок может иметь одного предка! 11 Иерархическая модель Один потомок может иметь одного предка! 11

Подрядчик Иванов И. И. Заказ № 1 12. 08. 2010 Заказ № 2 15. Подрядчик Иванов И. И. Заказ № 1 12. 08. 2010 Заказ № 2 15. 08. 2010 Заказ № n 25. 08. 2010 Покраска Сантехника Обои Сантехника 12

Типичные операторы манипулирования данными: n n n Найти указанное дерево (например, подрядчик Иванов И. Типичные операторы манипулирования данными: n n n Найти указанное дерево (например, подрядчик Иванов И. И. ). Перейти от одного дерева к другому. Перейти от одной записи к другой внутри дерева (например, от подрядчика к первому заказу). Вставить новую запись в указанную позицию. Удалить текущую запись. 13

Примеры иерархических систем n n n Система IMS фирмы IBM; PC/Focus; Team-Up; Data Edge; Примеры иерархических систем n n n Система IMS фирмы IBM; PC/Focus; Team-Up; Data Edge; Ока, ИНЭС, МИРИС. 14

Иерархическая модель «+» - эффективное использование памяти компьютера «-» – наличие связи лишь сверху-вниз; Иерархическая модель «+» - эффективное использование памяти компьютера «-» – наличие связи лишь сверху-вниз; - сложность логических связей; - трудность модификации. 15

Сетевая модель является обобщением иерархической Один потомок может иметь любое количество предков 16 Сетевая модель является обобщением иерархической Один потомок может иметь любое количество предков 16

Пример сетевой модели Библиотека «Библиотека Читальный зал» «Библиотека Отдел абонемента» Читальный зал Отдел абонемента Пример сетевой модели Библиотека «Библиотека Читальный зал» «Библиотека Отдел абонемента» Читальный зал Отдел абонемента «Отделы – Вид обслуживания» Вид обслуживания «Вид обслуживания - Читатель» «Читатель Отдел» «Читатель - Вид обслуживания» Читатель «Читатель – Читальный зал» 17

Манипулирование данными в сетевой модели: n n n n Найти конкретную запись в наборе Манипулирование данными в сетевой модели: n n n n Найти конкретную запись в наборе однотипных записей. Перейти к следующему потомку по некоторой связи. Перейти от потомка к предку по некоторой связи. Создать новую запись. Уничтожить запись. Исключить из связи. Переставить в другую связь. 18

Сетевые модели реализованы в СУБД для больших ЭВМ n n n n DBMS; IDMS; Сетевые модели реализованы в СУБД для больших ЭВМ n n n n DBMS; IDMS; TOTAL; VISTA; СЕТЬ; СЕТОР; КОМПАС и др. 19

Сетевая модель «+» - возможность образования произвольных связей; - быстрый доступ к данным; «-» Сетевая модель «+» - возможность образования произвольных связей; - быстрый доступ к данным; «-» – сложность понимания для обычного пользователя; – большие объемы памяти компьютера при хранении. 20

Реляционная модель данных Реляционная модель – совокупность данных, состоящая из набора двумерных таблиц. Основные Реляционная модель данных Реляционная модель – совокупность данных, состоящая из набора двумерных таблиц. Основные понятия: n n n атрибут; домен; кортеж; отношение; схема отношения; n n первичный ключ; внешний ключ; схема базы данных; база данных. Предложена в 1970 г. Эдгаром Коддом 21

Отношение Атрибут Кортеж Домен ФМЭО Факультет Курс ФМ ФМЭО 1 МИ-1 Иванов А. Р. Отношение Атрибут Кортеж Домен ФМЭО Факультет Курс ФМ ФМЭО 1 МИ-1 Иванов А. Р. ФМЭО 2 УВЭД-1 Петров И. Т. ФМ 1 ДКК-1 Симонова М. Т. ФФБД 1 ФФ-1 Лебедева Р. М. ФФБД … Группа Фамилия … Для обеспечения связи между таблицами некоторые из них должны содержать общие атрибуты. 22

Назначение типа данных для атрибута определяет его домен Доменом ФАМИЛИЯ является множество всех символьных Назначение типа данных для атрибута определяет его домен Доменом ФАМИЛИЯ является множество всех символьных строк длиной <= 25, доменом НОМЕР_МАГАЗИНА является множество всех целых значений. 25

Отношением называется некоторое подмножество декартова произведения одного или более доменов. R € D 1 Отношением называется некоторое подмножество декартова произведения одного или более доменов. R € D 1 x. D 2 x…x. Dk Удобно представлять отношения как таблицу, где каждая строка есть кортеж и каждый столбец соответствует домену, при этом столбцы называют атрибутами и часто им присваиваются имена. 26

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

Отношения обладают следующими свойствами: n n n не содержат кортежей-дубликатов; кортежи отношений не упорядочены; Отношения обладают следующими свойствами: n n n не содержат кортежей-дубликатов; кортежи отношений не упорядочены; атрибуты отношений не упорядочены; значения всех атрибутов атомарны (не присутствуют составные атрибуты); последовательность кортежей и атрибутов не существенна; все кортежи организованы по одинаковой структуре, т. е. имеют одно и то же количество атрибутов и имеют одинаковую длину. 28

Отношение может быть представлено: 1. 2. 3. Матрицей смежности; Графами; Таблицами. 29 Отношение может быть представлено: 1. 2. 3. Матрицей смежности; Графами; Таблицами. 29

Представление отношения матрицей смежности: Множество студентов: {1, 2, 3} Множество тем курсовых работ: {A, Представление отношения матрицей смежности: Множество студентов: {1, 2, 3} Множество тем курсовых работ: {A, B, C, D} Декартово произведение – это множество пар вида: Отношение: (1, A), (1, B), (1, C), (1, D) (2, A), (2, B), (2, C), (2, D) (1, A), (3, B), (3, C), (3, D) (2, D), (3, C) 30

Главная таблица Подчиненная таблица 31 Главная таблица Подчиненная таблица 31

Ключи n n n Первичный ключ – столбец или множество столбцов, которые единственным образом Ключи n n n Первичный ключ – столбец или множество столбцов, которые единственным образом определяют строки; Альтернативный ключ – остальные ключи, которые можно использовать в качестве первичного; Внешний (foreign) ключ является ссылкой на первичный ключ другой таблицы. Ключи нужны для однозначной идентификации и упорядочения записей таблицы, а индексы для упорядочения и ускорения поиска. 32

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

Для каждого внешнего ключа необходимо решить три проблемы: 1. 2. 3. Возможность принятия неопределенных Для каждого внешнего ключа необходимо решить три проблемы: 1. 2. 3. Возможность принятия неопределенных значений (Null) Что должно происходить при удалении кортежа главной таблицы (целевой сущности), на которую ссылается внешний ключ? Что должно происходить при обновлении первичного ключа целевой сущности, на которую ссылается внешний ключ? 34

Существует три возможности: 1. 2. 3. Каскадирование Ограничение на обновление или удаление Установка в Существует три возможности: 1. 2. 3. Каскадирование Ограничение на обновление или удаление Установка в Null-значение. 35

Реляционные системы: n n n d. Base, Fox. Pro; Paradox; Oracle; Microsoft Access; Clipper; Реляционные системы: n n n d. Base, Fox. Pro; Paradox; Oracle; Microsoft Access; Clipper; ПАЛЬМА и др. 36

Ограничения реляционных систем: 1. 2. 3. 4. В структурах представления данных - все данные Ограничения реляционных систем: 1. 2. 3. 4. В структурах представления данных - все данные хранятся в них в виде отношений, состоящих из простых атрибутов. Данные пассивны и для описания их поведения требуется создавать прикладные программы. Возможности недостаточны в случаях, когда объекты данных сложны. Реляционная БД состоит из большого количества таблиц, что существенно усложняет и замедляет выполнение сложных транзакций и ведет к хранению излишней информации. 37

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

Постреляционная модель n поддерживает множественные группы, называемые ассоциированными множественными полями, а совокупность объединенных множественных Постреляционная модель n поддерживает множественные группы, называемые ассоциированными множественными полями, а совокупность объединенных множественных полей называется ассоциацией 39

Реляционные таблицы Номер накладной Товар Количество 0373 8374 Пиво 3 Вобла 2 Лимонад 1 Реляционные таблицы Номер накладной Товар Количество 0373 8374 Пиво 3 Вобла 2 Лимонад 1 8374 9364 Пиво Вафли Йогурт Номер накладной 0373 8374 9364 Клиент 8723 8232 8723 6 2 1 40

Таблица в постреляционной модели Номер накладной 0373 Клиент Количество 8723 2 Лимонад 1 6 Таблица в постреляционной модели Номер накладной 0373 Клиент Количество 8723 2 Лимонад 1 6 Вафли 9364 3 Пиво 8232 Пиво Вобла 8374 8723 Товар 2 Йогурт 1 41

Постреляционная модель данных реализована в СУБД uni. Vers, Bubba, Dasdb и др. «+» возможность Постреляционная модель данных реализована в СУБД uni. Vers, Bubba, Dasdb и др. «+» возможность представления совокупности связанных реляционных таблиц в виде одной постреляционной таблицы; «-» сложность обеспечения целостности и непротиворечивости данных. 42

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

Объектно-ориентированная модель базируется на понятиях: n n объект и идентификатор объекта; атрибут и метод; Объектно-ориентированная модель базируется на понятиях: n n объект и идентификатор объекта; атрибут и метод; класс; иерархия и наследование классов. 44

Основные элементы ООБД 45 Основные элементы ООБД 45

Представление объекта «Стул» Стул Стоимость Вес Размеры Положение Цвет Купить() Продать() Отремонтировать() Покрасить() Состояние Представление объекта «Стул» Стул Стоимость Вес Размеры Положение Цвет Купить() Продать() Отремонтировать() Покрасить() Состояние Перечень свойств + 57000 5 кг 60 х70 … З Н А Ч Е Н И Я Перечень операций 46

ООСУБД n n POET; Jasmine; Orion; Iris. 47 ООСУБД n n POET; Jasmine; Orion; Iris. 47

Объектно-реляционная модель данных n n n Классы объектов в объектно-реляционной БД соответствуют таблицам. Для Объектно-реляционная модель данных n n n Классы объектов в объектно-реляционной БД соответствуют таблицам. Для каждого наследуемого класса создается отдельная таблица, связанная с таблицей базового класса по первичному ключу отношением один-к-одному. Объекты будут соответствовать отдельным записям в таблицах. Первичный ключ в таблице является идентификатором объекта. Каждый объект может собираться из записей нескольких таблиц: базового класса и наследников. 48

Разница между объектно-реляционными и объектными СУБД Первые являют собой надстройку над реляционной схемой, вторые Разница между объектно-реляционными и объектными СУБД Первые являют собой надстройку над реляционной схемой, вторые же изначально объектноориентированы. Главная особенность и отличие объектнореляционных и объектных СУБД от реляционных: О(Р)СУБД интегрированы с объектноориентированным языком программирования, внутренним или внешним как C++, Java. Характерные свойства OРСУБД: 1) комплексные данные; 2) наследование типа; 3) объектное поведение. 49

Объектно-реляционная модель «+» повторное и совместное использование компонентов; «-» сложность и связанные с ней Объектно-реляционная модель «+» повторное и совместное использование компонентов; «-» сложность и связанные с ней повышенные расходы. 50

Примеры ОРСУБД n n n Oracle Database; Microsoft SQL Server; Postgre. SQL. 51 Примеры ОРСУБД n n n Oracle Database; Microsoft SQL Server; Postgre. SQL. 51

Многомерные модели: n n n Информация в многомерной модели представляется в виде многомерных массивов, Многомерные модели: n n n Информация в многомерной модели представляется в виде многомерных массивов, называемых гиперкубами. В одной базе данных, построенной на многомерной модели, может храниться множество таких кубов, на основе которых можно проводить совместный анализ показателей. Конечный пользователь в качестве внешней модели данных получает для анализа определенные срезы или проекции кубов, представляемые в виде обычных двумерных таблиц или графиков. 52

Реляционная модель представления данных Модель Месяц Объем Многомерная модель представления данных Модель Июнь Июль Реляционная модель представления данных Модель Месяц Объем Многомерная модель представления данных Модель Июнь Июль Август Celeron Июнь 12 Celeron 12 24 5 Celeron Июль 24 Pentium 2 18 - Celeron Август 5 Athlon - 19 - Pentium Июнь 2 Pentium Июль 18 Athlon 19 Июль 53

Трехмерный куб 2 кв. 4 кв. 3 кв. 1 кв. Цех 1 Цех 2 Трехмерный куб 2 кв. 4 кв. 3 кв. 1 кв. Цех 1 Цех 2 Сыр Творог Масло 54

Двухмерный срез куба Наименование продукта Выпуск по кварталам 1 кв. 2 кв. 3 кв. Двухмерный срез куба Наименование продукта Выпуск по кварталам 1 кв. 2 кв. 3 кв. 4 кв. Сыр Творог Масло 55

Элементы гиперкуба Измерение (Dimension) – множество однотипных данных, образующих одну из граней гиперкуба. Измерения Элементы гиперкуба Измерение (Dimension) – множество однотипных данных, образующих одну из граней гиперкуба. Измерения играют роль индексов, используемых для идентификации конкретных значений, находящихся в ячейках гиперкуба. Наиболее часто используемые в анализе измерения: n временные -Дни, Месяцы, Кварталы, Годы; n географических - Города, Районы, Регионы, Страны и т. д. В многомерной модели данных n Ячейка (Cell) – часть данных, получаемая путем определения одного элемента в каждом измерении многомерного массива. (Иногда вместо термина "Ячейка" n используется термин показатель (Measure) - поле (обычно числовое), значения которого однозначно определяются фиксированным набором измерений). 56

Многомерные модели: «+» - удобство представления и реализации; - эффективность анализа больших объемов данных, Многомерные модели: «+» - удобство представления и реализации; - эффективность анализа больших объемов данных, имеющих временную связь; - быстрота реализации сложных нерегламентированных запросов. «-» - большие объемы памяти. 57

Многомерные модели поддерживают Essbase (фирма Arbor Software), Media Multi-matrix (фирма Speedware), Oracle Express Server Многомерные модели поддерживают Essbase (фирма Arbor Software), Media Multi-matrix (фирма Speedware), Oracle Express Server (фирма Oracle), Cache (фирма Inter. Systems). Некоторые системы поддерживают одновременно реляционную и многомерную модель, например, Media/MR (фирма Speedware). 58

Спасибо за внимание! 59 Спасибо за внимание! 59