Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

10

.pdf
Скачиваний:
12
Добавлен:
10.02.2015
Размер:
1.75 Mб
Скачать

Моделированиеданных

Однойизосновныхчастей

информационногообеспечения

является информационная

база. Какбылопределеновыше(см. лекцию9),информационнаябаза(ИБ)представляет

 

собойсовокупностьданных, организованнуюопределеннымспособомихранимуювпамяти

 

 

вычислительнойсистемыввидефайлов, спомощьюкоторыхудовлетворяются

 

 

 

информационныепотребностиуправленческихпроцессовирешаемыхзадач. РазработкаБД

 

 

выполняетсяпомощьюмоделированияданных.

Цельмоделированияданных

состоитв

обеспеченииразработчикаИСконцептуальнойсхемойбазыданныхвформеодноймоделиили

 

 

несколькихлокальныхмоделей, которыеотносительнолегкомогутбытьотображенывлюбую

 

системубазданных. Наиболеераспространенным

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

данных

являются диаграммы"сущность-связь"

 

(ERD)С.помощьюERDосуществляетсядетализация

накопителейданныхDFDдиаграммы– , такжедокументируютсяинформационныеаспекты

 

 

бизнес-системы, включаяидентификациюобъектов, важныхдляпредметнойобласти

 

 

( сущностей ),свойствэтихобъектов(

атрибутов )иих

связей сдругимиобъектами

(отношений).

 

 

 

 

 

 

 

 

 

БазовыепонятияERD

 

 

 

 

 

 

 

 

Сущность (Entity)множество— экземпляреальныховилиабстрактныхобъектов(людей,

 

событий, состоян,идей, предметовидр.),обладающихобщими

 

 

атрибутами или

характеристиками. Любойобъектсистемыможетбытьпредставлентолькоодной

 

 

сущностью,

котораядолжнабытьуникальноидентифицирована. Приэтомимя

 

 

сущности должноотражать

типиликлассобъекта, неегоконкретныйэкземпляр(например, АЭРОПОРТ, анеВНУКОВО).

 

Каждая сущность должнаобладатьуникальным

идентификатором. Каждыйэкземпляр

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

 

данного типасущности . Каждая сущность должнаобладатьнекоторымисвойствами:

 

• иметь

уникальноеимя ; к

одному

и тому

же

имени должна

всегда применять

 

жеинтерпретация;однаитажеинтерпретациянеможетприменятьсякразличным

 

 

 

именам, еслитолькоонинеявляютсяпсевдонимами;

 

 

 

 

иметь

один

или

несколькоатрибутов, которыелибопринадлежат

сущности, либо

 

наследуютсячерез

связь ;

 

 

 

 

 

 

иметь

один

или

несколькоатрибутов, которыеоднозначноидентифицируюткаждый

 

 

экземпляр сущности.

 

 

 

 

 

 

Каждая сущность можетобладатьлюбымколичеством

связей сдругими сущностями модели.

Связь (Relationship)поименованная— ассоциациямеждудвумя

 

 

сущностями, значимаядля

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

Связь —этоассоциациямежду

сущностями, при

которойкаждыйэкземпляродной

 

сущности ассоциированпроизвольным( томчисле

 

нулевым)количествомэкземпляроввторой

 

сущности, инаоборот.

 

 

Атрибут (Attribute)любаяхарактеристика—

сущности, значимаядлярассматриваемой

предметнойобластипредназначеннаядляквалификации, идентификации, классификации,

 

количественнойхарактеристикииливыражениясостояния

 

 

сущности . Атрибут представляет

типхарактеристикилисвойств, ассоциированныхмножествомреальныхилиабстрактных

 

 

объектов(людей, мест, событий, состоян,идей, предметови .д.).Экземпляр

 

 

атрибута

этоопределеннаяхарактеристикаотдельногоэлементамножества.

 

 

Экземпляр атрибута

определяетсятипомхарактеристикиеезначением, называемым

 

 

значением атрибута. На

диаграмме"сущность-связь"

атрибуты ассоциируютсяконкретными

сущностями. Таким

образом, экземпляр

сущности долженобладатьединственнымопределеннымзначениемдля

 

ассоциированного атрибута.

МетодIDEFI

НаиболеераспространеннымиметодамидляпостроенияERDдиаграммявляютсяметод БаркераиметодIDEFI.

МетодБаркераоснованнанотации, предложеннойавтором, ииспользуетсяв caseсредствеOracle Designer.

МетодIDEFI основаннаподходеЧ наипозволяетпостроить модельданных , эквивалентную реляционнмоделийвтретьейнормальнойформе. НаосновесовершенствованияметодаIDEFI созданаегоноваяверсия—методIDEFIX,разработанныйсучетомтакихтребований, как простотадляизученивозможностьяавтоматизации. IDEFIXдиаграммыиспользуютсявряде распространенныхCASEсредств- ( частности, ERwin, Design/IDEF).

ВметодеIDEFIX сущность являетсянезависимойотидентификаторовилипростонезависимой, есликаждыйэкземпляр сущности можетбытьоднозначноидентифицированбезопределения егоотношенийсдругими сущностями. Сущность называетсязависимойотидентификаторов илипростозависимой, еслиоднозначнаяидентификацияэкземпляра сущности зависито его отношениякдругой сущности (рис. 10.1 , 10.2).

Рис. 10.1. Независимыеотидентификациисущности

Рис. 10.2. Зависимыеотидентификациисущности

 

 

 

 

 

Каждой сущности присваиваютсяуникальныеимяиномер, азделяемыекосойчертой

 

 

"/" и

помещаемыенадблоком.

 

 

 

 

 

 

Связь можетдополнительноопределятьсяпомощьюуказаниястепениилимощности

 

 

 

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

 

 

 

сущности-родителя).В IDEFIXмогутбытьвыраженыследующие

 

мощностисвязей

:

каждый

экземпляр сущности-

родителя может

иметь

ноль ,

один

или

более одного

 

связанногонимэкземплярасущности-потомка;

 

 

 

 

 

каждый

экземпляр сущности-

родителя должен

иметь

не

менее

одного связанного с

 

экземплярасущности-потомка;

 

 

 

 

 

 

каждый

экземпляр сущности-

родителя должен

иметь

не

более

одного

связанного с

 

экземплярасущности-потомка;

 

 

 

 

 

 

каждый

экземпляр сущности-

родителя связан

с некоторым фиксированнымчислом

 

экземпляровсущности-потомка.

 

 

 

 

 

 

Еслиэкземплярсущности-потомкаоднозначноопределяетсясвоей

 

 

связью ссущностью-

родителем, то

связь называетсяидентифицирующей, впротивномслучае—

 

 

 

 

неидентифицирующей.

Связь изображаетсялинией, проводимойеждусущностью-родителемсущностью-потомком,

сточкойнаконцелинииусущности-потомка(

рис. 10.3 ). Мощносвязейть

можетпринимать

 

 

 

 

следующиезначения: N —ноль, одинилиболее, Z —нольилиодин, Р —одинилиболее. По

 

умолчанию мощностьсвязей

принимаетсяравнойN.

 

 

 

 

Рис. 10.3. Графическоеизображениемощностисвязи

 

 

 

 

 

 

 

Идентифицирующая связь междусущностью-родителемсущностью-потомкомизображается

 

сплошнойлинией. Сущность-потомоквидентифицирующей

 

связи являетсязависимойот

 

идентификатора сущностью. Сущность-родительвидентифицирующей

 

связи можетбытькак

независимой, такизависимойотидентификатора

 

сущностью (этоопределяетсяе

связями с

другими сущностями ).

 

 

 

 

 

 

 

 

 

 

 

Пунктирнаялинияизображанеидентифицирующую

 

 

связь (рис. 10.4 ).Сущность-потомокв

 

 

 

 

 

 

 

 

неидентифицирующей связи будетнезависимойотидентификатора, еслионанеявляется

 

такжесущностью-потомкомвкакой-либоидентифицирующей

 

 

связи.

 

Атрибуты изображаютсяввидеспискаименвнутриблока

 

 

сущности. Атрибуты, определяющие

первичныйключ

, размещаютсянаверхуспискаотделяютсядругих

 

атрибутов

 

горизонтальнойчертой(

рис. 10.4 ).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сущности могутиметьтакже

 

внешниеключи

(Foreign Key),которыемогутиспользоваться

 

качествечастилицелого

 

первичногоключа

илинеключевого

атрибута. Дляобозначения

внешнегоключавнутрьблока

 

 

сущности помещаютимена

атрибутов, послекоторыхследуют

буквыFKвскобках(

рис. 10.4 ).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 10.4. Неидентифицирующаясвязь

ОтображениемоделиданныхвинструментальномсредствеERwin

ERwinимеетдвауровня представления модели—логическийфизический.

Логическийуровень—этоабстрактныйвзгляднаданные,когдаданные

 

представляютсятак,каквыглядятреальноммире

, имогутназыватьсятак, какони

называютсяреальноммире, например"Постоянныйклиент", Отдел" "или"Фамилия

сотрудника".Объектымодели, представляемыеналогическомуровне, называются

сущностями и атрибутами. Логическаямодельданных можетбытьпостроенаосноведругой логическоймодели, напримеросновемоделипроцессов. Логическаямодельданных являетсяуниверсальникакойнесвязанаконкретнойреализациейСУБД.

Физическаямодельданных

, напротив,

зависито конкретнойСУБД,фактическиявляясь

отображенсистемногокаталога

. Вфизическмойделисодержитсяинформацияобо

всехобъектахБД. ПосколькустандартовнаобъектыБДнесуществует(например, нет

стандартанатипыданных),физическаямодельзависито конкретнойреализацииСУБД.

Следовательно, однойитойжелогическоймоделимогутсоответствоватьнесколькоразных

физическихмоделей. Есливлогическоймоделинеимеетзначения, какойконкретнотип

данныхимеет атрибут, товфизическмойделиважноописатьвсюинформациюконкретных

физическихобъектах—таблицах, колонках,

индексах, процедурахит. .

Документированиемодели

МногиеСУБДимеютограниченаименованиеобъектов(например, ограниченаиедлину именитаблицыилизапретиспользованияспециальныхсимволов—пробелаит. п.).Зачастую разработчикиИСимеютделоснелокализованнымиверсиямиСУБД. Этоозначает, ообъекты БДмогутназыватьсякороткимисловами, тольколатинскимисимволамибезиспользования специальныхсимволов(т. е. нельзяназватаблицуь, используяпредложение— можно назватолькооднимсловом).Крометого, проектировщикиБДнередкозлоупотребляют "техническими"на менованиями, результатетаблицаколонкиполучаютнаименования

типа RTD_324 или CUST_A12 ит.д. Полученнуюврезультаструктуруемогутпонятолько специалисты( чащевсего—толькоавторымодели),ееневозможнообсуждатьэкспертами предметнойобласти. Разделениемоделиналогическуюфизическуюпозволяетрешитьэту проблему. НафизическомуровнеобъектыБДмогутназыватьсятак, кактоготребуют ограниченияСУБД. Налогическомуровнеможноэтимобъектамдатьсинонимы—именаболее понятныенеспециалис, втамочисленакириллицесиспользованиециальныхм

символов. Например, таблице CUST_A12 можетсоответствовать сущность Постоянный клиент. Такоесоответствиепозволяетлучшедокументироватьмодельидаетвозможность обсуждатьруктуруданныхсэкспертамипредметнойобласти.

Масштабирование

 

 

 

 

 

 

Создание моделиданных

, какправило, начинаетсяразработкилогическоймодели. После

описаниялогическоймоделипроектировщикможетвыбратьнеобходимуюСУБД, и ERwin

 

автоматическисоздасоответствующуюфизическуюмодель. Наосновефизическмойдели

 

ERwinможетсгенерироватьсистемныйкаталогСУБДилисоответствующийSQLскрипт- . Этот

 

процессназывается прямымпроектированием (Forward Engineering)Темсамымдостигается.

масштабируемость—создаводну

логическуюмодельданных

, можносгенерировать

физическиемоделиподлюбуюподдерживаемуюERwinСУБД. Сдругойстороны, ERwin

 

 

способенсодержимомусистемногокаталогаилиSQLскриптувоссоздатьфизическую

 

логическуюмодельданных

(Reverse Engineering)Наоснове.полученной

логическоймодели

данных можносгенерироватьфизическуюмодельдлядругойСУБДизатемсоздатьее

 

 

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

 

данныхсодногосерверан другой. Например, можноперенеструктуруиданныхс Oracleна

 

Informixили(наоборот)илиперенеструктуруиdbfфайловреляционнуюСУБД, темсамым

 

облегчивпереходтфайл-сервернойкклиент-сервернойИС. Однако, формальныйперенос

 

структуры"плоских"таблицнареляционнуюСУБДобычнеэффективено. Длятогочтобы

 

извлечьвыгодыотпереходан клиент-сервернуютехнологию, структуруданныхследует

 

