erwin2 (1013995), страница 5

Файл №1013995 erwin2 (Профессиональные программные среды) 5 страницаerwin2 (1013995) страница 52017-06-17СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 5)

Можно отказаться от генерации индексов по умолчанию и для повышенияпроизводительности создать собственные индексы. Администратор СУБД должен анализировать наиболее часто выполняемые запросы и создавать индексы с различными колонками и порядком сортировки для увеличения эффективности поиска при работе конкретных приложений.18ERWin автоматически генерирует имя индекса, созданного на основе ключа по принципу "X" + имя ключа + имя таблицы (физическое имя таблицы, а не логическое имя сущности!),где имя ключа "РК" для первичного ключа, "IFn" - для внешнего, "AKn" - для альтернативного,"IEn" -для инверсионного входа.

Например, по умолчанию при создании таблицы CUSTOMERбудут созданы индексы XPKCUSTOMER (первичный ключ, в состав войдет колонкаCustomerID), XAK1CUSTOMER (альтернативный ключ, колонки CusfomerName, Region, City),XIE1CUSTOMER (инверсионный вход 1, колонка Region) и XIE2CUSTOMER (инверсионныйвход 2, колонка CustomerAddress).Изменить характеристики существующего индекса или создать новый можно в редакторе Index Editor (рис. 17). Для его вызова следует щелкнуть правой кнопкой мыши по таблице ивыбрать во -всплывающем меню пункт Index.В редакторе Index Editor можно изменить имя индекса, изменить его определение так,чтобы он принимал уникальные или дублирующиеся значения, или изменить порядок сортировки данных.ERWin создает индексы, которые могут содержать либо повторяющиеся, либо толькоуникальные значения.

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

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

Имя сгенерированного индекса в дальнейшем при необходимостиможно изменить вручную.По умолчанию ERWin автоматически сохраняет значена . в порядке возрастания (значения сортируются по алфавиту от A до Z, а числа от 0 до 9). Если нужно изменить порядок сортировки для колонки и выбранная СУБД поддерживает режим сортировки по убыванию, следует выбрать колонку и включить опцию DESC (см. рис. 17).19Рис. 17. Диалог Index EditorРедактор Index Editor содержит следующие закладки:Members - позволяет включить колонки в состав индекса;Comment - содержит комментарий для каждого индекса;UDP - позволяет связать с индексом свойства, определяемые пользователемЗакладка, соответствующая выбранной СУБД задает свойства индекса, специфические для выбранной СУБД.Некоторые СУБД поддерживают кластеризованные и кластеризованные хешированныеиндексы.

ERWin позволяет создать такие индексы для DB2/MVS, DB2/390, HiRDB, INFORMIX,MS Access, MS SQL Server, SYBASE и SQLBase. Для того чтобы сделать индекс кластеризованным, нужно включить опцию CLUSTER в закладке, соответствующей выбранной СУБД.Кластеризованный индекс - это специальная техника индексирования, при которой данные втаблице физически располагаются в индексированном порядке. Использование кластеризованного индекса значительно ускоряет выполнение запросов по индексированной колонке.Поскольку данные физически расположены в индексированном порядке, для каждойтаблицы может существовать только один кластеризованный индекс. Если СУБД поддерживаетиспользование кластеризованного индекса, то ERWin автоматически создает индекс первичного20ключа кластеризованным.

При создании кластеризованного индекса не по первичному ключуERWin автоматически снимает кластеризацию с индекса по первичному ключу. Для СУБДSQLBase (CENTURA) ERWin позволяет создать кластеризованный хешированный индекс(clustered hashed index). Хеширование -альтернативный способ хранения данных в заранее заданном порядке с целью ускорения поиска, но физически это более сложно, чем простое сохранение строк в алфавитном порядке или в соответствии с числовыми значениями.Кластеризованный или хешированный индекс значительно ускоряет операции поиска исортировки, но добавление и удаление строк замедляется из-за необходимости реорганизацииданных для соответствия индексу.Триггеры и хранимые процедуры.

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

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

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

