Предметная область - часть реального мира, подлежащая изучению с целью организации управления и, в конечном счете, автоматизации. Предметная область представляется множествомфрагментов, например, предприятие - цехами, дирекцией, бухгалтерией и т.д. Каждый фрагмент предметной области харакетризуется множеством объектов и процессов, использующих объекты, а также множеством пользователей, харакетризуемых различными взглядами на предметную область.
В теории проектирования информационных систем предметную область (или, если угодно, весь реальный мир в целом) принято рассматривать в виде трех представлений:
- представление предметной области в том виде, как она реально существует
- как ее воспринимает человек (имеется в виду проектировщик базы данных)
- как она может быть описана с помощью символов.
Данные, используемые для описания предметной области, представляются в виде трехуровневой схемы (так называемая модель ANSI/SPARC):
Внешнее представление (внешняя схема) данных является совокупностью требований к данным со стороны некоторой конкретной функции, выполняемой пользователем. Концептуальная схема является полной совокупностью всех требований к данным, полученной из пользовательских представлений о реальном мире. Внутренняя схема - это сама база данных.
Отсюда вытекают основные этапы, на которые разбивается процесс проектирования базы данных информационной системы:
Концептуальное (инфологическое) проектирование
Концептуальное
(инфологическое) проектирование — построение семантической модели предметной
области, то есть информационной модели наиболее высокого уровня абстракции.
Такая модель создаётся без ориентации на какую-либо конкретную СУБД и модель
данных. Термины «семантическая модель», «концептуальная модель» и
«инфологическая модель» являются синонимами. Кроме того, в этом контексте
равноправно могут использоваться слова «модель базы данных» и «модель
предметной области» (например, «концептуальная модель базы данных» и
«концептуальная модель предметной области»), поскольку такая модель является
как образом реальности, так и образом проектируемой базы данных для этой
реальности.
Конкретный вид и
содержание концептуальной модели базы данных определяется выбранным для этого
формальным аппаратом. Обычно используются графические нотации, подобные
ER-диаграммам.
Чаще всего
концептуальная модель базы данных включает в себя:
- описание информационных объектов, или понятий предметной области и связей между ними.
- описание ограничений целостности, т.е. требований к допустимым значениям данных и к связям между ними.
Логическое (даталогическое) проектирование
Логическое
(даталогическое) проектирование — создание схемы базы данных на основе
конкретной модели данных, например, реляционной модели данных. Для реляционной
модели данных даталогическая модель — набор схем отношений, обычно с указанием
первичных ключей, а также «связей» между отношениями, представляющих собой
внешние ключи.
Преобразование
концептуальной модели в логическую модель, как правило, осуществляется по
формальным правилам. Этот этап может быть в значительной степени
автоматизирован.
На этапе логического
проектирования учитывается специфика конкретной модели данных, но может не
учитываться специфика конкретной СУБД.
Физическое проектирование
Физическое
проектирование — создание схемы базы данных для конкретной СУБД. Специфика
конкретной СУБД может включать в себя ограничения на именование объектов базы
данных, ограничения на поддерживаемые типы данных и т.п. Кроме того, специфика
конкретной СУБД при физическом проектировании включает выбор решений, связанных
с физической средой хранения данных (выбор методов управления дисковой памятью,
разделение БД по файлам и устройствам, методов доступа к данным), создание
индексов и т.д.
Основные задачи:
- Обеспечение хранения в БД всей необходимой информации.
- Обеспечение возможности получения данных по всем необходимым запросам.
- Сокращение избыточности и дублирования данных.
- Обеспечение целостности базы данных.