Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Инфологическое (концептуальное) моделирование
Существует несколько подходов к инфологическому моделированию БД: ü семантические сети; ü язык инфологического моделирования; ü ER – диаграммы или модель «сущность – связь» (предложена в 1976 г. Питером Пин-Шэн Ченом). Рассмотрим модель «сущность – связь» (entity - relationship model, ER - model), которая основывается на некой важной семантической информации о реальном мире. Она определяет значения данных в контексте их взаимосвязи с другими данными. Важно, что из модели "сущность-связь" могут быть порождены все существующие модели данных (иерархическая, сетевая, реляционная) поэтому она является наиболее общей. Существует несколько вариантов обозначения элементов диаграммы «сущность-связь» (нотации Чена, Мартина, IDEF1X, Баркера) Основными элементами этой модели являются: сущности, атрибуты, связи. Сущность - это реальный или представляемый объект, информация о котором должна сохраняться и быть доступна. Например, сущность ИНСТИТУТ, экземпляры: политехнический, железнодорожный. Каждый объект сущности должен быть отличим от любого другого элемента той же сущности. Атрибут – неотъемлемое свойство сущности (другое название реквизит) или связи. По значениям атрибутов можно идентифицировать экземпляр сущности. Домен – множество значений, которыеможет принимать атрибут. Домены могут быть бесконечными множествами. Атрибуты делятся на: ü простые – состоят из одного компонента с независимым существованием; ü составные – состоят из нескольких компонентов, каждый из которых характеризуется независимым существованием; ü однозначные – одно значение для одного экземпляра сущности (например, отпечаток пальца, табельный номер и т.п.); ü многозначные – могут содержать несколько значений для одного экземпляра сущности; ü производные – представляют значения, производное (вычисляемое) от значения связанного с ним атрибута или некоторого множества атрибутов, принадлежащих одной сущности. Вопрос однозначной идентификации экземпляров сущности. Первичный ключ (primary key) - это атрибут или группа атрибутов, однозначно идентифицирующая экземпляр сущности. Атрибуты первичного ключа на диаграмме находятся в списке атрибутов и отделяются от других атрибутов горизонтальной линией (или подчеркиванием, жирностью). Выбор первичного ключа может оказаться непростой задачей, решение которой может повлиять на эффективность будущей ИС. В одной сущности могут оказаться несколько атрибутов или наборов атрибутов, претендующих на роль первичного ключа. Такие претенденты называютсяпотенциальными ключами (candidate key). Ключи могут бытьсоставными, т. е. содержащими несколько атрибутов. Например, Рассмотрим кандидатов на первичный ключ сущности Здесь можно выделить следующие потенциальные ключи: 1. Табельный номер, 2. Номер паспорта; 3. Фамилия + Имя + Отчество. Для того чтобы стать первичным, потенциальный ключ должен удовлетворять ряду требований: ü Уникальность - два экземпляра не должны иметь одинаковых значений возможного ключа. Потенциальный ключ № 3 (Фамилия + Имя + Отчество) является плохим кандидатом, поскольку в организации могут работать полные тезки. ü Компактность – составной возможный ключ не должен содержать ни одного атрибута, удаление которого не приводило бы к утрате уникальности. Для обеспечения уникальности ключа № 3 дополним его атрибутами Дата рождения и Цвет волос. Допустим, что если сочетания атрибутов Фамилия + Имя + Отчество + Дата рождения достаточно для однозначной идентификации сотрудника, то Цвет волос оказывается лишним, т. е. ключ Фамилия + Имя + Отчество + Дата рождения + Цвет волос не является компактным. При выборе первичного ключа предпочтение должно отдаваться более простым ключам, т. е. ключам, содержащим меньшее количество атрибутов (в примере ключи № 1 и 2 предпочтительней ключа № 3). Атрибуты ключа не должны содержать нулевых значений. (Если допускается, что сотрудник может не иметь паспорта или вместо паспорта иметь какое-либо другое удостоверение личности, то ключ № 2 не подойдет на роль первичного ключа) Если для обеспечения уникальности необходимо дополнить потенциальный ключ дополнительными атрибутами, то они не должны содержать нулевых значений. (Дополняя ключ № 3 атрибутом Дата рождения, нужно убедиться в том, что даты рождения известны для всех сотрудников) Значение атрибутов ключа не должно меняться в течение всего времени существования экземпляра сущности. (Сотрудница организации может выйти замуж и сменить как фамилию, так и паспорт. Поэтому ключи № 2 и 3 не подходят на роль первичного ключа) Каждая сущность должна иметь, по крайней мере, один потенциальный ключ. Многие сущности имеют только один потенциальный ключ. Такой ключ становится первичным. Некоторые сущности могут иметь более одного возможного ключа. Тогда один из них становится первичным, а остальные - альтернативными ключами. Связь - это графически изображаемая ассоциация, устанавливаемая между двумя сущностями. Эта ассоциация всегда является бинарной и может существовать между двумя разными сущностями или между сущностью и ей же самой - последний вид связи называют рекурсивной (унарной). В любой связи выделяются два конца, имя связи (имена на концах связи), степень конца связи (сколько элементов данной сущности связывается) и класс принадлежности (обязательный или необязательный) или кардинальность связи (то есть любой ли элемент данной сущности должен участвовать в этой связи). Степень связи – количество сущностей, которые охвачены данной связью (бинарная, тернарная, кватернарная и др.).Доказано, что n-арный набор связей (n>2) всегда можно заменить множеством бинарных, однако первые лучше отображают семантику предметной области. Классическими признаны бинарные связи со степенью «один к одному», «один к многим», «многие к многим». Рассмотрим основные элементы нотации Мартина. Список атрибутов приводится внутри прямоугольника, обозначающего сущность. Ключевые атрибуты подчеркиваются. Связи изображаются линиями, соединяющими сущности, вид линии в месте соединения с сущностью определяет кардинальность связи. Кардинальность связи обозначается интервалом. Например, обязательный класс принадлежности со степенью «один к одному» - (1,1), а необязательный класс принадлежности - (0,1). Первая цифра в интервале и обозначает обязательность (1) или необязательность (0) вхождение сущности в связь.
Имя связи указывается на линии, ее обозначающей. Рассмотрим основные элементы нотации Чена.
Связь соединяется с ассоциируемыми сущностями линиями. Возле каждой сущности на линии, соединяющей ее со связью, цифрами указывается класс принадлежности. Пример: На практике часто используют гибридные нотации. В качестве программного средства, реализующего инфологическое проектирование, можно выделить ERWin, линейки ALL Fusion Для представления полных инфологических моделей предметных областей применяется более содержательный, но менее наглядный язык инфологического моделирования, в котором сущности и связи представляются предложениями вида: СУЩНОСТЬ (атрибут1, атрибут2, …… атрибут n) Связь [СУЩНОСТЬ S1, СУЩНОСТЬ S2,……] (атрибут1, атрибут2, …… атрибут n), где S- степень связи, а атрибуты, входящие в ключ, должны быть помечены с помощью подчеркивания. Например, ПРЕПОДАВАТЕЛЬ (Табном, Фамилия, Имя, Отчество, Кафедра) СТУДЕНТ (Номстуд, Фамилия, Имя, Отчество, Специальность, Курс) Лектор [ПРЕПОДАВАТЕЛЬ 1, СТУДЕНТ М] (Табном, Номстуд) Консультант [ПРЕПОДАВАТЕЛЬ N, СТУДЕНТ М] (Табном, Номстуд) Модели данных Реляционная модель данных является совокупностью простейших двумерных таблиц – отношений. Объект реального мира представляется в реляционной модели данных как строка некоторого отношения. Операции обработки реляционных моделей основаны на использовании универсального аппарата алгебры отношений и реляционного исчисления. В иерархических моделях выделим понятия запись (группа), групповое отношение, Запись - именованная совокупность атрибутов. Использование записей позволяет за одно обращение к базе получить некоторую логически связанную совокупность данных. Именно записи изменяются, добавляются и удаляются. Тип записи определяется составом ее атрибутов. Экземпляр записи - конкретная запись с конкретным значением элементов Групповое отношение - иерархическое отношение между записями двух типов. Родительская запись (владелец группового отношения) называется исходной записью, а дочерние записи (члены группового отношения) - подчиненными. Иерархическая база данных может хранить только такие древовидные структуры. Корневая запись каждого дерева обязательно должна содержать ключ с уникальным значением. Ключи некорневых записей должны иметь уникальное значение только в рамках группового отношения. Каждая запись идентифицируется полным сцепленным ключом, под которым понимается совокупность ключей всех записей от корневой по иерархическому пути. При графическом изображении групповые отношения изображают дугами ориентированного графа, а типы записей - вершинами (диаграмма Бахмана). Для групповых отношений в иерархической модели обеспечивается автоматический режим включения и фиксированное членство. Это означает, что для запоминания любой некорневой записи в БД должна существовать ее родительская запись. При удалении родительской записи автоматически удаляются все подчиненные. Например, рассмотрим следующую модель данных предприятия. Предприятие состоит из отделов, в которых работают сотрудники. В каждом отделе может работать несколько сотрудников, но сотрудник не может работать более чем в одном отделе. Поэтому, для информационной системы управления персоналом необходимо создать групповое отношение, состоящее из родительской записи ОТДЕЛ (НАИМЕНОВАНИЕ_ОТДЕЛА, ЧИСЛО_РАБОТНИКОВ) и дочерней записи СОТРУДНИК (ФАМИЛИЯ, ДОЛЖНОСТЬ, ОКЛАД). Это отношение показано на рис. (а) (Для простоты полагается, что имеются только две дочерние записи). Для автоматизации учета контрактов с заказчиками необходимо создание еще одной иерархической структуры: заказчик - контракты с ним - сотрудники, задействованные в работе над контрактом. Это дерево будет включать записи ЗАКАЗЧИК(НАИМЕНОВАНИЕ_ЗАКАЗЧИКА, АДРЕС), КОНТРАКТ(НОМЕР, ДАТА,СУММА), ИСПОЛНИТЕЛЬ (ФАМИЛИЯ, ДОЛЖНОСТЬ, НАИМЕНОВАНИЕ_ОТДЕЛА) (рис. (b)). Очевидны недостатки иерархических БД: Частично дублируется информация между записями СОТРУДНИК и ИСПОЛНИТЕЛЬ (такие записи называют парными), причем в иерархической модели данных не предусмотрена поддержка соответствия между парными записями. Иерархическая модель реализует отношение между исходной и дочерней записью по схеме 1:N, то есть одной родительской записи может соответствовать любое число дочерних. Допустим теперь, что исполнитель может принимать участие более чем в одном контракте (т.е. возникает связь типа M:N). В этом случае в базу данных необходимо ввести еще одно групповое отношение, в котором ИСПОЛНИТЕЛЬ будет являться исходной записью, а КОНТРАКТ - дочерней (рис. (с)). Таким образом, необходимо опять дублировать информацию. Сетевая модель данных определяется в тех же терминах, что и иерархическая. Она состоит из множества записей, которые могут быть владельцами или членами групповых отношений. Связь между записью-владельцем и записью-членом также имеет вид 1:N. Основное различие этих моделей состоит в том, что в сетевой модели запись может быть членом более чем одного группового отношения. Согласно этой модели каждое групповое отношение именуется и проводится различие между его типом и экземпляром. Тип группового отношения задается его именем и определяет свойства общие для всех экземпляров данного типа. Экземпляр группового отношения представляется записью-владельцем и множеством (возможно пустым) подчиненных записей. При этом имеется следующее ограничение: экземпляр записи не может быть членом двух экземпляров групповых отношений одного типа (т.е. сотрудник из примера, например, не может работать в двух отделах). Рассмотрим, как иерархическая модель преобразовывается в сетевую. Деревья (a) и (b), заменяются одной сетевой структурой, в которой запись СОТРУДНИК входит в два групповых отношения для отображения типа M:N вводится запись СОТРУДНИК_КОНТРАКТ, которая не имеет полей и служит только для связи записей КОНТРАКТ и СОТРУДНИК. В этой записи может храниться и полезная информация, например, доля данного сотрудника в общем вознаграждении по данному контракту.
|
||||||||||||||||||||||||
Последнее изменение этой страницы: 2018-04-12; просмотров: 484. stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |