Занятие 6. Нормальные формы баз данных. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Занятие 6. Нормальные формы баз данных.



6.1 Зачем нужны нормальные формы или пример плохой базы.

Телефонный справочник.

Первая нормальная форма.

Нормальные формы будем рассматривать на примере: продуктовый магазин получает товары от поставщиков:

Недостатки структуры базы данных:

1. Одна накладная может иметь разные даты и разного поставщика.

2. Один товар может иметь разную цену.

3. У одного поставщика может быть разный адрес.

4. Произведение цены и кол-ва товара может отличаться от стоимости.

Для устранения первого недостатка перейдем к первой нормальной форме.

ПЕРВАЯ НОРМАЛЬНАЯ ФОРМА - отсутствуют повторяющиеся группы.

Повторяющаяся группа:

Разобьем таблицу на два: «HАКЛАДHАЯ» и «ТОВАР ПО HАКЛАДHОЙ»:

Таблица «HАКЛАДHАЯ»:

 

Таблица «ТОВАР ПО HАКЛАДHОЙ».

Оставшиеся недостатки структуры БД:

2. Один товар может иметь разную цену.

3. У одного поставщика может быть разный адрес.

4. Произведение цены и кол-ва товара может отличаться от стоимости.

Вторая нормальная форма.

Для устранения второго недостатка перейдем к второй нормальной форме. ВТОРАЯ НОРМАЛЬНАЯ ФОРМА: отсутствуют зависимости от части ключа.

Рассмотрим ключ таблицы «ТОВАР ПО HАКЛАДHОЙ»: Номер накладной + Товар. Цена не зависит от номера накладной.

Разобьем таблицу «ТОВАР ПО HАКЛАДHОЙ» на две таблицы: «ТОВАР ПО HАКЛАДHОЙ» и «ТОВАР»:

Т таблица «ТОВАР ПО HАКЛАДHОЙ»

 

Таблица «Товары»

Оставшиеся недостатки структуры БД:

3. У одного поставщика может быть разный адрес.

4. Произведение цены и кол-ва товара может отличаться от стоимости.

Третья нормальная форма.

Для устранения третьего недостатка перейдем к третьей нормальной форме. ТРЕТЬЯ НОРМАЛЬНАЯ ФОРМА. Отсутствуют транзитные зависимости от ключа.

Рассмотрим ключ таблицы «HАКЛАДHАЯ»: Номер накладной. Однако «Адрес поставщика» не зависит от этого поля, он зависит от поля «Поставщик», которое зависит от номера накладной. Таблицу «HАКЛАДHАЯ» разобьем на два: «HАКЛАДHАЯ» и «ПОСТАВЩИКИ».

Таблица «HАКЛАДHАЯ»

 

Таблица «ПОСТАВЩИКИ»

ВЫВОД. Все неключевые поля зависят от всего ключа, и только от него.

Четвертый недостаток устраняется методом удаления поля «Стоимость» из таблицы «Товар по накладной» и вычислении его в запросе.

Создание базы «Получение товаров».

Создание таблиц.

1. Войдите в ACCESS, создайте базу «Получение товаров».

2. Создайте таблицу «Поставщики»:

3. Создайте таблицу «Накладные»:

Для поля «Поставщик» на закладке «подстановка» задайте:

При этом поставщиков можно будет выбирать из списка.

4. Создайте таблицу «Товары»:

5. Создайте таблицу «Товары по накладной»:

Обратите внимание, что ключ состоит из двух полей. Для определения этого ключа в режиме конструктора таблиц надо выделить оба эти поля, щелкая кнопкой мыши на области выделения стоки при нажатой кнопке <Ctrl>. Затем нажать кнопку панели инструментов Ключевое поле .

Для поля «Номер накладной» на закладке «подстановка» задайте:

Для поля «Товар» на закладке «подстановка» задайте:

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

Схема данных.

Создайте схему данных согласно рисунку:

 

Заполнение таблиц.

1. Заполните таблицу «Поставщики»:

2. Заполните таблицу «Товары»:

3. Заполните таблицу «Накладные», при этом не забывайте, что поставщиков можно выбирать из списка:

4. Заполните таблицу «Товары по накладной», номер накладной и товар можно выбирать из списка:



Поделиться:


Последнее изменение этой страницы: 2016-12-09; просмотров: 163; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.149.26.176 (0.006 с.)