- 浏览: 317479 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (262)
- Java (20)
- 设计模式 (16)
- Oracle (13)
- Struts (1)
- 问题解决 (9)
- ibatis (2)
- Maven (5)
- Git (2)
- 实现原理 (6)
- 敏捷开发 (22)
- Spring (4)
- 算法 (8)
- MySQL (2)
- Java工具箱 (17)
- jQuery (1)
- 英语学习 (8)
- 杂谈 (15)
- 多线程 (15)
- Java解惑 (7)
- Linux (1)
- 重构36计 (6)
- 网络 (4)
- PHP (1)
- Socket (6)
- 面试 (1)
- JVM (14)
- 历史与故事 (5)
- 报表 (4)
- CMS (3)
- Windows (1)
- nginx (5)
- 架构设计 (7)
- RubyOnRails (2)
- Hadoop (8)
- Go (7)
- JS (1)
- Web (1)
- 项目实例 (5)
- ubuntu (4)
最新评论
-
jacking124:
按照你这个配置以后提示这个异常?Exception occur ...
Go语言学习:开发环境搭建及Hello World -
焦志广:
有请看http://jiaozhiguang-126-com. ...
Hadoop白皮书(1):分布式文件系统HDFS简介 -
w156445045:
Hadoop 有没windows环境下的配置呢,
谢谢。非常感 ...
Hadoop白皮书(1):分布式文件系统HDFS简介 -
xiangxm:
学习了。
Java 解惑知多少六 -
焦志广:
<div class="quote_title ...
易学设计模式四 命令模式(Commond)
用户实际需求
1. 所有的用户、角色可动态配置
2. 所有的系统菜单的权限要求具体到“增,删,改、查、打印、导出”这样的小权限的设计
3. 所有的权限基于角色来进行划分和判断
4. 一个用户可能属于多个角色
5. 系统菜单也能够动态的“增、删、改、查”
T_User表
CREATE
TABLE T_USERS
(
USER_ID VARCHAR2(16) NOT NULL,
PASSWORD CHAR(8),
USER_NAME VARCHAR2(16),
PRIMARY KEY (USER_ID)
)
T_ROLE 表
CREATE
TABLE T_ROLE
(
ROLE_ID VARCHAR2(16) NOT NULL,
ROLE_DESCR VARCHAR2(32),
PRIMARY KEY (ROLE_ID)
)
CREATE
TABLE T_USER_ROLE
(
USER_ID VARCHAR2(16) NOT NULL,
ROLE_ID VARCHAR2(16) NOT NULL,
PRIMARY KEY (USER_ID, ROLE_ID),
CONSTRAINT FK_USER_ID FOREIGN KEY (USER_ID) REFERENCES T_USERS (USER_ID)
ON
DELETE
CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE VALIDATE,
CONSTRAINT FK_ROLE_ID FOREIGN KEY (ROLE_ID) REFERENCES T_ROLE (ROLE_ID)
ON
DELETE
CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE VALIDATE
)
CREATE
TABLE T_SYS_MENU
(
MENU_ID VARCHAR2(16) NOT NULL,
MENU_DESCR VARCHAR2(32),
MENU_URL VARCHAR2(255),
MENU_PID VARCHAR2(16),
PRIMARY KEY (MENU_ID)
)
CREATE
TABLE T_PRIVILEGE
(
PRIVILEGE_ID VARCHAR2(3) NOT NULL,
PRIVILEGE_TYPE VARCHAR2(8),
PRIMARY KEY (PRIVILEGE_ID)
)
CREATE
TABLE T_MENU_PRIVILEGE
(
PKID VARCHAR2(16) NOT NULL,
ROLE_ID VARCHAR2(16),
MENU_ID VARCHAR2(16),
PRIVILEGE_ID VARCHAR2(16),
PRIMARY KEY (PKID),
CONSTRAINT FK_ROLE_TO_PRIV FOREIGN KEY (ROLE_ID) REFERENCES T_ROLE (ROLE_ID)
ON
DELETE
CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE VALIDATE,
CONSTRAINT FK_PRIV FOREIGN KEY (PRIVILEGE_ID) REFERENCES T_PRIVILEGE (PRIVILEGE_ID)
ON
DELETE
CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE VALIDATE,
CONSTRAINT FK_MENU_TO_PRIV FOREIGN KEY (MENU_ID) REFERENCES T_SYS_MENU (MENU_ID)
ON
DELETE
CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE VALIDATE
)
插入数据
insert into T_USERS (USER_ID, PASSWORD, USER_NAME) values ('Tonny', 'abcdefg ', null);
insert into T_USERS (USER_ID, PASSWORD, USER_NAME) values ('Sammy', 'abcdefg ', null);
insert into T_USERS (USER_ID, PASSWORD, USER_NAME) values ('Sally', 'abcdefg ', null);
insert into T_USERS (USER_ID, PASSWORD, USER_NAME) values ('Jim', 'abcdefg ', null);
insert into T_USERS (USER_ID, PASSWORD, USER_NAME) values ('Danzel', 'abcdefg ', null);
insert into T_USERS (USER_ID, PASSWORD, USER_NAME) values ('Andy', 'abcdefg ', null);
insert into T_USERS (USER_ID, PASSWORD, USER_NAME) values ('Shawn', 'abcdefg ', null);
insert into T_ROLE (ROLE_ID, ROLE_DESCR) values ('user', '普通用户');
insert into T_ROLE (ROLE_ID, ROLE_DESCR) values ('manager', '部门经理');
insert into T_ROLE (ROLE_ID, ROLE_DESCR) values ('gmanager', '老总');
insert into T_ROLE (ROLE_ID, ROLE_DESCR) values ('admin', 'IT管理员');
insert into T_USER_ROLE (USER_ID, ROLE_ID) values ('Danzel', 'admin');
insert into T_USER_ROLE (USER_ID, ROLE_ID) values ('Danzel', 'manager');
insert into T_USER_ROLE (USER_ID, ROLE_ID) values ('Jim', 'admin');
insert into T_USER_ROLE (USER_ID, ROLE_ID) values ('Sammy', 'user');
insert into T_USER_ROLE (USER_ID, ROLE_ID) values ('Tonny', 'user');
insert into T_SYS_MENU (MENU_ID, MENU_DESCR, MENU_URL, MENU_PID) values ('101', '报表查询', null, '0');
insert into T_SYS_MENU (MENU_ID, MENU_DESCR, MENU_URL, MENU_PID) values ('102', '月报', 'xxx.do', '101');
insert into T_SYS_MENU (MENU_ID, MENU_DESCR, MENU_URL, MENU_PID) values ('103', '季报', 'xxx.do', '101');
insert into T_SYS_MENU (MENU_ID, MENU_DESCR, MENU_URL, MENU_PID) values ('104', '年报', 'xxx.do', '101');
insert into T_SYS_MENU (MENU_ID, MENU_DESCR, MENU_URL, MENU_PID) values ('105', '系统管理', null, '0');
insert into T_SYS_MENU (MENU_ID, MENU_DESCR, MENU_URL, MENU_PID) values ('106', '用户管理', null, '105');
insert into T_SYS_MENU (MENU_ID, MENU_DESCR, MENU_URL, MENU_PID) values ('107', '新增用户', 'addUser.do', '106');
insert into T_SYS_MENU (MENU_ID, MENU_DESCR, MENU_URL, MENU_PID) values ('108', '删除用户', 'delUser.do', '106');
insert into T_SYS_MENU (MENU_ID, MENU_DESCR, MENU_URL, MENU_PID) values ('109', '角色管理', null, '105');
insert into T_SYS_MENU (MENU_ID, MENU_DESCR, MENU_URL, MENU_PID) values ('110', '新增角色', 'addRole.do', '109');
insert into T_SYS_MENU (MENU_ID, MENU_DESCR, MENU_URL, MENU_PID) values ('111', '删除角色', 'delRole.do', '109');
insert into T_PRIVILEGE (PRIVILEGE_ID, PRIVILEGE_TYPE) values ('101', '增加');
insert into T_PRIVILEGE (PRIVILEGE_ID, PRIVILEGE_TYPE) values ('106', '报表');
insert into T_PRIVILEGE (PRIVILEGE_ID, PRIVILEGE_TYPE) values ('105', '打印');
insert into T_PRIVILEGE (PRIVILEGE_ID, PRIVILEGE_TYPE) values ('104', '查询');
insert into T_PRIVILEGE (PRIVILEGE_ID, PRIVILEGE_TYPE) values ('103', '修改');
insert into T_PRIVILEGE (PRIVILEGE_ID, PRIVILEGE_TYPE) values ('102', '删除');
insert into T_MENU_PRIVILEGE (PKID, ROLE_ID, MENU_ID, PRIVILEGE_ID) values ('1', 'user', '101', '106');
insert into T_MENU_PRIVILEGE (PKID, ROLE_ID, MENU_ID, PRIVILEGE_ID) values ('2', 'user', '102', '106');
递归查询菜单
SELECT * FROM T_SYS_MENU START WITH MENU_PID = 0 CONNECT BY PRIOR MENU_ID = MENU_PID ORDER BY MENU_ID;
已经用数据查询用句就将我们的这个“树”的层次关系理出来了,如果我们手上有一个控件叫dtree.js,那么一个循环就可以把这个树显示出来了
查询用户所能看到的菜单和所具有的权限
select distinct m.menu_id,m.menu_descr,m.menu_url,m.menu_pid,p.privilege_id,p.privilege_type from
t_menu_privilege mp,
t_sys_menu m,
t_privilege p,
t_user_role r
where
mp.privilege_id=p.privilege_id
and mp.role_id=r.role_id
and mp.menu_id=m.menu_id
and r.role_id='user'
order by m.menu_id;
结果示例图
还可参考
RBAC(Role-Based Access Control,基于角色的访问控制)
1. 所有的用户、角色可动态配置
2. 所有的系统菜单的权限要求具体到“增,删,改、查、打印、导出”这样的小权限的设计
3. 所有的权限基于角色来进行划分和判断
4. 一个用户可能属于多个角色
5. 系统菜单也能够动态的“增、删、改、查”
T_User表
CREATE
TABLE T_USERS
(
USER_ID VARCHAR2(16) NOT NULL,
PASSWORD CHAR(8),
USER_NAME VARCHAR2(16),
PRIMARY KEY (USER_ID)
)
T_ROLE 表
CREATE
TABLE T_ROLE
(
ROLE_ID VARCHAR2(16) NOT NULL,
ROLE_DESCR VARCHAR2(32),
PRIMARY KEY (ROLE_ID)
)
CREATE
TABLE T_USER_ROLE
(
USER_ID VARCHAR2(16) NOT NULL,
ROLE_ID VARCHAR2(16) NOT NULL,
PRIMARY KEY (USER_ID, ROLE_ID),
CONSTRAINT FK_USER_ID FOREIGN KEY (USER_ID) REFERENCES T_USERS (USER_ID)
ON
DELETE
CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE VALIDATE,
CONSTRAINT FK_ROLE_ID FOREIGN KEY (ROLE_ID) REFERENCES T_ROLE (ROLE_ID)
ON
DELETE
CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE VALIDATE
)
CREATE
TABLE T_SYS_MENU
(
MENU_ID VARCHAR2(16) NOT NULL,
MENU_DESCR VARCHAR2(32),
MENU_URL VARCHAR2(255),
MENU_PID VARCHAR2(16),
PRIMARY KEY (MENU_ID)
)
CREATE
TABLE T_PRIVILEGE
(
PRIVILEGE_ID VARCHAR2(3) NOT NULL,
PRIVILEGE_TYPE VARCHAR2(8),
PRIMARY KEY (PRIVILEGE_ID)
)
CREATE
TABLE T_MENU_PRIVILEGE
(
PKID VARCHAR2(16) NOT NULL,
ROLE_ID VARCHAR2(16),
MENU_ID VARCHAR2(16),
PRIVILEGE_ID VARCHAR2(16),
PRIMARY KEY (PKID),
CONSTRAINT FK_ROLE_TO_PRIV FOREIGN KEY (ROLE_ID) REFERENCES T_ROLE (ROLE_ID)
ON
DELETE
CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE VALIDATE,
CONSTRAINT FK_PRIV FOREIGN KEY (PRIVILEGE_ID) REFERENCES T_PRIVILEGE (PRIVILEGE_ID)
ON
DELETE
CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE VALIDATE,
CONSTRAINT FK_MENU_TO_PRIV FOREIGN KEY (MENU_ID) REFERENCES T_SYS_MENU (MENU_ID)
ON
DELETE
CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE VALIDATE
)
插入数据
insert into T_USERS (USER_ID, PASSWORD, USER_NAME) values ('Tonny', 'abcdefg ', null);
insert into T_USERS (USER_ID, PASSWORD, USER_NAME) values ('Sammy', 'abcdefg ', null);
insert into T_USERS (USER_ID, PASSWORD, USER_NAME) values ('Sally', 'abcdefg ', null);
insert into T_USERS (USER_ID, PASSWORD, USER_NAME) values ('Jim', 'abcdefg ', null);
insert into T_USERS (USER_ID, PASSWORD, USER_NAME) values ('Danzel', 'abcdefg ', null);
insert into T_USERS (USER_ID, PASSWORD, USER_NAME) values ('Andy', 'abcdefg ', null);
insert into T_USERS (USER_ID, PASSWORD, USER_NAME) values ('Shawn', 'abcdefg ', null);
insert into T_ROLE (ROLE_ID, ROLE_DESCR) values ('user', '普通用户');
insert into T_ROLE (ROLE_ID, ROLE_DESCR) values ('manager', '部门经理');
insert into T_ROLE (ROLE_ID, ROLE_DESCR) values ('gmanager', '老总');
insert into T_ROLE (ROLE_ID, ROLE_DESCR) values ('admin', 'IT管理员');
insert into T_USER_ROLE (USER_ID, ROLE_ID) values ('Danzel', 'admin');
insert into T_USER_ROLE (USER_ID, ROLE_ID) values ('Danzel', 'manager');
insert into T_USER_ROLE (USER_ID, ROLE_ID) values ('Jim', 'admin');
insert into T_USER_ROLE (USER_ID, ROLE_ID) values ('Sammy', 'user');
insert into T_USER_ROLE (USER_ID, ROLE_ID) values ('Tonny', 'user');
insert into T_SYS_MENU (MENU_ID, MENU_DESCR, MENU_URL, MENU_PID) values ('101', '报表查询', null, '0');
insert into T_SYS_MENU (MENU_ID, MENU_DESCR, MENU_URL, MENU_PID) values ('102', '月报', 'xxx.do', '101');
insert into T_SYS_MENU (MENU_ID, MENU_DESCR, MENU_URL, MENU_PID) values ('103', '季报', 'xxx.do', '101');
insert into T_SYS_MENU (MENU_ID, MENU_DESCR, MENU_URL, MENU_PID) values ('104', '年报', 'xxx.do', '101');
insert into T_SYS_MENU (MENU_ID, MENU_DESCR, MENU_URL, MENU_PID) values ('105', '系统管理', null, '0');
insert into T_SYS_MENU (MENU_ID, MENU_DESCR, MENU_URL, MENU_PID) values ('106', '用户管理', null, '105');
insert into T_SYS_MENU (MENU_ID, MENU_DESCR, MENU_URL, MENU_PID) values ('107', '新增用户', 'addUser.do', '106');
insert into T_SYS_MENU (MENU_ID, MENU_DESCR, MENU_URL, MENU_PID) values ('108', '删除用户', 'delUser.do', '106');
insert into T_SYS_MENU (MENU_ID, MENU_DESCR, MENU_URL, MENU_PID) values ('109', '角色管理', null, '105');
insert into T_SYS_MENU (MENU_ID, MENU_DESCR, MENU_URL, MENU_PID) values ('110', '新增角色', 'addRole.do', '109');
insert into T_SYS_MENU (MENU_ID, MENU_DESCR, MENU_URL, MENU_PID) values ('111', '删除角色', 'delRole.do', '109');
insert into T_PRIVILEGE (PRIVILEGE_ID, PRIVILEGE_TYPE) values ('101', '增加');
insert into T_PRIVILEGE (PRIVILEGE_ID, PRIVILEGE_TYPE) values ('106', '报表');
insert into T_PRIVILEGE (PRIVILEGE_ID, PRIVILEGE_TYPE) values ('105', '打印');
insert into T_PRIVILEGE (PRIVILEGE_ID, PRIVILEGE_TYPE) values ('104', '查询');
insert into T_PRIVILEGE (PRIVILEGE_ID, PRIVILEGE_TYPE) values ('103', '修改');
insert into T_PRIVILEGE (PRIVILEGE_ID, PRIVILEGE_TYPE) values ('102', '删除');
insert into T_MENU_PRIVILEGE (PKID, ROLE_ID, MENU_ID, PRIVILEGE_ID) values ('1', 'user', '101', '106');
insert into T_MENU_PRIVILEGE (PKID, ROLE_ID, MENU_ID, PRIVILEGE_ID) values ('2', 'user', '102', '106');
递归查询菜单
SELECT * FROM T_SYS_MENU START WITH MENU_PID = 0 CONNECT BY PRIOR MENU_ID = MENU_PID ORDER BY MENU_ID;
已经用数据查询用句就将我们的这个“树”的层次关系理出来了,如果我们手上有一个控件叫dtree.js,那么一个循环就可以把这个树显示出来了
查询用户所能看到的菜单和所具有的权限
select distinct m.menu_id,m.menu_descr,m.menu_url,m.menu_pid,p.privilege_id,p.privilege_type from
t_menu_privilege mp,
t_sys_menu m,
t_privilege p,
t_user_role r
where
mp.privilege_id=p.privilege_id
and mp.role_id=r.role_id
and mp.menu_id=m.menu_id
and r.role_id='user'
order by m.menu_id;
结果示例图
还可参考
RBAC(Role-Based Access Control,基于角色的访问控制)
发表评论
-
Oracle :the account is locked解决办法
2013-03-29 17:50 1109用有DBA权限的用户或本地conn / as sysdba 登 ... -
java.sql.SQLWarning: ORA-28002: the password will expire
2013-03-29 17:43 1995java.sql.SQLWarning: ORA-28002: ... -
不要再纠结in和exists——JAVA伪代码直白分析二者时间复杂度
2012-10-13 18:20 1146[size=medium] 引子 in和exists的讨论从未 ... -
程序员老鸟写sql语句的经验之谈
2012-10-12 13:49 703做管理系统的,无论是bs结构的还是cs结构的,都不可避免的涉 ... -
Oracle 第九天 Oracle函数大全
2012-09-04 13:23 796ORACLE日期时间函数大全 TO_DATE格式(以时间 ... -
Oracle 第八天 SQL各种连接查询
2012-08-29 21:55 742以下均以oracle->scott账号自带的数据库为例( ... -
Oracle 第六天 创建用户,表空间,授权
2012-08-15 17:54 954创建临时表空间,在oracle11g的安装目录新建了个orcl ... -
Oracle 第五天 优化内存
2012-08-15 17:53 957用dba身份,连接Oracle Sqlplus Sys/a ... -
Oracle 第四天 查询TOP100
2012-08-15 17:53 1347熟悉TOP100收集的基本步骤 --查前100个cpu占用率 ... -
Oracle 第三天 DBA基本操作
2012-08-15 11:10 992Oracle DBA基本操作 --查看所有用户的连接数 se ... -
Oracle 第二天 基本操作
2012-08-14 17:15 1074TopN查询 select * from ( sele ... -
Oracle 第一天 启停服务脚本
2012-08-14 11:04 10901.下载oracle 11g 在oracle的 ...
相关推荐
第7章 视图.ppt 第8章 函数与存储过程.ppt 第9章 游标.ppt 第10章 触发器.ppt 第11章 序列.ppt 第12章 用户角色与权限控制.ppt 第13章 Oracle数据类型.ppt 第14章 Oracle中的函数与表达式.ppt 第15章 Oracle中的控制...
第7章 视图(教学视频:50分钟) 117 7.1 关系视图 117 7.1.1 建立关系视图 117 7.1.2 修改/删除视图 118 7.1.3 联接视图 120 7.1.4 编译视图 122 7.1.5 使用force选项强制创建视图 124 7.1.6 利用视图更新...
第7章 系统优化方法 85 §6.1 何时优化效率最高 85 §6.1.1 系统设计阶段和开发阶段的优化 85 §6.1.2 改善产品系统的优化 85 §6.2 优化的优先步骤 86 §6.2.1 步骤1:优化商业规则 86 §6.2.2 步骤2:优化数据设计...
第7章 Oracle数据库管理操作 7.1 学会使用视图 7.1.1 增加安全性 7.1.2 隐藏数据的复杂性 7.1.3 实现命名简洁性和易读性 7.1.4 实现更改灵活性 7.2 实现记录的唯一性 7.2.1 用键实现 7.2.2 创建唯一...
第7章Oracle中的数值型ppt 第8章Oracle中的日期型ppt 第9章Oracle中的复杂数据处理ppt 第10章Oracle中的控制语句.ppt 第11章视图ppt 第12章约速ppt 第13章游标pp 第14章触发器ppt 第15章序列.ppt 第16章用户、角色与...
第7章-PLSQL基础 PL/SQL是什么 PL/SQL 变量的使用 表达式 PL/SQL结构控制 PL/SQL中使用DML和DDL语言 PL/SQL中的异常 PL/SQL函数编写 第8章-游标,数据的缓存区 什么是游标 显示游标 隐式游标 第9章-...
完整版Oracle11数据库教程课件 第7章_高级查询(共52页).ppt 完整版Oracle11数据库教程课件 第8章_索引视图(共35页).ppt 完整版Oracle11数据库教程课件 第9章_PLSQL编程基础(共59页).ppt 完整版Oracle11数据库...
第7章 高可用数据库类型 7.1 Restart数据库 7.1.1安装Restart数据库 7.1.2 Grid Infrastructure重新配置 7.1.3 Restart数据库的管理 7.2 RAC One Node数据库 7.2.1安装RAC One Node数据库 7.2.2 RAC One Node...
题目1、系统为了使性能最好和协调多个用户,在多进程系统中使用一些附加进程,称为 ( A)。 选择一项: a. 后台进程 b. 单进程 c. 用户进程 d. 例程 题目2、在创建用户的命令中,下列哪个关键字是限制用户可以使用...
第七章 管理表空间和数据文件 第八章 还原(回滚)数据管理 第九章 管理表 第十章 管理索引 第十一章 维护数据完整 第十二章 数据库安全管理 第十三章 管理用户 第十四章 管理角色 第十五章 管理权限 第十六章 审计 ...
完整版Oracle11数据库教程课件 第7章_高级查询(共52页).ppt 完整版Oracle11数据库教程课件 第8章_索引视图(共35页).ppt 完整版Oracle11数据库教程课件 第9章_PLSQL编程基础(共59页).ppt 完整版Oracle11数据库...
orcale 11g的学习ppt,内容涵盖orcale的...第7章 查询.ppt 第8章 视图与索引.ppt 第9章 序列与同义词.ppt 第10章 PLSQL基本语法.ppt 第11章 存储过程与触发器.ppt 第12章 用户与权限.ppt 第13章 备份与恢复.ppt
1.7 修改oracle用户环境变量 7 1.8 创建oracle安装目录 7 1.9 配置系统参数文件 8 1.10 配置ntp服务 8 第二章 图形界面安装 9 2.1 图形界面安装db 软件 9 2.2 dbca建库 18 2.3 netca配置监听 22 2.4 升级数据库 23 ...
4. Oracle用户和权限 4.1用户和权限 4.2角色 第2章 SQL数据操作和查询 1. SQL简介 2. 查询 2.1查询结构 2.2查询顺序 . 2.3聚合函数 . 3. 创建表和约束 3.1 Oracle常用数据类型 3.2创建表 3.3表的约束 4....
7)每个模块的每个栏目对应一个目录, 栏目的权限抽象分为(查看/新增/修改/删除/排序/打印/备用A/备用 8).目录里有一个web.config来进行目录文件权限配置,可直接将某个文件名设定到相对应的权限上. v1.0.8版更新记录 ...
第7章 Oracle数据库管理操作 7.1 学会使用视图 7.1.1 增加安全性 7.1.2 隐藏数据的复杂性 7.1.3 实现命名简洁性和易读性 7.1.4 实现更改灵活性 7.2 实现记录的唯一性 7.2.1 用键实现 7.2.2 创建唯一索引 ...
Oracle中权限主要分为两种,系统权限和实体权限。 系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。 DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。 RESOURCE:...
第7章 子程序和触发器,包括函数、存储过程、包以及触发器等。对子程序的调用者权限、管道表函数、传递触发器标识:new和:old以及自治事务也给出了具体的解决方法。第8 章 LOB与面向对象的数据管理. 第9章 Oracle的...
第7章 Oracle数据库管理操作 第8章 数据库用户管理 第9章 数据库空间管理 第10章 备份与恢复机制 第11章 控制文件及日志文件的管理 第13章 Oracle数据库的安全管理 第14章 留言板系统 第15章 新闻发布系统 ...