
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
25.01.2009, 17:16
|
|||
|---|---|---|---|
|
|||
Какой из вариантов отношений выбрать |
|||
|
#18+
В свободное время решил сделать сайт для локалки: помощь впервые попавшим и тонущим в море интернета, и организация пользователей. Покритикуйте, пожалуйста, то, что получилось. Возникла необходимость учёта пользователей: ip, общественно полезная инфа о компе (наличие фтп, например), пользователь (=человек=физик). Соответственно их я и выделил в отдельные сущности: ip, computer, user. В таком же виде нужно будет получать и "общий отчёт". Иногда встречаются следующие... ситуации: пользователь имеет несколько компов, несколько пользователей имеют комп, комп имеет несколько ip, что должно учитываться в бд. Сейчас я спроектировал следующие таблицы: users [user_id, инфа о пользователе], users2computers [user_id, comp_id], computers [comp_id, инфа о компах], ip [ip_id, comp_id] Вот только кое-что меня смущает. Одной из самых частых выборок будет: пользователь(и) по ip, то есть нужно будет делать два join'а, но примерно о трети пользователей известны лишь их ip, то есть сущность computer будет просто лишним связующим звеном между ip и users. Не стоит ли связать все эти три сущности попарно? Или связать все три через одну таблицу наподобие table [ip_id, user_id, comp_id]? Или может как-то по-другому лучше спроектировать? Буду благодарен, если подскажите ещё следующий нюанс. Кроме "нормальных" ip, внутри сети используются самоназначенные ip c-класса, а в туманном будущем планируется переход на ipv6. Также три раза за 5 лет была замена адресов. В связи со всем этим стоит ли ip всех типов хранить в одной таблице (и различать их тип в колонке), или лучше иметь таблицы для каждого типа ip? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=32&tablet=1&tid=1543471]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
177ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
24ms |
get tp. blocked users: |
2ms |
| others: | 218ms |
| total: | 458ms |

| 0 / 0 |
