Взаимосвязь этапов создания базы данных (БД) и используемых моделей предметной области. Классификационная схема моделей базы данных (БД).
Каждый этап строится на предыдущем и если что — возвращается к немуКонцептуальная модель представляет объекты и их взаимосвязи без указания способов их физического хранения. Концептуальная модель включает описания объектов и их взаимосвязей, представляющих интерес в рассматриваемой предметной области и выявляемых в результате анализа данных.Концептуальная модель транслируется затем в модель данных, совместимую с выбранной СУБД. Версия концептуальной модели, которая может быть обеспечена конкретной СУБД, называется логической моделью. Логическая модель отражает логические связи между элементами данных вне зависимости от их содержания и среды хранения. Логическая модель данных может быть реляционной, иерархической или сетевой. Пользователям выделяются подмножества этой логической модели, называемые внешними моделями, отражающие их представления о предметной области.Физическая модель, определяющая размещение данных, методы доступа и технику индексирования, называется внутренней моделью системы. Внешние модели никак не связаны с типом физической памяти, в которой будут храниться данные, и с методами доступа к этим данным. Это положение отражает первый уровень независимости данных. Если концептуальная модель способна учитывать расширение требований к системе в будущем, то вносимые в нее изменения не должны оказывать влияния на существующие внешние модели. Это — второй уровень независимости данных. Построение логической модели обусловлено требованиями используемой СУБД. Поэтому при замене СУБД она также может измениться. Основное различие между указанными выше тремя типами моделей данных (концептуальной, логической и физической) состоит в способах представления взаимосвязей между объектами. При проектировании БД нам потребуется различать взаимосвязи между объектами, между атрибутами одного объекта и между атрибутами различных объектов. Иерархическая модель данных строится по принципу иерархии типов объектов, то есть один тип объекта является главным, а остальные, находящиеся на низших уровнях иерархии, — подчиненными. Между главным и подчиненными объектами устанавливается взаимосвязь «один ко многим». Иными словами, для данного главного типа объекта существует несколько подчиненных типов объекта. В то же время для каждого экземпляра главного объекта может быть несколько экземпляров подчиненных типов объектов.Узлы и ветви образуют иерархическую древовидную структуру. Узел является совокупностью атрибутов, описывающих объект. Наивысший в иерархии узел называется корневым (это главный тип объекта). Корневой узел находится на первом уровне. Зависимые узлы (подчиненные типы объектов) находятся на втором, третьем и т. д. уровнях.Недостатки: из нижних уровней иерархии нельзя направить информационный поиск по вышележащим узлам. Сетевая модель.В сетевой модели данных понятия главного и подчиненных объектов несколько расширены. Любой объект может быть и главным и подчиненным (в сетевой модели главный объект обозначается термином «владелец набора», а подчиненный — термином «член набора»). Один и тот же объект может одновременно выступать и в роли владельца, и в роли члена набора. Это означает, что каждый объект может участвовать в любом числе взаимосвязей. Реляционная модельВ реляционной модели данных (ввел в 1970 г. Э. Ф. Кодд.) объекты и взаимосвязи между ними представляются с помощью таблиц. Взаимосвязи также рассматриваются в качестве объектов. Каждая таблица представляет один объект и состоит из строк и столбцов. В реляционной базе данных каждая таблица должна иметь первичный ключ (ключевой элемент) — поле или комбинацию полей, которые единственным образом идентифицируют каждую строку в таблице. Благодаря своей простоте и естественности представления реляционная модель получила наибольшее распространение в СУБД для персональных компьютеров. Признаки, позволяющие считать таблицу отношением В таблице нет строк с совпадающими ключами (строки уникальны). В каждой строке содержатся значения одного и того же набора атрибутов. Отношения неразложимы (не могут быть элементами другого отношения). Достоинства реляционных моделей данных.• Упрощение схемы данных для пользователя. Как уже известно, древовидная и сетевая модели объединяют в одной схеме понятия логического и физического уровней, т. е. построение схемы пользователем требует хорошего знания технических приемов, реализованных в системе, если необходимо получить эффективную в использовании БД. Преимуществом реляционной модели перед другими моделями является простая и удобная для пользователя схема данных, представляемая в виде таблиц. • Улучшение логической и физической независимости. Логическая независимость допускает возможность применения одной концептуальной модели различными пользователями. Физическая независимость дает возможность в целях эффективности использования БД модифицировать физическую организацию данных и пути доступа. Например, необходимо добавить или удалить некоторую связь между записями без изменения программы. В иерархической и сетевой моделях физическая независимость является слабой, так как схема зависит от физического описания, и, следовательно, любое физическое изменение пути доступа в той или иной степени влияет на ПП. Физическая независимость реляционной модели состоит в том, что модель данных не включает никаких физических описаний. В действительности физическое представление отношений и путей доступа описывается независимо от описания логической схемы отношений. • Обеспечение пользователя языками высокого уровня. Манипулирование данными в иерархической и сетевой моделях производится с помощью процедурных языков. Язык является непроцедурным, когда с его помощью задают информацию, которую желают получить, не указывая способа доступа к этой информации. Для реляционных моделей бессмысленно использовать процедурный язык, поскольку обеспечена физическая независимость данных. С помощью команд процедурного языка программист строит стратегию доступа к данным. Но любое изменение пути доступа приводит к необходимости модификации программы. • Оптимизация доступа к БД. Увеличение физической независимости и использование непроцедурных языков требуют от системы выбора наилучшей стратегии доступа. Поскольку в программе не определяется стратегия доступа, то система выбирает наиболее эффективную из возможных. • Улучшение целостности и защиты данных. Современные СУБД, ориентированные на иерархические и сетевые модели, имеют ограниченные средства для поддержания целостности и защиты данных. Требования целостности определяются логическими терминами на уровне концептуальной схемы. Реляционная модель позволяет улучшить выражение требований целостности путем использования языка высокого уровня. Для обеспечения безопасности и секретности необходимо указать информацию, которую нужно защитить, и пользователей, применяющих данную информацию. Эффективность описания достигается применением непроцедурных языков, поскольку они способны идентифицировать информацию вне зависимости от любого пути доступа. • Возможности различных применений. Использование простой реляционной схемы и языка запросов, рассчитанного на непрограммистов, позволяет расширить области применения. • Обеспечение методологического подхода. Главной целью модели БД является возможность описания реального мира. В реляционной модели определение первой, второй, третьей нормальных форм, как увидим далее, основывается на математической теории отношений, позволяет пользователю структурировать информацию, точно идентифицируя связи, существующие между элементами информации, и ограничения, которым эти элементы должны удовлетворять. Кроме того, концепция нормальной формы отношения есть средство измерения уровня качества модели. В частности, далее увидим, что концептуальная схема содержит только отношения в третьей нормальной форме. Данная схема предоставляет пользователю возможность изменять любые значения одних отношений, не затрагивая других. Недостатком реляционной модели данных является избыточность по полям (из-за создания связей).