![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 0 Dołączył: 12.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Muszę zaprojektować bazę która będzie w stanie przechowywać wiele artykułów tekstowych o różnej tematyce. Zakładam, że artykułów będzie bardzo dużo dlatego chciałbym zrobić to rozsądnie. Wymyśliłem ze stworzę jedną tabelę: arty(id, tresc, tytul, id_kategoria, id_grup ....) id_kategoria to numer id kategorii którą jest artykuł(np. recenzja, opis, przepis, news itp) id_grup to grupy tematyczne do których artykuł należy(np książka, film, komiks, medycyna) Oczywiście kategorie i grupy to osobne tabele i myślę, że sobie z tym poradzę. Zastanawiam się czy takie rozwiązanie jest dobre? Czy będzie wystarczająco wydajne. A może lepiej tworzyć osobną tabelę na każdą kategorię? Pewnie przy konkretnym zapytaniu byłoby wygodniej, ale czy przeszukiwanie bądź wyświetlanie większej ilości rekordów nie byłoby już kłopotliwe? Tworzenie osobnych tabel dla grup wydaje mi się głupi pomysłem bo przypuszczam że będzie ich dość sporo. Jakieś doświadczenia? Nabyta wiedza teoretyczna? Help! ![]() Podsumowując: Ładować wszystko do jednej tabeli czy rodzielić to na kilka(np ze względu na kategorię)? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 367 Pomógł: 2 Dołączył: 4.03.2003 Skąd: C:/Windows/Temp Ostrzeżenie: (0%) ![]() ![]() |
tak mi sie wydaje, ze grupy (id,nazwa) i kategorie (id,nazwa) powinny byc osobno zeby juz nie ladowac w tabele 'arty'. chyba ze nazwa np. kategori bedzie pobierana na takiej zasadzie jeseli id_kategori=0 to nazwa=sport w takim wypadku dal bym to do jednej tabeli ![]() -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 0 Dołączył: 12.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
Moj problem polega jednak na tym czy nie rozdzielić tabeli arty na kilka i zamiast
zrobic
Czy takie rozwiązanie przy dużej ilości rekordów nie odciąży DB. A może właśnie ze względu na konieczność tworzenia złożonych zapytań jeszcze bardziej ją obciąży? |
|
|
![]()
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Rozwiązanie złe.
Dlaczego? 1. Po co rozdzielać elementy po różnych tabelach skoro mają taką samą budowę; 2. Jak będziesz chciał wybrać/wyszukiwać wśród wszystkich artach? Zamiast jednego zapytania masz tyle ile natworzysz tabel; 3. Możesz dodać jakieś pole do tabeli z artami, które mówi czy art jest o książkach czy o czymś innym i masz już podział, do którego wcale nie potrzebujesz wielu tablel. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 0 Dołączył: 12.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
Ok czyli tak jak myslalem na poczatku. Dzięki bardzo za pomoc!
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 20.07.2025 - 07:17 |