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

Вид материалаДокументы

Содержание


6.5. О стратегии проектирования базы данных
Восходящее проектирование (bottom-up design).
Централизованное проектирование.
Децентрализованное проектирование.
Сущность и подтипы сущности.
Нисходящая или восходящая стратегия.
Централизованный и децентрализованный подходы.
Основные термины
Подобный материал:
1   ...   15   16   17   18   19   20   21   22   23
6.4.5. Функционирование

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

Начало этапа функционирования неизбежно является отправной точкой процессам вития системы. Как только все конечные пользователи начнут работать с БД, всплывут проблемы, не проявившиеся во время стадии тестирования. Некоторые из таких проблем достаточно серьезны и могут стать причиной разработки специальных программных "заплаток", в то время как другие являются мелкими недочетами. Например, если проект БД реализуется как интерфейс с Интернетом, то большой объем транзакции может вызвать сбои даже в хорошо спроектированной системе. В таком случае проектировщики должны будут идентифицировать источник (или источники) узких выработать альтернативное решение, при этом можно подключить программное обеспечение выравнивания сетевой нагрузки, чтобы распределить транзакции между несколькими компьютерами, увеличить допустимый кэш СУБД и т. д. В любом см постоянные изменения для проектировщика являются нормой.

6.4.6. Сопровождение и развитие

Администратор БД должен быть готов к процедурам, связанным с постоянными обслуживанием базы данных:
  • профилактическое обслуживание (резервное копирование);
  • корректирующее обслуживание (восстановление);
  • адаптивное обслуживание (повышение производительности, добавление сущностей и атрибутов и т. д.);
  • назначение прав доступа и их обслуживание для новых и прежних пользователей;
  • ведение статистики доступа к БД для улучшения эффективности и полезное!
    системного аудита и для наблюдения за производительностью системы;
  • периодическая проверка безопасности на основе системной статистики;
  • периодические (ежемесячные, ежеквартальные или ежегодные) сводки по А
    пользованию системы для выяснения внутренних затрат и планирования бюджета предприятия.

Как уже говорилось, в системе постоянны только изменения. С учетом возможных изменений требований к информации, дополнительные формы отчетности и нон форматы запросов потребуют изменения приложений и, возможно, минимальных изменений компонентов и содержимого БД. Эти изменения можно легко реализовать только в том случае, если проект БД является гибким и если вся документам обновлена, и к ней можно получить оперативный доступ. И наступит момент, когда даже отлично спроектированную БД уже невозможно будет приспособить к нон реалиям, и тогда весь жизненный цикл DBLC начинается заново.

6.5. О стратегии проектирования базы данных

Есть два классических подхода к проектированию базы данных.

1. Нисходящее проектирование (top-down design). Начинается с определения набор» данных, затем определяются элементы данных для каждого из таких набор»

Этот процесс включает в себя идентификацию различных типов сущностей и оп­ределение атрибутов каждой сущности.

1 Восходящее проектирование (bottom-up design). При таком подходе, прежде всего, выявляются элементы данных (предметы), которые затем группируются в наборы данных. Другими словами, прежде всего, определяются атрибуты, которые затем объединяются и формируют сущности.

№ эти подхода представлены на рис. 6.14. Выбор подхода часто зависит от мас­штаба задачи или от личных предпочтений проектировщика. Хотя эти две методо-ЮП1И дополняют, а не исключают друг друга, все же для маленьких БД с неболь­шим количеством объектов, атрибутов и транзакций восходящее проектирование может оказаться более продуктивным. В случае, если количество, разнообразие и сложность сущностей, связей и транзакций велико, лучше использовать нисходящее проектирование. У большинства компаний есть стандарты по разработке систем и проектированию баз данных.







Рис. 6.14. Нисходящий и восходящий подходы к проектированию БД



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

6.6. Централизованное

и децентрализованное проектирование

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

Централизованное проектирование. Эта стратегия эффективна в том случае, когда компоненты данных состоят из относительно небольшого количества объектов и процедур. Централизованное проектирование типично для относительно простых и/или небольших баз данных и может быть выполнено одним человеком (администратором БД) или небольшой неформальной группой проектирования Деятельность компании и масштаб проблем сильно ограничены, что позволяет даже одному проектировщику определить задачи, создать концептуальный про­ект, проверить концептуальный проект с точки зрения пользователей, определить системные процессы и ограничения данных, чтобы обеспечить действенность проекта и гарантировать соответствие проекта всем требованиям. (Хотя центра­лизованное проектирование типично для небольших компаний, нельзя считать, что этот метод применим исключительно для них. Даже в сравнительно больших компаниях могут использоваться относительно небольшие базы данных.) На рис. 6.15 приведены основные операции централизованного проектирования. Обратите внимание, что при этом создается и проверяется единственная концеп­туальная модель.



Рис. 6.15. Централизованное проектирование

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



Рис. 6.16. Децентрализованная модель

