Jag tänkte smälla ihop en "jag gillar" funktion, typ facebook, mot ett antal moduler i min databas. Modulerna är ex. artiklar, nyheter, produkter i webbutik m.fl.
Fråga:
Är det helt idiotiskt att ha en gemensam tabell för detta ändamål?
Tabellen skulle kunna se ut:
LikeID int primary key
Module int ex. 1=artikel, 2=nyhet, 3=produkt
RelatedID int en typ av foreign key mot övriga tabeller
IP varchar(20) användarens ip nummer
UserAgent varchar(MAX) användarens useragent
Sen om man har en viss artikel så hämtar man med:
Select * from LikeTable Where Module = 1 And RelatedID = 123
Men på detta sätt tappar man helt relationen i databasen mellan tabellerna eftersom RelatedID går mot alla tabellerna.
Fördelen är ju om man har 30 moduler man vill ha funktionaliteten på så slipper man skapa 30 "I like"-tabeller.
Eller har ni nått smartare sätt?