文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

建设工程监管信息系统的系统权限管理子模块

2023-10-07 10:21

关注

一、概要

作为《建设工程监管信息系统》项目开发组的程序员,按要求完成:
数据库的创建;
数据表的创建;
数据的操作。

二、实施步骤和内容

《系统权限管理》子模块的E-R图如图2.1 所示,逻辑数据模型如图2.2 所示,物理数据模型如图2.3所示,数据表字段名定义见表2.3。请按以下设计完成数据库创建、数据表创建和数据操作任务:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、代码

-- 创建用户表CREATE TABLE T_user(User_id CHAR(4) NOT NULL COMMENT '用户id,主键',User_name CHAR(16) NOT NULL COMMENT'用户姓名',User_passwd CHAR(16) NOT NULL COMMENT'用户密码',Dept_id CHAR(3) NOT NULL COMMENT'所属部门',Telephone VARCHAR(16) COMMENT '联系电话',Address VARCHAR(32) COMMENT '联系地址',Handphone VARCHAR(16) COMMENT '手机号',Usb_no VARCHAR(64) NOT NULL COMMENT '密码锁号',Reserve VARCHAR(64) COMMENT '备注',PRIMARY KEY(User_id))ENGINE=INNODB DEFAULT CHARSET=utf8; -- 创建功能角色定义表CREATE TABLE T_func_role_def(Func_role_id CHAR(3) NOT NULL COMMENT '功能角色id,主键',Func_role_name VARCHAR(32) NOT NULL COMMENT '角色名称',Reserve VARCHAR(64) COMMENT '备注',PRIMARY KEY(Func_role_id))ENGINE=INNODB DEFAULT CHARSET=utf8;-- 创建一级功能权限表CREATE TABLE T_func_item(Func_id CHAR(3) NOT NULL COMMENT '功能id,主键',Func_name VARCHAR(32) NOT NULL COMMENT '功能名称',Reserve VARCHAR(64) COMMENT '备注',PRIMARY KEY(Func_id))ENGINE=INNODB DEFAULT CHARSET=utf8;-- 通过物理数据模型,再创建两张表,便于表跟表之间的关系-- 用户---角色关联表 T_User_RoleCREATE TABLE T_User_Role(User_id CHAR(4) NOT NULL COMMENT '用户id',Func_role_id CHAR(3) NOT NULL COMMENT '角色id',PRIMARY KEY(User_id,Func_role_id) COMMENT '复合主键')ENGINE=INNODB DEFAULT CHARSET=utf8;-- 角色----权限关联表T_Role_FuncCREATE TABLE T_Role_Func(Func_id CHAR(3) NOT NULL COMMENT '功能id',Func_role_id CHAR(3) NOT NULL COMMENT '角色id',PRIMARY KEY(Func_id,Func_role_id) COMMENT '复合主键')ENGINE=INNODB DEFAULT CHARSET=utf8;-- 向T_user表插入数据INSERT INTO T_user VALUES('id01','刘德华','123','KBB','5678900','湖南长沙','12345678963','ldh123','admin')INSERT INTO T_user VALUES('id02','刘张三','123','CBB','5954900','湖南长沙','12398748963','lzs123','commom')-- 向T_func_role_def表插入数据INSERT INTO T_func_role_def VALUES('001','管理员','admin')INSERT INTO T_func_role_def VALUES('002','普通角色','common')-- 向T_func_item表插入数据INSERT INTO T_func_item VALUES('1','增删改查','所有权限')INSERT INTO T_func_item VALUES('2','查','查询权限')-- 向`t_user_role`表插入数据INSERT INTO T_user_role VALUES('id01','001');INSERT INTO T_user_role VALUES('id02','002');-- 向`t_role_func`表插入数据INSERT INTO T_role_func VALUES('1','001');INSERT INTO T_role_func VALUES('2','002');-- 查询出所属部门为“KBB”的操作员的基本信息;SELECT * FROM T_user WHERE Dept_id='KBB'-- 查询出姓名为“刘德华”的操作员具有哪些功能权限;SELECT Func_name FROM T_func_item WHERE Func_id = (SELECT Func_id FROM T_role_func WHERE Func_role_id = (SELECT Func_role_id FROM T_user_role WHERE User_id = (SELECT User_id FROM T_user WHERE User_name='刘德华')))-- 查询出“普通角色”角色所拥有的功能;SELECT Func_name FROM T_func_item WHERE Func_id = (SELECT Func_id FROM T_role_func WHERE Func_role_id = (SELECT Func_role_id FROM T_func_role_def WHERE Func_role_name='普通角色'))-- 编写视图查询用户的姓名,密码和所属部门;CREATE VIEW vw_userinfoASSELECT User_name,User_passwd,Dept_id FROM T_userSELECT * FROM vw_userinfo-- 写存储过程,查询指定用户所具有的功能权限。DELIMITER $$CREATE PROCEDURE prcUserFunc(IN username CHAR(16),OUT result CHAR(16))BEGINSELECT Func_name FROM T_func_item WHERE Func_id = (SELECT Func_id FROM T_role_func WHERE Func_role_id = (SELECT Func_role_id FROM T_user_role WHERE User_id = (SELECT User_id FROM T_user WHERE User_name=username)));END $$DELIMITER ;SET @func=NULLCALL prcUserFunc('刘张三',@func)

来源地址:https://blog.csdn.net/Massimo__JAVA/article/details/127500128

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