Главная Случайная страница


Категории:

ДомЗдоровьеЗоологияИнформатикаИскусствоИскусствоКомпьютерыКулинарияМаркетингМатематикаМедицинаМенеджментОбразованиеПедагогикаПитомцыПрограммированиеПроизводствоПромышленностьПсихологияРазноеРелигияСоциологияСпортСтатистикаТранспортФизикаФилософияФинансыХимияХоббиЭкологияЭкономикаЭлектроника






Назначение и компоненты инфологической

Модели предметной области

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

Инфологическая модель (ИЛМ) - это описание предметной области, выполненное с использованием специальных языковых и графических средств, не зависящих от используемых в дальнейшем программных средств. Фактически на этом этапе проектируется не база данных, а создается информационная модель ПО (предприятия, организации, подразделения, решаемой задачи и т.д.).

ИЛМ включает в себя ряд компонентов, главным из которых является описание объектов и связей между ними, обычно выполняемое в виде комплекта схем и диаграмм.

В ИЛМ также входят алгоритмические зависимости между показателями с указанием, какие показатели служат исходными для вычисления других; описание информационных потребностей пользователей; ограничения целостности и т.п.

Понятие целостности БД связано с такими понятиями как правильность, актуальность, согласованность данных. Можно заранее предусмотреть ряд правил (ограничений целостности), соблюдение которых позволит предотвратить некоторые ошибки при вводе, корректировке и удалении данных.


-16-

 

Правила составления диаграмм

“Объект-Свойство-Отношение”

Проектирование БД начинается с того, что в предметной области выделяют понятия, определяющие классы объектов, которые необходимо включить в БД. В ИЛМ отображаются не отдельные экземпляры объектов, а их классы.

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

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

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

При описании ПО в ИЛМ надо изобразить каждый из существующих классов объектов, указать набор свойств, требуемый в будущей системе для объектов данного класса, а также определить характер взаимосвязей между объектом и его свойствами и между различными объектами. Пример представления объекта “Курсант” в ИЛМ “Объект-Свойство-Отношение” показан на рис. 4.

Связь между объектом и его свойством может быть различной. Единичным называют свойство в том случае, если объект может обладать только одним

-29-

 

 
 

 

 


Рис. 14. Объект с составным свойством

 

Однако таким решением не следует злоупотреблять. Может случиться, что для каждого из этих объектов в дальнейшем потребуется отразить какие-то свои связи или в запросах часто требуется информация отдельно по каждому из объектов, то это может усложнить работу.

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

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


-28-

 
 

 


Рис. 13. Объект с условным свойством

 

4) Составное свойство может быть отображено в БД как в виде полного набора входящих в его состав свойств (поля С1, С2), так и одним полем, содержащим всю информацию (поле С) - рис.14. Во втором случае для поля можно выделить меньше пространства, чем в сумме для всех составляющих, однако поиск данных по такому полю проблематичен, а по его отдельным составляющим - невозможен.

 

II. Отображение связей между объектами.

5) Наличие между объектами связи типа 1:1 является довольно редкой ситуацией в реальной жизни. Если связь между объектами 1:1 и класс принадлежности обоих объектов является обязательным, то для отображения обоих объектов и связи между ними можно использовать одну таблицу. Такое решение потребует меньше всего памяти для реализации.

-17-

 
 

 

 


Рис. 4. Отображение объекта “Курсант” в ИЛМ

 

значением этого свойства. Например, каждый человек может иметь только одну дату рождения.

Если для свойства возможно существование одновременно нескольких значений у одного объекта - свойство называют множественным.

При изображении связи между объектом и его свойствами для единичных свойств используют обычную стрелку (®), а для множественных - двойную (®®).

Статическим называется свойство, значение которого не может изменяться с течением времени (обозначается буквой S над стрелкой).

Динамическим называется свойство, значение которого может изменяться со временем (обозначается буквой D).

Другой характеристикой связи между объектом и его свойством является признак того, присутствует ли это свойство у всех


-18-

 

объектов данного класса, либо отсутствует у некоторых объектов. Например: “Телефон”. Такие свойства называют условными, а связь изображается пунктирной линией.

Если свойства не имеют смысла друг без друга, их необходимо объединять в составное свойство. Например: “Адрес” состоит из свойств: “Страна”, “Город”, “Улица”, “Дом”, “Квартира”. На рис. 4 свойство “Телефон” состоит из свойств “Номер телефона” и “Комментарий”. На схеме изображается коротким сплошным прямоугольником с собственными свойствами. Особенно важно выделять составное свойство, если оно является либо множественным, либо условным. Потенциально составное свойство может быть выделено в отдельный объект.

Кроме связи между объектом и его свойствами в ИМЛ фиксируются связи между объектами разных классов. Различают связи 1:1, 1:М, М:1, М:М.

