Reorganizacja tabeli zamówień

0

Kolega w pracy mi dziś zwrócił uwagę, że źle zrobiłem tabelę zamówień, bo to powinno być rozdzielone.

order
-----
id
product_id
user_id
price
street
city
postal_code
phone

Mam to rozdzielić na order (id, product_id, user_id, price, order_address_id) i order_address (id, order_id, street, city, postal_code, phone), albo jeszcze inaczej? Czemu to nie może być razem? Użytkownik nie będzie wybierał adresu z selecta, co najwyżej będą uzupełnione jakieś, ale może je zmienić, więc chyba też bez sensu komplikować i sprawdzać za każdym razem czy się dane powtarzają i jeśli tak to przypisać stare order_address_id? To chyba nie łamie żadnej postaci normalnej?

0

masz rozdzielić na nagłówek i pozycje. Generalnie powinieneś mieć jakichś klientów/kontrahentów i w nagłówku mieć jedynie id kontrahenta a nie pełne dane tak samo na pozycji powinieneś mieć id towaru, ilość, cenę, uwagi

0

Nie o to chodzi. Zamówić można tylko jedną rzecz (bilet). Wszystkie potrzebne pola już mam. Chodzi o to czy powinienem podzielić tę tabelę na order (id, product_id, user_id, price, order_address_id) i order_address (id, order_id, street, city, postal_code, phone), czy mogę tak zostawić? Narusza to jakaś postać normalną?

0

A jak ktoś zamówi dwa bilety to co?

Generalnie jak tak chcesz to może tak być z tym, że pole order_id w order_address jest niepotrzebne

0

Nie może zamówić dwóch biletów (takie zasady). Czyli według Ciebie druga wersja jest lepsza nawet mimo tego, że zawsze będzie zamówienie z osobnym adresem?

0

wg mnie to ostatnie jest lepsze od tego pierwszego. Ale czy jest poprawne to całkiem inna bajka bo nie można mówić o poprawności nie znając rzeczywistości, którą to ma modelować

1 użytkowników online, w tym zalogowanych: 0, gości: 1