модифицировать.

 

 

 

 

 

 

Дляпереключениямеждулогической

физическмойдельюданных

служитсписоквыбора

центральнойчастипанелиинструментовERwin (

рис. 10.5 ).

 

 

 

 

 

 

 

 

 

Еслиприпереключенфизическмойделиещенесуществует, онабудетсоздана автоматически.

Рис. 10.5. Переключениемеждулогическойфизическмойделью

ИнтерфейсERwinУровни. отображениямодели

ИнтерфейсвыполненстилеWindowsприложений- , достаточнопростиинтуитивнопонятен. РассмотримкраткоосновныефункцииERwinпоотображениюмодели.

Каждомууровнюотображениямоделисоответствуетсвояпалитраинструментов. На

 

 

 

 

логическомуровне

палитраинструментовимеетследующиекнопки:

 

 

 

 

кнопку

указателя( режим

мыши) — в этом

режиме

можно установить фокус на к

 

либобъектемодели;

 

 

 

 

 

 

 

кнопку

внесения сущности ;

 

 

 

 

 

 

кнопку

категории( категория, или

категориальнаясвязь, —специальныйтип

 

связи между

 

сущностями, котораябудетрассмотренаниже);

 

 

 

 

 

кнопку

внесения текстового блока;

 

 

 

 

 

 

кнопку

перенесения атрибутов внутри сущностей имеждуними;

 

 

 

кнопки

создания связей:идентифицирующую, "многие-ко-многим"

 

 

 

 

 

неидентифицирующую.

 

 

 

 

 

 

 

На физическомуровне

палитраинструментовимеет:

 

 

 

 

 

вместо

кнопки

категорий— кнопку

внесенияпредставлений (view);

 

 

 

вместо

кнопки связи "многие-ко-многим" —кнопку

связей представлений.

Длясоздания

моделейданных

в ERwinможноиспользоватьдвенотации: IDEFIXи IE

 

 

 

(Information Engineering)Вдальнейшем. будетрассматриватьсянотацияIDEFIX.

 

 

 

 

ERwinимеетнесколькоуровнейотображендиаграммыя:уровень

 

сущностей, уровень

атрибутов, уровеньопределений, уровень

первичныхключей

иуровеньиконок.

 

 

 

Переключитьсямеждупервымитремяуровняможноисиспользованиемкнопокпанели

 

 

 

 

инструментов. Переключитьсянадругиеуровниотображенияможноприпомощиконтекстного

 

 

 

меню, котороепоявляется, если"кликнуть"полюбоместудиаграммы, незанятому

 

 

 

 

