Основные этапы проектирования БД. Понятие ключа. Определение модели данных, их виды, составляющие, примеры
Проектирование баз данных
Проект базы данных надо начинать с анализа информационных потоков и документооборота, определения информационных объектов предметной области, функций по их обработке, связей между ними и выявления требований к ней отдельных пользователей (сотрудников организации, для которых создается база данных).
Основными этапами проектирования БД являются:
1. Инфологическое проектирование.
Логическое проектирование и выбор инструментальных средств СУБД.
Инфологическое проектирование
В результате инфологического проектирования БД должна быть создана инфологическая модель. Эта модель строится путём анализа и определения объектов и связей между ними в предметной области.
Существует функциональный и объектный подход в инфологическом проектировании.
Функциональный и объектный подход
Функциональный подход реализует принцип “от задач”. Объектный подход не фиксирует количество решаемых задач, а включает в инфологическую модель только объекты и связи между ними. Смешанный подход объединяет предметный и функциональный.
Рассмотрим инфологическое проектирование для объектного подхода. Для описания инфологической модели здесь используются диаграммы “объекты - связи” или, по-другому, ER - диаграммы.
Описание предметной области предполагает рассмотрение ее в качестве совокупности связанных реальных сущностей, которые имеют набор свойств или атрибутов, характеризующих только эту сущность. Группы всех подобных сущностей образуют объект, в котором фиксируются только значимые для данной ИС свойства. Связь представляет собой отношение между двумя объектами.
Объект должен иметь один или несколько ключевых атрибутов, т.е. таких атрибутов, которые однозначно или уникально определяют экземпляр объекта среди всех других экземпляров объектов указанного типа.
Совокупность объектов и связей между ними определяет структуру предметной области, на основе которой строится инфологическая модель.
Каждому объекту можно сопоставить экземпляр объекта, а тот в свою очередь образуется совокупностью конкретных значений атрибутов, и должны однозначно определяться с помощью ключа.
Ключ - один или несколько атрибутов, которые однозначно определяют экземпляр объекта (сущности). Как правило – это первичный ключ в таблице базы данных.
Совокупность атрибутов объекта (сущности) должна отвечать определенным требованиям (требованиям нормализации). Эти требования позволяют на этапе инфологического проектирования строить базы данных, обеспечивающие целостность данных и устраняющие дублирование.
- Все атрибуты объекта, кроме ключевых называют описательными, и они должны функционально зависеть от ключа.
- Между описательными атрибутами не должно быть функциональной связи.
- Между ключевыми атрибутами не должно быть функциональной связи.
- Каждый описательный атрибут не должен зависеть от ключа транзитивно, т.е. через другой промежуточный атрибут.
- В случае транзитивной зависимости между атрибутами нужно выполнить расщепление совокупности атрибутов с целью образования двух информационных объекта вместо одного.
Логическое проектирование
Каждая система СУБД поддерживает ту или иную модель данных. Логическая модель данных определяет правила порождения допустимых видов структур данных и возможные операции над ними. Основной целью проектирования БД является решение проблемы выбора оптимальной логической структуры для заданного набора данных.
По технологии обработки данных базы подразделяются на централизованные и распределенные.
Централизованная база данных хранится в памяти одной вычислительной системы.
Распределенная база данных состоит из нескольких частей, хранимых в различных ЭВМ вычислительной сети. Работа с такой базой осуществляется с помощью системы управления распределенной базой данных (СУРБД).
По способу доступа к данным базы данных разделяются на базы данных с локальным доступом и базы данных с удаленным (сетевым) доступом.
Системы централизованных баз данных с сетевым доступом предполагают различные архитектуры подобных систем:
q файл-сервер - одна из машин сети выделяется в качестве центральной, на ней хранится совместно используемая централизованная БД. Все другие машины сети выполняют функции рабочих станций, с помощью которых поддерживается доступ пользовательской системы к централизованной базе данных. Файлы базы данных в соответствии с пользовательскими запросами передаются на рабочие станции, где в основном и производится обработка.
q клиент-сервер – помимо хранения централизованной базы данных центральная машина должна обеспечивать выполнение основного объема обработки данных. Запрос на данные, выдаваемые клиентом (рабочей станцией), порождает поиск и извлечение данных на сервере. Извлеченные данные (но не файлы) транспортируются по сети от сервера к клиенту.
Модели данных
Ядром любой базы данных является модель данных. Модель данных представляет собой множество структур данных и операций их обработки. СУБД основывается на использовании иерархической, сетевой или реляционной модели, на комбинации этих моделей или на некотором их подмножестве.