365体育备用网址报道24.5.1数据库设计_365体育备用网址官网资讯

24.5.1数据库设计
一般说来,大转盘抽奖系统中,至少需要包含以下表。
? 全局配置表:用于存储系统的配置信息。
? 奖品配置表:用于存储奖品名称及数量等信息。
? 用户信息表:用于记载参与运动的用户信息。
? 抽奖记载表:用于记载用户参与的运动的行为。
在数据库设置之前,需要创建一个数据库,这里我们的数据库的名称为“wx_dazhuanpan”,“wx”是“微信”二字拼音的首字母。“dazhuanpan”则是“大转盘”的拼音。
PHPMyAdmin的后台中,选择“Database(数据库)”标签,然后在“Create Database(创建数据库)”功能框中输入数据库的名称“wx_dazhuanpan”,编码类型选择“utf8_general_ci”,最后点击“Create(创建)”按钮。如图24-12所示。

图24-12 创建数据库
创建好数据库之后,我们开头来建表。
一般说来,一个运动的开展,总是有个开头时间和结束时间,这是系统开拓进程中也要考虑的。另外,由于这是一个抽奖运动,而抽奖运动不可能给用户无限次的抽奖时机,所以还需要做一个抽奖次数限制。
我们定义一个配置表,该配置表用于存储上述配置内容。该表的建表脚本如下:

DROP TABLE IF EXISTS `wx_config`;
CREATE TABLE IF NOT EXISTS `wx_config` (
  `id` int(5) NOT NULL,
  `starttime` varchar(30) NOT NULL,
  `endtime` varchar(30) NOT NULL,
  `maxtimes` varchar(5) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

你能够使用phpMyAdmin的数据库的后台的创建表格功能来树立这个表,依次填写表名及各个字段名称、类型及其余属性。如图24-13所示。

图24-13 创建表
也能够直接在SQL运行框上使用上述脚本来运行建表。如图24-14所示。

图24-14 运行SQL脚本
建成后,全局配置表如图24-15所示。

图24-15 表格创建胜利
奖品配置表则用于存储奖品信息,这些信息包括:奖品名称、奖品数量、及中奖概率。
建表的SQL脚本如下,

DROP TABLE IF EXISTS `wx_award`;
CREATE TABLE IF NOT EXISTS `wx_award` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL COMMENT '奖品名称',
  `total` int(11) NOT NULL COMMENT '数量',
  `prob` varchar(20) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

奖品配置表建成之后,如图24-16所示。

图24-16 奖品配置表
用户信息表则主要用于存储用户的个人信息,这些信息包括:微信OpenID、用户姓名、用户网络百家乐 国际娱乐号。
建表的SQL脚本如下,

DROP TABLE IF EXISTS `wx_user`;
CREATE TABLE IF NOT EXISTS `wx_user` (
  `id` int(6) NOT NULL auto_increment,
  `openid` varchar(30) NOT NULL,
  `name` varchar(16) NOT NULL,
  `mobile` varchar(15) NOT NULL,
  PRIMARY KEY  (`id`),
  UNIQUE KEY `openid` (`openid`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

为了防止同一个人多次反复提交而导致出错,我们把其中openid设置了唯一性约束,这样能够幸免出现同一人多次反复提交个人信息胜利的情况。对于一些可能潜在的隐患,我们应该尽早的在设计时就防患于未然。
用户信息表建好后,如图24-17所示。

图24-17 用户信息表
抽奖纪录表则主要用于存储用户的抽奖纪录,这些信息包括:微信OpenID、奖品等级、抽奖日期、领奖状态。
建表的SQL脚本如下,

DROP TABLE IF EXISTS `wx_winner`;
CREATE TABLE IF NOT EXISTS `wx_winner` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `openid` varchar(30) NOT NULL,
  `award` varchar(100) NOT NULL COMMENT '奖品等级',
  `getdate` varchar(20) NOT NULL,
  `status` tinyint(1) NOT NULL default '0' COMMENT '0未领奖,1已领奖',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

抽奖纪录表建好后,如图24-18所示。

图24-18 抽奖纪录表
最终,数据库中建好了4个表,如图24-19所示。

图24-19 一切表格

------分隔线----------------------------

公布评论 (125人察看0条评论)
请自觉遵守互联网相关的政策法规,严禁公布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换澳门娱乐网909
最新评论