Oracle数据库基础
1.Oracle简介:Oracle是一个数据库管理系统,是Oracle公司的核心产品。
Oracle数据库主要特点特点:
> 支持多用户、大事务量的事务处理
> 在保持数据安全性和完整性方面性能优越
> 支持分布式数据处理
> 具有可移植性
1.数据库
概念:Oracle是磁盘上存储数据的集合,在物理上表现为数据文件、日志文件和控制文件等,在逻辑上以表空间形式存在,首先必须创建数据库,然后才能使用Oracle。也可以在安装软件的同时创建数据库,也可以安装后单独创建数据库。
2.全局数据库名
3.数据库实例
4.表空间
5.数据文件
6.控制文件
7.日志文件
8.模式和模式对象
安装Oracle
Windows下启动数据库
Oracle常用的3个服务
(1)OracleServiceSID服务是Oracle数据库服务,此服务对应名为SID(系统标识符)的数据库实例创建的。SID是安装Oracle数据库时输入的数据库名称,默认自启动。
(2)OeacleOraDb11g_home1TNSListerer:监听器服务,远程连接数据库作用
(3)OracleDBConsoleSID:数据库控制台服务。
?
配置数据库
?
连接数据库
1.SQL*Plus工具:与Oracle数据库进行交互的客户端工具。
2.PL/SQL Developer:第三方客户端工具。
2.Oracle数据类型
(1)字符数据类型
a) Char数据类型:
b) Varchar2:
c) Nchar:
(2)数值数据类型
a) Number:
(3)日期时间数据类型
a) DATE数据类型
b) TIMESTAMP:
(4)LOB数据类型:
LOB又称为“大数据”数据类型,该数据可以存储多达4GB的非结构化数据,LOB允许对数据库进行高效、随机、分段的访问。可以是外部也可以是内部的。
a) CLOB(Character):存储大量字符数据(包括单字节和多字节)主要用于存储非结构化的XML文档。
b) BLOB(Binary):存储较大的二进制对象。
c) BFILE:将二进制文件存储在数据库外部的操作系统文件中。
d) NCLOB:用于存储大的NCHAR字符数据。
Oracle中的表可以有多个LOB,没个LOB列可以是不同的LOB类型。
Oracle中的伪劣:
1.ROWID:重要用途
a) 能以最快的速度访问表中的一行
b) 能显示表的行是如何存储的
c) 可以作为表中行的唯一标识
2.ROWNUM:限制查询返回的行数,
SQL语言简介:
> 数据库定义语言(DDL):CREATE(创建)、ALTER(更改)、TRUNCATE(截断)、DROP(删除)命令。
> 数据库操作语言(DML):INSERT(插入)、SELECT(选择)、DELETE(删除)、Update(更新)命令。
> 事务控制语言(TCL):COMMIT(提交)、SAVEPOINT(保存点)、ROLLBACK(回滚)。
> 数据控制语言(DCL):GRANT(授予)、REMOVE(回收)
?
数据定义语言:CREATE TABLE:
创建标明规则:
> 表名首字符为字母
> 不能使用Oracle保留字为表名
> 表名的最大长度为30个字符。
> 同以用户模式下的不同表不能具有相同的名称
> 可以使用”_”数字和字母,但不能使用空格和单引号
Oracle的表名(列名、用户名、其他对象名)不区分大小写,系统会自动转换大小写。
Varchar2标准数据类型 不建议使用VARCHAR
?
TRUNCATE TABLE<表名>:只删除表中的记录不删除表结构。节省资源,执行效率高。
提示:
(1)何时开启事务:在Oracle中,事务在上一次事务结束后,数据第一次被修改时自动开启。
(2)何时关闭事务
有两种情况
1.数据被提交
a) COMMIT
b) 执行DDL或DCL语句时,当前事务自动被提交
c) 与Oracle分离,退出PL/SQL Developer
2.数据被撤销
a) ROLLBACK
b) 服务器进程异常结束
c) DBA停止会话。
SQL操作符
1.算术操作符:+-*/
2.比较操作符:=>< => <= != Between and 、 IN、 LIKE、IS NULL
3.逻辑操作符:AND OR NOT
4.集合操作符:UNION(联合)、UNIONALL(联合所有)、INTERSECT(交集)、MINUS(减集)。
?
SQL函数
1.转换函数:
a) TO_CHAR:格式化显示日期类型的函数
b) TO_DATE:将TO_CHAR、TO_NUMBER数据类型转换为TO_DATE数据类型
c) TO_NUMBER:隐式转换。
2.其他函数:
a) NVL(exp1,exp2):1为NULL则返回2的值 否则返回1
b) NVL2(1,2,3):1为NULL则返回2的值 否则返回3
c) DECODE(value,1,then1,2,then2,):value1 f返回1 alue=2 返回2
3.分析函数
a) ROW_NUMBER:返回一个唯一的值,相同数据时排名顺序依次递增
b) DENSE_RANK:返回一个唯一的值,相同数据时排名顺序相同
c) RANK:返回一个唯一的值,相同数据排名相同,同时会在最后一条记录和下一条不同记录之间空出排名
02——Oracle数据库应用
1.表空间和用户权限管理
1.表空间:
表空间分类:
永久性、临时性、撤销表空间
目的:
(1)对不同用户分配不同的表空间,对不同模式对象分配不同的表空间,方便对用户数据的操作,对模式对象的管理。
(2)可以将不同的数据文件创建在不同的磁盘中,有利于管理磁盘空间性能、备份 和恢复数据等。
创建表空间:
CREATE TABLE tablespacename
删除表空间:
DROP TABLE tablespacename
2.自定义用户管理:
a) SYS:超级用户管理员
b) SYSTEM:默认系统管理员
c) Scott:临时示范用户
3.数据库权限管理:
a) 系统权限
常见的系统权限
> CREATESESSION:连接数据库
> CREATETABLE:创建表
> CREATEVIEW:创建试图
> CREATE SEQUENCES:创建序列
b) 对象权限
Oracle数据库用户有两种途径获得权限:
1.管理员直接向用户授予权限:1.直接授权
2.管理员将权限授予角色,然后再将角色授予给一个或多个用户:2.通过角色授权
2.序列
i. 创建序列:
ii. 访问苏列:
iii. 更改序列:
iv. 删除序列:
v. 使用序列:
?
3.同义词
同义词是表、视图、序列、函数、过程、程序包或者其他同义词的别名
4.索引
索引是与表关联的可选结构,是一种快速访问数据的途径,可提高数据库性能。
索引的分类:
单列或组合索引:分区或非分区索引
唯一或非唯一索引:B树索引
基于函数的索引:位图索引、正常或反向键索引
(1)B树索引:标准索引,默认索引
(2)唯一索引和非唯一索引:
a) 唯一索引:没有重复值,唯一索引的关键字只能指向表中的一行,在创建主键约束和创建唯一约束时都会创建一个与之对应的唯一索引。
b) 非唯一索引:单个关键字可以有多个与其关联的行
(3)反向键索引:与B树相反,
(4)位图索引:适用于低基数列。
优点:
a) 对于大批查询可以减少响应时间
b) 相比其他索