Gebruik in plaats van een enkele rij voor elke film een tabel met attributen en waarden. Voeg hier dan een extra veld aan toe dat de gebruiker specificeert, dit zou 0
. zijn voor de oorspronkelijke standaard. Dus de tabel ziet er als volgt uit:
MovieID UserID Attribute Value
1 0 Title 12 Monkeys
1 0 Format DVD
1 1 Title Twelve Monkeys
Een zoekopdracht om de titel te krijgen zou er dan als volgt uitzien:
SELECT MovieID, IFNULL(my.Value, default.Value) AS title
FROM movies AS default
LEFT JOIN movies AS my ON default.MovieID = my.MovieID AND my.Attribute = 'Title' AND my.userID = @user
WHERE default.UserID = 0 AND default.Attribute = 'Title'
Sommige databaseontwerpers gebruiken ook graag een AttributeID
in plaats van een string als attribuutnaam, en een aparte tabel die attribuutnamen toewijst aan ID's.