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

10

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

первичным, аостальные—

альтернативнымиключами

.

 

Альтернативныйключ

(Alternate Key)это —

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

, неставшийпервичным.

Нормализацияданных

 

 

 

 

 

Нормализацияданных—

процесспроверкиреорганизации

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

цельюудовлетворениятребованийкреляционной

 

моделиданных . Нормализация

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

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

сущности, атакже

значительносократитьобъемпамятидляхраненинформациияустранитьаномалиив организациихраненияданных. Врезультатепроведенияормализациидолжнабытьсоздана структураданных, прикоторойинформациякаждомфактехранитсятольководноместе. Процесснормализациисводитсякпоследовательномуприведениюструктурыданныхк нормальнымформам—формализованнымтребованиямкорганизацииданных. Известнышесть нормальныхформ.

Напрактикеобычноограничиваютсяприведениемданныхктретьейнормальнойформе. Для углубленногоизучениянормализациирекомендуетсякнигаК. Дж. Дейта"Введениесистемы базданных" (Киев;М.:Диалектика, 1998).

ERwinнесодержитполногоалгоритманормализациинеможетпроводитьнормализацию

автоматически, однакоеговозможностиоблегчаютсозданиенормализованной

моделиданных .

Запретнаприсвоениееуникальныхимен

атрибутов врамкахмодели(присоответствующей

установкеопцииUnique Name)облегчаетсоблюдениеправила"одинфакт—водноместе".

 

Именаролей атрибутов внешнихключейиунификация

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

нормализованноймодели.

 

 

 

Домены

 

 

 

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

 

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

домене, нонакаждом

домене можетбытьопределемножество

атрибутов. Впонятие

домена входитнетолькотип

данных, ноиобластьзначенийданных. Например, можноопределить

 

домен "Возраст"как

положительноецелоечислоопределить

атрибут Возраст сотрудника какпринадлежащий

этому домену.

 

 

 

В ERwin домен можетбытьопределентолькоодинразииспользоватьсякак логической, так ивфизическмойдели.

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

 

такиадминистраторамБДнаэтапеэксплуатациисистемы. Налогическомуровне

домены

можноописатьбезконкретныхфизическихсвойств. Нафизическомуровнеониавтоматически

 

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

домен "Возраст"

можетиметьналогическомуровнетип

Number, нафизическомуровнеколонкам

домена будет

присвоентип

INTEGER.

 

 

Каждый домен можетбытьописан, снабженкомментариемилисвойств,определенным пользователем(UDP).

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

Физическаямодельсодержитвсюинформацию, необходимуюдляреализацииконкретнойБД. Различаютдвауровняфизическмойдели:

трансформационнуюмодель;

модель СУБД.

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

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

Физическийуровень представления моделизависито выбранногосервера. ERwin поддерживаетболее20реляционныхнереляционныхБД.

ПоумолчаниюERwinгенерируетименатаблиц индексов пошаблонауосновеимен соответствующих сущностей иключейлогическоймодели, которыевдальнейшеммогутбыть откорректированывручную. Именатаблицколонокбудутсгенерированыпоумолчаниюна основеимен сущностей и атрибутов логическоймодели.

Правилалидациизначенияпоумолчанию

ERwinподдерживает правилалидации дляколонок, атакжезначение, присваиваемое колонкампоумолчанию.

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

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

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

Индексы

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

Чтобырешитьпроблемупоиска, СУБДиспользуютобъекты, называемые индексами. Индекс содержитотсортированнуюпоколонкеилинескольколонкамиминформациюуказываетна строки, вкоторыххранитсяконкретноезначениеколонки. Посколькузначенияв индексе хранятсявопределенномпорядке, припоискепросматриватьнужнозначительноменьший объемданных, чтосущественноуменьшаетвремявыполнениязапроса. Индекс рекомендуется создаватьдлятехколонок, покоторымчастопроизводитсяпоиск.

ПригенерациисхемыфизическойБДERwinавтоматическисоздает

индекс наоснове

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

каждойтаблицы, такженаосновевсех

альтернативныхключей

и

внешнихключей, посколькуэтиколонкинаиболеечастоиспользуютсядляпоискаданных.

 

Можноотказатьсягенерации

индексов поумолчанисоздатьюсобственные

индексы. Для

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

 

 

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

индексы.

 

Триггерыхранимыепроцедуры

Триггеры и хранимыепроцедуры –этоименованныеблокикодаSQL,которыезаранее

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

