Tabele komentarzy - jedna czy wiele ?

Odpowiedz Nowy wątek
2008-09-19 10:41
Sasquall
0

Projektuję właśnie baze danych pod pewien portal. I tak sie zastanawiam jakie rozwiązanie będzie najbardziej optymalne: mam 4 tabele (news, articles, galleries, videos) - i do każdej z tych tabel przewidziane są komentarze. Teraz pytanie brzmi: czy dla każdej z tabel robić osobną tabele komentarzy - czy mogę to w jakiś sposób zrobić w jednej tabeli? Czy wtedy nie zepsuje struktury tabel ?

Z góry dzięki za Wasze przemyślenia,
Pozdrawiam

Pozostało 580 znaków

2008-09-19 23:18
Paweł Dmitruk.
0

ja bym zrobil do kazdej tabeli osobne komentarze. :
id_komentarza,
id_watku(tytulu)
user,
komentarz

Pozostało 580 znaków

2008-09-19 23:24
ilo
0

a jak dodasz jeszcze kolumne id_tabeli(do_ktorej_jest_komentarz) to nie trzeba ci bedzie 4 nowych tabel tylko jedna

Pozostało 580 znaków

2008-09-20 09:26
0

A jak przyjrzysz się dokładniej to news i articles mogłyby być też w jednej tabeli (z jakimś polem type_id). W pracy kilka razy spotkałem się z tym dylematem i często dało się rzeczy typu artykuły, newsy, galerie wrzucić do jednego worka.
Podaj strukturę tabel articles, news, galleries i videos to może coś sensownego uda się wymyślić.

Pozostało 580 znaków

2008-09-20 17:38
0

Komentarze jeszcze rozumiem ale nie widzę sensu wsadzać artykułów, newsów i galerii do jednego worka. Czy to przyniesie jakieś wymierne korzyści?

Pozostało 580 znaków

2008-09-21 00:25
Sasquall
0

Dodam, że programowania w php używam frameworka CakePHP - więc muszę tworzyć bazę mając to na względzie.

Po przeczytaniu Waszych propozycji i przemyśleniu doszedłem do wniosku, że najwygodniej mi będzie użyć dwóch tabel zamiast pięciu czy ośmiu. Tabele będą miały nazwę cms i comments (każda z tabel zawiera title, body i user_id). Tabela cms będzie miała kolumnę zawierającą typ zawartości (art, gallery, itp.). Mam nadzieje, że to się uda:)

Dzięki temu że wszystkie rodzaje działów będą w jednej tabeli uniknę nadmiarowości danych i ułatwie ich odczyt; Tabele wyglądają bardziej naturalnie (tak mi sie wydaje) i łatwo mogę zliczyć na przykład liczbę komentarzy od danego użytkownika.

W CakePHP będę mógł utworzyć sobie sztuczne modele do każdego typu treści, dzięki czemu będzie możliwa odrębna walidacja i automatyczne warunki. Będę mógł zapomnieć dzięki temu o strukturze sqlowej i skupić się na tworzeniu portalu:) Mam nadzieje, że nie zamotałem wyjaśnienia zabardzo;]

thx:)

Pozostało 580 znaków

2008-09-22 09:01
0
AdamPL napisał(a)

Komentarze jeszcze rozumiem ale nie widzę sensu wsadzać artykułów, newsów i galerii do jednego worka. Czy to przyniesie jakieś wymierne korzyści?

To zależy od konkretnego przypadku. W moim było tak, że Artykuły to po prostu treść, aktualności to też kilka zdań + termin ważności, galerie to treść + zdjęcia. Więc zamiast trzech tabel (articles, news, galleries) miałem dwie:
Elements (id, type, content: text, start: date, end: date) i Photos (id, element_id).
dzięki temu nie potrzebujesz trzech kontrolerów (dla artykułów, newsów i galerii) które tak naprawdę są tym samym. Jeśli klient wykombinuje, że chce zarządzać treśćią za pomocą edytora Wysiwyg - podpinam go raz, a nie trzy albo więcej razy - to są moje korzyści. Druga sprawa - problem z jedną/kilkoma tabelami dla komentarzy nawet się nie pojawia.

Ale to oczywiście zależy od konkretnego przypadku- dlatego prosiłem o przykład.

Pozostało 580 znaków

2008-09-22 11:40
Sasquall
0
id02009 napisał(a)

To zależy od konkretnego przypadku. W moim było tak, że Artykuły to po prostu treść, aktualności to też kilka zdań + termin ważności, galerie to treść + ...

W moim przypadku w jednej tabeli to będzie świetnie rozwiązanie- ponieważ każdy dział to będzie tytuł i treść(chociaż jeszcze nie jest określone jak to będzie wyglądać na końcu). Nawet galerie mogą być w tej samej tabeli, bo dam tylko w tabeli pictures klucze obce do tabeli głównej i szafa gra:)

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0