Собственно идея такая: Есть у нас несколько игр, для примера пусть будет игра в дурака. Сама суть сайта, пользователь заходит в игру (в дурака), создает свою заявку на игру или входит в другую. Исходя из настроек игры: пользователь может создать заявку 3 игрока или 4 игрока и ожидать других игроков. К примеру пользователь создал заявку на игру и к нему зашел второй пользователь, тогда начинается игра. Собственно прошу совета по поводу базы данных, у меня вышла вот такая вот структура: Код | -- список игр DROP TABLE IF EXISTS `game`; CREATE TABLE `game` ( `game_id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, `game_name` varchar(200) NOT NULL, `game_logo_min` varchar(200) NOT NULL, `game_logo_max` varchar(200) NOT NULL, `player_min_count` tinyint(1) NOT NULL DEFAULT 2, `player_max_count` tinyint(1) NOT NULL DEFAULT 4, PRIMARY KEY (`game_id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
-- заявки на игру DROP TABLE IF EXISTS `game_waiting`; CREATE TABLE `game_waiting` ( `waiting_id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, `game_id` int(11) UNSIGNED NOT NULL DEFAULT '0', `user_id` int(11) UNSIGNED NOT NULL DEFAULT '0', `waiting_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', -- статус заявки (-1 закрыта, 0 в ожидании, 1 в игре) `request_status` tinyint(1) NOT NULL DEFAULT '0', PRIMARY KEY (`waiting_id`), index (`game_id`), index (`user_id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; -- ----------------------------
-- играющие пользователи DROP TABLE IF EXISTS `users_play`; CREATE TABLE `users_play` ( `play_id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, `game_id` int(11) UNSIGNED NOT NULL DEFAULT '0', `user_id` int(11) UNSIGNED NOT NULL DEFAULT '0', `waiting_id` int(11) UNSIGNED NOT NULL DEFAULT '0', -- статус (0 законченная партия, 1 играющая) `play_status` tinyint(1) NOT NULL DEFAULT '0', PRIMARY KEY (`play_id`), index (`game_id`), index(`user_id`), unique(`game_id`, `user_id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; -- ----------------------------
-- статистика пользователей DROP TABLE IF EXISTS `users_play_info`; CREATE TABLE `users_play_info` ( `play_info_id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, `game_id` int(11) UNSIGNED NOT NULL DEFAULT '0', `user_id` int(11) UNSIGNED NOT NULL DEFAULT '0', `count_play` int(11) UNSIGNED NOT NULL DEFAULT '0', `count_win` int(11) UNSIGNED NOT NULL DEFAULT '0', `kmvi` tinyint(2) NOT NULL DEFAULT '0', -- коэффициент мастерства в игре -- статус (0 законченная партия, 1 играющая) `play_status` tinyint(1) NOT NULL DEFAULT '0', PRIMARY KEY (`play_info_id`), index (`game_id`), index(`user_id`), unique(`game_id`, `user_id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; -- ----------------------------
|
|