ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 03.08.2024
Просмотров: 53
Скачиваний: 0
Рис. 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неподходятнароль |
первичногоключа |
. |
|
|
Каждая сущность должнаиметьпокрайнеймереодин |
потенциальныйключ |
. Многие сущности |
||
имеюттолькоодин |
потенциальныйключ |
. Такойключстановитсяпервичным. Некоторые |
||
сущности могутиметьболееодноговозможногоключа. Тогдаодинизнихстановится |
|