- •Опис предметної області
- •2. Постановка задачі
- •3. Проектування бази даних
- •3.1 Побудова er-діаграми.
- •3.2 . Побудова схеми реляційної бази даних у третій нормальній формі.
- •4. Опис програми
- •4.1. Загальні відомості
- •1Виклик і завантаження
- •2Призначення і логічна структура
- •3Описання фізичної моделі бази даних
- •4.5. Опис програмної реалізації
- •4Описання задачі автоматизації
- •Висновки
- •Додатки
- •Текст програмного модуля menu1.Mpr
3.2 . Побудова схеми реляційної бази даних у третій нормальній формі.
Процес проектування БД з використанням методу нормальних форм є ітераційним (покроковим) і полягає у послідовному переведенні за певними правила відношень з першої нормальної форми у нормальні форми вищого порядку. Кожна наступна нормальна форма обмежує певний тип функціональних залежностей, вилучає відповідні аномалії при виконанні операцій над відношеннями БД і зберігає властивості попередніх нормальних форм.
Виділяють таку послідовність нормальних форм:
перша нормальна форма
друга нормальна форма
третя нормальна форма
посилена третя нормальна форма або нормальна форма Бойса-Кодда
четверта нормальна форма
п’ята нормальна форма.
Для того, щоб БД належала до першої нормальної форми, її таблиці повинні відповідати таким вимогам:
поля містять неподільну інформацію;
в таблиці відсутні повторювані групи полів
До другої нормальної форми пред’являються такі вимоги:
таблиця повинна задовільнити вимоги першої нормальної форми
будь-яке неключове поле повинне однозначно ідентифікуватися ключовими полями
До третьої нормальної форми пред’являються такі вимоги:
таблиця повинна задовільнити вимоги другої нормальної форми
ні одне з неключових полів не повинно однозначно ідентифікуватися значенням іншого неключового поля (полів)
Опишемо функціональні залежності у побудованій в попередньому розділі БД:
- Таблиця «Довідник цехів»
Т(код цеху:назва цеху)=Б:1
Кожне неключове поле однозначно ідентифікується ключовим полем «код цеху», жодне неключове поле не ідентифікується однозначно значеннями іншого неключового поля. Таблиця знаходиться у третій нормальній формі.
- Таблиця «Довідник складів»
Т(код складу:назва складу)=Б:1
Кожне неключове поле однозначно ідентифікується ключовим полем «код складу», жодне неключове поле не ідентифікується однозначно значеннями іншого неключового поля. Таблиця знаходиться у третій нормальній формі.
- Таблиця «Довідник покупців»
Т(код покупця:назва покупця)=Б:1
Кожне неключове поле однозначно ідентифікується ключовим полем «код покупця», жодне неключове поле не ідентифікується однозначно значеннями іншого неключового поля. Таблиця знаходиться у третій нормальній формі.
- Таблиця «Довідник номенклатур»
Т(код номенклатури:назва номенклатури)=Б:1
Т(код номенклатури:одиниця виміру)=Б:1
Т(код номенклатури:облікова ціна)=Б:1
Т(код номенклатури:собівартість)=Б:1
Кожне неключове поле однозначно ідентифікується ключовим полем «код номенклатури», жодне неключове поле не ідентифікується однозначно значеннями іншого неключового поля. Таблиця знаходиться у третій нормальній формі.
- Таблиця «Відвантаження з виробництва на склад»
Т(код накладної:код цеху)=Б:1
Т(код накладної:код складу)=Б:1
Т(код накладної:код номенклатури)=Б:1
Т(код накладної:дата відвантаження)=Б:1
Т(код накладної:кількість відвантаженої продукції)=Б:1
Т(код накладної:сума за обліковою ціною)=Б:1
Т(код накладної:сума за собівартістю)=Б:1
Кожне неключове поле однозначно ідентифікується ключовим полем «код накладної», жодне неключове поле не ідентифікується однозначно значеннями іншого неключового поля. Таблиця знаходиться у третій нормальній формі.
- Таблиця «Відвантаження зі складу покупцю»
Т(код накладної:код складу)=Б:1
Т(код накладної:код покупця)=Б:1
Т(код накладної:код номенклатури)=Б:1
Т(код накладної:дата відвантаження)=Б:1
Т(код накладної:кількість відвантаженої продукції)=Б:1
Т(код накладної:сума за обліковою ціною)=Б:1
Т(код накладної:сума за собівартістю)=Б:1
Кожне неключове поле однозначно ідентифікується ключовим полем «код накладної», жодне неключове поле не ідентифікується однозначно значеннями іншого неключового поля. Таблиця знаходиться у третій нормальній формі.
Остаточно одержимо реляційну базу даних, структура якої приведена на рисунку 3.2.1.
Рисунок 3.2.1. Структура БД, зведеної до третьої нормальної форми