Tomasz
Wójtowicz
Programista Ruby on
Rails
Temat: Komentarze - schemat bazy
Witam,Mam do rozwiązania pewien problem. Serwis nad którym pracuję ma mieć możliwość udostępniania dodawania komentarzy zarówno dla zalogowanych jak i dla niezalogowanych użytkowników. Stanąłem na schemacie bazy danych. Mam tabele comments oraz tabele users. Generalnie chodzi o to ze dla zalogowanych sprawa jest jasna. Powiązanie jeden do wielu między users a comments. Ale jak rozwiązać sprawę z niezalogowanymi użytkownikami? Jedyne co mi do głowy przychodzi do w tabeli users mieć użytkownika o nazwie Gość i każdy komentarz niezalogowanego użytkownika jest powiązany z tym Gościem. Do tabeli comments musiałbym dodać pole username, w którym byłaby informacja o nazwie użytkownika. W tym przypadku musiałbym też wpisywać do tego pola w tabeli comments również username użytkowników zalogowanych(żeby nie było w tym polu NULL'a dla komentarzy dodanych przez zalogowanych. Doprowadza to do nadmiarowości danych, możliwość niespójności danych no i do denormalizacji. I właśnie nie wiem czy można tak zrobić czy jest na to jakiś lepszy sposób :)
Czekam na jakieś uwagi, opinie, sugestie :)
PozdrawiamTomasz Wójtowicz edytował(a) ten post dnia 06.02.11 o godzinie 23:32