Changes between Version 13 and Version 14 of Нормализација и подобрувања на дизајнот на базата
- Timestamp:
- 03/09/25 23:54:59 (3 months ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Нормализација и подобрувања на дизајнот на базата
v13 v14 4 4 5 5 За делот полагање на основен испит, почнувам од делот на Нормализација и Функционална зависност. 6 Правиме анализа на базата во моментот и гледаме дали ги задоволува 1NF, 2NF, 3NF. 7 6 Правиме анализа на базата во моментот и треба да провериме : 7 -> Дали секое поле е атомско? (1НФ) 8 -> Дали сите атрибути зависат целосно од примарниот клуч? (2НФ) 9 -> Дали има транзитивни зависности? (3НФ) // A → B и B → C, тогаш A → C 8 10 Моментална ситуација на базата е следна : 9 11 … … 11 13 [[Image(baza.png, height=200px)]] \\ 12 14 \\ 13 '''Табела 1 -> orders :''' \\ 14 id_order, payment_method, status, delivery_price, total_price, invoive_code, order_date, id_customer 15 При анализа ги следине сите табелиод базата и одлучуваме: 16 → Кои полиња зависат од што? 17 → Што го одредува што? 15 18 16 17 Ова значи дека сè што се однесува на некоја нарачка, зависи од примарен клуч '''id_order'''. 19 '''Табела 1 → orders :''' \\ 20 id_order → payment_method, status, delivery_price, total_price, invoice_code, order_date, id_customer 21 Ова значи дека сè што се однесува на некоја нарачка,притоа секој атрибут зависи од примарен клуч '''id_order'''. 22 '''Заклучок: 1НФ - 2НФ - 3НФ ''' 23 Табелата е нормализирана до 3NF и нема потреба од декомпозиција. 18 24 19 '''Табела 2 -> customers:''' \\ 20 id_customer, email, first_name, last_name, delivery_address, password, phone 25 '''Табела 2 → customers:''' \\ 1НФ - 2НФ - 3НФ 26 id_customer → email, first_name, last_name, delivery_address, password, phone 27 '''id_customer''' е примарниот клуч па ги одредува сите други полиња што го опишуваат клиентот. 28 '''Заклучок: 1НФ - 2НФ - 3НФ ''' 29 Табелата е нормализирана до 3НФ и нема потреба од декомпозиција. 21 30 22 '''id_customer''' е примарниот клуч па ги одредува сите други полиња што го опишуваат клиентот. 23 24 '''Табела 3 -> delivery:''' \\ 31 '''Табела 3 → delivery:''' \\ 25 32 id_delivery, delivery_address, status, id_order 26 33 27 34 28 Во оваа табела, '''id_delivery''' е примарниот клуч со кој добиваме инфо каде дадена нарачка и каков статус има. 35 Во оваа табела, '''id_delivery''' е примарниот клуч со кој добиваме инфо каде дадена нарачка и каков статус има притоа имаме id_order кој е надворешен клуч и не влијае на зависностите на другите атрибути. 36 '''Заклучок: 1НФ - 2НФ - 3НФ ''' 37 Табелата е нормализирана до 3НФ и нема потреба од декомпозиција. 29 38 30 '''Табела 4 ->contains:'''39 '''Табела 4 → contains:''' 31 40 \\ 32 41 quantity, size, price, id_order, id_stock 33 42 34 43 44 id_order + id_stock → quantity, size, price 45 Табелата contains е нормализирана во 2НФ и 3НФ и нема потреба од декомпозиција иако имаме ваков спој за клуч. 46 Табелата contains го поврзува id_order со id_stock, и секоја нарачка ја означува количината на производот кој е поврзан со нарачката. 47 '''Заклучок: 1НФ - 2НФ - 3НФ ''' 48 Табелата е нормализирана до 3NF и нема потреба од декомпозиција. 35 49 36 37 '''Табела 5 -> stock:''' 50 '''Табела 5 → stock:''' 38 51 \\ id_stock, id_product, size, quantity, price 39 52 40 53 41 '''Табела 6 -> products :''' 54 Оваа табела е важна бидејки за секој продукт треба да чуваме податоци за истиот да видиме со колкава кочина располагаме. 55 Табелата е во 2НФ, затоа што сите атрибути зависат целосно од примарниот клуч (id_stock). 56 '''Заклучок: 1НФ - 2НФ - 3НФ ''' 57 Табелата е нормализирана до 3NF и нема потреба од декомпозиција. 58 59 '''Табела 6 → products :''' 42 60 \\ id_product, id_category, product_name, color, price, description, image_url 43 61 44 62 45 '''Табела 7 -> categories:''' 63 Табелата е во 2НФ, затоа што сите атрибути зависат целосно од id_product, кој е примарен клуч. 64 '''Заклучок: 1НФ - 2НФ - 3НФ ''' 65 Табелата е нормализирана до 3NF и нема потреба од декомпозиција. 66 67 '''Табела 7 → categories:''' 46 68 \\ id_category, category_name 69 Табелата е во 2NF, затоа што сите атрибути зависат целосно од id_category, кој е примарен клуч. 70 '''Заклучок: 1НФ - 2НФ - 3НФ ''' 71 Табелата е нормализирана до 3NF и нема потреба од декомпозиција. 47 72 48 При анализа ги следине сите табелиод базата и одлучуваме:49 -> Кои полиња зависат од што?50 -> Што го одредува што?51 73 74