- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
CREATE TABLE IF NOT EXISTS `ls_user` (
`user_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`user_login` varchar(30) NOT NULL,
`user_password` varchar(50) NOT NULL,
`user_mail` varchar(50) NOT NULL,
`user_skill` float(9,3) unsigned NOT NULL DEFAULT '0.000',
`user_date_register` datetime NOT NULL,
`user_date_activate` datetime DEFAULT NULL,
`user_date_comment_last` datetime DEFAULT NULL,
`user_ip_register` varchar(20) NOT NULL,
`user_rating` float(9,3) NOT NULL DEFAULT '0.000',
`user_count_vote` int(11) unsigned NOT NULL DEFAULT '0',
`user_activate` tinyint(1) unsigned NOT NULL DEFAULT '0',
`user_activate_key` varchar(32) DEFAULT NULL,
`user_profile_name` varchar(50) DEFAULT NULL,
`user_profile_sex` enum('man','woman','other') NOT NULL DEFAULT 'other',
`user_profile_country` varchar(30) DEFAULT NULL,
`user_profile_region` varchar(30) DEFAULT NULL,
`user_profile_city` varchar(30) DEFAULT NULL,
`user_profile_birthday` datetime DEFAULT NULL,
`user_profile_site` varchar(200) DEFAULT NULL,
`user_profile_site_name` varchar(50) DEFAULT NULL,
`user_profile_icq` bigint(20) unsigned DEFAULT NULL,
`user_profile_about` text,
`user_profile_date` datetime DEFAULT NULL,
`user_profile_avatar` varchar(250) DEFAULT NULL,
`user_profile_foto` varchar(250) DEFAULT NULL,
`user_settings_notice_new_topic` tinyint(1) NOT NULL DEFAULT '1',
`user_settings_notice_new_comment` tinyint(1) NOT NULL DEFAULT '1',
`user_settings_notice_new_talk` tinyint(1) NOT NULL DEFAULT '1',
`user_settings_notice_reply_comment` tinyint(1) NOT NULL DEFAULT '1',
`user_settings_notice_new_friend` tinyint(1) NOT NULL DEFAULT '1',
PRIMARY KEY (`user_id`),
UNIQUE KEY `user_login` (`user_login`),
UNIQUE KEY `user_mail` (`user_mail`),
KEY `user_activate_key` (`user_activate_key`),
KEY `user_activate` (`user_activate`),
KEY `user_rating` (`user_rating`),
KEY `user_profile_sex` (`user_profile_sex`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
[/code]
очень актуально смотрится эта таблица с приведённой выше. очень умно сделать таблицу "топик-стартер" и не выделить отдельно профиль пользователя. что чаще используется в выборке? =)
про миллионы пользователей и лайвстрит - не смешите, не верю (с)
загнётся до прихода в БД
hybroid 09.09.2010 12:56 # 0
DooMer 09.09.2010 13:11 # +1
hybroid 09.09.2010 13:13 # 0
walk_ 09.09.2010 13:33 # +1
HyperGeek 09.09.2010 13:36 # 0
Анонимус 09.09.2010 15:03 # +3
Lure Of Chaos 09.09.2010 18:53 # 0
Lure Of Chaos 09.09.2010 18:53 # +1
da4ever 10.09.2010 05:57 # −1
- male
- female
- other
- unknown
- not applicable
bugmenot 10.09.2010 20:09 # −1
Lure Of Chaos 09.09.2010 18:54 # −2
Анонимус 09.09.2010 19:09 # +3
про справочники мы не знаем. А потом будут города типа "С.Петербург', "Петербург", "Питер" и "СПБ".
А еще запрос "вывести всех в моем городе" будет делать поиск по varchar(30).
Ну и денормализация еще
hybroid 10.09.2010 06:05 # −1
мне почему-то эта таблица кажется рывком в PHP-Nuke какой-то
Анонимус 10.09.2010 14:03 # +2
Lure Of Chaos 10.09.2010 14:23 # 0
hybroid 10.09.2010 18:44 # −1
alexqc 11.11.2010 15:04 # −1
Ну гуляют джойны, и что от количества полей меняется? Нужны только логины - так их и возьмем.
Или закладываться на указанное Lure Of Chaos "select *" ? Ну это уже будет говнокод в том селекте, но никак не в самой таблице.
А если, блин, муСКЛ внутри себя при джойне в промежуточную таблицу тащит все поля (а не только то что нужно) - то это проблемы мускла. Которые конечно нужно учитывать, но это все равно не делает говном эту таблицу.
Вот что по полям а-ля "user_profile_country" справочник сделать - еще можно согласиться, но ведь как я понял заговняли-то не из-за этого.
japan007 20.11.2010 04:03 # 0