原帖由 GPoker 於 2008-11-27 16:33 發表

http://www.w3schools.com/sql/default.asp
http://www.1keydata.com/tw/sql/sql.html

一個英文一個中文,先將你而家個case放下,慢慢學返先啦

但係我問那些
有沒有錯?
因為才有個方向

TOP

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
  `mr_name` varchar(20) default NULL,  //參加者名
  `mr_content` text,  //參加者名
  `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
  `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
  `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 ;

請問是否這樣?
特別紅色部分 是否放對?

TOP

原帖由 pwct 於 2008-11-27 16:44 發表

但係我問那些
有沒有錯?
因為才有個方向


唔好講咁多廢話,
你連幼稚園同小學都未讀,就話學人高中選科,有冇咁既道理?
返去自修先再問.

TOP

原帖由 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.

TOP

原帖由 thinkpanda 於 2008-12-1 00:55 發表


像樣少少架啦,努力!
另一個建議, 學下畫Entity Relationship Diagram, 會幫助你思考database design.

咁參加者id 要唔要放係item and score table 度?

TOP

原帖由 pwct 於 2008-12-1 09:01 發表

咁參加者id 要唔要放係item and score table 度?


理由呢?

TOP

原帖由 thinkpanda 於 2008-12-1 09:36 發表


理由呢?

e+我試緊 打數字入去score 個table
但係有次都係得第1個先save到入去

e.g.

評分項目    評分
    a                10 <-- 得e個先save到
    b                20
    c                30
其他就save 5到
score table
就會 ( s_id , s_score)
1 , 10

可5可以

評分項目    評分
    a                10
    b                20
    c                30

1 enter 就save哂3個
i.e.
咁係score table
就會 ( s_id , s_score)
1 , 10
2, 20
3, 30

咁樣

TOP

原帖由 pwct 於 2008-12-1 12:11 發表

e+我試緊 打數字入去score 個table
但係有次都係得第1個先save到入去

e.g.

評分項目    評分
    a                10  

即係我指可唔可以同一時間放幾樣野係同一列入面?

TOP