При проектировании базы данных решаются две основные проблемы:
· Каким образом отобразить объекты предметной области в абстрактные объекты модели данных, чтобы это отображение не противоречило семантике предметной области, и было, по возможности, лучшим (эффективным, удобным и т. д.)? Часто эту проблему называют проблемой логического проектирования баз данных.
· Как обеспечить эффективность выполнения запросов к базе данных? Эту проблему обычно называют проблемой физического проектирования баз данных. Здесь слишком много зависит от используемой СУБД
Классический подход к проектированию реляционных баз данных заключается в том, что сначала предметная область представляется в виде одного или нескольких отношений, а далее осуществляется процесс нормализации схем отношений, причем каждая следующая нормальная форма обладает свойствами лучшими, чем предыдущая.
Основные свойства нормальных форм такие:
· каждая следующая нормальная форма в некотором смысле лучше предыдущей;
|
|
· при переходе к следующей нормальной форме свойства предыдущих нормальных форм сохраняются.
Процесс проектирования реляционной базы данных на основе метода нормализации преследует две основные цели:
· избежать избыточности хранения данных;
· устранить аномалии обновления отношений.
Язык реляционных баз данных SQL
Из рассмотрения реляционной модели известно, что двумя фундаментальными языками запросов к реляционным базам данных являются языки реляционной алгебры и реляционного исчисления. При всей своей строгости и теоретической обоснованности, эти языки не стали стандартными языками реляционных СУБД.
Юридическим и фактическим стандартом стал язык SQL (Structured Query Language – «язык структурированных запросов»).
SQL представляет собой некоторую комбинацию реляционного исчисления кортежей и реляционной алгебры, и был разработан в середине 70-х годов в компании IBM в рамках проекта экспериментальной реляционной СУБД System R. Деятельность по стандартизации SQL началась практически одновременно с появлением его первых коммерческих реализаций. В 1986 г. был принят стандарт ANSI, а в 1987 г. Этот стандарт был одобрен международной организацией по стандартизации (ISO). Время от времени выпускается пересмотренная версия этого стандарта; наиболее свежее обновление было выпущено в 2008 г.