powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / База данных для игрового сайта, нуждаюсь в совете
1 сообщений из 1, страница 1 из 1
База данных для игрового сайта, нуждаюсь в совете
    #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
1 сообщений из 1, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / База данных для игрового сайта, нуждаюсь в совете
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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