- 浏览: 276113 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
java老大爷:
技术扶持 技术交流 汇聚程序员精英 群里有马士兵2017 ...
大数据数据 -
yeruowei:
遇到同样的问题,特意登录点赞
导入数据库时出现ORA-01435: 用户不存在 -
1017974387:
特意登陆来给你赞。。。。。。
导入数据库时出现ORA-01435: 用户不存在 -
sgy1103:
您好:看了苯苯熊家庭记帐注册码破解很羡慕。我在用,不过换电脑后 ...
笨笨家庭记账本—破解 -
shellbye:
居然真是这个原因。。。哈哈
maven设置中ERROR: JAVA_HOME is set to an invalid directory
一、ORACLE数据库的模式对象的管理与维护
本节的主要内容是关于ORACLE数据库的模式对象的管理与维护,这些模式对象包括:表空间、表、视图、索引、序列、同义词、聚集和完整性约束。对于每一个模式对象,首先描述了它的定义,说明了它的功能,最后以基于SQL语言的实例说明如何对它们进行管理于维护。
1.1 表空间
由于表空间是包含这些模式对象的逻辑空间,有必要先对它进行维护。
创建表空间
SQL>CREATE TABLESPACE jxzy
>DATAFILE ‘/usr/oracle/dbs/jxzy.dbf’
>ONLINE;
修改表空间
SQL>ALTER TABLESPACE jxzy OFFLINE NORMAL;
SQL>ALTER TABLESPACE jxzy
>RENAME DATAFILE ‘/usr/oracle/dbs/jxzy.dbf’
>TO ‘/usr/oracle/dbs/jxzynew.dbf’
>ONLINE
SQL>CREATE TABLESPACE jxzy ONLINE
删除表空间
SQL>DROP TABLESPACE jxzy
>INCLUDING CONTENTS
1. 2 表维护
表是数据库中数据存储的基本单位,一个表包含若干列,每列具有列名、类型、长度等。
表的建立
SQL>CREATE TABLE jxzy.switch(
>OFFICE_NUM NUMBER(3,0) NOT NULL,
>SWITCH_CODE NUMBER(8,0) NOT NULL,
>SWITCH_NAME VARCHAR2(20) NOT NULL);
表的修改
SQL>ALTER TABLE jxzy.switch
>ADD (DESC VARCHAR2(30));
表的删除
SQL>DROP TABLE jxzy.switch
>CASCADE CONSTRAINTS
//删除引用该表的其它表的完整性约束
1. 3 视图维护
视图是由一个或若干基表产生的数据集合,但视图不占存储空间。建立视图可以保护数据安全(仅让用户查询修改可以看见的一些行列)、简化查询操作、保护数据的独立性。
视图的建立
SQL>CREATE VIEW jxzy.pole_well_view AS
>(SELECT pole_path_num AS path,
pole AS device_num FROM pole
>UNION
>SELECT pipe_path_num AS path,
> well AS device_num FROM well);
视图的替换
SQL>REPLACE VIEW jxzy.pole_well_view AS
>(SELECT pole_path_num AS path,
pole AS support_device FROM pole
>UNION
>SELECT pipe_path_num AS path,
well AS support_device FROM well);
视图的删除
SQL>DROP VIEW jxzy.pole_well_view;
1.4 序列维护
序列是由序列发生器生成的唯一的整数。
序列的建立
SQL>CREATE SEQUENCE jxzy.sequence_cable
>START WITH 1
>INCREMENT BY 1
>NO_MAXVALUE;
建立了一个序列,jxzy.sequence_cable.currval返回当前值,jxzy.sequence_cable.nextval 返回当前值加1后的新值
序列的修改
SQL>ALTER SEQUENCE jxzy.sequence_cable
>START WITH 1 //起点不能修改,若修改,应先删除,然后重新定义
>INCTEMENT BY 2
>MAXVALUE 1000;
序列的删除
SQL>DROP SEQUENCE jxzy.sequence_cable
1. 5 索引维护
索引是与表相关的一种结构,它是为了提高数据的检索速度而建立的。因此,为了提高表上的索引速度,可在表上建立一个或多个索引,一个索引可建立在一个或几个列上。
对查询型的表,建立多个索引会大大提高查询速度,对更新型的表,如果索引过多,会增大开销。
索引分唯一索引和非唯一索引
索引的建立
SQL>CREATE INDEX jxzy.idx_switch
>ON switch(switch_name)
>TABLESPACE jxzy;
索引的修改
SQL>ALTER INDEX jxzy.idx_switch
>ON switch(office_num,switch_name)
>TABLESPACE jxzy;
索引的删除
SQL>DROP INDEX jxzy.idx_switch;
1. 6 完整性约束管理
数据库数据的完整性指数据的正确性和相容性。数据完整型检查防止数据库中存在不符合语义的数据。
完整性约束是对表的列定义一组规则说明方法。ORACLE提供如下的完整性约束.
a. NOT NULL 非空
b. UNIQUE 唯一关键字
c. PRIMATY KEY 主键一个表只能有一个,非空
d. FOREIGA KEY 外键
e.CHECK 表的每一行对指定条件必须是true或未知(对于空值)
例如:
某列定义非空约束
SQL>ALTER TABLE office_organization
>MODIFY(desc VARCHAR2(20)
>CONSTRAINT nn_desc NOT NULL)
某列定义唯一关键字
SQL>ALTER TABLE office_organization
>MODIFY(office_name VATCHAR2(20)
>CONSTRAINT uq_officename UNIQUE)
定义主键约束,主键要求非空
SQL>CREATE TABLE switch(switch_code NUMBER(8)
>CONSTRAINT pk_switchcode PRIMARY KEY,)
使主键约束无效
SQL>ALTER TABLE switch DISABLE PRIMARY KEY
定义外键
SQL>CREATE TABLE POLE(pole_code NUMBER(8),
>office_num number(3)
>CONSTRAINT fk_officenum
>REFERENCES office_organization(office_num)
>ON DELETE CASCADE);
定义检查
SQL>CREATE TABLE office_organization(
>office_num NUMBER(3),
>CONSTRAINT check_officenum
>CHECK (office_num BETWEEN 10 AND 99);
二、ORACLE数据库用户与权限管理
ORACLE是多用户系统,它允许许多用户共享系统资源。为了保证数据库系统的安全,数据库管理系统配置了良好的安全机制。
2. 1 ORACLE数据库安全策略
建立系统级的安全保证
系统级特权是通过授予用户系统级的权利来实现,系统级的权利(系统特权)包括:建立表空间、建立用户、修改用户的权利、删除用户等。系统特权可授予用户,也可以随时回收。ORACLE系统特权有80多种。
建立对象级的安全保证
对象级特权通过授予用户对数据库中特定的表、视图、序列等进行操作(查询、增、删改)的权利来实现。
建立用户级的安全保证
用户级安全保障通过用户口令和角色机制(一组权利)来实现。引入角色机制的目的是简化对用户的授权与管理。做法是把用户按照其功能分组,为每个用户建立角色,然后把角色分配给用户,具有同样角色的用户有相同的特权。
2.2 用户管理
ORACLE用户管理的内容主要包括用户的建立、修改和删除
用户的建立
SQL>CREATE USER jxzy
>IDENTIFIED BY jxzy_password
>DEFAULT TABLESPACE system
>QUATA 5M ON system; //供用户使用的最大空间限额
用户的修改
SQL>CREATE USER jxzy
>IDENTIFIED BY jxzy_pw
>QUATA 10M ON system;
删除用户及其所建对象
SQL>DROP USER jxzy CASCADE; //同时删除其建立的实体
2.3系统特权管理与控制
ORACLE 提供了80多种系统特权,其中每一个系统特权允许用户执行一个或一类数据库操作。
授予系统特权
SQL>GRANT CREATE USER,ALTER USER,DROP USER
>TO jxzy_new
>WITH ADMIN OPTION;
回收系统特权
SQL>REVOKE CREATE USER,ALTER USER,DROP USER
>FROM jxzy_new
//但没有级联回收功能
显示已被授予的系统特权(某用户的系统级特权)
SQL>SELECT*FROM sys.dba_sys_privs
2.4 对象特权管理与控制
ORACLE对象特权指用户在指定的表上进行特殊操作的权利。这些特殊操作包括增、删、改、查看、执行(存储过程)、引用(其它表字段作为外键)、索引等。
授予对象特权
SQL>GRANT SELECT,INSERT(office_num,office_name),
>UPDATE(desc)ON office_organization
>TO new_adminidtrator
>WITH GRANT OPTION;
//级联授权
SQL>GRANT ALL ON office_organization
>TO new_administrator
回收对象特权
SQL>REVOKE UPDATE ON office_orgaization
>FROM new_administrator
//有级联回收功能
SQL>REVOKE ALL ON office_organization
>FROM new_administrator
显示已被授予的全部对象特权
SQL>SELECT*FROM sys.dba_tab_privs
2.5 角色的管理
ORACLE的角色是命名的相关特权组(包括系统特权与对象特权)
表
视图
存储过程
函数
触发器
主键
外键
约束
索引
本节的主要内容是关于ORACLE数据库的模式对象的管理与维护,这些模式对象包括:表空间、表、视图、索引、序列、同义词、聚集和完整性约束。对于每一个模式对象,首先描述了它的定义,说明了它的功能,最后以基于SQL语言的实例说明如何对它们进行管理于维护。
1.1 表空间
由于表空间是包含这些模式对象的逻辑空间,有必要先对它进行维护。
创建表空间
SQL>CREATE TABLESPACE jxzy
>DATAFILE ‘/usr/oracle/dbs/jxzy.dbf’
>ONLINE;
修改表空间
SQL>ALTER TABLESPACE jxzy OFFLINE NORMAL;
SQL>ALTER TABLESPACE jxzy
>RENAME DATAFILE ‘/usr/oracle/dbs/jxzy.dbf’
>TO ‘/usr/oracle/dbs/jxzynew.dbf’
>ONLINE
SQL>CREATE TABLESPACE jxzy ONLINE
删除表空间
SQL>DROP TABLESPACE jxzy
>INCLUDING CONTENTS
1. 2 表维护
表是数据库中数据存储的基本单位,一个表包含若干列,每列具有列名、类型、长度等。
表的建立
SQL>CREATE TABLE jxzy.switch(
>OFFICE_NUM NUMBER(3,0) NOT NULL,
>SWITCH_CODE NUMBER(8,0) NOT NULL,
>SWITCH_NAME VARCHAR2(20) NOT NULL);
表的修改
SQL>ALTER TABLE jxzy.switch
>ADD (DESC VARCHAR2(30));
表的删除
SQL>DROP TABLE jxzy.switch
>CASCADE CONSTRAINTS
//删除引用该表的其它表的完整性约束
1. 3 视图维护
视图是由一个或若干基表产生的数据集合,但视图不占存储空间。建立视图可以保护数据安全(仅让用户查询修改可以看见的一些行列)、简化查询操作、保护数据的独立性。
视图的建立
SQL>CREATE VIEW jxzy.pole_well_view AS
>(SELECT pole_path_num AS path,
pole AS device_num FROM pole
>UNION
>SELECT pipe_path_num AS path,
> well AS device_num FROM well);
视图的替换
SQL>REPLACE VIEW jxzy.pole_well_view AS
>(SELECT pole_path_num AS path,
pole AS support_device FROM pole
>UNION
>SELECT pipe_path_num AS path,
well AS support_device FROM well);
视图的删除
SQL>DROP VIEW jxzy.pole_well_view;
1.4 序列维护
序列是由序列发生器生成的唯一的整数。
序列的建立
SQL>CREATE SEQUENCE jxzy.sequence_cable
>START WITH 1
>INCREMENT BY 1
>NO_MAXVALUE;
建立了一个序列,jxzy.sequence_cable.currval返回当前值,jxzy.sequence_cable.nextval 返回当前值加1后的新值
序列的修改
SQL>ALTER SEQUENCE jxzy.sequence_cable
>START WITH 1 //起点不能修改,若修改,应先删除,然后重新定义
>INCTEMENT BY 2
>MAXVALUE 1000;
序列的删除
SQL>DROP SEQUENCE jxzy.sequence_cable
1. 5 索引维护
索引是与表相关的一种结构,它是为了提高数据的检索速度而建立的。因此,为了提高表上的索引速度,可在表上建立一个或多个索引,一个索引可建立在一个或几个列上。
对查询型的表,建立多个索引会大大提高查询速度,对更新型的表,如果索引过多,会增大开销。
索引分唯一索引和非唯一索引
索引的建立
SQL>CREATE INDEX jxzy.idx_switch
>ON switch(switch_name)
>TABLESPACE jxzy;
索引的修改
SQL>ALTER INDEX jxzy.idx_switch
>ON switch(office_num,switch_name)
>TABLESPACE jxzy;
索引的删除
SQL>DROP INDEX jxzy.idx_switch;
1. 6 完整性约束管理
数据库数据的完整性指数据的正确性和相容性。数据完整型检查防止数据库中存在不符合语义的数据。
完整性约束是对表的列定义一组规则说明方法。ORACLE提供如下的完整性约束.
a. NOT NULL 非空
b. UNIQUE 唯一关键字
c. PRIMATY KEY 主键一个表只能有一个,非空
d. FOREIGA KEY 外键
e.CHECK 表的每一行对指定条件必须是true或未知(对于空值)
例如:
某列定义非空约束
SQL>ALTER TABLE office_organization
>MODIFY(desc VARCHAR2(20)
>CONSTRAINT nn_desc NOT NULL)
某列定义唯一关键字
SQL>ALTER TABLE office_organization
>MODIFY(office_name VATCHAR2(20)
>CONSTRAINT uq_officename UNIQUE)
定义主键约束,主键要求非空
SQL>CREATE TABLE switch(switch_code NUMBER(8)
>CONSTRAINT pk_switchcode PRIMARY KEY,)
使主键约束无效
SQL>ALTER TABLE switch DISABLE PRIMARY KEY
定义外键
SQL>CREATE TABLE POLE(pole_code NUMBER(8),
>office_num number(3)
>CONSTRAINT fk_officenum
>REFERENCES office_organization(office_num)
>ON DELETE CASCADE);
定义检查
SQL>CREATE TABLE office_organization(
>office_num NUMBER(3),
>CONSTRAINT check_officenum
>CHECK (office_num BETWEEN 10 AND 99);
二、ORACLE数据库用户与权限管理
ORACLE是多用户系统,它允许许多用户共享系统资源。为了保证数据库系统的安全,数据库管理系统配置了良好的安全机制。
2. 1 ORACLE数据库安全策略
建立系统级的安全保证
系统级特权是通过授予用户系统级的权利来实现,系统级的权利(系统特权)包括:建立表空间、建立用户、修改用户的权利、删除用户等。系统特权可授予用户,也可以随时回收。ORACLE系统特权有80多种。
建立对象级的安全保证
对象级特权通过授予用户对数据库中特定的表、视图、序列等进行操作(查询、增、删改)的权利来实现。
建立用户级的安全保证
用户级安全保障通过用户口令和角色机制(一组权利)来实现。引入角色机制的目的是简化对用户的授权与管理。做法是把用户按照其功能分组,为每个用户建立角色,然后把角色分配给用户,具有同样角色的用户有相同的特权。
2.2 用户管理
ORACLE用户管理的内容主要包括用户的建立、修改和删除
用户的建立
SQL>CREATE USER jxzy
>IDENTIFIED BY jxzy_password
>DEFAULT TABLESPACE system
>QUATA 5M ON system; //供用户使用的最大空间限额
用户的修改
SQL>CREATE USER jxzy
>IDENTIFIED BY jxzy_pw
>QUATA 10M ON system;
删除用户及其所建对象
SQL>DROP USER jxzy CASCADE; //同时删除其建立的实体
2.3系统特权管理与控制
ORACLE 提供了80多种系统特权,其中每一个系统特权允许用户执行一个或一类数据库操作。
授予系统特权
SQL>GRANT CREATE USER,ALTER USER,DROP USER
>TO jxzy_new
>WITH ADMIN OPTION;
回收系统特权
SQL>REVOKE CREATE USER,ALTER USER,DROP USER
>FROM jxzy_new
//但没有级联回收功能
显示已被授予的系统特权(某用户的系统级特权)
SQL>SELECT*FROM sys.dba_sys_privs
2.4 对象特权管理与控制
ORACLE对象特权指用户在指定的表上进行特殊操作的权利。这些特殊操作包括增、删、改、查看、执行(存储过程)、引用(其它表字段作为外键)、索引等。
授予对象特权
SQL>GRANT SELECT,INSERT(office_num,office_name),
>UPDATE(desc)ON office_organization
>TO new_adminidtrator
>WITH GRANT OPTION;
//级联授权
SQL>GRANT ALL ON office_organization
>TO new_administrator
回收对象特权
SQL>REVOKE UPDATE ON office_orgaization
>FROM new_administrator
//有级联回收功能
SQL>REVOKE ALL ON office_organization
>FROM new_administrator
显示已被授予的全部对象特权
SQL>SELECT*FROM sys.dba_tab_privs
2.5 角色的管理
ORACLE的角色是命名的相关特权组(包括系统特权与对象特权)
表
视图
存储过程
函数
触发器
主键
外键
约束
索引
发表评论
-
数据库导表
2013-04-26 19:54 1028不同服务器数据库之间的数据操作 --创建链接服务器 ex ... -
企业应用数据迁移
2012-08-21 10:21 1126开源ETL工具 Kettle Kettle是一款国外开源的et ... -
大数据量开发
2011-12-29 01:21 851update mes_jt_pdc tttt set tttt ... -
oracle导入问题,正在跳过表
2011-12-20 10:10 980导入过程中,所有表导入都出现提示, 正在跳过表。。。某某表名 ... -
weblogic -- Failed to bind remote object
2011-08-24 11:43 1142weblogic9.23,安装在IBM aix系统上。 配置j ... -
dblink连接数据库
2011-08-14 15:57 1138一般都会用imp exp 备份和导入数据库 但是有些时候 需 ... -
Statspack
2011-03-22 20:18 1228Statspack是Oracle自带的强大的性能分析工具。他可 ... -
如何写出性能优良的SQL?
2011-03-17 08:28 926我们要做到不但会写SQL,还要做到写出性能优良的SQL,以下为 ... -
数据库的读写分离
2011-03-09 22:25 1053随着一个网站的业务不断扩展,数据不断增加,数据库的压力也会越来 ... -
数据库读写分离研究
2011-03-09 22:21 1129如何提高大型网站的访问速度,根据理解和经验一般常用的方法如SQ ... -
错误1053 oracle10g
2011-03-09 17:20 2434我在64位的server 2003系统里安装了32位的orac ... -
SQL经典模式--列转行
2011-03-09 15:39 931SQL经典模式--列转行 一般需要将列转成行来使用,一定是 ... -
数据库主键设计之思考
2011-03-09 14:49 1373主键的无意义性: 我强调主键不应该具有实际的意义,这可能对 ... -
MySQL中int(M)的含义
2011-03-09 14:15 938作为对 ANSI/ISO SQL92 标准的一个扩展,MySQ ... -
c3p0和jdbcTemplate配置oracle集群RAC记录
2011-03-05 00:51 3768领导给了一串连接串给 ... -
导入数据库时出现ORA-01435: 用户不存在
2011-03-02 16:55 19120经由直接路径导出由EXPORT:V09.02.00创建的导出文 ... -
oracle 集群
2011-02-24 11:51 797最近公司数据库做啦集群,知道是用oracle RAC 做的,具 ... -
数据库水平切分的实现原理解析
2011-02-24 11:40 967第1章 引言 随着互联网应用的广泛普及,海量数据的存储和访 ... -
MySql存储引擎
2011-02-23 15:41 918下述存储引擎是最常用的: · MyISAM ... -
用java怎么实现有每天有1亿条记录的db存储
2011-02-23 11:48 1408每天1亿数据库操作,每秒1157条;使用Oracle数据库,读 ...
相关推荐
MySQL数据库对象管理实验知识点: 一、MySQL数据字典的作用与操作 数据字典是数据库系统中关于数据库的描述信息,它可以看作数据库中所有对象的元数据存储。在MySQL中,INFORMATION_SCHEMA数据库提供了访问数据库...
* 完成小型管理信息系统的开发,选择一面向对象高级语言,连接后台数据库,以图形界面的方式实现对数据库的增、删、改、查操作。 * 实现人员管理信息系统,包括添加、删除、修改和查询人员信息的功能。 实验要求: ...
数据库是存储数据的容器,而数据库对象包括表、视图、索引、存储过程、触发器等,它们共同构成了SQL Server的数据模型。 **SQL Server Management Studio**: SSMS是SQL Server的主要管理工具,它提供了图形用户...
CISP-PTE-数据库安全 CISP-PTE 是一个专业的...* 数据库对象:数据库对象包含表、索引、视图、触发器、规则和存储过程,创建数据库对象的用户是数据库对象的所有者,数据库对象可以授予其他用户使用其拥有对象的权利。
在SQL Server中,数据库是组织数据的核心单位,由多个逻辑组件构成,这些组件被称为数据库对象,包括: 1. 表:存储实际数据的地方,是数据库的基础结构。 2. 视图:提供对数据的不同视角,可以简化复杂的查询,...
它可能包含对`DatabaseMetaData`对象的调用,如`getTables()`, `getColumns()`, `getPrimaryKeys()`等,来获取数据库对象的详细信息。 3. **使用工具**: 标签提到了“工具”,这可能意味着除了手动编程外,还有...
SILVER对象数据库对象持久化JAVA实现的关键技术包括: 1. 数据模型设计:基于SILVER对象数据库的数据模型设计,实现了面向对象编程语言与数据库的无缝连接。 2. JAVA接口设计:设计了一个基于SILVER对象数据库的...
具体来说,数据库对象命名的总体要求包括: * 对象命名规则:数据库对象的命名需要遵守一定的规则和规范,确保对象的命名 rõ ràng、易于理解。 * 对象命名规范:数据库对象的命名需要遵守一定的规范,确保对象的...
* 逻辑存储结构:逻辑存储结构是指数据库对象的逻辑组织结构,包括表、数据类型、视图、索引、约束、存储过程和触发器等。 * 物理存储结构:物理存储结构是指数据库对象的物理存储方式,包括文件和文件组。 _create...
2. **创建对象模型**: 设计你要存储的对象类,这些类通常包含属性,它们将在数据库中表示为列。db4o会自动为这些类生成表结构,并且支持继承、集合和自定义类型等复杂对象结构。 3. **初始化db4o数据库**: 在应用...
8. 数据库对象:在Access数据库管理系统中,数据库对象包括表、报表、窗体、页等,每个对象都有其特定的功能和用途。 9. 数据库设计:数据库设计是指根据应用需求设计和创建数据库的过程,包括了数据库结构设计、...
SQL Server 2008包含许多对象,主要的数据库对象有:数据库、事务日志、表、模式、文件组、图表、视图、存储过程、用户自定义函数、用户和角色、规则、默认值、用户自定义数据类型、全文目录。 一、数据库对象 ...
本压缩包文件"ASP.NET数据库入门经典--C#编程篇1.rar"显然是一个关于学习ASP.NET数据库交互的教程资料,可能包含了书签、章节内容等资源,例如bookinfo.dat可能是书籍元数据,pdg文件通常是电子书的页面图像。...
面向对象数据库系统(Object-Oriented Database System,简称OODBMS)是一种存储和管理对象的数据管理系统,对象包含了数据和操作数据的方法。相比关系型数据库,面向对象数据库更能体现数据的自然结构,支持继承、...
这个工具类可能包含数据库连接池等高级功能,提供更方便的数据库操作接口。 8. **命名规范**:实验强调了良好的编程习惯,包括项目名、包名、类名、变量名和常量名的命名规则。遵循这些规范可以使代码更易读、更...
1. 数据模型:对象数据库的数据模型基于面向对象的概念,包括类、对象和实例。类定义了对象的属性和行为,对象是类的实例,包含具体的数据。 2. 对象持久化:将内存中的对象状态保存到数据库中,以便在后续的会话中...
- 数据库对象:如表、视图、存储过程等。 查询分析器提供了SQL编辑和执行的界面,用户可以通过菜单栏、对象浏览器、SQL编辑器和工具条进行操作,执行SQL语句并查看结果。 总结,SQL Server 2000是一款强大的...