Интегральность в БД

Особенности проектирования компьютерных БД

 

Это итерационный процесс, т.е. предусматривает возврат. Проектирование БД можно разделить на этапы:

1) анализ требований;

2) разработка соответствующих моделей:

– концептуальный проект (модель),

– логический проект,

– физический проект;

3)нормализация;

4) тестирование;

5) эксплуатация.

1) Предусматривает анализ требований заказчика, с какой целью и для кого создается БД. Принимает во внимание профессиональный уровень пользователей и финансовые возможности. В результате анализа требований исполнитель и заказчик проекта формируют техническое задание с указанием цели и определением объектов или сущностей, информации, которая хранится в БД.

2) Разработка концепции: необходимо определить, какие или сколько таблиц нужно создать для этой БД.

Логический проект предусматривает описание связей между сущностями, которые мы определяем в рамках концепции. Нужно определить таблицы и поля с типами данных и назначить ключевые поля. Определяем связи между таблицами, вводим вспомогательные таблицы.

На физическом уровне можно попробовать создать в СУБД упрощенный вариант базы, чтобы проверить, как работает. На каждом из этапов можно возвращаться назад.

3) Нормализация – процесс разделения таблиц на меньшие.

Главные цели нормализации:

– упрощение и ускорение обработки запросов;

– удаление избыточных, повторяющихся данных из таблицы.

Основана на анализе функциональных связей между ключевыми и не ключевыми полями в каждой таблице. В соответствии с процессом нормализации каждая таблица может находиться в следующих нормальных формах (НФ):

1 НФ

2 НФ

3 НФ (НФБК) - Нормальная форма Бойса-Кодда

4 НФ

5 НФ

Минимальное требование, чтобы таблица находилась в 3 НФ.

Основные требования к таблице в 3 НФ:

– ключ состоит только из одного поля;

– нет в таблице вычисляемых полей.


 

Интегральность – целостность, единство и связь между данными, которая должно обеспечиваться при выполнении любых корректных операций над данными.

Интегральность обеспечивается на нескольких уровней:

a) На уровне таблиц – интегральность обеспечивается тем, что каждая таблица обеспечивает поля с индивидуальными данными, в каждом поле хранятся данные одного типа и не содержит значения NULL (нуль). NULL – нарушение требования интегральности

b) На уровне на основе связей – важнейшая характеристика интегральности, обеспечивается тем что каждая таблица д. б. логически сязанна хотя бы с одной из остальных таблиц базы, теоретически табл м.б. связна со всеми остальными табл, но м/у 2 произвольными табл м.б. определена только одна связь

c) Интегральность на уровне целой базы, определяется правилом определения логических связей м/у табл.

Определения таких связей определяется с помощью ключей (ключевых полей)

Все связи определяются с помощью ключей в ключевом поле, не д.б. повторяющихся значений. В любой связи м/у 2 табл одна из табл всегда должна выступать как ведущая, а др как подчиненная. В связи 1:1 назначения ролей табл строго не регламентировано, одна в связи 1:∞ ведущ табл явл-ся по стороне 1.

Для того чтобы назначить связь м/у 2 табл. нужно главный ключ ведущей табл разместить в подчиненной, т.е. ключевое поле одной табл размещается в др. как прав это поле в обоих табл имеет одинаков название. Ключевое поле в подчин табл наз-ся внешним ключом. Связь 1:∞ имеет место, когда одна сторона табл А логич-ки связана с несколькими строками табл В, а табл В м.б. связано только с одной строкой табл А, с кот м.б. связаны и др строками табл В.

Многие ко многим имеет место в случ. когда одна строка табл А логич связана с одной или нескольк строками табл В, с др стороны одна строка табл В м.б. логич связана с одной или несколькими строками табл А. Со стороны табл А эта связь 1:∞ и со стороны табл В связь 1:∞, а вместе ∞:∞. Для этого типа связи необход создать вспомогательную табл или кэш-табл. и 2 поля этих табл могут образовывать составной главный ключ