ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 03.08.2024

Просмотров: 54

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

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

.

 

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

(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

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