Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Prosty schemat bazy
Forum PHP.pl > Forum > Bazy danych
Boshi
Może ktoś pomóc? Schemat prostej bazy produktów,producentów? Muszę wybrać potem na stronę typ produktu osobno, nazwę oraz producenta? Jaka to bedzie relacja? wiele do wielu? Jeden produkt może mieć wielu producentów a producent wiele produktów ?


Producent
id
Nazwa
opis

Produkt
id
typ
opis
nazwa
IDProducent


Kshyhoo
Można to zrobić na 3 tabele, pierwsza producenci, druga produkty a trzecia połączenie:
  1. CREATE TABLE pp (
  2. pp_id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
  3. producent_id INT,
  4. produkt_id INT
  5. );

  1. SELECT * FROM pp;
  2. +-------+--------------+------------+
  3. | pp_id | producent_id | produkt_id |
  4. +-------+--------------+------------+
  5. | 1 | 1 | 1 |
  6. | 2 | 1 | 2 |
  7. | 3 | 2 | 3 |
  8. | 4 | 3 | 3 |
  9. | 5 | 3 | 2 |
  10. +-------+--------------+------------+
Pyton_000
raczej 2 z relacją 1:n
1 producent - wiele produtów

Czyli Produkt - Producent
Kshyhoo
@Pyton, ale czasem np. bułkę grachamkę produkuje wielu piekarzy smile.gif
Boshi
Myślałem podobnie jak Kshyhoo właśnie. Biorąc jeszcze pod uwagę to co pyton napisał to wyglądało by to w jaki sposób? Mam 3 producentów? np KFC, MCDonald, AfricaBurger i teraz każdy z nich ma jakieś id z tabeli produkty? to jest raczej relacja 1 do 1? odwrotnie to też będzie relacja 1 do 1 ? Jak byto wyglądało w postaci graficznej ?

Jak rozumiem wyciągnięcie z bazy danych to np;

  1. SELECT producenci.*,pp.* FROM pp INNER JOIN producenci ON producenci.ID_Producent=pp.ID_Producent


I jeszcze jedno pytanie? zdjęcia przechowywać w postaci adresów i je tylko wyciągać? z tego co wiem trzymanie całych plików na polu Blob jest baaardzo nieefektywne.
Pyton_000
@Kshyhoo tak, ale to nie jest ten sam produkt smile.gif

Tak, obrazki na serwerze a w tabeli tylko linki
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.