Вопрос № 21 Принципы проектирования баз данных. Характеристика связей.
Принципы проектирования БД.При разработке базы данных обычно выделяется несколько уровней моделирования:предметная область;концептуальная модель или модель предметной области;логическая модель данных;физическая модель данных;собственно база данных и приложения.
Процесс создания информационной системы начинается с определения требований пользователей, которые и образуют концептуальную модель. Концептуальная модель представляет объекты и их взаимосвязи без указания способов их физического хранения. Таким образом, концептуальная модель является, по существу, моделью предметной области.
Модель предметной области – это наши знания о предметной области. Знания могут быть как в виде неформальных знаний, так, и выражены формально при помощи каких-либо средств (текстовые описания, наборы инструкций, математических формул, таблиц, графиков и т.д.). Модель предметной области описывает процессы, происходящие в предметной области и данные, используемые этими процессами. От того, насколько правильно смоделирована предметная область, зависит успех дальнейшей разработки приложений.
Логическая модель данныхописывает понятия предметной области, их взаимосвязь, а также ограничения на данные, налагаемые предметной областью. Логическая модель является начальным прототипом будущей базы данных. Она строится в терминах информационных единиц, но без привязки к конкретной СУБД. Более того, логическая модель данных необязательно должна быть выражена средствами именно реляционной модели данных.
Существуют следующие критерии оценки качества логической модели данных:
· адекватность базы данных предметной области;
· легкость разработки и сопровождения базы данных;
· скорость выполнения операций обновления данных;
· скорость выполнения операций выборки данных (запросов).
Физическая модель данных описывает данные средствами конкретной СУБД. Создаются таблицы, структура базы данных. Ограничения, имеющиеся в логической модели данных, реализуются различными средствами СУБД, при этом опять-таки решения, принятые на уровне логического моделирования определяют некоторые границы, в пределах которых можно развивать физическую модель разными способами.
И, наконец, как результат предыдущих этапов появляется собственно сама база данных. База данных реализована на конкретной программно-аппаратной основе, и выбор этой основы позволяет существенно повысить скорость работы с базой данных. Но опять решения, принятые на предыдущем, физическом, уровне проектирования определяют границы, в пределах которых можно принимать решения по выбору программно-аппаратной платформы и настройки СУБД. Поэтому особую роль играет принятие правильных решений на ранних этапах моделирования, и главное место здесь занимает именно этап логического моделирования данных.
Характеристика связей
В БД может быть несколько таблиц. Объекты, описанные в разных таблицах могут быть взаимосвязаны между собой. СУБД позволяет объединять данные из двух или более таблиц связанных между собой и рассматривать это объединение как одну таблицу. Для того, чтобы это стало возможным необходимо указать СУБД какие таблицы и как они взаимосвязаны. На языке СУБД такие указания называются установлением связей между таблицами. Для того, чтобы можно было установить связь между таблицами, нужно, чтобы они имели одинаковые поля. Имена связанных полей в таблицах могут различаться. Тип и размер этих полей должен соответствовать в обеих таблицах. Связи между таблицами бывают следующих типов: Один к одному (1:1) означает, что для каждой записи из первой таблицы соответствует одна запись из второй таблицы, и так же каждой записи из второй таблицы соответствует одна запись в первой таблице.
Один ко многим (1:М) означает, что для каждой записи первой таблицы соответствует несколько записей из второй, но каждая запись второй таблицы связана только с одной записью из первой таблицы..
Многие ко многим (М:М) – каждая запись одной таблицы связана с несколькими записями из второй, и каждая запись из второй таблицы связана с несколькими записями из первой. Реализация связей только 1 типа наиболее сложна. Как правило, должна быть создана третья (связующая) таблица, которая имеет с обеими исходными связь один ко многим.