Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem w projektowaniu bazy
quality
post
Post #1





Grupa: Zarejestrowani
Postów: 172
Pomógł: 9
Dołączył: 13.02.2006
Skąd: Warszawa

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


Witam
Napotkalem 2 problemy projektując bazę danych:

1. Mam 2 moduly - artykuly i galerie. Chcialbym zeby i galerie i artykuly mogly byc komentowane. I tutaj pytanie. Czy zrobic oddzielna tabele komentarzy dla galerii i artykulow, czy zrobic jedna tabele komentarze i dodatkowo 2 tabele "galerie -> wiele do wielu -> komentarze" i "artykuly -> wiele do wielu -> komentarze" ?

2. Drugi problem jest podobny. Mianowicie chodzi o to ze galerie, artykuly, programy itd posiadaja typy. I tutaj tez czy zrobic osobne tabele np: "typ_artykulow" itp czy zrobic jedna tabele
" typy" i dodatkowa "rodzaj_typow" (w ktorych znajda sie informacje o modulach do ktorych beda te typy nalezec)

Ps. Mam nadzieje ze nie zamotalem zabardzo. jak cos to przesle screeny z zamodelowana baza.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
ddiceman
post
Post #2





Grupa: Zarejestrowani
Postów: 326
Pomógł: 121
Dołączył: 23.07.2008
Skąd: Wrocław

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


AD 1.
Nie sadze, ze funkcjonalnosc 'wiele do wielu' jest Ci potrzebna - w koncu komentarz dotyczy jednej galerii, lub jednego artykulu, wiec jest to relacja 'jeden do wielu'.
Zastanów się, czy komentarz do galerii ma strukturę taka sama, jak do artykulu. Jezeli tak - wcisnij w jedna tabele i dodaj pole TYP enum('artykul', 'galeria') czy podobne - latwiej bedziesz mogl wyciagac statystyki komentarzy uzytkownikow etc. (choc mozna robic unie, ale po co?)

AD 2.
Zalezy, czy typow masz skonczona ilosc i niezmienna, czy nie. Jezeli pierwsza mozliwosc - ENUM, albo jakis INT. Jezeli druga - lepiej tabelke. Co prawda teoria normalizacji mowi, bys w kazdej sytuacji rozbijal na 2 tabele, ale przy duzym obciazeniu serwera zmusza sie tak glowice dysku do skakania po bazie, co owocuje problemami. Ni mniej ni wiecej powiem tylko, bys sam zastanowil sie, czy potrzebujesz osobnej tabeli.
Go to the top of the page
+Quote Post

Posty w temacie


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 Aktualny czas: 17.10.2025 - 16:32