Oracle语句
作用:Oracle 数据库中实现web的用户,角色,权限管理系统
1. 用户表
create table mvc_user
(
USER_ID number(6),
USER_NAME VARCHAR2(100) primary key,
PASSWORD VARCHAR2(100)
);
2.角色表
CREATE TABLE mvc_role(
Role_ID number(6) primary key,
Role_NAME VARCHAR2(200)--角色名称
);
3.菜单表
CREATE TABLE mvc_menu(
menu_id number(6),
menu_CH VARCHAR2(200),--菜单的中文显示
menu_EN VARCHAR2(200),--菜单的英文名称
menu_Parent_ID number(6),--父节点
menu_Url VARCHAR2(200),--菜单权限
Permission_ID number(6)--权限ID
);
4.用户角色表
CREATE TABLE mvc_UserRole(
User_ID number(6),--用户ID
Role_ID number(6) --权限ID
);
5.角色菜单表
CREATE TABLE mvc_RoleMenu(
Role_ID number(6),--角色ID
menu_id number(6) --权限ID
);
6.主键外键sql语句
####主键
alter table mvc_user add constraint user_id primary key(user_id);
alter table mvc_role add constraint role_id primary key(role_id);
alter table mvc_menu add constraint menu_id primary key(menu_id);
alter table mvc_userrole add constraint userrole_id primary key(user_id,role_id);
alter table mvc_rolemenu add constraint rolemenu_id primary key(role_id,menu_id);
####外键
ALTER TABLE mvc_userrole ADD CONSTRAINT FK_userrole FOREIGN KEY(user_id) REFERENCES mvc_user(user_id);
ALTER TABLE mvc_userrole ADD CONSTRAINT FK_userrole1 FOREIGN KEY(role_id) REFERENCES mvc_role(role_id);
ALTER TABLE mvc_rolemenu ADD CONSTRAINT FK_rolemenu FOREIGN KEY(role_id) REFERENCES mvc_role(role_id);
ALTER TABLE mvc_rolemenu ADD CONSTRAINT FK_rolemenu1 FOREIGN KEY(menu_id) REFERENCES mvc_menu(menu_id);
查询用户相应的menu:
select menu_ch,menu_url,menu_parent_id from mvc_menu where menu_id in (
select menu_id from mvc_rolemenu where role_id in (
select role_id from mvc_role where role_id in (
select role_id from mvc_userrole where user_id in (
select user_id from mvc_user where user_name='ADMIN'))));