>I. Где лучше хранить пользователей и их права?
>2) Если в программе, то создать таблицу user и там хранить
>виртуальные права. Да.
>и соединяются с базой суперпользователем.
Никогда, это жуткая дыра! Сделай отдельного пользователя с урезанными админскими правами только на эту БД, его имя и пароль храни как переменные в файле за пределами дерева каталогов апачи и подгружай в первых строках скрипта.
>II. Смутил один пример базы.
>Там от базы в привычном смысле мало что осталось - каждое поле
>в отдельной таблице,
>то есть вместо p.fam,p.im,p.ot существуют таблицы fam,im,ot.
>Если нужно назначить права на определенные поля их и нужно группировать
>по отдельным таблицам?
Это неправильно, но считается, что позволяет работать со страшной скоростью после сотритровки и индексации на очень больших базах (миллионы записей). У тебя будут такие объемы? Если нет - работай традиционно.