一、首先分析菜单权限管理系统的流程
即用户首先要登录(需要一张账户表)登录后需要确认角色(需要一张角色表)拿到了对应角色的菜单的集合(需要一张菜单功能表)然后把菜单展示在菜单栏中
二、建立实体关系图
三、根据实体关系图建立物理数据模型
以上表中数据有待完善,下图给出了表格示例,可供参考
四、根据生成的物理数据模型,生成SQL文件
/*==============================================================*/
/* DBMS name: MySQL 5.0 */
/* Created on: 2020/7/10 17:17:10 */
/*==============================================================*/
drop table if exists Relationship_2;
drop table if exists menu;
drop table if exists role;
drop table if exists user;
/*==============================================================*/
/* Table: Relationship_2 */
/*==============================================================*/
create table Relationship_2
(
role_id int not null,
menu_id int not null,
primary key (role_id, menu_id)
);
/*==============================================================*/
/* Table: menu */
/*==============================================================*/
create table menu
(
menu_id int not null,
men_menu_id int,
menu_name varchar(255),
url varchar(255),
primary key (menu_id)
);
/*==============================================================*/
/* Table: role */
/*==============================================================*/
create table role
(
role_id int not null,
role_name varchar(255),
primary key (role_id)
);
/*==============================================================*/
/* Table: user */
/*==============================================================*/
create table user
(
user_id int not null,
role_id int,
name varchar(255),
primary key (user_id)
);
alter table Relationship_2 add constraint FK_Relationship_2 foreign key (role_id)
references role (role_id) on delete restrict on update restrict;
alter table Relationship_2 add constraint FK_Relationship_3 foreign key (menu_id)
references menu (menu_id) on delete restrict on update restrict;
alter table menu add constraint FK_Relationship_4 foreign key (men_menu_id)
references menu (menu_id) on delete restrict on update restrict;
alter table user add constraint FK_Relationship_1 foreign key (role_id)
references role (role_id) on delete restrict on update restrict;