Фактът е, че ако искате разрешения на ниво статия на потребител тогава имате нужда от начин да свържете User
s към Article
и имат достъп. Това изисква минимум имате нужда от N*A (където A е броят на статиите с уникално разрешение).
Подходът 3NF към това би бил, както предложихте, да имате UsersArticles
комплект... което би било много голяма маса (както отбелязахте).
Имайте предвид, че тази таблица ще бъде достъпна много... Това ми изглежда като една от ситуациите, в които леко денормализиран подход (или дори noSQL) е по-подходящ.
Помислете за модела, който Twitter използва за своите потребителски таблици за последователи:
Извадка от тези парчета е урок, научен в Twitter, че запитването на последователи от нормализирана таблица поставя огромен стрес върху Users
маса. Тяхното решение беше да денормализират последователите, така че последователите на потребителя да се съхраняват в техните индивидуални потребителски настройки.
Предполагам, че подобен подход може да се използва за обслужване на разрешения за статии и избягване на изключително напрегнати UsersArticles
единична маса.