Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> tworzenie tabel
peklo
post 14.01.2014, 10:35:46
Post #1





Grupa: Zarejestrowani
Postów: 420
Pomógł: 0
Dołączył: 27.07.2011

Ostrzeżenie: (10%)
X----


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
  1. <option value='audi'>audi</option>
  2. <option value='opel'>opel</option>


Proszę o pomoc bo chciałbnym żeby zapytania na stronie działały mi w miarę szybko
Go to the top of the page
+Quote Post
Kshyhoo
post 14.01.2014, 11:26:29
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 :)


--------------------
Go to the top of the page
+Quote Post
peklo
post 14.01.2014, 11:50:04
Post #3





Grupa: Zarejestrowani
Postów: 420
Pomógł: 0
Dołączył: 27.07.2011

Ostrzeżenie: (10%)
X----


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?
Go to the top of the page
+Quote Post
nospor
post 14.01.2014, 12:18:17
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

Go to the top of the page
+Quote Post
peklo
post 14.01.2014, 12:37:52
Post #5





Grupa: Zarejestrowani
Postów: 420
Pomógł: 0
Dołączył: 27.07.2011

Ostrzeżenie: (10%)
X----


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?
Go to the top of the page
+Quote Post
nospor
post 14.01.2014, 12:43:48
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

Go to the top of the page
+Quote Post
peklo
post 14.01.2014, 13:04:49
Post #7





Grupa: Zarejestrowani
Postów: 420
Pomógł: 0
Dołączył: 27.07.2011

Ostrzeżenie: (10%)
X----


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
Go to the top of the page
+Quote Post
nospor
post 14.01.2014, 13:18:50
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

Go to the top of the page
+Quote Post
peklo
post 14.01.2014, 13:39:27
Post #9





Grupa: Zarejestrowani
Postów: 420
Pomógł: 0
Dołączył: 27.07.2011

Ostrzeżenie: (10%)
X----


ok czyli robię coś takiego

  1. CREATE TABLE `kategorie` (
  2. id_kat int(2),
  3. kategoria varchar(4),
  4. KEY `id` (`id`)
  5. ) ENGINE=InnoDB;
  6.  
  7. INSERT INTO `kategorie` (`id_kat`, `kategoria`) VALUES
  8. (1, 'A1'),
  9. (2, 'B'),
  10. (3, 'B1'),
  11. (4, 'C'),
  12. (5, 'C1'),
  13. (6, 'D'),
  14. (7, 'D1'),
  15. (8, 'B+E'),
  16. (9, 'C+E'),
  17. (10, 'C1+E'),
  18. (11, 'D+E'),
  19. (12, 'D1+E'),
  20. (13, 'T');


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?
Go to the top of the page
+Quote Post
nospor
post 14.01.2014, 13:47:25
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

Go to the top of the page
+Quote Post
peklo
post 14.01.2014, 13:56:57
Post #11





Grupa: Zarejestrowani
Postów: 420
Pomógł: 0
Dołączył: 27.07.2011

Ostrzeżenie: (10%)
X----


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
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: 17.06.2025 - 22:28