El hecho es que si desea permisos de nivel de artículo por usuario entonces necesitas una forma de relacionar User
s al Article
s a los que pueden acceder. Esto requiere un mínimo necesita N*A (donde A es el número de artículos autorizados de forma única).
El enfoque 3NF para esto sería, como sugirió, tener un UsersArticles
conjunto ... que sería una mesa muy grande (como notó).
Considere que se accedería mucho a esta tabla... Me parece una de las situaciones en las que un enfoque ligeramente desnormalizado (o incluso no SQL) es más apropiado.
Considere el modelo que usa Twitter para sus tablas de seguidores de usuarios:
Una muestra de esas piezas es una lección aprendida en Twitter de que consultar a los seguidores de una tabla normalizada ejerce una gran presión sobre un Users
mesa. Su solución fue desnormalizar a los seguidores para que los seguidores de un usuario se almacenen en su configuración de usuario individual.
Me imagino que se podría usar un enfoque similar para proporcionar permisos de artículos y evitar un UsersArticles
tremendamente estresado. mesa individual.