Храненивыполнениекоданасерверепозволяетсоздаватькодтолькоодинраз, анев каждомприложении, работающемсБД. Этоэкономитвремяпринаписаниисопровождении программ. Приэтомгарантируется, чтоцелостностьданныхибизнес-правилаподдерживаются независимооттого, какоеименноклиентскоеприложениеобращаетсякданным. Триггеры и хранимыепроцедуры нетребуетсяпересылатьпосетизклиентскогоприложения, что значительснижаетосетевойтрафик.

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

Триггером называетсяпроцедура, котораявыполняетсяавтоматическакреакцияна событие. Такимсобытиемможетбытьвставка, изменениеилиудалениестрокив существующейтаблице. Триггер сообщаетСУБД, какиедействиянужновыполнитьпри выполнениикомандSQL INSERT, UPDATEилиDELETEдляобеспечениядополнительной функциональности, выполняемойнасервере.

Триггер ссылочнойцелостности

–этоособыйвид

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

целостностимеждудвумятаблицами, которыесвязанымеждусобой. Еслистрокаводной

 

таблицевставляется, изменяетсяилиудаляется, то

триггер ссылочнойцелостностисообщает

 

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

 

ключасовпадаетзначением

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

вставленнойстроки( змененнойили

 

удаленнойстроки).

 

 

 

Длягенерации триггеров ERwinиспользуметханизмшаблонов–специальныхскриптов,

 

использующихмакрокоманды. Пригенерациикода

триггера вместомакрокоманд

 

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

 

соответствующиесинтаксисувыбраннойСУБД. Шаблоны

триггеров ссылочнойцелостности,

генерируемыеERwinпоумолчанию, можноизменять.

 

 

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

хранимыхпроцедур

ERwinрасполагаетспециальными

 

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

триггеров. Вотличие

триггера хранимаяпроцедура

невыполняетсяответнакакое-тособытие, авызываетсяиз

 

другойпрограммы, котораяпередаетнасерверимяпроцедуры.

Хранимаяпроцедура

более

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

хранимыепроцедуры . Ейможно

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

 

Проектированиехранилищданных

Вхранилищаданныхпомещаютданные, которыедкоменяются. Хранилищаориентированы навыполнениеаналитическихзапрос,обеспечивающихподдержкупринятиярешенийдля руководителейменеджеров. Припроектированиихранилищданныхнеобходимовыполнять следующиетр бования:

хранилище должно иметь понятную для

пользователейструктуру данных;

должны быть

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

 

(ежедневно, еженедельно, ежеквартально);

 

должны быть

упрощены требованияк

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

 

множественныхутвержденийSQLтрадиционныхреляционныхСУБД;

должна обеспечиватьсяподдержка сложных запросовSQL, требующих обработки

 

миллионовзаписей.

 

Каквидноизэтихтребований, посвоейструктуререляционныеСУБДсущественно

отличаютсяхранилищданных. НормализацияданныхвреляционныхСУБДприводитк

созданиюмножествязанныхмеждусобойтаблиц. Выполнениесложныхзапросов неизбежноприводиткобъединениюмногихтаблиц, чтозначительноувеличиваетвремя отклика. Проектированиехранилищаданныхподразумеваетсозданиенормализованной структурыданных, ориентированныхпервуюочередьнавысокуюпроизводительностьпри выполнениианалитическихзапросов. Нормализацияделаетмодельхранилищаслишком сложной, затрудняеепониманиетснижаетскоростьвыполнениязапроса. Для эффективногопроектированияхранилищданныхERwinиспользуетразмернуюмодель– методологиюпроектирования, предназначеннуюспециальнодляразработкихранилищ данных. Размерноемоделированиесходномоделированием связей и сущностей для реляционнмоделий, ноимеетдругуюцель. Реляционнаямодельакцентируетсяна целостностиэффективностивводаданных. Размернаямодельориентированапервую очередьнавыполнениесложныхзапросов

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

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

 

помещеннуювцентре. Ееокружаютменьшиетаблицы, называемыетаблицамиразмерности,

 

которыесвязанытаблицейфактарадиальными

связями.

 

ДлясозданияБДсосхемой"звезда"необходимопр анализироватьбизнес-правила

 

предметнойобластидлявыясненияцентральногозапроса. Данные, обеспечивающие

 

выполнениеэтогозапроса, должныбытьпомещенывцентральнуютаблицу. При

 

проектированиихранилищаважноопределисточниктьданных, метод, которымданные

 

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

 

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

 

