Понятие модели данных
Модель данных – это абстрактное, самодостаточное определение объектов, операторов и прочих элементов, в совокупности составляющих абстрактную машину доступа к данным, с которой взаимодействует пользователь. Упомянутые объекты позволяют моделировать структуру данных, а операторы – поведение данных.
Реализация заданной модели данных это соединение воплощения на реальной машине компонентов абстрактной модели, которая в совокупности составляет эту модель.
Для обеспечения независимости от данных требуется строгое разделение между моделью данных и её реализацией. Можно сказать,что модель – это то, о чем пользователи должны знать (принципы создания БД), а реализация это то, чего пользователи не должны знать.(практика реализации БД)
Логические модели данных
Как и концептуальные модели, основанные на использовании пользовательских представлений о данных предметной области, отражают абстрактный взгляд на данные. Это означает, что данные представляются так, как они выглядят в реальном мире (отдел, фамилия и др.)
Логические модели данных определяют конкретные структуры, в которых будут храниться данные. Разработка логических моделей данных началась в 60-ч годах прошлого столетия в связи с бурным развитием средств вычислительной техники.
Можно выделить 4 основные разновидности логических моделей:
иерархические
сетевые
реляционные
объектно-ориентированные.
Иерархическая модель данных - эта модель графически представляется совокупностью элементов (вершин) и связей (рёбер), образующих структуру типа дерева.
Каждая вершина связана с одной вершиной предыдущего, более высокого уровня и с любым (в том числе нулевым) числом вершин следующего более низкого уровня. Исключение является вершина самого высокого уровня, которая связана только с вершинами более низкого уровня. Эта вершина – корень дерева и расположена на нулевом уровне.
Вершины, не имеющие подчиненных, называются концевыми.
В этой модели каждому элементу данных соответствует единственный путь, ведущий к нему из корневой вершины. Данные чаще всего представляются концевыми вершинами, но это необязательно.
Важнейшими операциями для работы с иерархическими структурами являются операции перемещения по иерархическим указателям, позволяющее переходить вверх и вниз по ребрам дерева.
Практический пример:
Структура каталогов(поток) с файлами на жестком диске компьютера;
Системный регистр Windows;
Пространство доменных имен в интернете.
Достоинства данной модели:
возможность выполнить очень быстрой поиск нужных данных
Недостаток:
если данные плохо поддается иерархической организации, то модель чрезмерно усложняется и соответственно снижается производительность при технической реализации.
В ее основе лежат те же понятия, что и в иерархической модели, т.е. вершина – уровень связь но существенным отличием является то, что любая вершина может быть связана с любой другой вершиной, независимо от уровня иерархии последней.
Если использовать язык теории графов, то иерархическая структура отображается графом типа дерево, в сетевая – произвольным графом, т.е. графом допускающим существование контуров.
Примером сетевой модели данных может служить модель, отображающая распределение учебных дисциплин по группам студентов. Каждая группа изучает ряд предметов, а каждый предмет изучается в каких то группах.
Достоинства сетевой модели данных
Высокая скорость поиска нужных данных
Возможность адекватно представить данные для решения задач в самых различных предметных областях
Недостатки
При реализации сетевой модели данных образующих сложность структуры данных с многочисленными связями
Общим недостатком сетевой и иерархической модели данных (перечень):
Конфигурация структуры данных (вершин и связи между ними ) задается на этапе моделируется и после перехода к практической реализации уже не может быть изменена, т.е. независимость по данным в этих моделях не сопровождается структурной независимостью.
Достоинства: предоставляет большие возможности в смысле допустимости образования произвольных связей.
Недостатки: высокая сложность и жесткость схемы БД, сложность понимания и выполнения обработки информации.
Реляционная модель данных. Ее отличие от графовых моделей (иерархической и сетевой)
Одним из самых естественных способов в представлении данных является представление их в виде 2-мерных таблиц.
Если имеется несколько таблиц, то связи между данными в разных таблицах также можно представлять в табличной форме, например, 2 таблицы можно связывать между собой с помощью дополнительных связующей таблицы.
Существенное отличие реляционной модели от графовых ( иерархич. Сетевая) является переход от работы с элементарными данными к работе с макрообъектами табличного типа, при этом реляционные операции применяются сразу ко всему множеству строк таблицы, а не к отдельной строке, и т.о. операндами и результатами являются наборы данных, содержащими множество строк, поэтому главная отличительная характеристика реляционной системы – возможность обработки множества строк.
Еще одно отличие:
Независимость по данным здесь сопровождается их структурной независимостью, т.е. нет никаких указателей, связывающих таблицы друг с другом и соответственно отсутствует навигация схемы доступа к данным.
Было установлено, что любая сетевая структура данных может быть представлена с некоторой избыточной совокупностью древовидных структур, а те в свою очередь тоже с некоторой избыточностью – в виде взаимосвязей 2 мерных таблиц, поэтому тот факт, что любую структуру дынных при желании можно представить в виде взаимосвязей 2 мерных таблиц и привел к созданию реляционной модели данных.
Эта модель была предложена в 1970 сотрудником IBM Эдгаром Коддам и вскоре получила самое широкое распространение из за простоты наглядности модели для пользователей – непрофессионалов и серьезного теоретического обоснования лежащего в основе модели.
Достоинства реляционной модели данных:
Наглядность, простота, гибкость структуры данных.
Относительная простота практической реализации.
Недостатки:
Некоторая ограниченность и предопределенность набора атрибутов и доменов, что можно устранить при переходе к объектно-реляционной модели.
Определение
Иерархическая модель - это структура данных, организованная в виде древовидной модели с использованием отношений родитель-потомок, а сетевая модель - это модель базы данных, которая позволяет нескольким записям связываться с одним файлом владельца. С другой стороны, реляционная модель - это модель базы данных для управления данными в виде кортежей, сгруппированных в отношения (таблицы).
основа
Иерархическая модель упорядочивает данные в древовидной структуре, в то время как сетевая модель упорядочивает данные в виде графа. Напротив, реляционная модель упорядочивает данные в таблицах. Следовательно, в этом главное отличие иерархической сети от модели реляционной базы данных.
отношения
Кроме того, важное различие между моделью иерархической сети и реляционной базы данных состоит в том, что, хотя иерархическая модель представляет отношение «один ко многим», модель сети представляет отношение «многие ко многим». Кроме того, реляционная модель может представлять как отношения «один ко многим», так и «многие ко многим».
Доступ к данным
Хотя доступ к данным в иерархической модели затруднен, доступ к данным в сетевой модели и реляционной модели проще.
гибкость
Кроме того, еще одно отличие между иерархической сетью и моделью реляционных баз данных заключается в их гибкости. Иерархическая модель менее гибкая, но сетевая модель и реляционная модель являются гибкими.
Заключение
Модели баз данных помогают упорядочить данные в базах данных СУБД. Основное различие между моделью иерархической сети и реляционной базы данных состоит в том, что иерархическая модель организует данные в древовидную структуру, а модель сети упорядочивает данные в виде графа, а модель реляционной базы данных - в таблицы.
Математический аппарат используемый для моделируемого табличного представления данных, получил название – реляционной алгебры. В ней используется следующие понятия
Реляционная алгебра (логич.) |
Реляционные БД (физич.) |
Сущность |
Таблица |
Кортеж |
Строка, запись |
Атрибут |
Столбец, поле |
Домен |
Тип данных |
Сущность – Объект предметной области, который исследуется и моделируется (любой различимый объект, о котором необходимо хранить информацию в БД).
Кортеж – экземпляр сущности
Атрибут – отражает определенные свойства, количества, признак сущности
Домен – задает множество допустимых значений атрибута
Смысл домена состоит в том, что они ограничивают сравнение и позволяет моделировать предметную область.
Если атрибуты связаны с 1 и тем же доменом, то сравнение значений этих атрибутов имеет смысл.
Если атрибуты связаны с различными доменами, то сравнение значений таких атрибутов часто лишено смысла, даже если эти значения выбираются из 1 и того же множества значений.
Сущность S на доменах D1, D2…..Dn ( необязательно что бы все были различные) состоит из заголовка и тела.
Заголовок состоит из такого множества атрибутов {A1, A2……..An}, что существует взаимооднозначное соответсвие между атрибутами А и определяющими его доменами D, для любого i=1,2……n.
Тело сущности состоит из меняющегося во времени множества кортежей, где каждый кортеж состоящий из множества пар вида {(A1,V1), (A2,V2)…….. (An,Vn) } (атрибут значение)
Для любой такой пары (Ai,Vi) Vi – некоторое значение из Di, связывающего с атрибутом Ai.
Степень сущности – число его атрибутов.
Мощность – число кортежей. Мощность сущностей изменяется во времени.
Замечания:
Т.к. множество в математике не содержит повторяющихся элементов , то сущность также не содержит повторяющихся кортежей и атрибутов, но среди доменов Di повторения возможны.
Сущности и таблицы – не одно и то же, строки и столбцы таблицы упорядочены , а кортежи и атрибуты сущности – нет , т.к. это множество, а множество в математике не обладает свойством упорядоченности.
Все атрибуты сущности являются простыми или атомарными – это означает, что их нельзя разложить на составные части без потери смысла.
Заголовок сущности статичен и описывает декартово произведение доменов, на котор. задана сущность. Тело сущности представляет собой измененный во времени набор кортежей, т.е. подмножество декартовых произведений доменов. Т.о. если использовать терминологию теории множеств, поскольку отношение = relation , то отсюда и произошло название реляционной модели данных.
Подмн-во R={
,
,
… ,
}
атрибутов сущности S
является ее возможным или потенциальным
ключом, если выполн. след. 2 условия:
Уникальность – никакие 2 различных кортежа из S не имеют одного и того же набора значений атрибутов , , … , ;
Минимальность – ни один из атрибутов , , … , не может быть исключен без нарушения условия уникальности.
Утверждение: каждая сущность обладает
по меньшей мере одним возможным ключом.
Действительно, если других ключей нет,
то им будет ключ K={
,
,
… ,
}.
Поскольку как следует из определения сущности, все ее кортежи различные.
Возможный ключ, состоящий из 1 атрибута называется простым , из нескольких – составным. Один из возможных ключей выбирается в качестве первичного ключа, остальные возможные ключи, если она есть получают статус альтернативных(уникальных).
Роль ключа (1-го или альтернативного) заключается в том, что зная для какого-либо кортежа значение лишь ключевых атрибутов можно всегда определить значения и всех остальных атрибутов. Т.е. чтобы точно указать, какой-либо кортеж достаточно знать лишь соответствующее ему значение.
Рис. 3-8. Синтаксис альтернативных ключей
Каждая сущность должна обладать первичным ключом.
Каждая сущность может обладать любым числом альтернативных ключей.