Тема 2 модели данных
Модель данных и трехуровневая модель организации баз данных
Модель данных – набор принципов определяющих организацию логической структуры хранения данных в базе.
Трехуровневая система орг данных: предложена нац институтом стандартизации – ANSI и комитетом по планиованию выпуска стандартов и технических условий SPARC США в 1978
Их идеология три уровня абстракции представления данных: внутренний, концептуальный, внешний.
Внешний уровень
Представления пользователей 1,2,3,….., n
Концептуальный уровень (преображение данных внешнего на внутренний уровень)
Внутренний уровень -> БД
Цель – отделение пользовательского представления БД от ее физического представления.
Внешний уровень – самый верхний уровень который отражает представление конечного пользователя и соответствующего приложения о конфигурации данных
Концептуальный – служит для отображения Д внешнего на внутренний и обеспечивает необходимую независимость Д разных уровней друг от друга…. – Это обобщающее представление БД: здесь описывается какие данные хранятся в базе и каковы связи между ними. Это попытка представить требования к базе со стороны организации
БД тут имеет высокую степень абстракции и характеризуется аппаратной и программной независимостью.
Внутренний – адаптация концептуального уровня к конкретной СУБД. Это представление БД со стороны СУБД.
Предложенная архитектура обеспечивает:
Логичесскую независимость –возможность изменения одного приложения без корректировки других, работающих с той же БД
Физическая независимость – возможность переноса хранимой инфы с оджних носителей на другие при сохранении работоспособности всех приложений, работающихс той же БД
Физический уровень – собственно данные, хранящиеся на внешних носителях и расположенные в файлах
БД имеет тут самую низкую степень абстракции
Преимущества на практике:
Обращаться к данным имею представленя о них
Не надо знать о подробностях физ хранения
Не зависит от устройства, на котором хранится
Можно изменять концептуальную структуру без влияния на пользователей
Иерархические и сетевые модели данных
Иерархическая модель данных – перевернутое дерево, из корня и узлов (элементов данных) которого исходят ветви (соответствующие связями элементов данных)
Операции над иерархически организованными данными
Добавить в БД новую запись (строку)
Удалить некоторую запись и всче подчинённые ей записи
Извлекать запись: в этой операции допускается задание условий выборки
Изменить значение данных предварительно извлеченной записи
Достоинства иерархической модели:
Эффективное использование памяти
Хорошие временные показатели выполнения операций над данными
Недостатки:
Сложные логические связи
Громоздкость в обработке данных
Достаточно трудная модификация
Примеры СУБД, работаюшие с иерархической моделью данных
Иерархическая система IMS фирмы IBM
PC/Focus
Team-UP
Сетевая модель данных – Это структура, у которой любой элемент может быть связан с любым другим элементом.
Операции над данными в сетевой модели:
Добавить
Удалить
Извлечь
Обновить
Вклбчить в групповое отношение – связасть существующую подчиненную запись с записью владельцем
Исключать из группового отношения
Переключать – связать существующую подчиненную запись с другой записью-владельцем в том же групповом отношении
Сетевая модель была принята в качестве основной модели данных и стала в 1971 стандартом СУБД.
Достоинства:
Высокая эффективность затрат памяти
Оперативность обработки данных
Недостатки:
Сложность и жесткость схемы базы
Сложность понимания
Замечание: В сетевой модели ослаблен контроль целостности, т.к. в ней допускается устанавливать произвольные связи между записями.
Реляционная модель данных
Концепция предложена Эдгаром Коддом в 1969г.
Реляционная модель – совокупность данных, состоящая из набора двумерных таблиц.
Столбцы таблицы – поля, строки таблицы – записи.
Характеристика структуры таблицы в реляционной БД
Состоит из совокупности столбцов
Каждый столбец имеет уникальное имя
последовательность столбцов в таблице не существенна
все строки таблицы организованы по одинаковой структуре
в таблице нет одинаковых строк
количество строк в таблице практически не ограничено
последовательность строк в таблице не существенна
при выполнении манипуляций с таблицей все строки и столбцы могут просматриваться в произвольном порядке безотносительно к их содержанию и смыслу
Атрибут – поименованный столбец отношения
Домен- множество допустимых значений одного или нескольких атрибутов
Кортеж – строка отношения со значениями разных атрибутов
Степень отношения – количество атрибутов, содержащихся в отношении
Кардинальность отношения – количество кортежей содержащихся в отношении
Алььтернативная терминалогия реляционной модели
Математические термины |
Экономичсекие |
БД |
Отношение |
Таблица |
Файл |
Кортеж |
Строка |
Запись |
Атрибут |
Столбец |
Поле |
Ключ – это атрибут (или несколько атрибутов), значения которого в данном отношении не повторяется и не является нулевым (пустым), т.е. уникальный идентификатор кортежей в конкретном отношении.
Схема данных – группа связанных таблиц.
Матаданные – информация о таблицах, полях, ключах
Транзакция – совокупность операций, которые должны бать выполнены до конца, чтобы база не оказалась в противоречивом состоянии.
Достоинства реляционной модели данных:
Упрощенная схема представления (в виде таблицы) и модификации данных.
Оптимизация доступа к данным
Улучшение целостности и защиты
Возможности различных применений, в том числе не специалистами в области программирования
Простота инструментальных средств поддержки
Обеспечение пользователя языками высокого уровня
Обеспечение методологического подхода
Недостатки: жесткая структура и значительная фрагментация.
Типы связей между отношениями в реляционной модели данных
Связь 1:1.
Каждому элементу объекта А соответствует только один элемент объекта Б и наоборот.
Связь 1:М.
Каждому элементу объекта А может соответствовать несколько элементов объекта Б, но каждому элементу объекта Б соответствует единственный элемент объекта А
Связь М:1
Каждому элементу объекта А может соответствовать только один элемент объекта Б, но среди элементов объекта Б существуют такие, которым соответствует несколько элементов объекта А.
Связь М:М.
Может существовать элемент объекта А, которому соответствует несколько элементов объекта Б и наоборот.
Характеристика видов связей
Характеристика полей связи по видам |
1:1 |
1:М |
М:1 |
М:М |
Поле связи основной таблицы |
Ключ |
Ключ |
не Ключ |
не Ключ |
дополнительной таблицы |
Ключ |
не Ключ |
Ключ |
не Ключ |
Постреляционная, многомерная, объектно-ориентированная и объектно-реляционная модели данных
Постреляционная можель допускает многозначные поля. Значения которых состоят из подзначений, и набор значений воспринимается как самостоятельная таблица, встроенная в главную таблицу. Постреляционная модель является расширенным вариантом реляционной модели.
Основное достоинство это возможность представления совокупности связанных реляционных таблиц в виде одной постреляционной таблицы
Основной недостаток это сложность обеспечения целостности и непротиворечивости данных, хранимых а базе.
Многомерная модель
OLAP – Online Analytical Processing
Информация в многомерной модели представляется в виде многомерных массивов, называемых гиперкубами.
Агрегируемость означает рассмотрение и возможность анализа на разных уровнях обобщения.
Историчность данных обозначает привязку их ко времени и высокий уровень неизменности (статичности) данных и их взаимосвязей.
Прогнозируемость данных предполагает задание функций прогнозирования и применение их к различным временным интервалам.
Операции в многомерной модели данных
Slice-and-dice : осущ-ют выбор, сокращающий куб, фикчируя значения изменений
Drill-down \ roll-up: взаимообратные операции, которые используют иерархию изменений и параметры для агрегирования
Drill-across: комбинируют кубы, имеющие одно или несколько общих измерений
Ranking: возвращают только те ячейки которые появляются только в верхней или нижней части упорядоченного списка.
Rotating: поворот куба, позволяющий увидеть данные сгруппированные по другим измерениям
Основное достоинство многомерной модели данных: удобство и эффективность анализа больших объемов данных, имеющих временную связь, а аткже быстрота реализации сложных нерегламентированных запросов.
Осн недостаток: громоздкость в случае ее использования для решения стандартных задач оперативной памяти
Объектно-ориентированная модель представления данных
Она представляет собой структуру в виде дерева, узлами которого являются объекты.
Объект – это уникальное идентифицируемая сущность, которая содержит атрибуты, описывающие состояние объектов реального мира и связанные с ним действия.
Класс – это наборп объектов. Схожих по поведениб и другим характеристикам
Метод – то что по мнению пользователя должен делать объект.
Действия над данными в объектно-ориентированной модели данных
Инкапсуляция – объединение в единое целое данных и алгоритмов (функций и методов) их обработки
Наследование позволяет образовывать новый класс объектов на основе уже существующего базового (родлительского) класса
Полиморфизм позволяет в объектах разных типов иметь методы (процедуры и функции) с одинаковыми именами, что означает возможность объектов по-разному реагировать на одно и то же событие
Достоинство: возможность отображения инфы о сложных взаимосвязях объектов, пользователю не нужно знать о взаимодействии объектов
Недостаток: солжности пониманияя ее сути и низкая скорость выполнения запросов
Объектно-реляционная модель данных
Включает в себя основные достоинства объектно-ориентированный мождели и одновременно наследует простоту структуры реляционных моделей.
Достоинство: расширенный реляционный подход позволяет воспользоваться обширным объемом накопленный знаний и опыта, связанных с разработкой реляционных приложений.
Недостаток: сложность и высокие расходы на ее проектирование.
1 поколение: иерархическая и сетевая моделиданных
2: реляционная и многомерная
3: объектно – ориентированнная и объектно-реляционная модедли данных