русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Разброс времени ответа на различные запросы в базе должен быть небольшим.


Дата добавления: 2014-03-26; просмотров: 623; Нарушение авторских прав


Перестройка набора отношений при введении новых типов данных должна быть минимальна.

При выполнении операций, включение, удаление, модификации в базе данных не должно быть аномалий (трудностей).

Состав отношений базы данных должен быть минимальным (на практике минимальная избыточность атрибутов).

Выбранные первичные ключи должны быть минимальными.

На значения атрибутов можно накладывать ограничения, даже в явном виде. Для этого обычно используют язык предикатов.

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

Основным ограничением является невозможность представления в отношениях кортежей-дубликатов. Это означает, что каждое отношение R имеет хотя бы один первичный ключ.

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

Определение. Функциональная зависимость означает: атрибут В в отношении R функционально зависит от атрибута А, если в каждый момент времени каждому значению атрибута А соответствует не более, чем одно значение атрибута В из этого же отношения. Это означает, что А однозначно определяет В:А→В.

Например,

 

*

 

 
 


*

 

* - возможные ключи.

Требования к рациональному размещению атрибутов в отношении.

Пример аномалии операции модификации.

Поставки (название поставщика, адрес, товар, цена, количество и т.д.). В базе адрес поставщика повторяется для каждого товара. Если у поставщика изменился адрес, то изменения следует сделать во всех кортежах. Если это не так, то база данных противоречива.



Для выполнения этих требований необходима нормализация исходных схем отношений. Это делается с помощью композиции, декомпозиции, назначения новых ключей.

На практике введено четыре уровня нормализации отношений, а значит и четыре нормальных формы: 1НФ, 2НФ, 3НФ, 4НФ. Эти формы подчиняются правилу вложенности по возрастанию номеров. Если отношение в 4НФ, значит оно находится и в 3НФ, и во 2НФ, и в 1НФ.

1НФ

Определение. Отношение R находится в 1НФ тогда, когда все его атрибуты являются атомарными, т.е. значения соответствующих доменов рассматриваются как неделимые, а не как множество каких-то элементарных доменов.

На практике переход к 1НФ означает переход от произвольной структуры данных к двумерным отношениям.

Примечание. Если отношение находится в 1НФ, то этого достаточно для работы языка запросов, остальные требования могут не выполняться.

2НФ.

Схема отношения R находится во 2НФ, если она находится в 1НФ и каждый ее атрибут, не являясь первичным в этом отношении, полностью зависит от первичного ключа.

На практике переход во 2НФ означает устранение всех неполных зависимостей атрибутов, не являющихся основными, от первичных ключей.

 

 

СЛОЖНОЕ А* 2НФ А* А* Разбиваем

ОТНОШЕНИЕ В* В* D на два

С С простых

D отношения

 

Рассмотрим пример.


*

 

*

* 2НФ

*

       
   
 
 

 


Примечание. 1) Расщепление отношений до 2НФ может быть вызвано естественным ростом базы, поэтому на практике его рекомендуется осуществлять заранее.



<== предыдущая лекция | следующая лекция ==>
Структура связей древовидная. | Независимость данных. Легко обеспечивается изменение логических записей независимо от прикладных программ.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.36 сек.