使用数据库设计一个菜单权限管理系统

本文介绍了一个菜单权限管理系统的实现流程,包括用户登录、角色确认、菜单功能分配等关键步骤,并详细展示了实体关系图及物理数据模型,最后提供了SQL脚本用于创建所需的数据表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、首先分析菜单权限管理系统的流程
即用户首先要登录(需要一张账户表)登录后需要确认角色(需要一张角色表)拿到了对应角色的菜单的集合(需要一张菜单功能表)然后把菜单展示在菜单栏中
在这里插入图片描述
二、建立实体关系图
实体关系图
三、根据实体关系图建立物理数据模型
物理数据模型
以上表中数据有待完善,下图给出了表格示例,可供参考
在这里插入图片描述在这里插入图片描述
四、根据生成的物理数据模型,生成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;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值