wiki:Normalization

Version 4 (modified by 211561, 2 weeks ago) ( diff )

--

Users

  • 1NF: Табелата е во 1NF бидејќи секое поле содржи атомски вредности и нема дупликат вредности.
  • 2NF: Табелата е во 2NF бидејќи сите атрибути зависат целосно од примарниот клуч и нема делумни релации.
  • BCNF: Табелата е во BCNF бидејќи секоја релација е целосно зависна од примарниот клуч и нема транзитивни релации.

Clients

Во новата база на податоци, табелата CLIENTS ги заменува старите табели BUYER и RECEIVER. Оваа промена беше направена за да се поедностави структурата на базата и да се избегне двојна евиденција за истите ентитети. Наместо две посебни табели (една за купувачи и друга за примачи), сега и купувачите и примачите се чуваат во една табела, што е поефикасно и попрактично за управување со податоците.

BUYER и RECEIVER беа две различни табели, со различни атрибути за секој ентитет. Секој купувач имаше своја табела за информации поврзани со купувањето, а секој примач имаше посебна табела за податоците за испорака.

CLIENTS сега ја обединува оваа функционалност, бидејќи и купувачот и примачот може да бидат идентификувани како клиенти. Табелата CLIENTS вклучува целокупната информација за компаниите кои учествуваат во процесот на продажба и испорака, вклучувајќи и billing_address и shipping_address, кои се претходно разликувани помеѓу купувачот и примачот.

  • 1NF: Табелата CLIENTS е во 1NF затоа што сите атрибути содржат атомски вредности и нема дупликат вредности. Адресата за наплата и испорака, и сите други атрибути се одвоени и не се повторуваат.
  • 2NF: Табелата е во 2NF затоа што сите атрибути зависат целосно од примарниот клуч id. Не постојат делумни релации, бидејќи сите атрибути се однесуваат на целиот ентитет (клиент).
  • BCNF: Табелата е во BCNF затоа што секоја релација е целосно зависна од примарниот клуч и нема транзитивни релации. Нема не-клучни атрибути кои зависат од друг не-клучен атрибут.

Transports

  • 1NF: Табелата е во 1NF бидејќи секое поле содржи атомски вредности и нема дупликат вредности.
  • 2NF: Табелата е во 2NF бидејќи сите атрибути зависат целосно од примарниот клуч. Нема делумни релации.
  • BCNF: Табелата е во BCNF бидејќи секоја релација е целосно зависна од примарниот клуч и нема транзитивни релации.

Producers

  • 1NF: Табелата е во 1NF бидејќи секое поле содржи атомски вредности и нема дупликат вредности.
  • 2NF: Табелата е во 2NF бидејќи сите атрибути зависат целосно од примарниот клуч. Нема делумни релации.
  • BCNF: Табелата е во BCNF бидејќи нема транзитивни релации и сите атрибути зависат целосно од примарниот клуч.

Products

  • 1NF: Табелата е во 1NF бидејќи секое поле содржи атомски вредности и нема дупликат вредности.
  • 2NF: Табелата е во 2NF бидејќи сите атрибути зависат целосно од примарниот клуч. Странскиот клуч producer_id не создава делумни релации.
  • BCNF: Табелата е во BCNF бидејќи сите атрибути зависат целосно од примарниот клуч и нема транзитивни релации.

Batches

Во новата база на податоци, табелата BATCHES е додадена како нова структура која ги претставува сериите. Оваа табела е важна за управување со производите во контекст на сериите, нивните рокови на траење и друга релевантна продукциска информација.

  • 1NF: Табелата BATCHES е во 1NF бидејќи секое поле содржи атомски вредности. Нема дупликат вредности или структурни комплификации. Секој ред претставува една серија и не постојат атрибути кои содржат повеќе од една вредност.
  • 2NF: Табелата BATCHES е во 2NF бидејќи сите атрибути зависат целосно од примарниот клуч id. Странскиот клуч product_id не создава делумни релации. Секој атрибут во табелата е директно поврзан со целокупниот идентитет на серијата, кој е идентификуван преку примарниот клуч.
  • BCNF: Табелата BATCHES е во BCNF затоа што нема транзитивни релации. Сите атрибути зависат целосно од примарниот клуч id и нема релации каде не-клучни атрибути зависат од други не-клучни атрибути.

Orders

  • 1NF: Табелата е во 1NF бидејќи сите атрибути содржат атомски вредности и нема дупликат вредности.
  • 2NF: Табелата е во 2NF бидејќи сите атрибути зависат целосно од примарниот клуч. Foreign keys (buyer_id, receiver_id, transport_id, payment_id) не создаваат делумни релации.
  • BCNF: Табелата е во BCNF бидејќи секоја релација е целосно зависна од примарниот клуч и нема транзитивни релации.

Order Batches

Табелата ORDER_BATCHES е нов додаток во базата кој овозможува детален и прецизен запис на сериите кои се дел од некоја нарачка. Ова ја заменува претходната едноставна табела ORDER_PRODUCT и го подобрува групирањето на производите.

Од бизнис аспект, имавме потреба да го воведеме ова како пивот табела, бидејќи реално, се извезуваат серија од продукти, наместо само продукти.

  • 1NF: Табелата е во 1NF бидејќи сите атрибути содржат атомски вредности и нема дупликат вредности.
  • 2NF: Табелата е во 2NF бидејќи сите атрибути зависат целосно од примарниот клуч составен од order_id и batch_id.
  • BCNF: Табелата е во BCNF бидејќи нема транзитивни релации и сите релации се од примарните клучеви.

Invoices

  • 1NF: Табелата е во 1NF бидејќи секое поле содржи атомски вредности и нема дупликат вредности.
  • 2NF: Табелата е во 2NF бидејќи сите атрибути зависат целосно од примарниот клуч. Странскиот клуч order_id не создава делумни релации.
  • BCNF: Табелата е во BCNF бидејќи сите атрибути зависат целосно од примарниот клуч и нема транзитивни релации.

Packing Lists

Табелата PACKING_LISTS е нова структура во базата која има за цел да го подобри управувањето со логистиката на нарачките. Се користи за следење и управување со податоците кои се поврзани со пакувањето на производите во нарачките.

  • 1NF: Табелата е во 1NF бидејќи секое поле содржи атомски вредности и нема дупликат вредности.
  • 2NF: Табелата е во 2NF бидејќи сите атрибути зависат целосно од примарниот клуч. Странскиот клуч order_id не создава делумни релации.
  • BCNF: Табелата е во BCNF бидејќи нема транзитивни релации и сите атрибути зависат целосно од примарниот клуч.

Payments

  • 1NF: Табелата е во 1NF бидејќи сите атрибути содржат атомски вредности и нема дупликат вредности.
  • 2NF: Табелата е во 2NF бидејќи сите атрибути зависат целосно од примарниот клуч. Странскиот клуч order_id не создава делумни релации.
  • BCNF: Табелата е во BCNF бидејќи сите атрибути зависат целосно од примарниот клуч и нема транзитивни релации.
Note: See TracWiki for help on using the wiki.