Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Kiedy potrzebna druga tabela?, ... czyli czy dla wszystkiego robić oddzielne tabele?
Asmox
post
Post #1





Grupa: Zarejestrowani
Postów: 359
Pomógł: 12
Dołączył: 16.01.2009

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


Zauważyłem, że często do różnych obiektów tworzy się dodatkowe tabele, a w głównej tylko ID pól w tamtych tabelach dla identyfikacji. Czasami mam wrażenie, że dla niektórych rzeczy to przesada i można po prostu wpisać normalną nazwę, bez odnośników do innych tabel. Chciałbym się dowiedzieć, kiedy takie działania są w granicach rozsądku i nie uciążliwe. W praktyce mam taką tabelę, z... powiedzmy odnośnikami do kursów online i tabelę z kategoriami kursów:
Kod
         +----+--------------+-----------+--------+------------------------------------------+------------+
         | ID | NAZWA        | KATEGORIA | LEKCJA | LINK                                     | OST_EDYCJA |
         +----+--------------+-----------+--------+------------------------------------------+------------+
         |  1 | Wprowadzenie | 0         | 1      | kursy-online/kurs-html/wprowadzenie.html | 2009-03-04 |
         |  2 | Znaczniki    | 0         | 2      | kursy-online/kurs-html/znaczniki.html    | 2009-03-04 |
         +----+--------------+-----------+--------+------------------------------------------+------------+

+----+-----------+
| ID | NAZWA     |
+----+-----------+
|  1 | Kurs HTML |
+----+-----------+

Zastanawiam się, czy nie byłoby lepiej, gdybym wykasował tę drugą tabelę, a w polu kategoria po prostu wpisywać normalne nazwy. Oszczędziłoby mi to robienia funkcji na wyciąganie nazwy kategorii z jego ID i przyspieszyło wyciąganie wszystkich rekordów z kategorią HTML. A jak wy myślicie?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Asmox
post
Post #2





Grupa: Zarejestrowani
Postów: 359
Pomógł: 12
Dołączył: 16.01.2009

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


Nie bardzo rozumiem Twój przykład, ale zainteresowałem się funkcją JOIN. Mam niestety problemy. Dla zapytania do MySQL:

  1. SELECT * FROM linki JOIN kategorie ON linki.KAT_ID=kategorie.KAT_ID;


Wynik jest taki:
Kod
+---------+--------+---------------+--------+------------+--------+-----------+
| LINK_ID | KAT_ID | LINK_NAZWA    | LEKCJA | OST_EDYCJA | KAT_ID | KAT_NAZWA |
+---------+--------+---------------+--------+------------+--------+-----------+
|       0 |      0 | Wprowadzenie  | 1      | 2009-03-04 |      0 | HTML      |
|       1 |      0 | Znaczniki     | 2      | 2009-03-04 |      0 | HTML      |
|       2 |      1 | Znaczniki PHP | 1      | 2009-03-06 |      1 | PHP       |
+---------+--------+---------------+--------+------------+--------+-----------+


Chciałbym się pozbyć tego drugiego KAT_ID, który wplatając się zapycha mi jedną kolumnę wyników

Ten post edytował Asmox 6.03.2009, 15:47:49
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 15.10.2025 - 21:07