ВУЗ:
Составители:
Рубрика:
нительно объявить различные индексы, повышающие скорость обращения к данным. Многое тут зави-
сит от конкретной СУБД.
При разработке физической модели данных возникают вопросы: хорошо ли спроектированы табли-
цы? Правильно ли выбраны индексы? Насколько много программного кода в виде триггеров и храни-
мых процедур необходимо разработать для поддержания целостности данных?
Собственно база данных и приложения
. И наконец, как результат предыдущих этапов появляется
собственно сама база данных. База данных реализована на конкретной программно-аппаратной основе,
и выбор этой основы позволяет существенно повысить скорость работы с базой данных. Например,
можно выбирать различные типы компьютеров, менять количество процессоров, объём оперативной
памяти, дисковые подсистемы и т.п. Очень большое значение имеет также настройка СУБД в пределах
выбранной программно-аппаратной платформы.
Но опять решения, принятые на предыдущем уровне – уровне физического проектирования, опре-
деляют границы, в пределах которых можно принимать решения по выбору программно-аппаратной
платформы и настройки СУБД.
Таким образом ясно, что решения, принятые на каждом этапе моделирования и разработки базы
данных, будут сказываться на дальнейших этапах. Поэтому особую роль играет принятие правильных
решений на ранних этапах моделирования.
3.2. АДЕКВАТНОСТЬ БАЗЫ ДАННЫХ ПРЕДМЕТНОЙ ОБЛАСТИ
База данных должна адекватно отражать предметную область. Это означает, что должны выпол-
няться следующие условия.
1. Состояние базы данных в каждый момент времени должно соответствовать состоянию предмет-
ной области.
2. Изменение состояния предметной области должно приводить к соответствующему изменению
состояния базы данных.
3. Ограничения предметной области, отражённые в модели предметной области, должны некото-
рым образом отражаться и учитываться в базе данных.
Лёгкость разработки и сопровождения базы данных.
Практически любая база данных, за исклю-
чением совершенно элементарных, содержит некоторое количество программного кода в виде тригге-
ров и хранимых процедур.
Хранимые процедуры –
это процедуры и функции, которые хранятся непосредственно в базе дан-
ных в откомпилированном виде и которые могут запускаться пользователями или приложениями, рабо-
тающими с базой данных. Хранимые процедуры обычно пишутся либо на специальном процедурном
расширении языка SQL (например, PL/SQL для ORACLE или Transact-SQL для MS SQL Server), или на
некотором универсальном языке программирования, например, C++, с включением в код операторов
SQL в соответствии со специальными правилами такого включения. Основное назначение хранимых
процедур – реализация бизнес-процессов предметной области.
Триггеры –
это хранимые процедуры, связанные с некоторыми событиями, происходящими во вре-
мя работы базы данных. В качестве таких событий выступают операции вставки, обновления и удале-
ния строк таблиц. Если в базе данных определён некоторый триггер, то он запускается автоматически
всегда при возникновении события, с которым этот триггер связан. Очень важным является то, что
пользователь не может обойти триггер. Триггер срабатывает независимо от того, кто из пользователей и
каким способом инициировал событие, вызвавшее запуск триггера. Таким образом, основное назначе-
ние триггеров – автоматическая поддержка целостности базы данных. Триггеры могут быть как доста-
точно простыми, например, поддерживающими ссылочную целостность, так и довольно сложными,
реализующими какие-либо сложные ограничения предметной области или сложные действия, которые
должны произойти при наступлении некоторых событий. Например, с операцией вставки нового товара
в накладную может быть связан триггер, который выполняет следующие действия – проверяет, есть ли
необходимое количество товара, при наличии товара добавляет его в накладную и уменьшает данные о
наличии товара на складе, при отсутствии товара формирует заказ на поставку недостающего товара и
тут же посылает заказ по электронной почте поставщику.
Страницы
- « первая
- ‹ предыдущая
- …
- 18
- 19
- 20
- 21
- 22
- …
- следующая ›
- последняя »