设计者数据库
现在正是你下载该应用源代码的好时机,这样使得你在完成该教程过程中对其进行参考(注意,你将需要一个MySQL服务器和支持PHP的Web服务器来运行该代码)。
下面就是我将用于该应用程序中的数据库,它存储于db.sql文件中:
# # Table structure for table `questions` # CREATE TABLE `questions` ( `qid` tinyint(3) unsigned NOT NULL auto_increment, `qtitle` varchar(255) NOT NULL default '', `qdate` date NOT NULL default '0000-00-00', PRIMARY KEY (`qid`) ); # # Table structure for table `answers` # CREATE TABLE `answers` ( `aid` tinyint(3) unsigned NOT NULL auto_increment, `qid` tinyint(4) NOT NULL default '0', `atitle` varchar(255) NOT NULL default '', `acount` int(11) NOT NULL default '0', PRIMARY KEY (`aid`) );
正如你所看到的那样,它十分简单:一个表格用于问题,一个用于回答。这两个表格通过qid字段这种方法互相连接。采用这种结构,每个问题具有无数个的回答实际上也是可能的(这不是我们想要的-我们更愿意这个数字是5或者更少,但是实现该规则的逻辑放在应用层要比放在数据库层更好)。
为了开始这件事以及给你一个关于该结构在你的现实生活中如何实施的更好的概念,让我们插入一个问题和三个可能的回答一起到数据库中:
INSERT INTO `questions` VALUES (1, 'What version of PHP are you using?', '2004-10-15'); INSERT INTO `answers` VALUES (1, 1, 'PHP 3.x', 0); INSERT INTO `answers` VALUES (2, 1, 'PHP 4.x', 0); INSERT INTO `answers` VALUES (3, 1, 'PHP 5.x', 0);
或者,你可以创建一个新的数据库然后在命令提示符下输入source db.sql来直接加载表格结构和数据。