≪
≫

ПРОЕКТИРОВАНИЕ РЕЛЯЦИОННЫХ БД

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

При проектировании БД решаются три основные задачи:

  • 1) необходимость адекватного отображения предметной области и информационных потребностей пользователей в семантическую модель БД — инфологическое (концептуальное) проектирование БД;
  • 2) выбор способа отображения объектов предметной области в абстрактные объекты модели данных, чтобы это отображение не противоречило семантике предметной области и было по возможности эффективным - логическое проектирование БД;
  • 3) обеспечение эффективности выполнения запросов к БД, т. е. каким образом, имея в виду особенности конкретной СУБД, расположить данные во внешней памяти, создать дополнительные структуры данных (например, индексы) — физическое проектирование БД.

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

На практике реализация физического макета может оказывать существенное влияние на логический макет, поэтому конечная структура БД будет некоторым компромиссом в связке «логический макет — физический макет».

Следует учесть, что проектирование БД — больше искусство, чем просто наука. Научные принципы составления БД будут изложены далее, но при проектировании возникает множество проблем, которые нельзя охватить только принципами. В данной области разработано большое количество методик проектирования, но все они являются более или менее специализированными (т. е. позволяют построить такой логический макет, который был бы лучшим в некоторой конкретной ситуации). Кроме того, в большинстве случаев построение макета

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

 
Посмотреть оригинал