В больших и сложных системах БД проектируется, как правило, не одним челове­ком. В таких случаях для проектирования БД, как правило, создается тщательно подобранная команда проектировщиков. В рамках децентрализованного проектиро­вания задача проектирования БД разбивается на несколько модулей. Как только установлены критерии проекта, руководитель команды проектирования определяет группы, ответственные за выполнение фрагментов проекта или модулей. Поскольку каждая группа проекта работает с отдельным подмножеством системы, оп­ределение границ и взаимозависимостей между подмножествами данных должно быть очень тщательным. Каждая группа проектирования создает концептуальную модель данных, соответствующую моделируемому подмножеству. Каждая концептуальная мо­дель затем проверяется индивидуально по отношению к представлению пользователя, процессам и ограничениям каждого модуля. После процесса проверки все модули ин­тегрируются в единую концептуальную модель. Поскольку словарь данных описывает характеристики всех объектов концептуальной модели, его роль в процессе интеграции очень важна. Естественно, после того как все подмножества объединены в укрупненную концептуальную модель, руководитель команды проекта должен проверить, что составная модель может выполнять все необходимые транзакции.

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




Рис. 6.17. Сводка проблем объединения

  • Синонимы и омонимы. Различные подразделения могут давать одним и тем же
    объектам разные имена (синонимы) или одинаковые имена могут использоваться
    для различных объектов (омонимы). Объект может быть сущностью, атрибутом
    или связью.
  • Сущность и подтипы сущности. Атрибуты могут быть записаны с использованием
    различных типов (символьный, числовой) или же для одинаковых атрибутов
    могут быть определены различные домены. Определения ограничений также
    могут различаться. Проектировщик должен устранить подобные конфликты.

I Резюме

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

Жизненный цикл разработки системы (SDLC, System Development Life Cycle) от­слеживает историю (жизненный цикл) приложения в информационной системе. SDLC можно подразделить на пять стадий: планирование, анализ, подробное сис­темное проектирование, реализация и сопровождение. SDLC является скорее итера­тивным, чем последовательным процессом.

Жизненный цикл базы данных (DBLC, Database Life Cycle) описывает историю (жизненный цикл) базы данных внутри информационной системы. DBLC состоит из шести этапов: начальная разработка, проектирование БД, реализация и загрузка дан­ных, тестирование и оценка, функционирование, а также обслуживание и развитие. Также как и SDLC, процесс DBLC скорее итеративный, чем последовательный.

Поскольку база данных является основным компонентом информационной систе­мы, процесс проектирования и реализации БД представляет для нас особый инте­рес. Процесс проектирования и реализации БД представляет собой серию опреде­ленных этапов.
  1. Анализ данных и требований помогает определить представления конечных
    пользователей и потребность в данных.
  2. В результате первого этапа получается определение значимых сущностей, атрибу­тов и связей, что в свою очередь позволяет получить соответствующую ER-модель. Компоненты ER-модели определяют способ получения нормализован­ных таблиц.
  3. Концептуальная модель проверяется посредством определения ее основных про­цессов и заданием соответствующих правил INSERT (вставка), UPDATE (об­новление) и DELETE (удаление). Кроме того, в процессе проверки просматри­ваются пользовательские представления и соответствующие ограничения данных.
  4. После проверки анализируется проектирование распределенной БД для того,
    чтобы оценить местоположение таблиц, стратегию фрагментирования БД и тре­бования доступа. ■
  5. В идеальном случае выбор программного обеспечения делается одновременно с
    разработкой концептуальной модели (этапы 1—4). Однако на практике может
    случиться так, что программное обеспечение уже имеется и концептуальное про­ектирование в какой-то мере будет от него зависеть.
  6. На основе концептуальной модели и программного обеспечения на этапе логи­ческого дизайна происходит перевод концептуальной схемы в определения таб­лиц, представлений и т. д, зависящих от конкретной СУБД. Логическое проекти­рование зависит, таким образом, от особенностей СУБД, но не зависит от
    оборудования.
  1. На этапе физического проектирования определяются специфические структуры
    хранения и пути доступа, что естественно зависит от конкретного оборудования.
  2. На последнем этапе реализации загружаются данные и создаются реальные таб­лицы и представления. При необходимости форматы атрибутов данных конвер­тируются в форматы, эффективно обрабатываемые имеющейся СУБД. На этом
    этапе завершается кодирование и тестирование прикладных программ.

Концептуальная часть проекта может выглядеть по-разному, в зависимости от ис­пользуемой стратегии проектирования.
  • Нисходящая или восходящая стратегия. При восходящем проектировании, прежде всего, идентифицируются элементы данных (атрибуты), а затем они группируются в наборы (сущности). При нисходящем проектировании сначала идентифициру­ются сущности, а затем определяются атрибуты каждой сущности. Выбор подхо­да зависит от области задачи и персональных предпочтений проектировщика.
  • Централизованный и децентрализованный подходы. Относительно простые базы I данных проще создавать на основе централизованного подхода, когда все дейст­вия компании хорошо просматриваются с точки зрения единой базы данных. Децентрализованный подход к проектированию имеет смысл применять в случае, когда операции компании распределены между многими сайтами (каждый набор данных на сайте является подмножеством всех операций компании) или кош база данных состоит из большого количества сущностей, между которыми есть сложные связи.

Основные термины

Автоматизированное проектирование систем — computer-assisted systems engineering (CASE)

Бизнес-правила — business-rules

Восходящее проектирование — bottom-up design

Границы — boundaries

Децентрализованное проектирование — decentralized design

Жизненный цикл базы данных — Database Life Cycle (DBLC)

Жизненный цикл разработки систем — Systems Development Life Cycle (SDLC)

Информационная система — information system

Концептуальное проектирование — conceptual design

Логическое проектирование — logical design

Модуль — module

Нисходящее проектирование — top-down design

Правило необходимого минимума информации — minimal data rule

Преобразование — transformation