качествад нных.

 

 

ВычислениеразмераБД

 

 

ERwinпозволяетрассчитатьприблизительныйразмерБДвцелом, атакжетаблиц,

индексов и

другихобъектовчерезопределенныйпериодвременипосленачалаэксплуатацииИС. Расчет

 

строитсянаосновеследующихпараметров:начальноеколичествострок;максимальное

 

количествострок;приростколичествастроквмесяц. Результатырасчетовсводятсяотчет.

 

Прямоеиобратноепроектирование

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

Обратнымпроектированием

называетсяпроцессгенерациилогическоймоделииз

 

физическойБД.

Обратноепроектирование

позволяетконвертироватьБДизоднойСУБДв

 

другую. ПослесозданиялогическоймоделиБДпутем

обратногопроектирования

можно

переключитьсянадругойсерверипроизвести

прямоепроектирование .

 

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

ГенерациякодаклиентскойчастипомощьюERwin

Расширенныеатрибуты

ERwinподдерживаетнетолькопроектированиесервераБД, ноиавтоматическуюгенерацию клиентскогоприложениявсредахразработкиMS Visual Basicи Power BuilderТехнология. генерациисостоитв ом, чтонаэтаперазработки физическмойделиданных каждойколонке присваиваютрасширенныея атрибуты, содержащиеинформациюсвойствахобъектов клиентскогоприложения(втомчислевизуальных),которыебудутотображатьинформацию, хранящуювсоответствующейяколонке. Этаинформациязаписываетсяфайлемодели. На основеинформации, содержащейсяврасширенных атрибутах, генерируютсяэкранныеформы. Полученныйкодможетбытьоткомпилировыполненанбездополнительногоручного кодирования.

КаждойколонкевмоделиERwinможнозадатьпредварительноописанныеименованные свойства:

• правила валидации (проверказначений);

 

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

умолчанию;

стиль визуальногообъекта( например,

радиокнопка, поле ввода и др .);

•форматизображения.

ДляописаниякаждогосвойстваERwinсодержитсоответствующиередакторы.

ГенерациякодавVisual Basic

 

 

 

ERwinподдерживаетгенерациюкодав Visual Basicверсий4.0и 5.0Вкачестве. источника

 

информациипр генерацииформслужитмодельERwinС.помощьюERwinможно

 

одновременноописыватькакклиентскуючасть(объекты, отображающиеданныенаэкране),

 

такисерверБД(процедурыи

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

 

функциональностьИСмеждуклиентскойсервернойчастью. КомпонентERwin Form Wizard

 

автоматическипроектируетформысдочернимиобъектами–кнопками, списками, полями,

 

радиокнопкамит. .,используярасширенные

атрибуты. СовместноеиспользованиеERwinи

Visual BasicпозволяетсократитьжизненныйциклразработкиИСпутемупотреблениядля

 

каждойзадачинаиболееэффективногоинструмента. Visual Basicможетбытьиспользовандля

 

проектированиявизуальногоинтерфейса, ERwinдляразработки– физической

логической

моделиданных споследующейгенерациейсистемногокаталогасервера. ЕслиБДуже

 

существует, то помощьюERwinможнопровести

обратноепроектирование

, полученную

модельдополнитьрасширенными

атрибутами исгенерироватьклиентскоеприложение.

Созданиеотчетов

ДлягенерацииотчетовERwinимеетсяпростойиэффективныйинструмент– Report Browser. ПоумолчаниюReport Browserсодержитпредварительноопределенныеотч ты, позволяющие нагляднопредставинформациютьобосновныхобъектах моделиданных –каклогической, такифизической. Спомощьюспециальногоредакторасуществующиеотч тыможноизменить илисоздатьсобственныйотчет. Каждыйотчетможетбытьнастроени дивидуально, данныев неммогутбытьотсортированыотфильтрованы. Browser Reportпозволяетсохранять результатывыполненияотчетов, печататьиэкспортироватьих распространенныеформаты.

Генерациясловарей

ДляуправлениябольшимипроектамиERwinимеетспециальныйинструмент– ERwin Dictionary, которыйобеспечиваетколлективнуюработунаддиаграммамипозволяетсохранятьи документироватьразличныеверсии моделейданных . ERwin Dictionaryпредставляетсобой специальнуюБД, котораяпозволяетрешитьпроблемыдокументированияхранениямоделей, однаконеполностьюотвечаеттребованияммногопользовательскойработы.