Связь “один к одному” (1:1) означает, что в любой момент времени каждому значению (экземпляру) объекта А соответствует одно и только одно значение связанного с ним экземпляра объекта В. Например: “Курсант” - “Зачетная книжка”.

Связь “один к многим” (1:М) означает, что любому значению объекта А может соответствовать более одного значения связанного с ним объекта В. Например: “Группа” - “Курсант”.

Связь “многие к многим” (М:М) указывает на то, что множеству значений объекта А соответствует несколько значений объекта В. Например: “Книга” – “Автор”. У книги может быть несколько авторов. В то же время в библиотеке может быть несколько книг одного автора.

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

 

-27-

       
 
Инфологическая конструкция Схемы таблиц
 
   

 

 


Рис. 12. Объект с единичными и множественными свойствами

 

3) Если между объектом и его свойством имеется условная связь, то при отображении в реляционную модель возможны следующие варианты (рис.13):

* если многие из объектов обладают рассматриваемым свойством, то его можно хранить в базе данных так же, как и обычное свойство;

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


-26-

 

лизе созданной на предыдущем этапе инфологической модели и переходе от нее к реляционным отношениям. Этот метод является достаточно простым и наглядным и в то же время дает хорошие результаты.

Для перехода от инфологической модели к реляционной даталогической можно воспользоваться следующими рекомендациями [1].

I. Отображение простых объектов и их свойств.

1) Для каждого простого объекта и всех его единичных свойств строится одна таблица, полями которой являются идентификаторы объекта (в примере И01) и все единичные свойства (С1, С2, С3) - рис. 11. При необходимости, в этом и других случаях в таблицу также может добавляться искусственный идентификатор (код).

 

 
 

 

 


Рис. 11. Объект с единичными свойствами

2) Если у объекта имеются множественные свойства, то для каждого из них создается отдельная таблица. Ключом каждой таблицы будет идентификатор соответствующего объекта, а неключевым атрибутом - соответствующее множественное свойство (рис. 12).

-19-

 

Рассмотрим несколько примеров.

Пример 1. Предметной областью является организация, некоторые сотрудники которой знают иностранный язык, но не один из них не владеет более чем одним языком. Естественно, что имеется много языков, которыми не владеет ни один из сотрудников, а также что некоторые из сотрудников владеют одним и тем же иностранным языком. В этом случае диаграмма связей объектов будет иметь вид, изображенный на рис. 5.

 
 

 

 


Рис. 5. Диаграмма связей между объектами (пример 1)

 

Пример 2. При создании базы данных приемной комиссии может быть поставлено условие: каждый абитуриент должен знать хотя бы один иностранный язык. На схеме ИЛМ это условие отображается как показано на рис. 6.

 
 

 

 


Рис. 6. Диаграмма связей между объектами (пример 2)

 

Как в первом, так и во втором рассмотренном примере между объектами наблюдается отношение 1:М. На диаграмме это отображено со стороны объекта “Абитуриент” двойной стрелкой, а со стороны


-20-

 

объекта “Язык иностранный” - одинарной стрелкой на линии, изображающей связь между объектами.

Пример 3. Если некоторые абитуриенты знают несколько иностранных языков, имеет место диаграмма, представленная на рис. 7. Связь между объектами будет иметь тип М:М.

 
 

 

 


Рис. 7. Диаграмма связей между объектами (пример 3)

 

Пример 4. Предметной областью является некоторый лингвистический институт, в котором каждый из сотрудников обязательно знает несколько иностранных языков, и по каждому из известных науке языков в этом институте имеется хотя бы один специалист, владеющий им. В этом случае связь между объектами будет М:М, и класс принадлежности обоих объектов является обязательным (рис. 8).

 
 

 

 


Рис. 8. Диаграмма связей между объектами (пример 4)

 

До сих пор мы рассматривали объекты, не вникая в их сложность. Различают простые и сложные объекты, причем эти понятия являются относительными. В одном рассмотрении объект может считаться простым, а в другом этот же объект может рассматриваться как сложный. Например, объект “стул” в подсистеме учета материальных ценностей будет рассматриваться как простой объект, а для пред-

-25-

 

стве случаев ключевым полем, т.е. полем, однозначно идентифицирующим запись. Однако в некоторых случаях необходимо вводить искусственный идентификатор (код). Это следующие случаи:

1. Если естественный идентификатор не обладает свойством уникальности (например, фамилия).

2. Если естественный идентификатор является длинным, то при установлении связей со многими таблицами лучше заменить его коротким кодом, так как в каждой связываемой таблице идентификатор (внешний ключ) необходимо повторять.

3. Если естественный идентификатор может изменяться со временем (например, фамилия), то в будущем его изменение вызовет проблемы, связанные с необходимостью корректировки множества таблиц, где это поле используется как внешний ключ.

 

Последнее изменение этой страницы: 2016-08-11

lectmania.ru. Все права принадлежат авторам данных материалов. В случае нарушения авторского права напишите нам сюда...