Проектирование баз данных
Реферат, 07 Октября 2013, автор: пользователь скрыл имя
Краткое описание
Значительная часть проектов в области информационных технологий (далее ИТ-проектов) направлена на разработку и создание информационных систем, в рамках которых осуществляется обработка данных различной сложности. Целью таких проектов является разработка и создание информационной системы с базами данных. Практически во всех таких проектах решается задача проектирования баз данных определенного типа. Решение задачи проектирования повышает вероятность того, что разрабатываемая информационная система (далее - система) будет удовлетворять заданным функциональным и информационным требованиям с учетом заданных ограничений.
Содержание
1. Введение 2
2. Проектирование базы данных 4
3. Бизнес-модель процесса проектирования базы данных: сбор и анализ входных данных 9
4. Бизнес-модель процесса проектирования реляционной базы данных: создание логической модели базы данных 11
5. Бизнес-модель этапа проектирования - создание физической модели реляционной базы данных 15
6. Бизнес-модель этапа проектирования - создание физической модели реляционной базы данных: учет влияния транзакций 17
7. Краткое рассмотрение задач создания серверного кода и подготовки скрипта 19
8. Заключение 23
Прикрепленные файлы: 1 файл
Проектирование баз данных.doc
— 551.50 Кб (Скачать документ)- сбор документации с результатами анализа предметной области базы данных в виде диаграмм, спецификаций и требований;
- контроль качества результатов анализа предметной области базы данных;
- систематизация требований и спецификаций заказчика к базе данных;
- подготовка плана проектирования базы данных.
В ходе контроля качества
основными моментами
Систематизация требований заказчика к базе данных проводится с целью их адекватного распределения по этапам проектирования базы данных. Важным результатом систематизации является вывод о достаточности требований и реализуемости базы данных. Заказчик должен точно знать, что он получит и чего не получит в результате создания базы данных! Особенно важно указать, чего он не получит. Анализ требований на реализуемость базы данных в рамках конкретного ИТ-проекта служит основой для принятия решения менеджером проекта о возможности реализации проекта в целом.
Создав бизнес-модель проектирования базы данных, вы, фактически, составили план проектирования базы данных. Позициями рабочего плана являются работы бизнес-модели процесса проектирования базы данных, которые дополняются сведениями об ответственных исполнителях и сроках исполнения. Каждый уровень декомпозиции процесса уточняет этот план.
Настоящая бизнес-модель процесса проектирования базы данных представляет собой достаточно простой типичный пример бизнес-модели проектирования. В общем случае содержание бизнес-модели проектирования зависит от многих факторов: личности менеджера и состава команды проекта, объема проекта, проектных рисков и т.д.
4. Бизнес-модель
процесса проектирования
Основной целью этапа создания логической модели базы данных является преобразование информационной модели предметной области базы данных в логическую модель реляционной базы данных. Создание логической модели базы данных предполагает решение следующих основных задач и выполнения операций в рамках таких задач:
- нормализация сущностей предметной области:
- получить список атрибутов сущности;
- определить функциональные зависимости (ФЗ) в сущности;
- определить детерминанты сущности;
- определить возможные ключи отношения, в частности, рассмотрев уникальный идентификатор сущности.
- выполнить нормализацию сущности (преобразовать сущность в отношение);
- для полученного отношения назначить первичные ключи;
- сформировать список кандидатов на внешние ключи, если необходимо;
- сформировать бизнес-правила поддержки целостности сущности, если необходимо;
- нормализация отношений логической модели базы данных:
- определить степень связи сущностей;
- определить класс принадлежности сущности к связи;
- нормализовать отношение (разрешить связи);
- назначить первичные ключи связывающих отношений, исходя из уникального идентификатора связи и процедуры миграции ключей при нормализации;
- определить атрибуты связывающих отношений, если необходимо;
- сформировать бизнес-правила поддержки целостности связей;
- проверка правильности логической модели реляционной базы данных:
- проверка отношений на соответствие нормальной форме Бойса-Кодда;
- проверка отношений на свойства соединения без потерь и сохранения функциональных зависимостей;
- предотвращение потери данных путем миграции первичных ключей отношения и назначения внешних ключей;
- проверка на отсутствие незамкнутых связей;
- проверка на отсутствие одиночных отношений;
- формулировка части исходных данных для решения задачи управления ссылочной целостностью;
- документирование логической модели реляционной базы данных;
- принятие решения о реализуемости построенной логической модели реляционной базы данных;
- принятие решения о разработке физической модели реляционной базы данных.
Результатом проектирования логической модели базы данных является нормализованная схема отношений базы данных. Отметим, что в ходе выполнения этапа создания логической модели базы данных могут быть созданы новые объекты базы данных, не предусмотренные в информационной модели предметной области, например связывающая сущность при нормализации отношения со степенью связи "многие-ко-многим". Иногда на этом этапе принимается решение о выборочной денормализации отношений.
На рис. 3.4-рис. 3.6 представлены бизнес-модели процессов создания логической модели базы данных, нормализации сущности предметной области и нормализации отношений логической модели базы данных соответственно.
Рис. 3.4. Бизнес-модель процесса создания логической модели базы данных
Рис. 3.6. Бизнес-модель процесса нормализации отношения
Представленные задачи составляют минимально необходимый набор задач, позволяющих спроектировать логическую модель базы данных, и могут рассматриваться как один из возможных способов организации работ в этой области.
5. Бизнес-модель этапа проектирования - создание физической модели реляционной базы данных
Организационная сторона решения профессиональной задачи проектировщика баз данных - задача создания физической модели реляционной базы данных. Основная цель решения этой задачи: преобразовать логическую модель реляционной базы данных в последовательность команд SQL для создания объектов реляционной базы данных. Таким образом, проектировщик базы данных отображает отношения логической модели реляционной базы данных (сущности предметной области, представленные в нормализованной форме на ER-диаграммах) в таблицы и индексы реляционной базы данных.
Эта задача включает выполнение ряда обязательных последовательных процедур.
Создание базовых таблиц. Они представляют основные блоки хранения данных и выводятся из сущностей логической модели данных. При создании каждой таблицы проектировщик должен рассмотреть и учесть ряд факторов:
- определить список колонок в таблице. Колонки выводятся из атрибутов сущности логической модели данных;
- определить типы данных для каждой колонки. Типы данных колонок либо заданы спецификацией домена атрибута логической модели, либо определяются проектировщиком самостоятельно;
- определить имя таблицы. Оно может быть выведено из имени сущности логической модели базы данных или задано проектировщиком самостоятельно. Желательно в этот момент определить собственника таблицы - пользователя, который будет иметь все права доступа на таблицу, а также потенциальных пользователей таблицы;
- определить ряд параметров, связанных с характером хранения таблицы в физической базе данных;
- определить ограничения на значения колонок, исходя из ряда бизнес-правил.
Создание связывающих таблиц, необходимых для разрешения отношения "многие-ко-многим", если они имеют место в логической модели базы данных. В рамках ER-диаграмм это отношение может быть уже разрешено. Тогда речь пойдет только о его реализации в командах SQL.
Принять решение о способе поддержки ссылочной целостности в базе данных. Если будет решено поддерживать ссылочную целостность на уровне команд SQL, то специфицировать ограничения ссылочной целостности. Эта задача решается в четыре этапа:
- идентифицировать первичные ключи каждой таблицы;
- построить индексы первичного ключа;
- определить внешние ключи в дочерних таблицах, если необходимо;
- построить команды SQL, которые идентифицируют внешние ключи в дочерних таблицах и правила поддержки ссылочной целостности;
- Если необходимо, построить представления внешней схемы базы данных.
В результате решения данной задачи делается важный вывод о правильности полученной первой итерации физической модели базы данных, осуществляется документирование физической модели данных в виде скрипта, принимается решение о характере дальнейшей разработки физической модели данных.
6. Бизнес-модель этапа проектирования - создание физической модели реляционной базы данных: учет влияния транзакций
Решая профессиональную задачу создания физической модели данных - учет влияния транзакций, - проектировщик базы данных стремиться создать такую физическую модель данных, которая, по его мнению, давала бы наибольшую производительность обработки запросов базы данных. На практике, особенно при создании и разработке новых баз данных, такая задача вряд ли может быть решена полностью. Ясно, что для ее решения необходимо иметь список всех запросов к базе данных, их частоте и объеме выборок по каждому, что в принципе невозможно. Поэтому проектировщики базы данных на основе анализа исходной документации и опросов потенциальных пользователей пытаются систематизировать транзакции к базе данных, оценить кардинальность таблиц в целом и отдельных колонок в частности. На основе таких оценок проектировщик базы данных пытается определить критические транзакции и настроить структуры таблиц, задействованных в таких транзакциях, на достижение, с его точки зрения, максимальной производительности. При этом он выдвигает гипотезы о применимости того или иного способа повышения производительности обработки запросов и умозрительно проверяет их. Далее он принимает решение о применении наиболее подходящего, с его точки зрения, способа увеличения производительности запросов.
Следует понимать, что
задача обеспечения высокой
На этом этапе проектирования физической модели реляционной базы данных проектировщик базы данных:
- исходя из требований к характеру обработки данных, определяет тип приложения базы данных;
- по имеющимся требованиям и описаниям выполняет систематизацию и описание по возможности всех транзакций к базе данных;
- отталкиваясь от исходной документации, определяет возможные размеры таблиц, а если это невозможно, делает предположения об их возможном размере;
- исходя из фактических размеров таблиц и требований к производительности выполнения транзакций, определяет критические транзакции;
- для каждой критической транзакции необходимо оценить кардинальность каждой колонки, задействованной в транзакции и, по возможности, кардинальность выборки;
- далее, рассматривая в первую очередь критические транзакции и таблицы, которые в них участвуют, проектировщик базы данных принимает субъективные решения по изменению структуры таблиц внутренней схемы базы данных, исходя из тех механизмов, которые ему предоставляет конкретная СУБД;
- по завершении изменения структур таблиц проектировщик базы данных документирует эти изменения, приводя обоснование своих решений для администратора базы данных.
В результате проектировщик базы данных создает физическую модель базы данных, которая учитывает характер обработки данных в базе данных, выраженный через учет влияния транзакций.
7. Краткое рассмотрение
задач создания серверного
Профессиональная задача проектирования баз данных - разработка серверного кода базы данных - возникает, как правило, в многопользовательской вычислительной среде.
В многопользовательских системах пользователи совместно используют вычислительные ресурсы, в частности ресурсы дисковой памяти и оперативной памяти процессора. Вычислительные ресурсы могут быть сконцентрированы в одном месте (централизованные вычисления) или быть рассредоточенными в различных узлах, объединенных в компьютерную сеть (распределенные вычисления). СУБД в любом случае призвана координировать и осуществлять доступ пользователей к базам данных и их объектам.
Большинство современных СУБД поддерживают концепцию клиент-серверной технологии для распределенных вычислений. Это означает, что существуют концентраторы вычислений (называемые серверами), на которых выполняется наибольший объем вычислений с данными (серверы баз данных), и машины пользователей (клиенты), на которых выполняются приложения пользователей.
Приложения формируют запросы в форме команд SQL к базам данных, отправляют их серверам баз данных, получают запрашиваемые данные и обрабатывают их.
В клиент-серверной
Работа приложения по второй схеме основывается на использовании так называемого серверного кода (server-side code) - любого кода, выполняемого компьютером, на котором установлена СУБД. Ядро СУБД выполняет этот код в базе данных и возвращает приложению только результат. Например, это может быть несколько колонок строки или вычисленное значение.
Использование серверного
кода может значительно сократить
объем сетевого трафика и тем
самым увеличить
PL/SQL является таким
расширением SQL в СУБД Oracle 9i. Он
позволяет создавать серверный
код в виде объектов