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