| 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 | |