Введение

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

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

Современные крупные проекты информационных систем характеризуются, как правило, следующими особенностями:

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

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

При проектировании информационной системы необходимо провести анализ целей этой системы и выявить требования к ней отдельных пользователей. Сбор данных начинается с изучения сущностей предметной области, процессов, использующих эти сущности, и связей между ними [3, 5-7, 9, 11-13, 15, 17-19] и заканчивается построением ER-модели, являющейся базисом формализованной модели данных. На сегодняшний день в подавляющем большинстве случаев это реляционная модель данных [1-2, 4, 7-10, 11-13, 15-16], ставшая по сути дела стандартом де-факто для построения систем баз данных и позволяющая средствами формализованного языка манипулировать данными [7-8, 15-16, 20-21].

Основная цель проектирования базы данных - это сокращение избыточности хранимых данных, а следовательно, экономия объема используемой памяти, уменьшение затрат на многократные операции обновления избыточных копий и устранение возможности возникновения противоречий из-за хранения в разных местах сведений об одном и том же объекте [1-6, 7-9, 12-16].

Учебное пособие содержит большое число примеров, схем и диаграмм, способствующих успешному усвоению материала. Первые две части учебного пособия заканчиваются перечнем вопросов для контроля и самопроверки.Приведенные в части 4 учебного пособия варианты заданий можно рекомендовать для выполнения курсовых лабораторных и исследовательских работ по дисциплинам "Базы данных" и "Распределенные базы данных". Автор выражает благодарность студентам факультета ФПМИ Бакуниной Татьяне и Закревской Наталье, участвовавших в подготовке вариантов заданий.