![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 420 Pomógł: 0 Dołączył: 27.07.2011 Ostrzeżenie: (10%) ![]() ![]() |
mam pytanie odnośnie tworzenia tabel
Chcę stworzyć stronę o motoryzacji. 1. I teraz czy lepiej jest dodawać ogłoszenie np do jednej tabeli ogloszenia (uzytkownika,opis, marke,model,kategorie prawa jazdy,itd) czy może lepiej to rozbić na tab1(uzytkownik,opis) tab2(marka,model), tab3(kategoria), itd 2. Czy model i marke samochodu dać w jednej tabeli czy w 2 osobnych i jak je później połączyć 3. I trzecie pytanie czy wogóle kategorie,marki,wyposażenie itd dawać w tabelach czy może w zrobić w pliku
Proszę o pomoc bo chciałbnym żeby zapytania na stronie działały mi w miarę szybko |
|
|
![]()
Post
#2
|
|
![]() Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
1. drugie rozwiązanie daje większe możliwości ale komplikuje zapytania.
2. j.w. 3. j.w.
Powód edycji: [Kshyhoo]: usunąłem potwora :)
-------------------- Jak poprawnie zadać pytanie | Jak poprawnie zatytułować wątek
Najczęstsze błędy | Błędy E_NOTICE | PHP FAQ | FAQ PHPedia | SQL-Injection | Logowanie i sesje | Hashowanie haseł | Server - od czego zacząć ? | Manual PHP Alternatywne Forum dla Ekspertów Nie pomagam na PW, nie mam GG |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 420 Pomógł: 0 Dołączył: 27.07.2011 Ostrzeżenie: (10%) ![]() ![]() |
czyli rozumiem, że przy dodawaniu ogłoszenia można dać wszystkie zmienne do jednej tabeli ogłoszenia, a wybór kategorie,wyposażenie dać w tabelach , a tą marke i model rozbić na dwie tabele?
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Dane slownikowe, czyli marka, model, mają byc oddzielnymi tabelami z polami np: ID, NAZWA
Jesli ogloszenie moze posiadac jedną marke, to ma to byc pole w tabeli ogloszenia, gdzie wstawisz ID danej marki z tabeli z markami. Jesli ogloszenie moze posiadac wiele danych rzeczy, np. kategorii, to tworzysz tabelę wiążacą ogloszenie z kategorią, ktora to tabela zawiera dwa pola ID_OGLOSZENIA i ID_KATEGORII. Nie patrz na kod php ktory podal kshyhoo w poprzednim poscie bo jest niesamowicie nieoptymalny. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 420 Pomógł: 0 Dołączył: 27.07.2011 Ostrzeżenie: (10%) ![]() ![]() |
Czyli mogę zrobić w np w ten sposób. Do ogłoszenia w jednej tabeli dodaje osobe,opis itd i ze słownika równiez dodaje kategorię np id_kat -np1, id_marka-np5 . I wtedy na podstawie id mogę sobie powyciagać dane z wyszukiwarki
Przykład tabela ogloszenia - tutaj dodaje ( id osoba data_dod id_kat id_marka id_wyposazenie ) i teraz tabela kategoria - stad pobieram do tabeli ogłoszenia ( katA varchar(1), katB varchar(1), itd ) czy dobrze zrozumiałem? |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Nie.
kategoria to tez dana slownikowa, wiec to ma byc normalna tabela slownikowa jak marka.. Kategoria ID NAZWA Ogloszenie ID OPIS DATA ID_MARKA Ogloszenie_kateogria - tutaj jest laczenie kategorii z ogloszeniem ID_OGLOSZENIE ID_KATEGORIA -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 420 Pomógł: 0 Dołączył: 27.07.2011 Ostrzeżenie: (10%) ![]() ![]() |
no spor t jak miałaby wyglądać struktura tabeli z kategoriami z której to wybierałbym kategorie pprawa jazdy
A1 B B1 C C1 D D1 B+E C+E C1+E D+E D1+E T sory że tak Cię męcze ale chce żeby to miało ręce i nogi. Na podstawie tej tabeli zrobię inne kategorie np wyposażenie |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Normalnie, tak jak ci napisalem
tabela KATEGORA z polami: ID - pole AUTOINCREMENT, Klucz glowny NAZWA I juz. To jest zwykla tabela slownikowa.
Powód edycji: [nospor]:
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 420 Pomógł: 0 Dołączył: 27.07.2011 Ostrzeżenie: (10%) ![]() ![]() |
ok czyli robię coś takiego
analogicznie z wyposażeniem itd Tylko nie za bardzo jeszcze rozumiem powiązania tabeli ogłoszenia z tymi pozostałymi tabelami (kategorie,wyposazenie,model,marka). Musze stworzyć poza tabelą ogłoszenia jeszzce inna tabelę która zwiąże mi tą tabelę z innymi? |
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
zanim ruszysz dalej, zapoznaj sie dokladnie z podstawami
1) AUTOINCREMENT 2) klucz glowny - Primary Key 3) Typy danych i ich zakres. W tym wypadku nie int(2) a TINYINT unsigned 4) Skoro ma to byc AUTOINCREMENT to nie nadawaj sam ID tylko wstawiaj NULL zamiast ID i niech to baza sama nadaje ID rekordom Napisalem, oddzielna tabela wiazaca ma byc tylko dla pol gdzie moze byc wiele rzeczy dla jendego ogloszenia. Ogloszenie moze miec wiele kategorii, wiec ma byc tabela wiazaca. ALe marka dla ogloszenia chyba bedzie tylko jedna? Wiec w tabeli OGLOSZENIE ma byc pole ID_MARKA -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 420 Pomógł: 0 Dołączył: 27.07.2011 Ostrzeżenie: (10%) ![]() ![]() |
autoincrement i primarykey wiem co to jest tylko tu nie dopisałem nie wiem czemu. Ok to już wiem jak bedzie wiele wyborów np wyposażenia to mam zrobić dodatkową tabele. dzieki
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 17.06.2025 - 22:28 |