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