wiki:Нормализација и подобрувања на дизајнот на базата

Version 17 (modified by 183175, 3 months ago) ( diff )

--

Нормализација и подобрувања на дизајнот на базата

Функционална зависност

За делот полагање на основен испит, почнувам од делот на Нормализација и Функционална зависност.
Правиме анализа на базата во моментот и треба да провериме :
-> Дали секое поле е атомско? (1НФ)
-> Дали сите атрибути зависат целосно од примарниот клуч? (2НФ)
-> Дали има транзитивни зависности? (3НФ) A → B и B → C, тогаш A → C Моментална ситуација на базата е следна :



При анализа ги следине сите табелиод базата и одлучуваме:
→ Кои полиња зависат од што?
→ Што го одредува што?

Табела 1 → orders :
id_order → payment_method, status, delivery_price, total_price, invoice_code, order_date, id_customer Ова значи дека сè што се однесува на некоја нарачка,притоа секој атрибут зависи од примарен клуч id_order.
Заклучок: 1НФ - 2НФ - 3НФ Табелата е нормализирана до 3NF и нема потреба од декомпозиција.

Табела 2 → customers:
1НФ - 2НФ - 3НФ id_customer → email, first_name, last_name, delivery_address, password, phone id_customer е примарниот клуч па ги одредува сите други полиња што го опишуваат клиентот.
Заклучок: 1НФ - 2НФ - 3НФ Табелата е нормализирана до 3НФ и нема потреба од декомпозиција.

Табела 3 → delivery:
id_delivery, delivery_address, status, id_order

Во оваа табела, id_delivery е примарниот клуч со кој добиваме инфо каде дадена нарачка и каков статус има притоа имаме id_order кој е надворешен клуч и не влијае на зависностите на другите атрибути.
Заклучок: 1НФ - 2НФ - 3НФ Табелата е нормализирана до 3НФ и нема потреба од декомпозиција.

Табела 4 → contains:
quantity, size, price, id_order, id_stock

id_order + id_stock → quantity, size, price Табелата contains е нормализирана во 2НФ и 3НФ и нема потреба од декомпозиција иако имаме ваков спој за клуч. Табелата contains го поврзува id_order со id_stock, и секоја нарачка ја означува количината на производот кој е поврзан со нарачката.
Заклучок: 1НФ - 2НФ - 3НФ Табелата е нормализирана до 3NF и нема потреба од декомпозиција.

Табела 5 → stock:
id_stock, id_product, size, quantity, price

Оваа табела е важна бидејки за секој продукт треба да чуваме податоци за истиот да видиме со колкава кочина располагаме. Табелата е во 2НФ, затоа што сите атрибути зависат целосно од примарниот клуч (id_stock).
Заклучок: 1НФ - 2НФ - 3НФ Табелата е нормализирана до 3NF и нема потреба од декомпозиција.

Табела 6 → products :
id_product, id_category, product_name, color, price, description, image_url

Табелата е во 2НФ, затоа што сите атрибути зависат целосно од id_product, кој е примарен клуч.
Заклучок: 1НФ - 2НФ - 3НФ Табелата е нормализирана до 3NF и нема потреба од декомпозиција.

Табела 7 → categories:
id_category, category_name Табелата е во 2NF, затоа што сите атрибути зависат целосно од id_category, кој е примарен клуч.
Заклучок: 1НФ - 2НФ - 3НФ Табелата е нормализирана до 3NF и нема потреба од декомпозиција.

Attachments (3)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.