32 Урока Borland Delphi



              

Урок 15 - часть 9


Этот процесс включает:

  • устранение повторяющихся групп (приведение к 1НФ)
  • удаление частично зависимых атрибутов (приведение к 2НФ)
  • удаление транзитивно зависимых атрибутов (приведение к 3НФ).
Рассмотрим каждый из этих процессов подробней.
        1. Приведение к первой нормальной форме


        Когда поле в данной записи содержит более одного значения для каждого вхождения первичного ключа, такие группы данных называются повторяющимися группами. 1НФ не допускает наличия таких многозначных полей. Рассмотрим пример базы данных предприятия, содержащей таблицу ОТДЕЛ со следующими значениями (атрибут, выделенный курсивом, является первичным ключом):
         
         

        Табл. A: ОТДЕЛ
         

        Номер_отдела Название Руководитель Бюджет Расположение
        100 продаж 000 1000000 Москва
        100 продаж 000 1000000 Зеленоград
        600 разработок 120 1100000 Тверь
        100 продаж 000 1000000 Калуга

        Для приведения этой таблицы к 1НФ мы должны устранить атрибут (поле) Расположение из таблицы ОТДЕЛ и создать новую таблицу РАСПОЛОЖЕНИЕ_ОТДЕЛОВ, в которой определить первичный ключ, являющийся комбинацией номера отдела и его расположения (Номер_отдела+Расположение - см. табл. b). Теперь для каждого расположения отдела существуют различные строки; тем самым мы устранили повторяющиеся группы.
         
         

        Табл. B: РАСПОЛОЖЕНИЕ_ОТДЕЛОВ
         

        Номер_отдела Расположение
        100 Москва
        100 Зеленоград
        600 Тверь
        100 Калуга

         
      1. Приведение ко второй нормальной форме

      2. Следующий важный шаг в процессе нормализации состоит в удалении всех неключевых атрибутов, которые зависят только от части первичного ключа. Такие атрибуты называются частично зависимыми. Неключевые атрибуты заключают в себе информацию о данной сущности предметной области, но не идентифицируют ее уникальным образом. Например, предположим, что мы хотим распределить работников по проектам, ведущимся на предприятии. Для этого создадим таблицу ПРОЕКТ с составным первичным ключом, включающим номер работника и идентификатор проекта (Номер_работника+ИД_проекта, в табл. c выделены курсивом).




        Содержание  Назад  Вперед