объектамодели. ВконтекстномменюследуетвыбратьпунктDisplay Level (

 

рис. 10.6

затем—необходимыйуровеньотображения.

 

 

 

 

 

 

Рис. 10.6. Выборуровнейотображендиаграммыя

Созданиелогическоймоделиданных

Уровнилогическоймодели

Различаюттриуровнялогическоймодели, отличающихсяпоглубине

 

 

представления

информацииданных:

 

 

 

 

 

 

 

 

• диаграмма сущность-

связь (Entity Relationship Diagram, ERD);

 

• модель данных, основаннаключахя

(Key Based model, KB);

 

• полная атрибутивнаямодель (Fully Attributed model, FA).

 

 

Диаграммасущность-связь

 

представляетсобой

модельданных верхнегоуровня. Она

включает сущности ивзаимосвязи, отражающиеосновныебизнес-правилапредметной

 

области. Такаядиаграмманеслишкомдетализиро,вананеевключаютосновныея

 

сущности

и связи междуними, которыеудовлетворяютосновнымтребованиям, предъявляемымкИС.

 

Диаграммасущность-связь

можетвключать связи "многие-ко-многим" невключатьописание

ключей. Какправило, ERDиспользуетсядляпрезентацийобсужденияструктурыданныхс

 

экспертамипредметнойобласти.

 

 

 

 

 

 

 

 

Модельданных , основаннаключахя

 

, —болееподробное

представление данных. Она

включаетописаниевсех

сущностей и первичныхключей

ипредназначенадля

представления

структурыданныхиключей, которыесоответствуютпредметнойобласти.

 

 

 

Полнатрибутивнаямодель

 

—наиболеедетальное

представление структурыданных:

представляетданныевтретьейнормальнойформеивключаетвсе

 

 

сущности,

атрибуты и

связи .

 

 

 

 

 

 

 

 

Сущностиатрибуты

 

 

 

 

 

 

 

 

ОсновныекомпонентыдиаграммыERwinэто—

 

сущности, атрибуты и связи. Каждая сущность

являетсямножествпомдобныхиндивидуальныхобъектов, называемыхэкземплярами.

 

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

 

 

Атрибут выражаетопределеннсвоействообъекта. СточкизренияБД(физическаямодель)

 

сущности соответствуеттаблица, экземпляру

 

сущности —строкавтаблице,

атрибуту

колонкат блицы.

 

 

 

 

 

 

 

 

Построение моделиданных

 

предполагаетопределение

 

сущностей и атрибутов, т. е.

необходимоопределить, какаяинформациябудетхранитьсявконкретной

 

сущности или

атрибуте. Сущность можноопределить

какобъект,событилиеконцепц,информацияю

окоторыхдолжнасохраняться

. сущности должныиметьнаименованиесчеткимсмысловым

значением, еноватьсясуществительнымединственномчисле, неносить"технических"

 

наименованийбытьдостаточноважнымидлятого, чтобыихмоделировать. Именование

 

сущности вединственномчислеоблегчаетвдальнейшемчтениемодели. Фактическиимя

 

сущности даетсяпоимениееэкземпляра. Примеромможетбыть

 

 

сущности Заказчик (ноне

Заказчики!)с атрибутами Номер заказчика, Фамилия заказчика и Адрес заказчика. На

уровнефизическмойделиейможетсоответствоватьтаблица

 

 

Customer сколонками

Customer_number, Customer_name и Customer_address. Каждая сущность должнабыть

полностьюопределенаспомощьютекстовогописания. Длявнесениядополнительных

 

комментариевопределенийк

 

сущности служатсвойства, определенныепользователем

(UDP)Использование. (UDP)аналогичноихиспользованиюBPwin.

 

 

 

 

Какбылоуказановыше, каждый

 

атрибут хранинформациютоб

определенномсвойстве

сущности, акаждыйэкземпляр

сущности долженбытьуникальным.

Атрибут илигруппа

атрибутов,которыеидентифицируют

сущность, называется первичнымключом

.

Оченьважнодать

атрибуту правильноеимя.

Атрибуты должныименоватьсяединственном

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

(анетольковрамках сущности!).Поумолчаниюприпопыткевнесенияужесуществующего имени атрибута ERwinпереименовываетего.

Каждый атрибут долженбытьопределен, приэтомследуетизбегатьциклическихопределений,

 

например, когдатермин1определяетсячерезтермин2,термин2 —черезтермин3,атермин

 

 

 

3всвоюочередь—черезтермин1.Частоприходитсясоздаватьпроизводные

 

 

 

 

атрибуты, т. е.

атрибуты, значениекоторыхможновычислитьздругих

 

атрибутов. Примеромпроизводного

атрибута можетслужить

Возраст сотрудника, которыйможетбытьвычислениз

 

 

атрибута Дата

рождения сотрудника. Такой атрибут можетпривестикконфликтам;действительно, если

 

вовремянеобновитьзначение

атрибута Возраст сотрудника, онможетпротиворечить

значению атрибута Дата рождения сотрудника. Производные атрибуты —ошибка

нормализации, однакоихвводятдляповышенияпроизводительностисистемы, чтобыне

 

 

 

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

 

 

 

 

 

Связи

 

 

 

 

 

 

 

 

 

 

Связь являетсялогическимсоотношениеммежду

 

сущностями. Каждая связь должна

именоватьсяглаголомилиглагольнойфразой.

 

Имясвязи

выражаетнекотороеограничение

илибизнес-правилоблегчаетчтениедиаграммы. Поумолчанию

 

имясвязи надиаграммене

показывается. Налогическомуровнеможноустановитьдентифицирующую

 

связь "один-ко-

многим", связь "многие-ко-многим" неидентифицирующую

связь "один-ко-многим".

В IDEFIXразличаютзависимыенезависимые

 

сущности. Типсущности

определяетсяе

связью сдругими

сущностями. Идентифицирующая связь устанавливаетсямеждунезависимой

(родительскийконец

 

связи )изависимой(дочернийконец

связи ) сущностями. Когдарисуется

идентифицирующая связь, ERwinавтоматическипреобразуетдочернюю

сущность в

зависимую. Зависимая

сущность изображаетсяпрямоугольникомсоскругленнымиуглами.

 

Экземплярзависимой

сущности определяетсятолькочерезотношениекродительской

 

сущности. Приустановленииидентифицирующей

связиатрибуты первичногоключа

родительской сущности автоматическипереносятвсоставя

первичногоключа

дочерней

сущности. Этаоперациядополнения

атрибутов дочерней сущности присоздании

связи

называетсямиграцией

атрибутов. Вдочерней

сущности новые атрибуты помечаютсякак

внешнийключ— FK.

 

 

 

 

 

 

 

 

 

 

Приустановленеидентифицирующейии

связи дочерняя сущность остаетсянезависимой,

атрибуты первичногоключа

родительской сущности мигрируютвсоставнеключевых

 

компонентродительскойв

сущности. Неидентифицирующая связь служитдлясвязывания

независимых сущностей.

 

 

 

 

 

 

 

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

 

 

 

дочернемконце

связи, неидентифицирующая–пунктирной(см.

рис. 10.6 ).

 

 

 

 

 

 

 

 

 

 

 

 

Мощносвязейть (Cardinality)служитдля— обозначенияотношениячислаэкземпляров родительской сущности кчислуэкземплярдочернейв.

Различаютче ыре

типасущности :

 

 

общий случай, когда одному экземпляруродительскойсущности соответствуют0, 1или

 

многоэкземплярдочернейв

сущности ;непомечаетсякаким-либосимволом;

символом Р

помечаетсяслучай, когда одному экземпляруродительскойсущности

 

соответствуют1илимногоэкземплярдочернейв

сущности (исключенонулевое

значение);

помечаетсяслучай,

когда

одному экземпляруродительской сущности

символомZ

соответствуют0или1экземплярдочерней

сущности (исключенымножественные

значения);

 

 

• цифрой помечается случай точного соответствия, когда

одному экземпляруродительской

сущности соответствуетзаранеезаданноечислоэкземплярдочернейв

сущности.

Имясвязи (Verb Phrase)фраза—,характеризующаяотношениемеждуродительской дочерней сущностями .Для связи "один-ко-многим",идентифицирующейили неидентифицирующей, достаточноуказатьимя, характеризующееотношениеродительской

кдочерней сущности (Parent-to-Child)Для . связи многие-ко-многимследуетуказыватьимена какParent-to-Child,таки Child-to-Parent.

Типысущностейииерархиянаследования

 

 

 

Какбылоуказановыше,

связи определяют, являетсяли

сущность независимойили

 

зависимой. Различаютнесколько

типовзависимых

сущностей.

 

Характеристическая —зависимаядочерняя

сущность, котораясвязанатолькосодной

 

родительскойпосмыслухранинформациютхарактеристикахродительской

сущности

(рис. 10.7 ).

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 10.7. Примерхарактеристическойсущности"Хобби"

 

 

 

 

Ассоциативная сущность, связаннаянесколькимиродительскими

сущностями. Такая

сущность содержитинформацию

связях сущностей.

 

 

 

Именующая —частныйслучайассоциативной

сущности, неимеющейсобственных

атрибутов

(только атрибуты родительских сущностей, мигрировавшихкачествнешнегоключа).

 

Категориальная —дочерняя

сущность в иерархиинаследования .

 

 

Иерархиянаследования

(илииерархиякатегорий)представляетсобойособыйтип

 

 

объединения сущностей, которыеразделяютобщиехарактеристики. Например, ворганизации

 

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

 

Сотрудник

Изихобщихсвойствможносформироватьобобщенную

 

сущность (родовойпредок)

(рис. 10.8 ),чтобыпредставинформациють, общуюдлявсехтиповслужащих. Специфическая

 

 

 

 

 

сущностях

длякаждоготипаинформацияможетбытьрасположенавкатегориальных

 

(потомках)

Постоянный сотрудник и Совместитель.

 

 

 

Обычно иерархиюнаследования

создают, когданесколько

сущностей имеютобщиепосмыслу

атрибуты, либокогда сущности имеютобщиепосмыслу

связи (наприм,ерслибы

Постоянный

сотрудник и Совместитель имелисходнуюпосмыслу

связь "работаетв"с

сущностью

Организация ),либокогдаэтодиктуетсябизнес-правилами.

Длякаждойкатегорииможноуказатьдискриминатор—

атрибут родовогопредка, который

показывает, какотличитьоднукатегориальную

сущность отдругой(

атрибут Тип на рис.

10.8).

 

 

Рис. 10.8. Иерархиянаследования. Неполнаякатегория

Иерархиикатегорийделятсянадватипа—полныеинеполные. Вполнойкатегорииодному экземпляруродовогопредка( сущность Служащий, рис. 10.9 )обязательносо тветствует

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

Рис. 10.9. Иерархиянаследования. Полнаякатегория

 

 

 

 

 

 

Есликатегорияещеневыстроенаполностьюивродовомпредкемогутсуществовать

 

 

экземпляры, которыен имеютсоответствующихэкземпляровпотомках, такаякатегория

 

 

будетнеполной. На

рис. 10.8 показанеполнаякатегория—сотрудникможетбытьнетолько

 

 

 

 

 

 

 

сущность Консультант ещене

постояннымилисовместителем, но консультантом, однако

 

 

 

внесена

иерархиюнаследования .

 

 

 

 

 

 

 

Ключи

 

 

 

 

 

 

 

 

 

 

 

 

Какбылосказановыше, каждыйэкземпляр

 

сущности долженбытьуникалендолжен

 

отличатьсядругих

 

атрибутов.

 

 

 

 

 

 

 

Первичныйключ

(primary key)это—

атрибут илигруппа

атрибутов, однозначно

 

идентифицирующаяэкземпляр

 

сущности . атрибуты первичногоключа

надиаграммене

 

требуютспециальногообозначения—этоте

 

атрибуты, которыенаходятсявсписке

атрибутов

вышегоризонтальнойлинии(см.,например,

 

рис. 10.9 ).

 

 

 

 

 

 

 

 

 

 

Водной

сущности могутоказатьсянесколько

 

 

атрибутов илинаборов

атрибутов, претендующих

нароль

первичногоключа

. Такиепретенденазываютсяты

потенциальнымиключами

 

(candidate key).

 

 

 

 

Ключимогутбытьсложными, т. е. содержащиминесколько

атрибутов. Сложные первичные

ключи нетребуютспециальногообозначения—этосписок

атрибутов, расположенныхвыше

горизонтальнойлинии.

 

 

 

 

Рассмотримкандидатовнароль

первичногоключа

сущности Сотрудник (рис. 10.10 ).

 

 

 

 

 

Рис. 10.10. Определениепервичногоключадлясущности"Сотрудник"

Здесьможновыделитьследующие

потенциальныеключи

:

1.Табельный номер ;

2.Номер паспорта ;

3.Фамилия + Имя + Отчество.

Длятогочтобыстатьпервичным,

потенциальныйключ

долженудовлетворятьду

требований:

 

 

Уникальность. Дваэкземпляранедолжныиметьодинаковыхзначенийвозможногоключа. потенциальныйключ №3 ( Фамилия + Имя + Отчество )являетсяплохимкандидатом, посколькуворганизациимогутработатьполныет зки.

Компактность. Сложныйвозможныйключнедолженсодержатьниодного

атрибута, удаление

которогонеприводилобыкутратеуникальности. Дляобеспеченияуникальностиключа№3

 

дополнимего

атрибутами Дата рождения и Цвет волос. Еслибизнес-правилаговорят, что

сочетания атрибутов Фамилия + Имя + Отчество + Дата рождения достаточнодля

однозначнойидентификациисотрудника, то

Цвет волос оказываетсялишним, т. е. ключ

Фамилия + Имя + Отчество + Дата рождения + Цвет волос неявляетсякомпактным.

Привыборе первичногоключа предпочтениедолжноотдаватьсяболеепростымключам, т. е. ключам, содержащимменьшееколичество атрибутов. Вприведенномпримереключи№1и 2 предпочтительнейключа№3.

Атрибуты ключанедолжнысодержатьнулевыхзначений. Значение

атрибутов ключане

должноменятьсявтечениевсеговременисуществованияэкземпляра

 

сущности. Сотрудница

организацииможетвыйтизамужисменитькакфамилию, такипаспорт. Поэтомуключи№2и

 

3неподходятнароль

первичногоключа

.

 

 

Каждая сущность должнаиметьпокрайнеймереодин

потенциальныйключ

. Многие сущности

имеюттолькоодин

потенциальныйключ

. Такойключстановитсяпервичным. Некоторые

сущности могутиметьболееодноговозможногоключа. Тогдаодинизнихстановится