Загрузка...

Шпора по БД 3. Проектирование баз данных.


В общем проблема формируется следующим образом: Как по некоторой базе данных для заданного набора данных выбрать подходящую логическую структуру. Иначе говоря нужно решить вопрос: Какие базовые отношения и с какими атрибутами следует задать? Особенности:
1) Мы будем говорить о логическом, а не физическом макете.
2) Хотя речь в основном пойдет о реляционном макете, рассматриваемые модели также в равной степени относятся к не реляционным базам данных.
3) Проектирование баз данных скорее искусство, чем наука.
Допущения в дальнейшем изложении.
1)Проектирование баз данных – это не единственное условие получения правильной структуры данных. Помимо этого ключевым условием является также целостность данных.
2)В большинстве случаев макет рассматривается независимо от приложения . Иначе говоря интерес представляют сами данные, а не то как они используются.
2 Функциональная зависимость (Ф.З.).
Является зависимостью типа «многие к одному» м/у множествами атрибутов внутри данного отношения.
Например, для отношения поставок SP существует ФЗ м/у {S#, P#} и {QTY}.
3 Основные определения:
Для демонстрации дальнейшего мат-ла приведем видоизмененную версию отношения поставок, введя доп. атрибут CITY, представляющий город соотв-го поставщика.
Следует четко различать:
1)значение этого отношения (т.е. значение переменной отношения в определенный момент времени).
2)набор всех ввозных значений, которые данное отношение может принимать в различные моменты времени.
Дадим опр-е для 2-го случая, кот-ое явл-ся более общим:
опр. Пусть R явл-ся переменной отношения, а X и Y произвольными подмножествами мн-ва атрибутов отношения R, тогда Y функционально зависима от X, что в символическом виде записывается как X->Y(и читается как «X функционально определяет Y» или «X стрелка Y »), тогда и только тогда, когда для любого допустимого значения отношения R каждое значение X связанно в точности с одним знач-ем Y.
Иначе говоря, для любого допустимого значения отношения R, когда бы 2 кортежа отношения R ни совпали по значению X, они так же совпадут по знач-ю Y.

шпору по БД.

Загрузка...