Разъяснение по первой нормальной форме - PullRequest
0 голосов
/ 24 мая 2018

По большей части я понимаю первую, вторую и третью нормальную форму.Я просто хотел бы получить разъяснения по поводу нескольких примеров нормализации, которые я нашел в сети.Первый пример выглядит следующим образом:

UNF
Supplier: supplier_id, supplier_name, prod_code, prod_desc, cost, markup, dept_cd

1NF:
Supplier:  supplier_id, supplier_name
supplier_product:  supplier_id, prod_code, prod_desc, cost, markup, dept_cd

2NF:
Supplier:  supplier_id, supplier_name
supplier_product:  supplier_id, prod_code
product:  prod_code, prod_desc, cost, markup, dept_cd

3NF:
Supplier:  supplier_id, supplier_name
Product:  prod_code, prod_desc, dept_cd (FK), supplier_id (FK), cost, markup 
dept:  dept_cd, dept_name, aisle_no

Источник: http://cs.mvnu.edu/twiki/bin/view/Main/Lab8DB2013

При переходе от UNF к 1NF мы просто перемещаем значения, составляющие повторяющиеся группы, в новую сущность вдольс первичным ключом от оригинальной сущности?В приведенном выше примере продукты и отделы считаются повторяющимися группами.Таким образом, оба перемещаются на второй объект.

Это также может быть продемонстрировано в следующем примере:

0NF
ORDER(order#, customer#, name, address, orderdate(product#, description, quantity, unitprice))
1NF
ORDER(order#, customer#, name, address, orderdate)
ORDER_LINE(order#, product#, description, quantity, unitprice)
2NF
ORDER(order#, customer#, name, address, orderdate)
ORDER_LINE(order#, product#, quantity)
PRODUCT(product#, description, unitprice)
3NF
ORDER(order#, customer#, orderdate)
CUSTOMER(customer#, name, address)
ORDER_LINE(order#, product#, quantity)
PRODUCT(product#, description, unitprice)

Источник: http://www4.comp.polyu.edu.hk/~cstyng/data.98/tutorials/norm5.html

В этом случае только продукты считаются повторяющейся группой,не клиенты.Поэтому атрибуты клиента остаются в исходном объекте.Я правильно понимаю?

РЕДАКТИРОВАТЬ: дополнительный пример

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

• Номер сотрудника

• Имя сотрудника

• Дата рождения

• Код отдела

• Название отдела

• Код проекта

• Описание проекта

• Руководитель проекта Примите следующие и нормализуйте эти данные в 3NF:

• Каждый номер сотрудника уникален.

• Каждый отдел имеет один код отдела.

• Каждый проект имеет один код и руководителя.

• Каждый сотрудник может работатьв одном или нескольких проектах.

• Имена сотрудников не обязательно должны быть уникальными.

• Код проекта, Описание проекта и Руководитель проекта являются повторяющимися полями.

UNF
Employee Number, Employee Name, Date of Birth, Department Code, Department Name, Project Code, Project Description, Project Supervisor
1NF  
Employee Number, Employee Name, Date of Birth, Department Code, Department Name
Employee Number, Project Code,  Project Description, Project Supervisor


2NF  
Employee Number, Employee Name, Date of Birth, Department Code, Department Name
Employee Number, Project Code,
Project Code, Project Description, Project Supervisor


3NF  
EmployeeNumber,Employee Name, Date of Birth, *Department Code
Department Code, Department Name 
Employee Number, Project Code
Project Code,  Project Description, Project Supervisor
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...