Курс в двух словах.

Жизненный цикл приложения базы данных.

 

Базы данных является фундаментальным компонентом более широкого понятия — информационной системы организации. Следовательно, жизненный цикл приложений баз данных неразрывно связан с жизненным циклом информационной системы. Этапы жизненного цикла приложения базы данных показаны на рис. 1. Следует признать, что эти этапы не являются строго последовательными, а включают некоторое количество повторов предыдущих шагов в виде циклов обратной связи. Например, при проектировании базы данных могут возникнуть проблемы, для разрешения которых потребуется вернуться к этапу сбора и анализа требований. Циклы обратной связи могут возникать почти между всеми этапами, но здесь показаны только наиболее очевидные из них.

Планирование разработки базы данных. Планирование самого эффективного способа реализации этапов жизненного цикла системы.

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

Сбор и анализ требований пользователей. На этом этапе выполняется сбор и анализ требований пользователей из всех возможных областей применения.

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

 

Рис. 1.1. Жизненный цикл приложения баз данных

 

 

Выбор целевой СУБД (необязательно). На этом этапе выполняется выбор наиболее подходящей СУБД для приложения базы данных.

Разработка приложений. Определение пользовательского интерфейса и прикладных программ, которые используют и обрабатывают базу данных.

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

Реализация. Этот этап включает создание внешнего, концептуального и внутреннего определений базы данных и прикладных программ.

Конвертирование и загрузка данных. На этом этапе выполняется преобразование и загрузка данных (и прикладных программ) из старой системы в новую.

Тестирование. Приложение базы данных тестируется с целью обнаружения ошибок, а также его проверки на соответствие всем требованиям, выдвинутым пользователями.

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

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

 

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

Начнем с того, что базу данных назовем совокупностью двухмерных таблиц. Каждая таблица состоит из столбцов и строк. Каждый столбец имеет свой заголовок.

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

 

Рис. 1.2. База данных учета посещаемости занятий.

 

Обратите внимание, что в столбцах «№ зач.» и «Шифр пр.» таблицы «Посещаемость» находятся только значения, содержащиеся в столбце «№ зач.» таблицы «Студенты» и «Шифр» таблицы «Предметы» соответственно. Таким образом, можно по № зачетки из таблицы «Посещаемость» узнать фамилию прогульщика, а по шифру предмета определить какой предмет он прогулял. С другой стороны, можно сказать, кто из студентов не входит в число прогульщиков, и какой предмет посещают все студенты. Попробуйте назвать фамилию добросовестного студента самостоятельно. Назовите предмет, который никто не прогуливает.

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

На рис. 1.2. представлен взгляд со стороны разработчика базы данных. Попробуйте самостоятельно изобразить таблицу, в которой вам было бы удобно увидеть, сколько и по какому предмету было пропущено занятий каждым студентом. Этим вопросом мы займемся во второй половине нашего курса, когда будем изучать «Представления данных».

Такая кажущаяся простота не должна Вас обманывать. Только опыт создания баз данных поможет Вам выработать свои собственные приемы и подходы. Но для этого Вы должны приобрести некоторую базу. В предлагаемом курсе рассмотрены концепции и приемы проектирования баз данных, с которыми полезно ознакомиться и взять их за основу.