Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Пример разработки РБД




Третья нормальная форма (3НФ)

Внимание

Если таблица находиться в 1НФ и первичным ключом является одно поле, то таблица уже находиться во 2НФ.


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

 

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

Поле «Стоимость» является лишним информационным звеном в таблице, так как зависит от поля «Колич.» и может быть всегда рассчитано. Поэтому устраним зависимость приведя таблицу к 3НФ Рис. 20.

 

Склад

Товар Колич. Цена за ед. Стоимость   Товар Колич. Цена за ед.
Сахар         Сахар    
Рис         Рис    
Масло         Масло    
Сыр         Сыр    

Рис. 19. Рис. 20.

 

Нормализация базы данных выгодна со многих точек зрения. Далее перечислены некоторые из основных преимуществ, которые она дает:

  • Лучшая общая организация базы данных
  • Сокращение избыточности информации
  • Непротиворечивость информации внутри базы данных
  • Более гибкий проект базы данных

 

Примечание:

На практике не всегда возможно получить полностью нормализованную БД. Иногда к этому даже и не стремятся с силу различных особенностей построения БД: например когда число таблиц велико, то удержать в памяти всю структуру БД не позволяет возможность человеческого восприятия. Или если число повторяющихся групп известно заранее и никогда меняться не будет, по приведение таблицы к 1НФ по повторяющимся группам необязательно.

 


Пусть необходимо разработать БД где будут учтены: товары, сорта товаров, количество товара, цена товара, дата поступления, дата покупки, фирмы поставщики товаров, покупатели….

 

 

Разделим информацию по сущностям.

 

Первая сущность, (стержневая) назовем ее – «Поставщик», включает в себя следующие объекты.

· Название фирмы поставщика.

· Факс фирмы.

 

Вторая сущность (стержневая) назовем ее – «Товар», включает в себя следующие объекты.

· Вид товара.

· Сорт товара.

 

Третья сущность назовем ее – «Клиенты», включает в себя следующие объекты.

· Название клиента.

 

Учитывая назначение БД, нормализуем сущности, и с учетом обеспечения целостности БД, составим структуру реляционных отношений.

 

 

  Поставщик            
    PK_Ф          
  Фирма            
  Факс   Склад       Учет
      PK_Скл     FK_Скл
  Товар   FK_Ф   Клиенты FK_K
PK_T FK_Т   PK_K   Дата
  Вид_товара FK_С   Клиент   Колич
      Дата        
  Сорт   Колич        
  PK_C   Цена_за_ед        
  Сорт_товара            
  FK_T            
               

 

PК_Ф, PK_T, PK_C, PK_Скл, PK_K,первичные ключи в своих таблицах.

FК_Ф, FK_T, FK_C, FK_Скл, FK_K,внешние ключи.

 

В таблице «Склад», учитывается: какие товары, какого сорта, каким поставщиком, когда и в каком количестве были поставлены на склад, а так же цена за единицу товара.

 

В таблице «Учет» учитывается: когда, и в каком количестве, клиент приобрел товар. А наличие связи PK_Скл → FK_Скл сразу определяет полную характеристику приобретенного товара (вид, сорт, цена….).

Ниже приведена структура БД в заполненных таблицах.


СТРУКТУРА БАЗЫ ДАННЫХ

(в заполненных таблицах)

 

       
   

  Поставщик     Товар     Сорт       Клиенты
PK_Ф Фирма Факс   PK_T Вид_товара   PK_C Сорт_товара FK_T   PK_K Клиент
  Викам 456-34-22     Яблоки     Голден       Буфет А…
  Зенит 233-45-76     Груши     Рихард       Ресторан Н…
  Грант 467-12-31     Апельсины     Шафран       Буфет С…
  Зенит 748-18-66           Лада       Столовая 1
                Велеса       Ресторан У…
                Нэвел       Столовая 2
                Браун        
                Валенсия        
                       
      Склад             Учет  
FK_Ф FK_Т FK_С Дата Колич Цена_за_ед PK_Скл   FK_Скл FK_K Дата Колич  
      02.09.05             20.08.05    
      23.08.05             09.09.05    
      29.08.05             20.08.05    
      04.09.05             01.10.05    
      15.08.05             22.09.05    
      26.09.05             01.10.05    
      17.09.05             20.08.05    
      30.10.05             10.09.05    
      22.08.05             01.10.05    
      05.09.05             22.09.05    
      27.08.05             01.09.05    
      04.09.05             03.09.05    
      02.10.05             09.09.05    
                    20.08.05    
                    09.09.05    
                    10.09.05    

 

  Поставщик                      
  PK_Ф            
Таблицы «Товар» и «Сорт», можно объединить и назвать «Товар». В этом случае БД упрощается и принимает более компактный вид. Однако, это является нарушением 2 НФ, хотя и незначительным для данной БД.  

       
  Фирма                      
  Факс   Склад       Учет          
      PK_Скл     FK_Скл          
      FK_Ф   Клиенты FK_K          
    FK_Т   PK_K   Дата          
      Дата   Клиент   Колич          
      Колич                  
  Товар   Цена_за_ед                  
  PK_T                      
  Вид_товара                      
  Сорт_товара                      
                         
    Поставщик     Товар       Клиенты    
  PK_Ф Фирма Факс   PK_Т Товар Сорт   PK_K Клиент    
    Викам 456-34-22     Яблоки Голден     Буфет А…    
    Зенит 233-45-76     Яблоки Рихард     Ресторан Н…    
    Грант 467-12-31     Яблоки Шафран     Буфет С…    
    Зенит 748-18-66     Груши Лада     Столовая 1    
            Груши Велеса     Ресторан У…    
            Апельсины Нэвел     Столовая 2    
            Апельсины Браун          
            Апельсины Валенсия          
                       
        Склад           Учет    
  FK_Ф FK_Т Дата Колич Цена_за_ед PK_Скл   FK_Скл FK_K Дата Колич  
      02.09.05             20.08.05    
      23.08.05             09.09.05    
      29.08.05             20.08.05    
      04.09.05             01.10.05    
      15.08.05             22.09.05    
      26.09.05             01.10.05    
      17.09.05             20.08.05    




Поделиться с друзьями:


Дата добавления: 2015-05-09; Просмотров: 346; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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