创建表

/*用户信息*/
DROP TABLE IF EXISTS `USER_INFO`;
CREATE TABLE USER_INFO(
    /*id int(8) not null auto_increment,*/
    userid varchar(8) primary key  NOT NULL,
    username varchar(32),
    userpassword varchar(32),
    userstatus varchar(2)
);

/*角色信息*/
DROP TABLE IF EXISTS `Role_INFO`;
CREATE TABLE Role_INFO(
    /*id int(4) primary key not null auto_increment,*/
    roleid varchar(4) NOT NULL,
    rolename varchar(32),
    rolestatus varchar(2)
);

/*菜单信息*/
DROP TABLE IF EXISTS `menu_INFO`;
CREATE TABLE menu_INFO(
    /*id int(4) primary key not null auto_increment,*/
    menuid varchar(4) NOT NULL,
    menuname varchar(32),
    rolestatus varchar(2)
);

/*用户角色信息*/
DROP TABLE IF EXISTS `user_role_INFO`;
CREATE TABLE user_role_INFO(
    userid varchar(8) NOT NULL,
    roleid varchar(4),
    remark varchar(100)
);

/*角色菜单信息*/
DROP TABLE IF EXISTS `role_menu_INFO`;
CREATE TABLE role_menu_INFO(
    roleid varchar(4) NOT NULL,
    menuid varchar(4),
    remark varchar(100)
);

/*给用户角色表添加外键*/
alter table user_role_INFO add foreign key user_role_INFO_userid (userid) references USER_INFO(userid);
alter table user_role_INFO add foreign key user_role_INFO_roleid (roleid) references Role_INFO(roleid);

/*给菜单角色表添加外键*/
alter table role_menu_INFO add foreign key role_menu_INFO_roleid (roleid) references Role_INFO(roleid);
alter table role_menu_INFO add foreign key role_menu_INFO_menuid (menuid) references menu_INFO(menuid);

/*一个表只能有一个主键,所以不要随便设置主键,因为对于一些引用关系,需要要求某字段是主键,不要随用用自增的方式来生成主键,因为
对于某些具有标志含义的字段,就失去了意义,比如用户,以00开头就是管理员等等,用自增就不用使用可能需要使用的特殊含义约定
*/

/*alter table user_info drop column id;*/

/*alter table user_role_INFO drop foreign key user_role_INFO_userid */

猜你喜欢

转载自zengshaotao.iteye.com/blog/1917641
今日推荐