Проектирование баз данных

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

Обычно с базами данных работают две категории пользователей. Первая категория - проектировщики. Процесс проектирования базы данных делится на этапы, каждый из которых предусматривает выполнение определенных действий. Первый этап-разработка информационно-логической модели данных предметной области, основанный на описании предметной области, полученном в результате ее обследования. На этом этапе сначала определяют состав и структуру данных предметной области которые должны содержаться в базе данных и обеспечивать выполнение запросов, задач и приложений пользователя. Эти данные имеют форму реквизитов, содержащихся в различных документах - источниках загрузки базы данных. Анализ выявленных данных позволит определить функциональные зависимости реквизитов, которые используют для выделения информационных объектов, отвечающих требованиям нормализации данных. Дальнейшее определение структурных связей между объектами позволяет построить информационно-логическую модель.

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

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

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

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

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

1. Работа начинается с определения генерального перечня полей, который может насчитывать десятки и сотни позиций.

2. В соответствии с типом данных, размещаемых в каждом поле, определяют тип каждого поля.

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

4. Для каждой таблицы определяют ключевое поле. Ключевым выбирают поле, данные в котором повторяться не могут. Например, для таблицы данных о студентах таким полем может быть индивидуальный шифр студента. Для таблиц, в которых содержится расписание занятий, такого поля можно и не найти, но его можно создать искусственно комбинированием полей "Время занятия» и «Номер аудитории». Эта комбинация уникальная, поскольку в определенной аудитории в определенное время в целом не проводят двух разных занятий. Если же в таблице вообще нет полей, которые можно было 6 использовать как ключевые, всегда можно ввести дополнительное поле типа счетчик - оно по определению не может содержать повторяющиеся данные.

5. На следующем этапе определяют связи между таблицами (схему данных). Связи между таблицами организуются на основе общего поля, причем в одной из таблиц оно обязательно должно быть ключевым. То есть на стороне «один» должно быть ключевое поле, которое не повторяется, значение на стороне "много" могут повторяться. 6. "Бумажный" этап работы над техническими предложениями заканчивается разработкой схемы данных. Эту схему следует согласовать с заказчиком, после чего начать непосредственное создание базы данных. Следует помнить, что в ходе разработки проекта заказчику непременно будут поступать новые идеи. Возможность гибкого использования его пожеланий существенно зависит от квалификации разработчика базы данных. Если схема данных составлена правильно, подключить к базе новые таблицы нетрудно. Если структура базы нерациональна, разработчик может натолкнуться на существенные трудности и сделать противоречия с заказчиком. Спор исполнителя с заказчиком всегда свидетельствует о недостаточной квалификации исполнителя. На этом этапе завершается предварительное проектирование базы данных, и на следующем этапе начинается ее непосредственная разработка (внедрения).

 
< Пред   СОДЕРЖАНИЕ   След >