當(dāng)我們?cè)谑褂靡豢钴浖蛘呤褂媚衬彻芾硐到y(tǒng)的時(shí)候,都會(huì)使用到分級(jí)菜單來(lái)給我們清晰的展示出其功能模塊。而這些分級(jí)菜單呢,是需要通過(guò)對(duì)數(shù)據(jù)庫(kù)的調(diào)用才能展示給我們的。今天,我就主要介紹一下制作分級(jí)菜單我們所要用到的數(shù)據(jù)表。
1、菜單表
create table menu(
menu_id number(10) primary key,
menu_name varchar(30),
menu_url varchar(200),
parent_menu_id number(10)
);
/*如果菜單是一級(jí)菜單,p_menu_id為0*/
insert into menu values(1,'圖書管理','',0);
insert into menu values(2,'訂單管理','',0);
insert into menu values(3,'用戶管理','',0);
insert into menu values(4,'系統(tǒng)設(shè)置','',0);
insert into menu values(5,'圖書展示','/system/updatePassword.action',1);
insert into menu values(6,'新增圖書','',1);
insert into menu values(7,'訂單分類','',2);
insert into menu values(8,'新建訂單','',2);
insert into menu values(9,'用戶信息','',3);
insert into menu values(10,'用戶信息設(shè)置','',3);
insert into menu values(11,'管理員信息','',4);
insert into menu values(12,'管理員權(quán)限設(shè)置','',4);
2、角色表
create table role(
role_id number(10) primary key,
role_name varchar(20)
);
insert into role values(1,'管理員');
insert into role values(2,'銷售總監(jiān)');
3、用戶表
create table users(
user_id number(30),
user_name varchar2(40),
user_password varchar2(40),
user_sex char(3),
user_phone varchar2(50),
user_email varchar2(60),
user_img varchar2(40)
);
create sequence seq_u;
insert into users(user_id,
user_name,
user_password,
user_sex,
user_phone,
user_email,
user_img)values(seq_u.nextval,'黃飛鴻','1111qa','男','15000102345','1234567@qq.com',null);
4、角色菜單表
create table role_menu(
id number(10) primary key,
role_id number(10),
menu_id number(10)
);
/*錄入角色和菜單的初始數(shù)據(jù)*/
insert into role_menu values(1,1,1);
insert into role_menu values(2,1,2);
insert into role_menu values(3,1,3);
insert into role_menu values(4,1,4);
insert into role_menu values(5,1,5);
insert into role_menu values(6,1,6);
insert into role_menu values(7,1,7);
insert into role_menu values(8,1,8);
insert into role_menu values(9,1,9);
insert into role_menu values(10,1,10);
insert into role_menu values(11,1,11);
insert into role_menu values(12,1,12);
5、角色用戶表
create table role_user(
id number(10) primary key,
role_id number(10),
user_id number(10)
);
/*錄入角色和菜單的初始數(shù)據(jù)*/
insert into role_user values(1,1,1);
insert into role_user values(2,2,2);
數(shù)據(jù)表建好之后,前端通過(guò)
select distinct *
from users u inner join role_user ru
on u.user_id = ru.user_id inner join role_menu rm on ru.role_id =
rm.role_id inner join menu m on m.menu_id = rm.menu_id
where u.user_id =1
這么一條SQL語(yǔ)句即可調(diào)用用戶ID所對(duì)應(yīng)的系統(tǒng)菜單。
可顯示如上:
效果圖:
總結(jié)
以上所述是小編給大家介紹的web前端從Oracle數(shù)據(jù)庫(kù)加載動(dòng)態(tài)菜單所用到的數(shù)據(jù)表,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
您可能感興趣的文章:- Oracle 高速批量數(shù)據(jù)加載工具sql*loader使用說(shuō)明
- 安裝Oracle加載數(shù)據(jù)庫(kù)錯(cuò)誤areasQueries的解決
- 完美卸載Oracle數(shù)據(jù)庫(kù)
- Oracle 11g數(shù)據(jù)庫(kù)安裝與卸載的方法圖解
- 升級(jí)和卸載Oracle數(shù)據(jù)庫(kù)軟件的命令整理
- oracle停止數(shù)據(jù)庫(kù)后linux完全卸載oracle的詳細(xì)步驟
- Oracle數(shù)據(jù)加載和卸載的實(shí)現(xiàn)方法