Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проектирование реляционных баз данных.docx
Скачиваний:
60
Добавлен:
16.03.2016
Размер:
189.97 Кб
Скачать
  1. Понятие базы данных

Несмотря на то, что термин «база данных» является одним из наиболее распространенных, строгого, всеми признанного определения этого понятия не существует.

Например, в ст. 1260 Гражданского кодекса РФ база данных определяется как представленная в объективной форме совокупность самостоятельных материалов (статей, расчётов, нормативных актов, судебных решений и иных подобных материалов), систематизированных таким образом, чтобы эти материалы могли быть найдены и обработаны с помощью электронной вычислительной машины (ЭВМ).

В классическом труде Дж. Мартина «Организация баз данных в вычислительных системах», изданного в 1978 и 1980 г.г., сказано, что базу данных можно определить как совокупность взаимосвязанных хранящихся вместе данных при наличии такой минимальной избыточности, которая допускает их использование оптимальным образом для одного или нескольких приложений. Данные запоминаются так, чтобы они были независимы от программ, использующих эти данные. Для добавления новых или модификации существующих данных, а также для поиска данных в базе применяется общий управляемый способ. Данные структурируются таким образом, чтобы была обеспечена возможность наращивания приложений.

Дейт К. Дж., чей фундаментальный труд «Введение в системы баз данных» выдержал уже 8 русскоязычных изданий, вообще избегает определения объекта своего рассмотрения. Так же поступают и Т. Тиори, Дж. Фрай, авторы двухтомника «Проектирование структур баз данных».

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

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

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

  1. Проблемы проектирования баз данных. Жизненный цикл базы данных

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

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

На входе процесса проектирования общие требования (цели системы, данные), требования к обработке (объем данных, необходимые операции с данными, частота их выполнения), характеристики СУБД (чаще всего ограничения), характеристики платформы (ОС, комплекс технических средств).

В соответствии с концепцией, опубликованной в 1975 г. в отчете рабочей группы по базам данных ANSI/X3/SPARC (Комитета по планированию стандартов Американского национального института стандартов), выделяются три уровня представления (моделирования) при проектировании базы данных: внешний, концептуальный и внутренний (рис. 2.1). Наряду с термином «модель» часто используется также термин «схема».

Рис. 2.1. Подход ANSI/SPARC

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

Концептуальная модель служит для поддержки единого взгляда на базу данных, общего для всех приложений и в этом смысле независимого от них. На этапе создания концептуальной модели выявляются и устраняются противоречия во взглядах на данные различных пользователей и приложений, устанавливаются общие для всех правила и приемы работы с данными. Именно в среду концептуального уровня при проектировании базы данных отображается концептуальная модель предметной области. В соответствии с подходом ANSI/X3/SPARC концептуальная модель данных не зависит от среды и механизма реализации, от типа выбранной СУБД. Тем не менее, ограничения СУБД в части типов данных, возможностей представления связей между данными могут наложить отпечаток на концептуальную схему. Поэтому в ряде случаев выполняют так называемое проектирование реализации, т.е. концептуальное проектирование с учетом целевой СУБД.

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

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

Очевидно, что в предлагаемой архитектурной модели необходимо поддерживать соответствие между представлениями базы данных на смежных уровнях архитектуры системы базы данных. В модели ANSI/X3/SPARC для этой цели служат механизмы междууровневого отображения данных "внешний – концептуальный" и "концептуальный – внутренний". Именно эти механизмы обеспечивают абстракцию данных в системе, определяют достижимую в системе степень независимости данных.

На этапе проектирования необходим учет всех этапов жизненного цикла системы с базой данных. Можно выделить 2 фазы (этапа): анализа и проектирования; реализации и функционирования.

На этапе анализа и проектирования выполняется:

  • формулирование и анализ требований (учитываются общие информационные требования и требования к обработке);

  • концептуальное проектирование (без учета СУБД);

  • проектирование реализации (наложение на концептуальную схему возможностей представления данных конкретной СУБД);

  • физическое проектирование.

На этапе реализации и функционирования выполняется:

  • заполнение базы данными, эксплуатация базу данных;

  • анализ функционирования и поддержка (резервное копирование, реорганизация с целью повышения операционных характеристик без изменения схемы данных);

  • модификация и адаптация.

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