Семантический анализ предметной области
Предметная область - часть реального мира, подлежащая изучению с целью организации управления и, в конечном счете, автоматизации. Предметная область представляется множеством фрагментов, например, предприятие - цехами, дирекцией, бухгалтерией и т.д. Каждый фрагмент предметной области характеризуется множеством объектов и процессов, использующих объекты, а также множеством пользователей, характеризуемых различными взглядами на предметную область.
3.1.1 Трехуровневая модель ANSI/SPARC
В процессе проектирования базы данных рекомендуется использовать трехуровневую схему описания данных (так называемая трехуровневая модель ANSI/SPARC). Проект трехуровневой модели был выдвинут в 1975 году подкомитетом SPARC (Standards Planning and Requirements Committee) ANSI и имел целью выделить 3 уровня описания данных предметной области, различающихся степенью абстракции (рис.3.1).
:
Рис.3.1 – Модель ANSI/SPARC
Внешнее представление (внешняя схема) данных является совокупностью требований к данным со стороны некоторой конкретной функции, выполняемой пользователем. Поскольку пользователей много и их представления о данных предметной области существенно различаются, в процессе анализа предметной области может быть сформировано несколько внешних схем (допустим, данные, которые требуются для сотрудников бухгалтерии, отдела кадров, планово-финансового отдела и т.д.).
Концептуальная схема является полной совокупностью всех требований к данным, полученной из пользовательских представлений о реальном мире. Концептуальная схема описывает все элементы данных и связи между ними, с указанием необходимых ограничений поддержки целостности данных. Для каждой базы данных имеется только одна концептуальная схема. В процессе разработки это схема проектировщика базы данных, в процессе сопровождения системы – это представление администратора базы данных (АБД).
Важно отметить, что внешние схемы и концептуальная схема относятся к логическому уровню представления базы данных, т.е. не учитывают особенностей СУБД, которая используется для создания и поддержки БД – имена типов данных, принятых в СУБД, физические имена файлов, способ хранения данных и.т.д. В связи с этим трудно провести четкую грань между двумя понятиями, применяемыми в теории проектирования баз данных – концептуальная схема и логическая схема. Будем считать, что концептуальная схема базы данных – это схема логического уровня, которая содержит полное описание данных предметной области и связей между ними. Все внешние схемы могут быть выведены из концептуальной, но процесс проектирования начинается с внешних схем, поскольку каждый из пользователей владеет только частью информации о предметной области.
Внутренняя схема – это уровень разработчиков СУБД и, частично, АБД и системного администратора. Внутренний уровень описывает физическую реализацию базы данных и предназначен для достижения оптимальной производительности, обеспечения экономного использования дискового пространства, организации мероприятий по защите данных. Он содержит детальное описание структур данных и физической организации файлов с данными, описание вспомогательных структур (индексов), используемых для ускорения поиска, сведения о распределении дискового пространства для хранения данных и индексов, сведения о сжатии данных и выбранных методах их шифрования и т.д. В настоящее время производители СУБД предоставляют АБД довольно много информации о физической организации базы данных, поскольку уровень развития СУБД еще не настолько высок, чтобы все настройки, необходимые для оптимального функционирования базы данных, можно было выполнить автоматически.
Как показывает изучение трехуровневой архитектуры БД, концептуальная схема является самым важным уровнем представления базы данных. Она поддерживает все внешние представления, а сама поддерживается средствами внутренней схемы. Внутренняя схема является всего лишь физическим воплощением концептуальной схемы. Именно концептуальная схема призвана быть полным и точным представлением требований к данным в рамках некоторой предметной области.
Процесс разработки концептуальной схемы БД требует глубокого анализа семантической информации о предметной области. Этот начальный этап проектирования получил название семантического анализа предметной области. В результате анализа должны быть определены все элементы данных предметной области в контексте их взаимосвязи с другими данными.
3.1.2 Диаграммы «сущность - связь»
Удобным средством представления концептуальной схемы БД являются диаграммы «сущность - связь» (entity – relationship diagram, сокращенно ERD). Диаграмма «сущность-связь» была предложена в 1976 г. Питером Пин-Шэн Ченом, русский перевод его статьи «Модель "сущность-связь" - шаг к единому представлению данных» опубликован в журнале «СУБД» N 3 за 1995 г.
Важным для нас является тот факт, что из диаграммы «сущность-связь» могут быть порождены все существующие модели данных (иерархическая, сетевая, реляционная, объектная), поэтому она является наиболее общей. Следует отметить, что современные стандартные способы (нотации) для представления диаграмм «сущность - связь» ближе всего к реляционной модели, а программное обеспечение для моделирования данных обеспечивает автоматическое формирование физической схемы и SQL-сценария создания БД для распространенных реляционных СУБД.
Для пояснения основных принципов построения диаграмм «сущность - связь» будем пользоваться обозначениями, предложенными автором идеи П.Ченом, для обозначения характеристик связей между сущностями воспользуемся обозначениями, предложенными Мартиным.
Далее в примерах диаграмм «сущность - связь» будем использовать международный стандарт IDEF1X.
Элементы диаграммы «сущность - связь»
Любой фрагмент предметной области может быть представлен как множество сущностей, между которыми существует некоторое множество связей. Дадим определения:
Сущность - это объект, который может быть идентифицирован неким способом, отличающим его от других объектов. Сущность имеет множество поименованных свойств (атрибутов) и существует во множестве экземпляров.
Например, выделим несколько сущностей в предметной области Предприятие: Подразделения (атрибуты название, руководитель), Сотрудники (атрибуты личный код, ФИО), Дети сотрудников (атрибуты имя, дата рождения), Проекты с участием сотрудников (атрибут Название).
В нотации П.Чена сущность обозначается прямоугольником, а атрибуты – овалом (рис.3.2).
Рис. 3.2 – обозначения для сущностей и атрибутов
Связь - это ассоциация, установленная между двумя или несколькими сущностями. Особенно часто встречаются бинарные связи, т.е. связи между двумя сущностями.
Роль сущности в связи - функция, которую выполняет сущность в данной связи. Обычно роль обозначается глаголом. Например, в связи Сотрудники-Дети сущности сотрудники исполняют роль «является родителем», а дети – «является ребенком». Указание ролей в модели «сущность-связь» не является обязательным и служит для уточнения семантики связи.
Роль сущности в связи в нотации Чена изображается в виде ромба на линии связи. Число экземпляров сущностей, которое может быть ассоциировано через набор связей с экземплярами другой сущности, называют мощностью связи.
Могут существовать следующие мощности бинарных связей.
Связь один к одному (обозначается 1 : 1 )
Это означает, что в такой связи каждому экземпляру одной сущности всегда соответствует не более одного экземпляра связанной сущности. Так, для сущностей Подразделения и Сотрудники это связь «руководит», поскольку в каждом подразделении может быть только один начальник, а сотрудник может руководить только одним подразделением. Данный факт представлен на следующем рисунке, где прямоугольники обозначают сущности, а ромб - связь. Так как степень связи для каждой сущности равна 1, то они соединяются одной линией (Рис.3.3).
Рис. 3.3 – связь один к одному между сущностями
Поясним смысл специальных обозначений (вертикальная линия и овал) на линии связи. Они характеризуют класс принадлежности входящих в связь сущностей. Так как в каждом подразделении обязательно должен быть руководитель, то каждому экземпляру сущности Подразделения непременно должен соответствовать экземпляр сущности Сотрудники. Однако, не каждый сотрудник является руководителем отдела, следовательно в данной связи не каждый экземпляр сущности Сотрудники имеет связанный экземпляр сущности Подразделения.
Таким образом, сущность Сотрудники имеет обязательный класс принадлежности (этот факт обозначается вертикальной линией), а сущность Подразделения имеет необязательный класс принадлежности (обозначается овалом).
Связь один ко многим ( 1 : М )
В данном случае экземпляру сущности может соответствовать любое число экземпляров другой сущности. Такова связь Подразделения – Сотрудники, при условии, что каждый сотрудник может работать только в одном подразделении (на рис. 3.4 показаны две различных связи между Сотрудниками и Подразделениями).
Рис. 3.4 - Связи между сущностями Сотрудники и Подразделения
Данный рисунок дополнительно иллюстрирует тот факт, что между двумя сущностями может быть определено несколько связей. Здесь также необходимо учитывать класс принадлежности сущностей. Каждый сотрудник должен работать в каком-либо отделе, но не каждый отдел (например, вновь сформированный) должен включать хотя бы одного сотрудника. Поэтому сущность Подразделения имеет обязательный, а сущность Сотрудники необязательный классы принадлежности.
Связь много к одному (М : 1 ) Эта связь аналогична отображению 1 :М.
Связь многие ко многим ( М :М ) В этом случае каждая из связанных сущностей может быть представлена любым количеством экземпляров. Пусть сотрудники на рассматриваемом нами предприятии в процессе своей трудовой деятельности участвуют в различных проектах. Поскольку каждый сотрудник может участвовать в нескольких (в том числе и ни в одном) проектах, а каждый проект может выполняться сразу целой группой сотрудников, то связь между сущностями Сотрудники и Проекты имеет степень М : М (рис.3.5).
Рис.3.5 – связь М:М между Сотрудниками и Проектами
В заключение приведем небольшой фрагмент диаграммы «сущность - связь» для проанализированных сущностей предметной области Предприятие в нотации П.Чена (с дополнениями Мартина). Он соответствует рассмотренным выше бизнес-правилам предприятия.
Рис.3.6 – фрагмент диаграммы «сущность - связь»
Безусловно, реальная подсистема учета персонала предприятия требует анализа еще очень многих сущностей и связей.
Дата добавления: 2015-08-26; просмотров: 4080;