русс | укр

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

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

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

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


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

Требования первой нормальной формы - 1NF


Дата добавления: 2015-07-09; просмотров: 1238; Нарушение авторских прав


Отношение находится в 1NF, если оно удовлетворяет двум условиям:

1. значения всех его атрибутов атомарны;

2. отсутствуют повторяющиеся группы атрибутов.

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

В подавляющем большинстве случаев ФИО хранится в виде трех отдельных атрибутов-атомов, адрес также разбивается на несколько составляющих, каждая из которых в рамках бизнес-правил предметной области является неделимым атомом. В рамках данной лекции будем считать ФИО атомарным атрибутом.

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

Доходы_сотрудников

(код, ФИО, доход_за_январь, за_февраль,…,за_декабрь)

Здесь явно видна повторяющаяся группа из 12 атрибутов, каждый из которых хранит доходы сотрудников за различные месяцы. Такая таблица удобна для формирования отчетов и справок о доходах, она не содержит нежелательных ФЗ, однако многие операции реляционной алгебры не рассчитаны на такую структуру, поэтому многие запросы будут сложно реализовать. В данном случае устранить повторяющуюся группу несложно, поскольку каждый из месяцев имеет известный порядковый номер. Изменим схему отношения:

Доходы_сотрудников (код, ФИО, номер месяца, доход)

Количество кортежей в новом отношении будет в 12 раз больше, чем в исходном, но строить произвольные запросы к такому отношению гораздо удобнее. Данное отношение удовлетворяет требованиям первой нормальной формы.



К сожалению, выполнив преобразование отношения, мы внесли одну серьезную проблему – значения атрибута ФИО будут дублироваться в каждом из 12 кортежей, относящихся к одному сотруднику.

На следующем этапе нормализации эта проблема будет решена.



<== предыдущая лекция | следующая лекция ==>
Теорема Хеза | Требования второй нормальной формы - 2NF


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


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

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

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


 


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

 
 

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

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