
- •7.1.2. Концептуальное, логическое и физическое проектирование базы данных
- •7.1.3.Важнейшие факторы успешного завершения проектирования базы данных
- •7.2. Общий обзор процедуры проектирования базы данных
- •Концептуальное проектирование базы данных
- •Логическое проектирование базы данных (для реляционной модели)
- •Физическое проектирование базы данных (с использованием реляционной субд)
- •Документирование типов сущностей
- •Определение кардинальности связей и ограничений, накладываемых на его участников
- •Атрибуты простые и составные
- •Производные атрибуты
- •Документирование атрибутов
- •Документирование первичных и альтернативных ключей
В главе 4, "Планирование, проектирование и администрирование базы данных", мы обсудили основные этапы жизненного цикла приложения базы данных. Одним из них является проектирование базы данных. Оно начинается по завершении процедуры анализа всех требований к проекту, .выдвигаемых со стороны предприятия-заказчика.
В этой главе, а также в главах 8 и 9 мы обсудим методологию, предлагаемую для процедуры проектирования базы данных, входящей в общий жизненный цикл приложения, использующего базы данных реляционного типа. Предлагаемая методология представляет собой поэтапное руководство, охватывающее все три основные фазы процесса проектирования баз данных, а именно: концептуальное, логическое и физическое проектирование.
• Концептуальное проектирование — создание концептуального представления базы данных, включающее определение типов важнейших сущностей и существующих между ними связей.
• Логическое проектирование — преобразование концептуального представления в логическую структуру базы данных, включая проектирование отношений.
• Физическое проектирование — принятие решения о том, как логическая модель будет физически реализована (с помощью таблиц) в базе данных, создаваемой с помощью выбранной СУБД.
В этой главе вашему вниманию предлагается общий обзор методологии проектирования баз данных, включающий краткое описание основных действий, выполняемых на каждом из упомянутых выше этапов. Мы сосредоточимся на детальном обсуждении методологии фазы концептуального проектирования, а также опишем каждый из этапов, выполняемых при создании концептуальной модели данных. При создании локальной концептуальной модели, отражающей представления отдельных пользователей о предметной области приложения (что и является конечной целью данной фазы разработки), мы будем использовать ER-технологию проектирования, обсуждавшуюся в главе 5, "Модель "сущность-связь"".
В главе 8, "Методология логического проектирования реляционных баз данных", речь пойдет о -методологии фазы логического проектирования для реляционной модели данных. В этой главе детально описываются все этапы, необходимые для построения логической модели базы данных. Вначале рассматриваются способы преобразования отдельной локальной концептуальной модели данных в локальную логическую модель данных. Затем поясняется, как полученную логическую модель проверить с помощью процедур нормализации данных, описанных в главе 6, "Нормализация". Далее обсуждаются методы проверки адекватности полученной логической модели в отношении транзакций, которые будут выполняться пользователями. В последней части этой главы обсуждаются способы слияния отдельных локальных логических моделей данных в единую глобальную логическую модель данных, обобщающую представление всех пользователей предприятия о предметной области приложения.
В главе 9, "Методология физического проектирования реляционных баз данных", будет рассмотрена завершающая фаза процесса проектирования базы данных. Вашему вниманию будет предложено детальное описание всех этапов, необходимых для разработки физической структуры базы данных, создаваемой в среде реляционной СУБД. Представленный материал убедительно доказывает, что разработки только лишь логической модели данных совершенно недостаточно для получения гарантий действительной оптимальности выбранного способа реализации базы данных. В частности, мы приведем пример модификации выбранной" логической структуры данных, необходимой для достижения приемлемого уровня производительности приложения.
В главах 10, 11 и 12 мы обсудим практическое выполнение концептуального, логического и физического проектирования базы данных на примере приложения Dream-Home, описанного в разделе 1.7. В приложении Е приводится обобщенное формальное описание методологии разработки баз данных, предназначенное для тех читателей, которые уже хорошо знакомы с теорией и нуждаются лишь в общем обзоре основных этапов проектирования.
Во всех главах, в которых обсуждается данная методология, мы будем использовать (везде, где это допустимо по смыслу) термины "сущность" и "связь" вместо развернутых терминов "тип сущности" и "тип связи". Слово "тип" будет применяться только с целью исключения возможной неоднозначности. Отметим также, что в этой главе, как и во многих других, для иллюстрации отдельных этапов проектирования будет использоваться материал приложения DreamHome. Эти примеры являются упрощенными и предназначены лишь для демонстрации отдельных аспектов обсуждаемого материала.
7.1. Введение в методологию проектирования баз данных
Прежде чем приступить к рассмотрению собственно методологии, полезно узнать, что она собой представляет, в частности то, как методология концептуального и логического проектирования базы данных соотносится с физическим проектированием.
7.1.1. Что такое методология проектирования
Методология проектирования Структурированный подход, предусматривающий использование специализированных процедур, технических приемов, инструментов, документации и нацеленный на поддержку и упрощение процесса проектирования.
Методология проектирования предусматривает разбиение всего процесса на несколько фаз, каждая из которых, в свою очередь, состоит из нескольких этапов. На каждом этапе разработчику предлагается набор технических приемов, позволяющих решать задачи, стоящие перед ним на данной стадии разработки. Кроме того, методология предлагает методы планирования, координации, управления, оценки хода разработки проекта, а также структурированный подход к анализу и моделированию всего набора предъявляемых к базе данных требований и позволяет выполнить эти действия стандартизированным и организованным образом'
7.1.2. Концептуальное, логическое и физическое проектирование базы данных
В предлагаемой методологии проектирования баз данных весь процесс разработки разделяется на три основные фазы: концептуальное, логическое и физическое проектирование,
Концептуальное проектирование базы данных Процедура конструирования информационной модели предприятия, не зависящей от каких-либо физических условий реализации.
Фаза концептуального проектирования базы данных начинается с создания концептуальной модели данных предприятия, полностью независимой от любых деталей реализации. К последним относятся: выбранный тип СУБД, состав программ приложения, используемый язык программирования, конкретная вычислительная платформа и любые другие физические особенности реализации.
Логическое проектирование базы данных Процесс конструирования информационной модели предприятия на основе существующих конкретных моделей данных, не зависимой от используемой СУБД и прочих физических условий реализации.
Фаза логического проектирования базы данных заключается в преобразовании концептуальной модели данных в логическую модель данных предприятия с учетом выбранного типа СУБД (например, предполагается использование некоторой реляционной СУБД). Логическая модель данных является источником информации для фазы физического проектирования. Она предоставляет разработчику физической модели данных средства проведения всестороннего анализа различных аспектов работы с данными, что имеет исключительно важное значение для выбора действительно эффективного проектного решения.
Физическое проектирование базы данных Процесс создания описания конкретной реализации базы данных, размещаемой во вторичной памяти. Предусматривает описание структуры хранения данных и методов доступа, предназначенных для осуществления наиболее эффективного доступа к информации.
Фаза физического проектирования базы данных предусматривает принятие разработчиком окончательного решения о способах реализации создаваемой базы. Поэтому физическое проектирование обязательно производится с учетом всех особенностей используемой СУБД. Между фазами физического и логического проектирования всегда имеется определенная обратная связь, поскольку решения, принятые на этапе физического проектирования с целью повышения производительности разрабатываемой системы, могут потребовать некоторого пересмотра логической модели данных.
7.1.3.Важнейшие факторы успешного завершения проектирования базы данных
Ниже приведены некоторые рекомендации, следовать которым необходимо для успешного завершения процедуры проектирования базы данных.
• Поддерживайте постоянную и активную связь с будущими пользователями приложения.
• При проведении процедур моделирования данных придерживайтесь рекомендаций, приведенных при обсуждении предлагаемой методологии.
• Разрабатывайте систему исходя из существующих характеристик данных.
• Создавайте модель данных с учетом требований поддержки их структурной целостности и согласованности.
• Дополняйте предлагаемые данной методологией процедуры технологическими приемами концептуализации, нормализации и проверки целостности транзакций.
• Для представления модели данных как можно шире используйте диаграммы.
• Для описания дополнительных семантических требований к данным используйте средства языка DBDL (Database Design Language).
• В дополнение к диаграммам моделей данных разработайте словарь описания данных.
• Без колебаний возвращайтесь к уже выполненным ранее этапам, если это требуется для достижения оптимальных результатов.