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

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

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

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

  • Отношения и атрибуты, к которым потребуется иметь доступ при выполнении транзакции, а также тип этого доступа (выборка, вставка, обновление или удаление).

  • Атрибуты, используемые хотя бы в одном из предикатов. (В языке SQL предикатами называют условия, задаваемые в предложениях WHERE.)

  • Атрибуты, которые при выполнении запросов будут использоваться для соединения двух или больше отношений.

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

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

Существует эмпирическое правило, согласно которому выполнение около 20% наиболее активных запросов пользователей порождает примерно 80% общей нагрузки на базу данных. Это правило "80/20" может использоваться как рекомендация по проведению анализа.

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

А. Ввод (вставка) подробных сведений о новом работнике указанного отделения компании.

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

С. Назначение работника ответственным за некоторый сдаваемый в аренду объект, если этот работник еще не отвечает за десять объектов.

D. Составление списка сдаваемых в аренду объектов, закрепленных за указанным отделением компании.

На рис. 7.1а указано ожидаемое количество строк в отношениях Staff (Сотрудник), Branch (Отделение) и Property_for_Rent (Недвижимость_в_аренду), а также средняя и максимальная кратности каждой из связей между этими отношениями.

Рис. 7.1а. Упрощенная ER-диаграмма для нескольких транзакций с указанием ожидаемой размерности отношений и связей;

При составлении карт транзакции указывается способ доступа к каждому из отношений. В них фиксируется тип доступа, например: вставка (insert, I), чтение (read,R), обновление (update, U) или удаление (delete, D), а также имена атрибутов для получения доступа.

На рис. 7.1б показаны пути выполнения транзакций от А до Д. Карта транзакций показывает, что чаще всего используются отношения: Property_for_Rent (Недвижимость_в_аренду) и Staff (Сотрудник).

Рис. 7.1б. Карта выполнения транзакций

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

Рекомендуются четыре варианта для выбора файловой организации данных:

  • последовательные файлы (heap);

  • хешированные файлы (hash);

  • индексно-последовательные файлы (ISAM);

  • двоичные деревья (В+-Тгее).

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