Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / База данных для игрового сайта, нуждаюсь в совете / 1 сообщений из 1, страница 1 из 1
25.10.2013, 21:11:15
    #38441891
nepster
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
База данных для игрового сайта, нуждаюсь в совете
Все привет!

Собственно идея такая:
Есть у нас несколько игр, для примера пусть будет игра в дурака.
Сама суть сайта, пользователь заходит в игру (в дурака), создает свою заявку на игру или входит в другую.

Исходя из настроек игры: пользователь может создать заявку 3 игрока или 4 игрока и ожидать других игроков.
К примеру пользователь создал заявку на игру и к нему зашел второй пользователь, тогда начинается игра.

Собственно прошу совета по поводу базы данных, у меня вышла вот такая вот структура:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
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.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
-- список игр
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;
-- ----------------------------
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / База данных для игрового сайта, нуждаюсь в совете / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]