Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Л 12 5-1.doc
Скачиваний:
2
Добавлен:
09.08.2019
Размер:
114.18 Кб
Скачать

4. Модели данных

Предметная область — некая часть реального мира, которая изучается с целью организации управления и автоматизации. Предметная область представляется множеством фрагментов, например, железная дорога — управлением дороги, отделениями дороги, бухгалтерией и т.д. Каждый фрагмент предметной области характеризуется множеством объектов и процессов, использующих объекты, а также множеством пользователей, характеризуемых различными взглядами на предметную область.

Данные являются некоторым отображением объектов реального мира. Любые данные — это абстракция. Чтобы отобразить объект реального мира в базе данных, необходимо знать, какие признаки объекта будут нужны для работы. Если, например, объектом является "служащий", то такими признаками могут быть его фамилия, имя, отчество, год рождения, специальность, зарплата и т. д.

Традиционно объекты реального мира, сведения о которых хранятся в базе данных, называются сущностями (entities). Между сущностями существует некоторое множество связей.

Сущность — это объект, который может быть идентифицирован неким способом, отличающим его от других объектов. Набор сущностей (entity set) — множество сущностей одного типа (обладающих одинаковыми свойствами). Например, все люди, железные дороги и т.д. Наборы сущностей не обязательно должны быть непересекающимися. Например, сущность, принадлежащая к набору ПОЕЗД, также принад­лежит набору СРЕДСТВО_ПЕРЕДВИЖЕНИЯ.

Каждая сущность представляется множеством атрибутов, описываю­щих свойства всех членов данного набора сущностей.

Множество значений (область определения) атрибута называет­ся доменом. Например, для атрибута ВЕС домен задается интерва­лом целых чисел, положительных поскольку отрицательного веса не бывает.

Ключ сущности — это такая группа атрибутов, что отображение набора сущностей в соответствующую группу наборов значений является взаимно однозначным отображением. Таким образом, ключ сущности — это один или более атрибутов, уникально определяющих данную сущность.

Связь (relationship) — это ассоциация, установленная между несколь­кими сущностями. Связь может иметь атрибуты. Например, для связи ОТДЕЛ-РАБОТНИК можно задать атрибут СТАЖ_РАБОТЫ В_ОТДЕЛЕ. В связи сущность может иметь ту или иную роль. Роль сущности в связи — функция, которую выполняет сущность в данной связи. Например, в связи РОДИТЕЛЬ-ПОТОМОК сущности ЧЕЛОВЕК могут иметь роли "родитель" и "потомок". Указание ролей не является обязательным и служит для уточнения семантики связи.

Набор связей (relationship set) — это отношение между n(n>1) сущностями, каждая из которых относится к некоторому набору сущностей. При n=2, когда связь объединяет две сущности, она называется бинарной. Доказано, что n-арный набор связей (n>2) всегда можно заменить множеством бинарных.

Число сущностей, которое может быть ассоциировано через набор связей с другой сущностью, называют степенью связи.

База данных — это совокупность описаний объектов мира и связей между ними, значимых для конкретной прикладной области.

Для бинарных связей различают следующие типы связи:

связь 1:1 (один-к-одному). Это такая связь между типами сущностей А и В, когда каждому экземпляру сущности А соответствует один и только один экземпляр сущности В и наоборот — каждому экзем­ляру сущности В соответствует один и только один экземпляр сущности Л. Примером является связь РУКОВОДИТ между сущностями типа НАЧАЛЬНИК_ЖЕЛЕЗНОЙ ДОРОГИ и ЖЕЛЕЗНАЯ ДОРОГА;

связь I:N (один—ко-многим). В такой связи между типами сущностей А и В каждому экземпляру сущности А соответствует один или несколько экземпляров сущности В, а каждому экземпляру сущности В соответствует один и только один экземпляр сущности А. Примером является связь типа ИМЕЕТ В_СОСТАВЕ между сущностями типа ЖЕЛЕЗНАЯ_ДОРОГА и ОТДЕЛЕНИЕ ЖЕЛЕЗНОЙ_ДОРОГИ;

связь М:1 (многие-к—одному). Связь такого типа является обратной связи со степенью 1:N. Примером может служить связь типа ВХОДИТ_В_СОСТАВ между сущностями типа ОТДЕЛЕНИЕ_ЖЕЛЕЗНОЙ_ДОРОГИ и ЖЕЛЕЗНАЯ ДОРОГА;

связь M:N (многие-ко-многим). Это такой тип связи между типами сущностей А и В, при котором каждому экземпляру сущности А может соответствовать несколько экземпляров сущности В и наоборот. Примером является связь типа ИЗУЧАЕТ между сущностями СТУДЕНТ и ДИСЦИПЛИНА.

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

Модель данных определяет, как сущности, атрибуты и связи отображаются на структуры данных БД.

Любая модель данных БД должна включать следующие составляющие:

структурную, определяющую структуру представления объектов в БД;

целостную, определяющую правила целостности, которые должны задавать разного рода ограничения предметной области, модель которой реализует система БД;

мапипуляционную, определяющую возможности работы с объектами, хранящимися в БД.

Модель данных состоит из:

языка для определения структуры базы данных — языка описания или определения данных ЯОД (data description language — DDL) и языка для манипулирования этими структурами — языка манипулирования данными ЯМД (data manipulation language — DML); язык манипулирования данными часто называют языком запросов.

Обычно системы БД классифицируются в зависимости от модели данных, которая лежит в их основе. В общепринятой классификации в настоящее время известны следующие модели данных:

сетевая,

иерархическая,

реляционная,

объектно-ориентированная,

объектно-реляционная.

Объектно-ориентированную и объектно-реляционную модели часто называют постреляционными моделями данных БД.

Соответственно говорят о сетевых, иерархических, реляционных, объектно-ориентированных, объектно-реляционных системах и постреляционных БД.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]