Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Виды взаимосвязей между объектами предметной области
Связи по признаку множественности могут быть четырех типов – «один-к-одному», «один-ко-многим», «много-ко-многим», «много-к-одному». Связь один-к-одному (1: 1) существует, когда один экземпляр одного объекта связан с единственным экземпляром другого. Связь уникальна слева направо, так и справа налево. руководит Предприятие Директор Связь один-ко-многим (1: М) существует, когда один экземпляр первого объекта связан с одним (или более) экземпляром второго объекта, но каждый экземпляр второго объекта связан только с одним экземпляром первого. Связь уникальна справа налево. Состоит из Город Район Связь много-ко-многим (М: М) существут, когда один экземпляр первого объекта связан с один или большим количеством экземпляров второго и каждый экземпляр второго с одним или многими экземплярами первого Студент (фамилия, № зачетной книжки. Факультет) Предмет (название, кол-во часов) Отношение «много-к-одному» (М: 1) схоже с отношение «один-ко-многим». Связь является уникальной лишь слева направо. Фамилия студента (М: 1) Номер группы Концептуальная модель. Модель объектов с описывающими их атрибутами и взаимосвязями между ними называется концептуальной моделью. Эта модель представляет объекты и их взаимосвязи без указания способа их физического хранения. Графически представляется в виде специальной диаграммы, предложенной американским специалистом в области баз данных Ч. Бахманом. В диаграммах Бахмана объекты представляются вершинами некоторого математического графа, связи – дугами графа. Рассмотрим для примера Модель данных о закупках (см. рис.8.2). Рис. 8.2 Пример оформления концептуальной модели Модель состоит из трех объектов: Поставщик, Заказ, Товар. отношение Оформлен существующее между объектами Поставщик и Заказ имеет мощность один-ко-многим, так как каждый заказ делается одному поставщику, но данному поставщику может быть сделано несколько заказов. Связь между объектами Заказ и Товар имеет мощность много-ко-многим, так как заказ содержит несколько товаров и товар может встречаться в нескольких заказах. Совокупность значений связанных атрибутов образует запись данных. Записи хранятся на некотором носителе, это может быть лист бумаги, память ЭВМ, внешнее запоминающее устройство (диск, лента). Поименованная упорядоченная совокупность записей называется файлом.
Трехуровневая модель БД Традиционной формой организации БД, обеспечивающей независимость данных от всех изменений, является трехуровневая структура: § Логическая структура данных прикладного программиста (подсхема); § Общая логическая структура данных (схем); § Физическая структур данных.
Рис.8.3. Уровни независимости данных На концептуальном уровне выполняется концептуальное проектирование БД. Оно включает анализ информационных потребностей пользователей и определение нужных им элементов данных. Результатом концептуального проектирования является концептуальная схема, единое логическое описание всех элементов данных и отношений между ними. Затем концептуальная модель данных транслируется в модель, совместимую с СУБД – логическую модель. Пользователям выделяются подмножества этой логической модели, называемые внешними моделями, отражающие их представления. Внешние модели отражают представления, которые пользователи получают на основе логической модели, а концептуальные требования отражают представления, которые пользователи первоначально «желали иметь» и которые легли в основу разработки концептуальной модели. Логическая модель отображается в физическую модель, расположенную на магнитном носителе. Физическая модель – это «каркас БД». При ее разработке учитываются распределение записей на диске, размер буфера, характеристики ввода/вывода. С одной стороны внешние модели, т.е. прикладные программы не подвержены изменениям физической памяти и методов доступа к БД. Это первый уровень независимости данных (физическая независимость). С другой стороны, если концептуальная модель спроектирована с учетом расширения требований, то вносимые в нее изменения не должны оказывать влияния на существующие внешние (ПП). Это – второй уровень независимости данных (логическая независимость).
Модели организации данных
Хранимые в базе данные имеют определенную логическую структуру, иными словами, описываются некоторой моделью представления данных, поддерживаемой СУБД. К числу классических относятся следующие модели данных: · иерархическая; · сетевая; · реляционная. Кроме того, в последние годы появились и стали более активно внедряться на практике следующие модели данных: · постреляционная; · многомерная; · объектно-ориентированная. Иерархическая модель данных В иерархической модели связи между данными можно описать с помощью упорядоченного графа (или дерева). Упрощенно представление связей между данными можно показать в виде следующей схемы (см. рис. 8.4). Рис.8.4 Схема иерархической модели данных Самая высокая вершина называется корень. Остальные вершины, находящиеся на нижних уровнях называются подчиненными. Взаимосвязи между объектами отражаются по принципу иерархии типов объекта в виде связанного графа, вершины которого размещены на разных иерархических уровнях. Корень (первый уровень) не подчиняется ни одной вершине. Все остальные вершины (типы объектов) связаны с одной и только одной вершиной, которая размещена на более высоком уровне. Взаимосвязи между объектами напоминают генеалогическое дерево. Взаимосвязь между главным и подчиненными объектами устанавливается типом «один-ко-многим». Как видно из схемы иерархической модели данных, ее древовидная структура состоит из узлов и дуг. Узел – совокупность атрибутов, которые описывают объект. Например, объект «студент» может иметь такие атрибуты: фамилия, имя, отчество, номер группы. Вершины графа, которые подчинены другой вершине («имеют отца»), называются сыновьями. Любой «сын» на графе может иметь не больше одного «отца», а любой «отец» - множество «детей». Любая вершина может иметь множество подчиненных ей вершин на более низком уровне. Каждая пара вершин соединена одной простой дугой. В иерархической модели устанавливается строгий порядок обхода дерева (сверху-вниз, слева-направо). И следующие операции над данными: 1. Найти указанное дерево. 2. Перейти от одного дерева к другому. 3. Перейти от одной записи к другой. 4. Перейти от одной записи к другой в порядке обхода иерархии 5. Удалить текущую запись. К достоинствам иерархической модели данных относятся: · эффективное использование памяти ЭВМ; · неплохие показатели времени выполнения основных операций над данными. Недостатками иерархической модели являются: · ее громоздкость для обработки информации с достаточно сложными логическими связями; · сложность понимания для обычного пользователя. На иерархической модели основано сравнительно ограниченное количество СУБД, в числе которых можно назвать зарубежные системы IMS, PC/Focus, Team-Up, Data Edge; отечественные системы Ока, ИНЭС, МИРИС. Сетевая модель данных Сетевая модель позволяет отображать разнообразные взаимосвязи элементов данных в виде произвольного графа (см рис.8.5). В сетевой модели понятие главного и подчиненных объектов иное, чем в иерархической модели: любой объект здесь может быть и главным, и подчиненным; каждый объект может участвовать в любом количестве взаимосвязей. Рис.8.5 Общая схема сетевой модели данных В сетевой модели устанавливаются следующие операции над данными: 1. перейти от предка к первому потомку по некоторой связи; 2. создать новую запись; 3. уничтожить запись; 4. модифицировать запись; 5. исключить запись из связи; 6. переставить запись в другую связь. Данные представляются при помощи записей и связей. Запись (объект) в сетевой модели (в отличие от иерархической) может иметь множество как подчиненных ей записей, так и записей, которым она сама подчинена. Достоинство сетевой модели данных – возможность эффективной реализации по показателям затрат памяти и оперативности. Недостатки сетевой модели данных: · высокая сложность и жесткость схемы БД, построенной на ее основе; · сложность для понимания и выполнения обработки информации в БД обычным пользователем. Системы на основе сетевой модели данных не получили широкого распространения на практике. В 70-е годы 20 века крупными корпорациями для создания информационной системы использовались зарубежные СУБД IDMS, db_Vista; отечественные – СЕТЬ, СЕТОР, КОМПАС, БАНК. Реляционная модель данных Реляционная модель данных предполагает, что данные представляются одним способом, а именно в виде таблицы (см. рис8.6). Каждая строка в таблице содержит информацию, относящуюся к конкретному экземпляру объекта. Эта информация представляет собой набор фактов, при этом в столбце (называемым также атрибутом или полем) содержится конкретный факт. Основными понятиями реляционных баз данных являются тип данных, домен, атрибут, кортеж, первичный ключ и отношение. Рассмотрим смысл этих понятий на примере отношения СОТРУДНИКИ, содержащего информацию о сотрудниках некоторой организации:
Рис.8.6. Общая схема реляционной модели данных Тип данных. Понятие тип данных в реляционной модели данных полностью адекватно понятию типа данных в языках программирования, обычно в БД допускается хранении символьных, числовых данных, специализированных числовых данных (как «деньги»), а также специальных «темпоральных» данных (дата, время, временной интервал). В нашем примере данные трех типов: строки символов, целые числа и «деньги». Домен. Допустимые значения атрибутов. Так домен для поля «Имя» определен на базовом типе строк символов, т.е. является множеством всех возможных имен (в частности, такие строки не могут начинаться с мягкого знака). Различные атрибуты могут быть определены на одном и том же домене – например, атрибуты «Год поступления» (в вуз) и «Год окончания» определены на одном и том же домене, являющемся перечнем дат определенного диапазона. Атрибут. Столбцы таблицы, называемые полями БД, соответствуют атрибутам экземпляров объекта. Атрибут – столбец таблицы. Название столбца – имя атрибута. Кортеж. Строки таблицы, представляющие собой различные сочетания значений полей из доменов, называются кортежами (в обиходе просто записями) БД и соответствуют экземплярам объектов предметной области. Одна таблица представляет один объект и состоит из строк и столбцов. Каждая строка таблицы представляет собой одну запись, а каждый столбец – одно поле записи. Ключевому атрибуту объекта, который идентифицирует (определяет, отличает от других) конкретный экземпляр объекта, в таблице соответствует ключевое поле (так называемый ключ таблицы). В тех случаях, когда конкретную запись таблицы идентифицирует значение не одного поля, а совокупность значений нескольких полей, тогда все эти поля считаются ключевыми, а ключ таблицы является составным. В некоторых таблица роль ключа могут играть сразу несколько полей или групп полей. Такие ключи называются потенциальными. В этих случаях один из ключей объявляется первичным. Совокупность определенных для таблицы-отношения полей, их свойства (ключи) составляют схему таблицы-отношения. Поскольку в отличие от иерархической и сетевой организации баз в реляционной БД отсутствует понятие ассоциативных связей между парами записей, приходится их специальным образом моделировать. Отношения-связи между экземплярами объектов устанавливаются через введение в таблицах дополнительных полей, которые дублируют ключевые поля связанной таблицы. Такие поля, дублирующие ключи связанной таблицы, называются внешними ключами (см. рис.8.6).
Рис.8.6 Пример связи в реляционных таблицах В приведенных таблицах-отношениях связь осуществляется по ключевому полю таблицы Отделы (№ отдела) и внешнему полю таблицы Сотрудник (№ отдела). Само слово реляционная происходит от английского relation – отношение. В случае реляционных баз «отношение» выражает не взаимосвязь между таблицами, а определение самой таблицы как математического отношения доменов. Популярное:
|
Последнее изменение этой страницы: 2016-04-09; Просмотров: 3327; Нарушение авторского права страницы