
Oracle学习笔记第五天
文章平均质量分 62
s1124117571
这个作者很懒,什么都没留下…
展开
-
管理权限和角色0-介绍
介绍当刚刚建立对象时,用户没有任何权限,也不能执行任何操作,如果要执行某种特定的数据库操作,则必须为其授予系统的权限;如果用户要访问其它方案的对象,则必须为其授予对象的权限,为了简化权限的管理,可以使用角色。系统权限:就是如登陆用户等一系列系统操作的权限如何查询oracle中所有的系统权限一般使用dba用户select * from system_privilege_map;对象权限是指:一个用...2016-03-24 17:04:26 · 179 阅读 · 0 评论 -
维护数据的完整性4-删除约束
删除约束当不再需要某个约束时,可以删除。alter table 表名 drop constraint 约束名称;在删除主键约束的时候,可能有错误,比如:alter table 表名 drop primary key;这是因为如果在两张表存在主从关系,那么在删除主表的主键约束时,必须带上cascade选项比如:alter table 表名 drop primary key cascade;显示...2016-03-27 09:26:41 · 240 阅读 · 0 评论 -
维护数据的完整性3-添加约束
商店售货系统表设计案例2如果在建表时忘记建立必要的约束,则可以在建表后使用alter table命令为表增加约束。但是要注意:增加not null约束时,需要使用modify选项,而增加其他四种约束使用add选项。即如果是添加not null约束则直接modify+列名+not null 如果是添加其他四种约束(unique,check,primary key,foreign key)则是add ...2016-03-27 09:26:25 · 476 阅读 · 0 评论 -
维护数据的完整性2-实际案例
商店售货系统表设计案例1现有要给商店的数据库,记录客户及其购物情况,由下面三个表组成:商品goods(商品号goodsId,商品名goodsName,单价unitprice,商品类型category,供应商provider);客户customer(客户号customerId,姓名name,住址address,电邮email,性别sex,身份证cardId);购买purchase(客户号custom...2016-03-27 09:24:54 · 447 阅读 · 0 评论 -
维护数据的完整性1-约束介绍
介绍数据的完整性用于确保数据库数据遵从一定的商业和逻辑规则。在oracle中,数据完整性可以使用约束、触发器、应用程序(过程、函数)三种方法来实现,在这三种方法中,因为约束易于维护,并且具有最好的性能,所以作为维护数据完整性的首选。约束约束用于确保数据库数据满足特定的商业规则。在oracle中,约束包括:not null(不为空)、unique(唯一)、primary key(主键)、foreig...2016-03-27 09:23:44 · 236 阅读 · 0 评论 -
管理索引3-显示索引
1.显示表的所有索引在同一张表上可以有多个索引,通过查询数据字典视图dba_indexes 和 user_indexes,可以显示索引信息。其中dba_indexs用于显示数据库所有的索引信息,而user_indexes用于显示当前用户的索引信息。select index_name,index_type from user_indexes where table_name='表名';注意:表名要大...2016-03-26 10:06:34 · 284 阅读 · 0 评论 -
管理索引2-缺点分析
索引缺点分析索引有一些先天不足:1.建立索引。系统要占用大约为表的1.2倍的硬盘盒内存空间来保存索引。2.更新数据的时候,系统必须要有额外的时间来同时对索引进行更新,以维持数据和索引的一致性。实践表明,不恰当的索引不但于事无补,反而会降低系统性能。因为大量的索引在进行插入、修改和删除操作时比没有索引花费更多的系统时间。比如在如下字段建立索引应该是不恰当的:1.很少或从不引用的字段;2.逻辑型的字段...2016-03-26 10:03:57 · 94 阅读 · 0 评论 -
管理索引1-原理介绍
介绍索引是用于加速数据存取的数据对象。合理的使用索引可以大大降低i/o次数,从而提高数据访问性能。创建索引1.单列索引单列索引是基于单个列所建立的索引,比如:create index 索引名 on 表名(列名)SQL> create index nameIndex on customer(name);索引已创建。2.复合索引复合索引是基于两列或是多列的索引。在同一张表上可以有多个索引,但是要...2016-03-26 10:03:54 · 98 阅读 · 0 评论 -
管理权限和角色6-精心访问控制
精细访问控制是指用户可以使用函数、策略实现更加细微的安全访问控制。如果使用精细访问控制,则当在客户端发出sql语句(select、insert、update、delete)时,oracle会自动在sql语句后追加谓词(where子句),并执行新的sql语句。通过这样的控制,可以使得不同的数据库用户在访问相同表时,返回不同的数据信息,如图:用户 scott black ...2016-03-26 10:02:34 · 132 阅读 · 0 评论 -
管理权限和角色5-显示角色信息
显示角色信息1)显示所有角色SQL>select * from dba_roles;2)显示角色具有的系统权限SQL>select privilege,admin_option from role_sys_privs where role='角色名';3)显示角色具有的对象权限通过查询数据字典视图dba_tab_privs可以查看角色具有的对象权限或是列的权限。4)显...2016-03-26 09:59:56 · 226 阅读 · 0 评论 -
管理权限和角色4-自定义角色
自定义角色顾名思义就是自己定义的角色,根据自己的需要来定义。一般是dba来建立,如果用别的用户来建立,则需要具有create role的系统权限,在建立角色时可以指定验证方式(不验证,数据库验证等)1.建立角色1)建立角色(不验证)如果角色是公用的角色,可以采用不验证的方式来建立角色.create role 角色名 not identified;2)建立角色(数据库验证)采用这样的方式时,角色名、...2016-03-25 16:06:44 · 729 阅读 · 0 评论 -
管理权限和角色3-预定义角色
介绍角色就是相关权限的命令集合,使用角色的主要目的就是为了简化权限的管理,假定有用户a,b,c为了让他们都拥有以下权限1)连接数据库2)在scott.emp表上select,insert,update如果采用直接授权操作,则需要进行12次授权因此,此时建立一个角色来拥有这些权限,然后将这些用户都拥有这个角色,就可以让他们都拥有那些权限了,只进行了3次授权。角色分为预定义角色和自定义角色两...2016-03-25 16:04:33 · 491 阅读 · 0 评论 -
管理权限和角色2-对象权限
1.对象权限介绍指访问其它方案对象的权利,用户可以直接访问自己方案的对象,但是如果要访问别的方案的对象,则必须具有对象的权限。比如smith用户要访问scott.emp表(scott:方案,emp:表)则必须在scott.emp表上具有对象的权限常用的有:alter 修改 delete 删除 select 查询 insert 添加update 修改 index 索引 refe...2016-03-25 16:01:00 · 241 阅读 · 0 评论 -
管理权限和角色1-系统权限
权限介绍权限是指执行特定类型sql命令或是访问其它方案对象的权利,包括系统权限和对象权限两种。1.系统权限介绍系统权限是指执行特定类型sql命令的权利,它用于控制用户可以执行的一个或是一组数据库操作。比如当用户具有create table权限时,可以在其方案中建表,当用户具有create any table权限时,可以在任何方案中建表。oracle提供了200多种的系统权限。常用的有:create...2016-03-25 15:56:44 · 190 阅读 · 0 评论 -
维护数据的完整性5-表级定义列级定义
列级定义列级定义是在定义列的同时定义约束如在department表定义主键约束create table department4(dept_id number(2) constraint pk_department_primary key,name varchar2(12),loc varchar2(12));表级定义表级定义是指在定义了所有列后,再定义约束,这里需要注意:not null约束只能在...2016-03-27 09:29:10 · 826 阅读 · 0 评论