Дмитрий Сергеевич (axshavan) wrote,
Дмитрий Сергеевич
axshavan

Размышления по поводу архитектуры БД


По дороге из дома на работу я разсышлял по поводу структуры базы данных для гипотетического почти идеального и универсального движка для сайта. Ну, не мараясь квазистеснительностью, назову его axcore :)

У Мисаты в "Бало" юзеры вынесены в отдельный так называемый компонент. Зачем это надо, мне пока что неясно, хотя, признаться, действительно можно отделить систему ведения сессий от всего остального. Но я так врд ли буду делать.
users
-----
id
name
password

sessions
--------
id
user_id
ip
lastaction

"Ластакшен" обновляется каждый раз при посещении пользователем, залогиненным в этой сессии, сайта. По этому полю можно отслеживать все изменения, произошедшие с сайтом, пока пользователя не было, и вести всякую прочую статистику. В поле ip хранится айпишник компа, с которого зашел пользователь, для предотвращения воровства кукисов. Либо $_SERVER['REMOTE_ADDR'], либо $_SERVER['X_HTTP_FORWARDED_FOR']. Проблемы с элитными, анонимными и искажающими прокси-серверами, конечно, возникнут, и вряд ли удасться как-нибудь их обойти.
profile_fields
--------------
id
name
type

profile
-------
id
user_id
field_id
value

С этими двумя таблицами, я думаю, все понятно.

А вот самая, так сказать, важная таблица - это виртуальное дерево сайта. Ранее я думал о возможности развешивания на каждой ветке нескольких функций, но потом понял, что на хуй не нужно это лишнее мозгоебство. В конце концов, можно сделать отдельные ветки с расширенем .php :)
virtial_tree (пока что названия я толком не придумал)
------------
id
name
parent_id
scriptname
defaultaccess
...

А вот так я думаю определять права на доступ к различным ветвям виртуального дерева:
groups
-----------
id
name

group_access
-----------------
id
group_id
branch_id
access

user_group
----------
id
user_id
group_id

Самый лаконичный, мощный и гибкий способ.
Продолжение следует.

Tags: web
Subscribe

  • Плёнка №199

    Всякая нудная техническая информация - что это за плёнка, чего фотографии такие контрастные, и так далее - расположена после снимка номер шесть. 1…

  • Фотографии из мини-походика 18 июля

    На прошлой неделе мы со Славкой прошли пешком чуть больше 19 километров по южным предместьям Праги. Я выбрал маршрут таким образом, чтоб там были и…

  • Инопланетный чертополох

    Пару дней назад ходили вечером гулять по окрестностям. Я повстречал возле пруда Асуан заросли какой-то инопланетной херни. Это такие шипастые шары…

  • Post a new comment

    Error

    Comments allowed for friends only

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 2 comments