Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> jaki schemat relacji
cinnek
post 3.01.2004, 14:40:03
Post #1





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 3.12.2003

Ostrzeżenie: (0%)
-----


Witam
mam taki problem
Chcę aby w mojej bazie znalazły się zamówienia np.

Zamówienie 002/04 z 02.01.2004
Zamawiający - Jan Kowalski
deska 2 szt cena 20zł za sztukę
krzesło 3 szt cena 100zł za sztukę
itd.

Problem polega na tym że dla działu produkcji każda deska lub krzesło mają niepowtarzalny numer i stanowią jeden przedmiot do wykonania.Czyli po otrzymaniu takiego zamówienia dział produkcji ma zobaczyc cos takiego.

NR nazwaPrzouktu
001 deska
002 deska
003 krzeslo
004 krzeslo
005 krzeslo
itd.

Krótko mówiąc ktoś zamawia wiecej niz jedna sztukę a umnie kazda sztuka musi mieć swój numer.

Mam pytanko jak rozwiązalibyście coś takiego chodzi mi o to jak powinny wyglądać relacje:

Z góry dzięki za odpowiedzi
Go to the top of the page
+Quote Post
spenalzo
post 3.01.2004, 14:52:15
Post #2





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Proponuje taką strukturę:

a) tabela 'klienci'
Kod
+----+------+----------+

| ID | Imie | nazwisko |

+----+------+----------+

|321 | Jan  | Kowalski |

+----+------+----------+


cool.gif tabela 'produkty'
Kod
+----+----------------+

| ID | Nazwa_produktu |

+----+----------------+

|  1 | deska          |

|  2 | deska          |

|  3 | krzeslo        |

|  4 | krzeslo        |

|  5 | krzeslo        |

|  6 | deska          |

|  7 | deska          |

+----+----------------+


c) tabela 'relacje'
Kod
+--------+---------+

| Klient | Produkt |

+--------+---------+

|    321 |       1 |

|    321 |       6 |

|    321 |       4 |

|    321 |       3 |

|     65 |       2 |

|     65 |       7 |

+--------+---------+


W tabeli 'relacje' przechowujesz powiązania pomiędzy klientami a produktami.
Po naszemu - zapisujesz do tej tabeli ID klienta z ID produktu, każdy produkt jako osobny rekord.
Spójrz na przykład powyżej i widzisz, że Kowalski (ID 321) kupił 4 produkty.

Przykładowe zapytanie do wyciągniecia produktów pana Kowalskiego:
[sql:1:5b64aee6af]SELECT p.nazwa_produktu, p.ID FROM produkty p, relacje r, klienci k WHERE k.nazwisko='Kowalski' AND k.ID=r.klient AND r.produkt=p.ID[/sql:1:5b64aee6af]


--------------------

Go to the top of the page
+Quote Post
cinnek
post 3.01.2004, 15:29:36
Post #3





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 3.12.2003

Ostrzeżenie: (0%)
-----


A czy mogłoby to byc coś takiego??

Tabela(Produkty)
[P_id | Nazwa ]

Tabela (klienci)
[ID_Klienta | Imie | Nazwisko]

Tabela (Zamówiena)
[NR_zamówienia | Data | ID_klienta]

Tabela (relacje)
[NR_zamówienia | P_id | nr_produkcyjny]

Czyli np. gdy kowalski kupi 3 deski (P_id deski to np 23) to tabela relacje bedzie wyglądała tak(załóżmy że to zamówienie nr 001):

[001 | 23 | 1]
[001 | 23 | 2]
[001 | 23 | 3]
Go to the top of the page
+Quote Post
spenalzo
post 3.01.2004, 20:00:43
Post #4





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Cytat
Czyli np. gdy kowalski kupi 3 deski (P_id deski to np 23) to tabela relacje bedzie wyglądała tak(załóżmy że to zamówienie nr 001):

[001 | 23 | 1]
[001 | 23 | 2]
[001 | 23 | 3]

Zaraz zaraz - przedtem pisąłeś że każdy produkt jest unikalny - więc skąd nagle 3x takie samo ID 23 questionmark.gif


--------------------

Go to the top of the page
+Quote Post
uboottd
post 3.01.2004, 21:43:26
Post #5





Grupa: Zarejestrowani
Postów: 384
Pomógł: 0
Dołączył: 3.04.2003
Skąd: Chorzow

Ostrzeżenie: (0%)
-----


cinnek: owszem ta struktura wyglada na rozsadniejsza.

spenalzo: bo to jest ten sam produkt, tylko z roznymi "numerami seryjnymi"
Go to the top of the page
+Quote Post
cinnek
post 3.01.2004, 22:32:09
Post #6





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 3.12.2003

Ostrzeżenie: (0%)
-----


Cytat
Zaraz zaraz - przedtem pisąłeś że każdy produkt jest unikalny - więc skąd nagle 3x takie samo ID 23 questionmark.gif


Jest dokładnie tak jak powiedział uboottd. Wymyśliłem takastrukturę bo ja najpierw dostaje zamówienie a potem produkt jest dopiero produkowany więc unikatowe numery seryjne są przyznawane pózniej(tzn podczas tworzenia zamówienia) czyli nie znam ich przed złożeniem zamówienia produkty bo nie są jeszcze wyprodukowane ani w produkcji.


Jak ktos ma jeszcze jakieś może pomysły to poproszę z góry dzięki
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 22.06.2025 - 21:59