Changes between Version 39 and Version 40 of Нормализација и подобрувања на дизајнот на базата


Ignore:
Timestamp:
05/18/25 22:53:44 (3 weeks ago)
Author:
183175
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Нормализација и подобрувања на дизајнот на базата

    v39 v40  
    7575Приметуваме дека имаме повторување на '''{{{delivery_address}}}''' и во '''{{{customers}}}''' и во '''{{{delivery}}}'''.\\
    7676Затоа можеби е подобро да се извлече '''{{{addresses}}}''' како посебна табела.
    77 
     77{{{#!sql
     78CREATE TABLE addresses (
     79    id_address INTEGER PRIMARY KEY,
     80    id_customer INTEGER,
     81    address TEXT,
     82    FOREIGN KEY (id_customer) REFERENCES customers(id_customer)
     83);
     84}}}
     85\\
     86Ја додаваме колоната '''{{{id_address}}}''' \\
     87{{{#!sql
     88ALTER TABLE orders ADD COLUMN id_address INTEGER;
     89}}}
     90\\
     91Потоа го додаваме надворешниот клуч\\
     92{{{#!sql
     93ALTER TABLE orders ADD CONSTRAINT fk_orders_address
     94FOREIGN KEY (id_address) REFERENCES addresses(id_address);
     95}}}
     96\\
     97Истата постапка ја правиме и за '''{{{delivery}}}''' \\
     98На крај правиме насочување на '''{{{orders}}}''' и '''{{{delivery}}}''' кон на '''{{{id_address}}}''' \\
     99наместо да ја чуваат адресата директно. \\
     100Ова овозможува еден корисник да има повеќе адреси и да ги избере при checkout. \\