По умолчанию ERWin генерирует триггеры, дублирующие декларативную ссылочную целостностьДля генерации триггеров ERWin использует механизм шаблонов - специальных скриптов, использующих макрокоманды. При генерации кода триггера вместо макрокоманд подставляются имена таблиц, колонок, переменные и другие фрагменты кода, соответствующие синтаксису выбранной СУБД. Шаблоны триггеров ссылочной целостности, генерируемые Erwin,по умолчанию можно изменять, кроме того, можно переопределить как триггеры для конкретной связи, так и шаблоны во всей модели в целом.Шаблоны триггеров ссылочной целостности связываются с сущностями в зависимостиот типа связи и роли сущности в этой связи. Тип связи и роль сущности определяют, какое правило ссылочной целостности будет по умолчанию дополнено шаблоном триггера. Связи могутбыть: идентифицирующими, неидентифицирующими (nulls allowed), неидентифицирующими(no nulls), связями подтипа.Сущность в связи может быть родительская (Parent) или дочерняя (Child).

Если сущностьявляется родительской в данной связи, то ERWin присваивает ей шаблон триггера для родительской сущности. Если сущность является дочерней в данной связи, то ERWin присваивает ейшаблон триггера для дочерней сущности. Код триггера, который генерируется шаблоном триггера для родительской сущности, указывает СУБД, что нужно делать при вставке, измененииили удалении строки в родительской таблице связи. Код триггера, который генерируется шаб-21лоном триггера для дочерней сущности, указывает СУБД, что нужно делать при вставке, изменении или удалении строки в дочерней таблице связи.Ниже приведен текст шаблона триггера, соответствующего правилу ссылочнойцелостности ON PARENT DELETE RESTRICT./* ERWin Builtin %Datetime 7/* %Parent %VerbPhrase %Child ON PARENT DELETE RESTRICT */ select count(*) intonumrowsfrom %Childwhere/* %%JoinFKPK(%Child,:%%Old; ="," and") */%JoinFKPK(%Child,:%Old," ="," and");if (numrows > 0) thenraise_application_error(-20001,'Cannot DELETE %Parent because %Child exists.');end if;При генерации схемы СУБД для Oracle 7.2 будет сгенерирован триггер:create trigger tD_CUSTOMER after DELETE on CUSTOMER for each row- ERWin Builtin Tue Jan 26 21:55:13 1999-DELETE trigger on CUSTOMER declare numrows INTEGER;begin/* ERWin Builtin Tue Jan 26 21:55:131999 7/* CUSTOMER размещает ORDER ON PARENT DELETE RESTRICT */select countf*) into numrowsfrom ORDERwhere/* %JoinFKPK(ORDER,:%Old," ="," and") */ORDER.CustomerlD = :old.CustomerlD;if (numrows > 0)thenraise_application_error(-20001,'Cannot DELETE CUSTOMER because ORDER exists.'):end if;ERWin по умолчанию использует для генерации кода триггера на языке SQL встроенныешаблоны триггеров ссылочной целостности, которые автоматически присваиваются каждойсвязи.

Если встроенные шаблоны не удовлетворяют бизнес-правилам, можно изменить кодытриггера, генерируемые на основе встроенных шаблонов. ERWin позволяет изменить шаблон иуказать, что при генерации модифицированная версия должна заменить встроенный шаблон.ERWin позволяет переопределить триггер, устанавливаемый по умолчанию, тремя способами:1. Переопределение типа ссылочной целостности. Для каждой комбинации правилссылочной целостности (например, Parent-Delete RESTRICT) ERWin позволяет создать переопределенный шаблон и использовать этот шаблон вместо шаблона, применяемого по умолчанию,для всех связей диаграммы, которым был присвоен этот тип правила ссылочной целостности.Используя в качестве основы встроенный код шаблона, можно изменить шаблоны ссылочнойцелостности во всей модели, изменяя коды триггера только в одном месте.

Вновь определяемыешаблоны будут использоваться вместо стандартных шаблонов, если при генерации схемывключена опция RI Type Override.222. Переопределение шаблона триггера для связи. Можно переопределить шаблон, задаваемый по умолчанию, для какой-то конкретной связи. Для этого используется диалогRelationship Template Editor, в котором можно описать шаблоны Relationship Override, применяемые вместо стандартных шаблонов (а также вместо шаблонов RI Type Override, если ониесть). Шаблоны Relationship Override будут использоваться вместо стандартных шаблонов, еслипри генерации схемы включена опция Relationship Override.3.

Характеристики

Тип файла
PDF-файл
Размер
515,21 Kb
Тип материала
Высшее учебное заведение

Список файлов учебной работы

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7027
Авторов
на СтудИзбе
260
Средний доход
с одного платного файла
Обучение Подробнее