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