
Новые сообщения [новые: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&mobile=1&tid=1543471]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
178ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 494ms |

| 0 / 0 |
