Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовая работа / bd / базы данных2222.rtf
Скачиваний:
241
Добавлен:
17.02.2014
Размер:
19.41 Mб
Скачать

Пример 2

CREATE UNIQUE INDEX property no index ON property for rent (pno)

7.2. Реализация бизнес-правил предприятия в среде целевой субд

Поскольку одни системы для реализации требований организации предлагают больше возможностей, а другие - меньше, то способ реализации бизнес-правил будет зависеть от типа выбранной целевой СУБД. Так, например, в компании Домострой существует правило, согласно которому каждый работник может одновременно заниматься не более чем десятью сдаваемыми в аренду объектами. Это ограничение можно включить в оператор SQL при создании таблицы Property_for_Rent (Недвижимость_в_аренду):

CONSTRAINT staff_not_handling_too_much

CHECK (NOT EXIST (SELECT sno FROM property_for_rent

GROUP BY sno HAVING COUNT( ) >10))

Альтернативным методом реализации бизнес-правил является использование триггеров:

CREATE TRIGGER staff_not_handling_too_much

ОN property_for_rent

FOR INSERT, UPDATE

AS IF ((SELECT COUNT(*) FROM property_for_rent p, WHERE p.sno=INSERTED.sho}>10)

BEGIN

PRINT "Данный работник уже отвечает за 10 объектов"

ROLLBACK TRANSACTION

END

В результате создается триггер, который будет запускаться при каждой попытке вставки новой записи в таблицу Property_for_Rent (Недвижимость_в_аренду).

7.3. Организация эффективного хранения данных

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

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

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

Дисковая память. Этот показатель представляет собой объем дискового пространства, необходимого для размещения файлов базы данных

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

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

Некоторые СУБД предоставляют пользователям средства ознакомления с выбранной оптимизатором стратегией выполнения отдельного запроса или операции обновления. Эта функция носит название Query Execution Plan (QPE) • (получение плана выполнения запроса). Например, СУБД DB2 имеет утилиту EXPLAIN, СУБД Oracle – диагностическую утилиту EXPLAIN PLAN, а СУБД INGRES поддерживает интерактивную QPE-функцию. Если выполнение запроса происходит медленнее, чем это предполагалось, имеет смысл воспользоваться подобным инструментом, чтобы определить причины замедления работы. Полученные данные помогут найти альтернативную стратегию, которая позволит увеличить скорость обработки запроса. Чтобы достичь высокой производительности системы, разработчик физического проекта базы данных должен решить, каким образом четыре основных компонента оборудования будут взаимодействовать.

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

Оперативная память. Чем больше объем доступной СУБД оперативной памяти, тем быстрее будут работать приложения. Опыт показывает, что полезно постоянно поддерживать в системе такой режим, при котором около 5% ее оперативной памяти остается свободной. Эти страницы будут считаны с диска, как только вновь потребуется доступ к данным.

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

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

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

Основные принципы распределения данных на дисковых устройствах заключаются в следующем:

  • Файлы операционной системы должны быть отделены от файлов базы данных.

  • Основные файлы базы данных должны быть отделены от индексных файлов.

  • Журнал восстановления должен быть отделен от остальной части базы данных.

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

1. Анализ транзакций.

2. Выбор файловой структуры.

3. Определение вторичных индексов.

4. Анализ необходимости введения контролируемой избыточности данных.

5. Определение требований к дисковой памяти.

Соседние файлы в папке bd