
1.Информационные модели
Под информационной моделью понимается модель в терминах информационных данных. Основными понятиями являются понятия информационных элементов и отношений между ними. К основным информационным моделям относятся:
Модели в терминах свойство – связь.
Реляционная модель.
Многомерная модель данных.
Объектная и объектно – реляционная модель данных.
Наиболее простой, с которой и началась история БД, является модель свойство – связь.
.Модель свойство-связь
Основными понятиями данной мод ели являются понятия информационного элемента и отношений между этими элементами.
Информационным элементом называется единая неделимая единица информации, которая характеризуется именем, типом, размером и экземпляром. Под именем понимается идентификатор, позволяющий однозначно определить данный элемент. Под типом информационного элемента будем понимать вещественный тип (E), целый (I), текстовый (T), дату (D) и Булев (B). Размером информационного элемента называется сколько места он занимает в памяти в байтах. Экземпляром информационного элемента называется одно из возможных значений, которые он может принимать. Например, информационный элемент «Ф.И.О. студента» можно задать следующим образом:
Имя элемента - FIOS.
Тип элемента – T.
Размер элемента – 30 байт.
Экземпляр элемента – Иванов С.Ю.
Основными отношениями, используемыми в данной модели данных, являются:
Одно-однозначное отношение (1:1). Отношение между элементами A и B называется одно-однозначным, если одному экземпляру A соответствует один экземпляр B, и наоборот. Это отношение обозначается A(1:1)B и изображается в виде:
Примером такого отношения может служить ИНН и номер пенсионного страхования.
Одно – многозначное отношение (1:n). Отношение между элементами A, B называется одно – многозначным, если одному экземпляру A соответствует несколько экземпляров B, но одному экземпляру B соответствует один экземпляр. Такое отношение обозначается A(1:n)B и изображается:
Примером такого отношения может служить № группы и № зачетки.
Много – многозначное отношение (m:n). Элементы A, B находятся в много – многозначном отношении, если одному экземпляру A соответствует много экземпляров B и наоборот.
Если это особо не оговорено, то на графе связь не изображается. В противном случае изображается следующим образом:
Примером такого отношения может служить № зачетки студента и ИНН преподавателя.
Таким образом, модель свойство-связь можно представить в виде графа. Для построения этого графа используется графический метод проектирования.
Графический метод проектирования
Графический метод проектирования состоит из следующих этапов:
Выделение информационных элементов и связей между ними.
Агрегирование элементов.
Удаление транзитивных зависимостей.
Введение фиктивных элементов.
Выделение информационных элементов можно проводить с помощью двух подходов: функционального и объектного. В первом случае анализируются задачи, которые предполагается решать с использованием данного приложения базы данных. Например, если в ходе эксплуатации приложения предполагается необходимость ответа на запрос:
В какой группе обучается студент
Иванов М.М.
Здесь «В какой группе» является целевой частью запроса, в которой можно рассматривать № группы, как информационный элемент, а «обучается студент» - квалифицирующая часть, где Иванов М. М. – экземпляр информационного элемента Ф. И. О. студента. Недостатком данного подхода является то, что при изменении запросов, в БД может не оказаться требуемая информация. При объектном подходе анализируется объект, для которого строится база, и в нее вносятся все возможные элементы, выявляемые в ходе анализа. Недостатком данного подхода является то, что база может оказаться избыточной, и в нее могут быть включены элементы, к которым не будет проводиться обращение. Поэтому на практике используют комбинацию подходов. Пусть в ходе выделения информационных элементов был выделены следующие элементы:
№ |
Имя |
Тип |
Размер |
Экземпляр |
1 |
Факультет |
Текстовый |
12 |
ФИТ |
2 |
№ группы |
Текстовый |
12 |
АП51 |
3 |
№ зачетки |
Текстовый |
12 |
АП03\5 |
4 |
№ пропуска |
Текстовый |
12 |
АП03\5 |
5 |
Ф.И.О. студента |
Текстовый |
25 |
Иванов М.М. |
6 |
Кафедра |
Текстовый |
10 |
ИТАС |
7 |
Ф.И.О. преподавателя |
Текстовый |
25 |
Попов С.Н. |
Для установления связей анализируется каждая пара информационных элементов. Получаем:
Здесь предполагается, что среди студентов и преподавателей могут быть однофамильцы.
На следующем шаге агрегируются (объединяются) информационные элементы, находящиеся в одно-однозначном соответствии. Такими элементами являются № зачетки и № пропуска. Получаем новый граф:
На следующем шаге удаляются транзитивные связи. Транзитивные связи имеют на графе следующий вид:
Здесь можно удалить перечеркнутую связь. Фактически задача сводится к оставлению в графе путей наибольшей длины, связывающих вершины. В нашем случае получим:
Недостаток этого графа заключается в том, что он не является связанным. Для того чтобы устранить этот недостаток вводится фиктивный информационный элемент, который находился бы в одно-многозначном соответствии с какими-либо элементами несвязанных подграфов. Для нашего примера таким элементом является ИНН преподавателя. Получаем:
Такой граф принято изображать следующим образом. На верхнем уровне изображаются корневые вершины, а на нижнем – вершины листья.
В зависимости от получаемого графа различают три структуры данных: строка, дерево, сеть.
Граф, полученный в примере, соответствует сети.
Строка – это такая структура данных, в которой в вершину входит не более одной дуги, и выходит из нее также не более одной дуги (плоские БД).
В структуре данных дерево в вершину входит не более одной дуги, а исходит из нее сколь угодно много (иерархические БД – IMS).
В сети в вершину может входить сколь угодно много дуг и из вершины также выходит сколь угодно много дуг (сетевые БД – IDMS).
В БД выделяют три уровня
Внешний уровень – представление БД с точки зрения пользователя. Этот уровень задает ту часть БД, которая относится к каждому пользователю. Это верхний уровень, на котором имеется несколько внешних схем или подсхем.
Концептуальный уровень – обобщающее представление БД. Этот уровень задает то, какие данные хранятся в БД, а также связи имеющиеся между ними. Это описание называют концептуальной схемой.
Внутренний уровень – физическое представление БД в компьютере. Этот уровень определяет, как информация хранится в БД. Это самый низкий уровень абстракции или внутренняя схема.
2. ER – модель
Основные концепции этой модели – типы сущностей, типы связей и атрибуты.
Типы сущностей – объект или концепция, которые характеризуются в данном проекте как имеющие независимое существование.
Сущность – экземпляр типа сущности, который может быть идентифицирован уникальным образом. Каждый тип сущности идентифицируется именем и списком свойств.
Слабая сущность – тип сущности, существование которого зависит от какого-то другого типа сущности (прямоугольник с двойным контуром).
Сильный тип сущности – тип сущности, существование которого не зависит от какого-то другого типа сущности.
Атрибут – свойство типа сущности или типа связи.
Д
омен
атрибута – набор значений, которые
могут быть присвоены атрибуту.
Простой атрибут – атрибут, состоящий из одного компонента с независимым существованием (эллипс).
Составной атрибут – атрибут, состоящий из нескольких компонентов, каждый из которых характеризуется независимым существованием (присоединенные эллипсы).
Однозначный атрибут – атрибут, который содержит одно значение для одной сущности.
Многозначный атрибут – атрибут, который содержит несколько значений для одной сущности (двойной контур).
Производный атрибут – атрибут, который представляется значениями, производными от значения, связанного с ним атрибута или атрибутов (пунктирный контур).
Потенциальный ключ – атрибут или набор атрибутов, который уникально определяет отдельные экземпляры типа сущности.
Первичный ключ – потенциальный ключ, который выбран в качестве основного ключа (подчеркивается).
Составной ключ – потенциальный ключ, который состоит из двух и более атрибутов.
Тип связи – осмысленная ассоциация между сущностями разных типов.
Связь – ассоциация между сущностями, включающая по одной сущности из каждого участвующего в связи типа сущности.
Степень связи – количество сущностей, которые охвачены данной связью.
Рекурсивная связь – связь, в которой одни и те же сущности участвуют несколько раз и в разных ролях.
У связей могут быть атрибуты.
Показатель кардинальности – описывает количество возможных связей для каждой из сущностей участниц (1:1, 1:N, M:N).
Степень участия – определяет, зависит ли существование некоторой сущности от участия в связи некоторой другой сущности