Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MYSQL] Jak lepiej przechowywać dane ?
Forum PHP.pl > Forum > Przedszkole
kkuubbaa88
powiedzmy, ze mam w sumie 1500 artykułów. można teraz wyróżnić jakies 80 kategorii. i teraz jak lepiej przechowywac te dane ? czy wszystko w jednej tabeli i tylko rozopoznawac po id i kategori ? wyświetlac odpowiednie dane w odpowiedniej kategorii na stronie ? czy to dobre posuniecie ? bo zawsze trzeba bedzie cala baze przeleciec aby cos wyswietlic...

czy moze zrobic te 80 tabel, a w kazdej juz bez dodatkowych pol kategorii pododawac te artykuly.. w ten sposob obciazenie sie rozlozy, bo nie bedzie tylko zawsze laczyc i szukac po jednej bazie...

czy tez moze to nie ma znaczenia ? bo obciazyc mozna tylko dzielac posrod baz danych ? czy jednak, az tak nie kombinowac ?
nexis
Potrzebujesz dwóch tabel: kategoria i artykul. Pierwsza powinna posiadać pole ID, będące kluczem głównym, oraz powiedzmy etykietę tekstową (nazwa danej kategorii). Druga tabela (artykul) powinna posiadać własny klucz oraz odwołanie do kategorii poprzez jej ID.

  1. CREATE TABLE `artykul` (
  2. `id` INT NOT NULL ,
  3. `kategoria` INT NOT NULL ,
  4. `tytul` VARCHAR( 64 ) NOT NULL ,
  5. `tresc` TEXT NOT NULL ,
  6. PRIMARY KEY ( `id` )
  7. ) ENGINE = MYISAM ;
  8.  
  9. CREATE TABLE `kategoria` (
  10. `id` INT NOT NULL ,
  11. `nazwa` VARCHAR( 64 ) NOT NULL ,
  12. PRIMARY KEY ( `id` )
  13. ) ENGINE = MYISAM ;
  14.  
  15. INSERT INTO `kategoria` VALUES (1, 'Pierwsza kategoria');
  16. INSERT INTO `kategoria` VALUES (2, 'Druga kategoria');
  17.  
  18. INSERT INTO `artykul` VALUES (1, 1, 'Artykuł w pierwszej kategorii', 'Tekst w pierwszym artykule!');
  19. INSERT INTO `artykul` VALUES (2, 1, 'Drugi artykuł w pierwszej kategorii', 'Jakiś tekst.');
  20. INSERT INTO `artykul` VALUES (3, 2, 'Pierwszy artykuł w drugiej kategorii', 'Kolejny tekst...');
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.