原帖由 pwct 於 2008-11-30 14:18 發表 
CREATE TABLE `match` ( //比賽項目增加
`mh_id` int(10) unsigned NOT NULL auto_increment, //比賽項目id
`mh_object` varchar(50) default NULL, //比賽項目名
`mh_content` text, //比賽項目內容
`mh_state` int(10) default NULL, //比賽項目狀態
`mh_time` date NOT NULL default '0000-00-00', //比賽項目時間
PRIMARY KEY (`mh_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=21 ;
CREATE TABLE `match_reg` ( //比賽會員注冊資料
`mr_id` int(10) unsigned NOT NULL auto_increment, //參加者id
`mh_id` int(10) NOT NULL, //比賽項目id
`a_id` int(10) NOT NULL, //會員id 你係咪會有個會員table?
`mr_name` varchar(20) default NULL, //參加者名 如果有個會員table 又何需係呢度放參賽者資料? 除非佢係比賽時有別名啦
`mr_content` text, //參加者名 mr_name同mr_content 有乜唔同?
`mr_time` datetime NOT NULL default '0000-00-00 00:00:00', //參加時間
`mr_yn` varchar(5) NOT NULL default 'n', //是否已評分
PRIMARY KEY (`mr_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=22 ;
CREATE TABLE `match_item` ( //評分項目增加
`mi_id` int(10) unsigned NOT NULL auto_increment, //評分項目id
`mh_id` int(10) NOT NULL, //比賽項目id
`mr_id` int(10) unsigned NOT NULL, //參加者id 呢度有個參賽者ID, 意味每個參賽者都重覆左評分項目名, 係咪有D奇怪呢?
`mi_name` varchar(50) NOT NULL, //評分項目名
PRIMARY KEY (`mi_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=23 ;
CREATE TABLE `match_score` ( //評分項目評分
`ms_id` int(10) unsigned NOT NULL auto_increment, //評分項目評分id
`mr_id` int(10) unsigned NOT NULL, //參加者id 又來了, 如果呢度有參賽者ID, 咁match item 唔需要
`mi_id` int(10) unsigned NOT NULL, //評分項目id
`ms_score` float default NULL, //評分項目分數
PRIMARY KEY (`ms_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=24 ;
像樣少少架啦,努力!
另一個建議, 學下畫Entity Relationship Diagram, 會幫助你思考database design. |