目前做一个交易系统,下面的需求应该如何设计表结构
表A:用户表   UserID(用户ID),RoleID (角色ID)
表B:角色表  RoleID,RoleName(名字),Margin(保证金),Fee(手续费)
其中RoleID 与Margin,Fee这2个是1对多关系
我该如何设计这个表结构,(数据量不大,查询很频繁)需要最快速度将用户对应的保证金和手续费对应起来

解决方案 »

  1.   

    CREATE TABLE t_user (
      userid int(11) NOT null AUTO_INCREMENT,
      roleid int(11) NOT NULL,
      PRIMARY KEY (userid),
    KEY roleid (roleid)
    );
    CREATE TABLE t_role (
      roleid int(11) NOT NULL,
      rolename varchar(30) NOT NULL,
      margin decimal(8,2) DEFAULT NULL,
      fee decimal(6,2) DEFAULT NULL,
      KEY roleid (roleid),
      CONSTRAINT roleid FOREIGN KEY (roleid) REFERENCES t_user(roleid)
    ) ;