|
|||||||||||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
II. ОСНОВНАЯ ЧАСТЬ (»70 мин)
Модель данных «сущность-связь» (»35 мин)
Все этапы проектирования БД подразумевают создание моделей данных об интересующей предметной области. Моделирование данных упрощает понимание смысла элементов данных, способствует более плодотворному общению пользователей и разработчиков. Исходя из важности адекватного отображения предметной области, к моделям данных предъявляют ряд требований, и выдвигают комплекс критериев для оценки их эффективности (оптимальности) (высвечиваю табл.4.1). Инфологическое (концептуальное) проектирование – процесс создания внешней (инфологической) модели данных о предметной области, не зависящее от любых физических аспектов ее представления. Таблица 4.1
На этом этапе используется информация, объединяющая требования пользователей. Инфологическое проектирование базы данных не зависит от таких подробностей ее реализации, как тип выбранной СУБД, набор создаваемых прикладных программ, используемые языки программирования, тип вычислительной системы и т.п. При разработке инфологическая модель постоянно подвергается критической оценке, проверке на соответствие требованиям пользователей, и при необходимости модифицируется. От качества созданной инфологической модели в определяющей степени зависит эффективность конечной базы данных. Цель инфологического моделирования – обеспечение наиболее естественных для человека способов сбора и представления той информации, которую предполагается хранить в создаваемой базе данных. Поэтому инфологическую модель данных пытаются строить на доступном широкому кругу пользователей и разработчиков языке. Известны следующие средства создания внешних моделей: - семантические сети; - язык инфологического моделирования; - ER-диаграммы. Наибольшую популярность из-за доступности, наглядности и компактности приобрел подход моделирования «сущность-связь». Модель «сущность-связь» (Entity-Relationship model) разработана Ченом в 1976 году с целью упрощения концептуального проектирования баз данных. Основными элементами этой модели являются: - сущности; - атрибуты; - связи. Сущность представляет собой различимое множество объектов (экземпляров сущности) реального мира с одинаковым набором атрибутов. Сущность идентифицируется именем и списком свойств (атрибутов). База данных о сколько-нибудь значительной предметной области содержит много (несколько) сущностей. Каждый экземпляр сущности обладает уникальным набором значений атрибутов. На ER-диаграммах сущность представляется прямоугольником с именем сущности внутри. Атрибут – неотъемлемое свойство сущности или связи. Именно по значениям атрибутов можно идентифицировать экземпляр сущности. Значения атрибутов представляют основную часть сведений, хранящихся в БД. На ER-диаграммах атрибут представляется овалом (эллипсом), соединенным с соответствующей сущностью линией и с именем атрибута внутри. С понятием атрибута тесно связано понятие домена. Домен – множество значений, которые может принимать атрибут. Разработчика не должен удивлять тот факт, что домены могут быть бесконечными (хотя и перечислимыми) множествами. Атрибуты делятся на: - простые; - составные; - однозначные; - многозначные; - производные. Простой атрибут состоит из одного компонента с независимым существованием. Составной атрибут состоит из нескольких компонентов, каждый из которых характеризуется независимым существованием. Однозначный атрибут содержит одно значение для одного экземпляра сущности. Многозначный атрибут может содержать несколько значений для одного экземпляра сущности. Производный атрибут представляет значение, производное (вычисляемое) от значения связанного с ним атрибута или некоторого множества атрибутов, принадлежащих некоторой сущности. Вопрос однозначной идентификации экземпляров сущности связан с понятием ключа. Ключ – минимальный набор атрибутов, по значениям которых можно идентифицировать экземпляр сущности. В наборе атрибутов сущности можно выделить несколько потенциальных ключей. Потенциальный ключ, используемый реально для идентификации экземпляров сущности называется первичным ключом. На ER-диаграммах имена атрибутов, выбранных в качестве первичного ключа, подчеркиваются. Суперключом называется набор атрибутов, содержащий ключ. Ассоциирование двух или более сущностей называется связью. Связи, также как и сущности и атрибуты идентифицируют именем. На ER-диаграммах связь изображается в виде ромба или шестиугольника, помеченного соответствующим именем. Соединение с ассоциированными сущностями производится линиями. Пример ER-диаграммы с обозначениями сущностей, их атрибутов и связей представлен на рис.4.1. Степень связи – количество сущностей, которые охвачены данной связью. Рис.4.1. Пример ER-диаграммы
Если связь определена между двумя сущностями, то ее степень – 2, а называется такая связь бинарной. Связь между тремя сущностями называется тернарной, четырьмя сущностями – кватернарной и т.д. В общем случае связь между n сущностями называется n -арной. Примеры различных связей представлены на рис.4.2. Рекурсивная связь – связь, в которой одни и те же сущности участвуют несколько раз в разных ролях. Рекурсивная связь часто называют унарной. Пример такой связи представлен на рис.4.2, г. В приведенном примере каждый студент из сущности КУРСАНТ может исполнять обязанности дежурного по отношению к другим студентам той же сущности. При построении инфологической модели, на сущности – участницы некоторых связей могут накладываться ограничения, отражающие семантику предметной области. С этими ограничениями связано понятие показателя кардинальности связи. Показатель кардинальности указывает количественное соотношение экземпляров сущностей для каждой связи. Классическими признаны бинарные связи с показателями кардинальности «ОДИН-К-ОДНОМУ», «ОДИН-КО-МНОГИМ», «МНОГИЕ-КО-МНОГИМ». Рис.4.2. Примеры связей: а) – бинарной; б) – тернарной; в) – кватернарной; г) – унарной (рекурсивной)
Пусть в предметной области выделены сущности А и В. 1. Связь ОДИН-К-ОДНОМУ (1:1): в каждый момент времени каждому экземпляру сущности А соответствует не более одного экземпляра сущности В (рис.4.3). Рис.4.3. Связь ОДИН-К-ОДНОМУ
Декан осуществляет свою деятельность на одном факультете вуза. 2. Связь ОДИН-КО-МНОГИМ (1:М): каждому экземпляру сущности А соответствуют 0, 1 или несколько представителей сущности В (рис.4.4). Рис.4.4. Связь ОДИН-КО-МНОГИМ
В квартире может проживать несколько жильцов. 3. Связь МНОГИЕ-КО-МНОГИМ (М:N): каждому экземпляру сущности А соответствуют 0, 1 или несколько представителей сущности В, каждому экземпляру сущности В соответствуют 0, 1 или несколько представителей сущности А (рис.4.5). Рис.4.5. Связь МНОГИЕ-КО-МНОГИМ
Процесс обучения осуществляется множеством преподавателей с множеством студентов. Пример 4.1. Если связь между сущностями МУЖЧИНЫ и ЖЕНЩИНЫ называется БРАК, то существует четыре возможных представления такой связи (рис.4.6). Рис.4.6. Примеры связи БРАК между сущностями МУЖЧИНЫ и ЖЕНЩИНЫ
Характер связей между сущностями может оказаться более сложным (рис.4.7). Рис.4.7. Пример множества связей между сущностями ПРЕПОДАВАТЕЛЬ и КУРСАНТ В приведенных примерах для повышения иллюстративности рассматриваемых связей не показаны атрибуты сущностей и ассоциаций во всех ER-диаграммах. Так, ввод лишь нескольких основных атрибутов в описание значительно усложняет ER-диаграмму. В связи с этим язык ER-диаграмм используется для построении небольших моделей и иллюстрации отдельных фрагментов больших. Для представления полных инфологических моделей предметной области применяется менее наглядный, но более содержательный язык инфологического моделирования (ЯИМ), в котором сущности и ассоциации представляются предложениями вида:
СУЩНОСТЬ (атрибут 1, атрибут 2,..., атрибут n) Связь [СУЩНОСТЬ S1, СУЩНОСТЬ S2,...] (атрибут 1, атрибут 2,..., атрибут n),
где S – степень связи, а атрибуты, входящие в ключ, должны быть отмечены с помощью подчеркивания. Так, рассмотренный выше пример множества связей между сущностями, может быть описан на ЯИМ следующим образом.
ПРЕПОДАВАТЕЛЬ (УслНомерП, Фамилия, Имя, Отчество, УчСтепень) КУРСАНТ (УслНомерК, Фамилия, Имя, Отчество, Адрес, Специальность, Пол) Лектор [ПРЕПОДАВАТЕЛЬ 1, КУРСАНТ M] (УслНомерП, УслНомерК) Консультант [ПРЕПОДАВАТЕЛЬ N, КУРСАНТ Р] (УслНомерП, УслНомерК).
Для определения связей между сущностями необходимо, как минимум, выделить в интересующей предметной области сами сущности. Но это непростая задача, так как в разных предметных областях один и тот же объект может быть сущностью, атрибутом или связью. Один из активных разработчиков реляционной модели К.Дейт выделил три основные класса сущностей: стержневые, ассоциативные и характеристические, а также подкласс ассоциативных сущностей – обозначения. Стержневая сущность (стержень) – это независимая сущность. В рассмотренных ранее примерах стержни – это КУРСАНТ, КАЗАРМА, МУЖЧИНА, ПРЕПОДАВАТЕЛЬ, и другие, названия которых помещены в прямоугольники. Ассоциативная сущность (ассоциация) – это связь вида МНОГИЕ-КО-МНОГИМ (-КО-МНОГИМ и т.д.) между двумя или более сущностями или экземплярами сущности. Ассоциации рассматриваются как полноправные сущности: - могут участвовать в других ассоциациях и обозначениях точно так же, как стержневые сущности; - могут обладать свойствами, т.е. иметь не только набор ключевых атрибутов, необходимых для указания связей, но и любое число других атрибутов, характеризующих связь. Характеристическая сущность (характеристика) – это связь вида МНОГИЕ-К-ОДНОМУ или ОДИН-К-ОДНОМУ между двумя сущностями (частный случай ассоциации). Единственная цель характеристики в рамках рассматриваемой предметной области состоит в описании или уточнении некоторой другой сущности. Необходимость в них возникает в связи с тем, что сущности реального мира имеют иногда многозначные свойства. Муж может иметь несколько жен (пример 4.1), книга – несколько характеристик переиздания (исправленное, дополненное, переработанное,...) и т.д. Существование характеристики полностью зависит от характеризуемой сущности: женщины лишаются статуса жен, если умирает их муж. Для описания характеристики используется новое предложение ЯИМ, имеющее в общем случае вид:
ХАРАКТЕРИСТИКА (атрибут 1, атрибут 2,...) {СПИСОК ХАРАКТЕРИЗУЕМЫХ СУЩНОСТЕЙ}.
Часто используют расширенный язык ЕER-диаграмм (Enhanced ER-диаграммы), в котором для изображения характеристики используют трапецию (рис.4.8).
Рис.4.8. Элементы расширенного языка ER-диаграмм
Обозначающая сущность или обозначение – это связь вида МНОГИЕ-К-ОДНОМУ или ОДИН-К-ОДНОМУ между двумя сущностями и отличается от характеристики тем, что не зависит от обозначаемой сущности. Обозначения используют для хранения повторяющихся значений больших текстовых атрибутов: кодификаторов изучаемых студентами дисциплин, наименований организаций и их отделов, перечней товаров и т.п. Описание обозначения внешне отличается от описания характеристики только тем, что обозначаемые сущности заключается не в фигурные скобки, а в квадратные:
ОБОЗНАЧЕНИЕ (атрибут 1, атрибут 2,...)[СПИСОК ОБОЗНАЧАЕМЫХ СУЩНОСТЕЙ].
Обозначения и характеристики не являются полностью независимыми сущностями, поскольку они предполагают наличие некоторой другой сущности, которая будет «обозначаться» или «характеризоваться». Однако они все же представляют собой частные случаи сущности и могут, конечно, иметь свойства, могут участвовать в ассоциациях, обозначениях и иметь свои собственные (более низкого уровня) характеристики. Все экземпляры характеристики должны быть обязательно связаны с каким-либо экземпляром характеризуемой сущности. Однако допускается, чтобы некоторые экземпляры характеризуемой сущности не имели связей. Правда, если это касается браков, то сущность «Мужья» должна быть заменена сущностью «Мужчины» (нет мужа без жены). Теперь можно переопределить стержневую сущность как сущность, которая не является ни ассоциацией, ни обозначением, ни характеристикой. Такие сущности имеют независимое существование.
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.012 сек.) |