Я пытаюсь нормализовать базу данных для хранения имен пользователей и паролей, а также того, к каким веб-страницам имеют доступ определенные пользователи. Это то, с чего я начал для простоты, но я думаю, что таблица «useraccess» нарушает первое правило нормализации в соответствии с двумя моими книгами ...
userpassword table(userid,username,userpassword)
useraccess table(userid, accesstopage0,accesstopage1,accesstopage2,accesstopage3)
Очевидно, что таблица useraccess может выйти из-под контроля. У меня вопрос ... как лучше всего решить эту проблему? Пока что это то, что я придумал для замены таблицы useraccess , но я хотел бы получить совет, если есть более элегантный способ сделать это:
useraccess(userid,useridsequence,pageid)
pages(pageid,pagename)
Так что пример будет ...
userpassword table(userid,username,userpassword)
0, useralpha, jinx
1, userbravo, binx
2, usercharlie, jabber
Затем, используя userid и useridsequence в качестве составного ключа для поддержания целостности ...
useraccess table(userid, useridsequence, pageid)
0, 0, 0
0, 1, 1
0, 2, 2
1, 0, 3
2, 0, 1
2, 1, 2
pages table(pageid,pagename)
0, page0.php
1, page1.php
2, page2.php
3, page3.php
Все это выглядит намного сложнее, чем нужно, есть ли лучший способ сделать это?