Инфологическое моделирование
Модель сущность-связь (Entity-RelationShip ER).
Сущность имеет уникальное имя. т.к. сущность соответствует некоторому классу однотипных объектов. Предполагается, что в системе существует множество экземпляров данной сущности (сущности представлены таблицами). Объект, которому соответствует понятие сущности, имеет свой набор атрибутов, т.е. характеристик, определяющих свойства данного представителя класса.
Набор атрибутов (полей) должен быть таким, чтобы можно было различать конкретные экземпляры сущности.
Набор атрибутов, однозначно идентифицирующий экземпляр сущности называется ключевым.
Сотрудник | -сущность |
Табельный номер | -ключевой атрибут |
Фио | -атрибуты |
Дата рождения |
Между сущностями могут быть установлены связи – бинарные ассоциации, показывающие, каким образом сущности соотносятся или взаимодействуют. Связи могут быть как между двумя сущностями, так и между сущностью и ей же самой.
Связь может быть
Необязательной | обязательной |
Между двумя сущ. может быть много связей с разными смысл. нагрузками.
В ER модели можно использовать принцип категоризации сущности, то есть наследовать сущности друг от друга (как в ООП). Сущность-родитель, от которой строятся подтипы, называется супертипом.
Для построения модели ER проводится системный анализ.
Для библиотеки это будет книги-экземпляры-читатели.
Иерархическая модель данных
Самая простая. Появилась первой. Основные информационные единицы база данных, поле, сегмент.
Поле – мин. и независимая единица данных, доступная пользователю с помощью СУБД.
Сегмент (DBTS) - называется записью.
Тип сегмента – поименованная совокупность типов элементов данных.
Экземпляр сегмента образуется из конкретных значений полей или элементов данных.
Каждый тип сегмента в рамках иерархической модели образует некоторый набор однородных записей. Каждый тип сегмента может иметь ключ.
Сегменты объединяются в древовидный орграф.
Тип сегмента, находящегося на более высоком уровне иерархии называется лог. исходным(сегмент предок) по отношению к типам сегмента под ним.(лог. подчиненным или сегмент потомок).
Схема иерархической БД представляет собой совокупность отдельных деревьев. Каждое дерево в рамках модели называется физической БД и удовлетворяет следующим ограничениям:
1. Существует 1 корневой сегмент
2. Каждый лог. исх. сегмент м.б. связан с любым числом подчиненных.
3. Каждый логически подчиненный сегмент м.б. связан только с одним логически исходным.
Сегмент является экземпляром типа сегмента. Между экземплярами сегмента также существует иерархическая связь.
Близнецы – потомки одного типа с одним предком.
Набор всех экземпляров сегмента в одном дереве наз-ся физ. Записью. Количество экземпляров потомков м. б. разным для разных экземпляров родительских сегментов. Поэтому о общем случае физические записи имеют разную длину. Физ. записи в иерархической модели различают по длине и структуре.
В рамках иерархической модели выделают языковые средства описания данных и средства манипулирования данными. Каждая физическая база описывается набором операторов определяющих её логическую структуру и структуру хранения. В системе м. б. несколько физических БД. Каждая физическая БД. содержит только один корневой сегмент.
Для организации физического размещения используются следующие методы:
1. Представление линейным списком с последовательным распределением памяти
2. представление связанными линейными списками
Основное правило контроля целостности: потомок не может существовать без родителя, а у некоторых родителей не может быть потомка.
Механизмы поддержания целостности между отдельными деревьями отсутствуют.
(+) 1. Эффективное использование памяти ЭВМ
2. Высокие показатели времени выполнения основных операций над данными
3. Удобно для работы с иерархически упорядоченными данными
(-) 1. Громоздко для обработки информации с достаточно сложными иерархическими связями.
Пример такой БД – сеть магазинов.
Сетевая модель данных
Базовые объекты модели: элемент данных, агрегат данных, запись, набор данных.
Элемент данных – это минимальная информационная единица, доступная пользователю. Аналог поля.
Агрегат данных – совокупность элементов данных, имеющих общее имя, которые могут рассматриваться как единое целое. В модели определены агрегаты двух типов: вектор и повторяющаяся группа.
Вектор – линейный набор элементов данных. Пример (Адрес: дом улица кварт. город)
Группа – совокупность векторов Пр: Стипендия – повторяющаяся группа с числом повторения 12.
Запись – совокупность агрегатов или элементов данных моделирующая некоторый класс объектов реального мира. Аналог сегмента или кортежа.
Существует понятие типа записи и экземпляра записи.
Набор – 2х уровневый граф, связывающий 2 типа записей видом 1:M. Набор отражает иерархическую связь между двумя типами записи. Родительский тип записи – владелец набора. Дочерний – член. Для любых 2-х типов записи м. б. задано любое количество наборов, которое их связывает. В рамках набора возможен последовательный просмотр экземпляров членов набора, связанных с одним экземпляром владельца набора. Ограничением набора является то, что один и тот же тип записи не может быть одновременно владельцем и членом набора.
Пример: учителя и группы
Среди всех наборов определяется сингулярный набор, владелец которого – вся система. Обозначается входящей стрелкой. Он имеет имя набора и имя члена набора, но не определён тип записи: владелец набора. Сингулярные наборы позволяют обеспечить доступ к экземплярам отдельных типов данных.
В общем случае сетевая БД представляет совокупность взаимосвязанных наборов. Язык описания данных в сетевой модели содержит описание БД, описание записи, описание набора. Операции манипулирования данными делятся на навигационные и операции модификации.
(+)Высокие возможности по созданию сложных иерархических структур
Возможность эффективной реализации по затратам памяти и оперативности
(-) Высокая сложность и жесткость схемы БД
Сложность для понимания и обработки информации в БД
Ослаблен контроль целостности