一.oracle函数依赖和范式理论
1.函数依赖
1)非平凡依赖:在关系R(U)中,对于U的子集X和Y,如果X->Y,Y不属于X的子集,则称X->Y是非平凡依赖。
2)平凡依赖:反之就是平凡依赖。
3)完全函数依赖:如果X->Y,对于任意X的子集X'存在X'-\>Y,则称X->Y为完全函数依赖。
4)部分函数依赖:如果X->Y,对于任意X的子集X'不存在X'-\>Y,则称X->Y为完全函数依赖。
5)传递函数依赖:如果X->Y,Y->Z,且Y-\>X,Z不属于X,则称Z传递函数依赖于X。
2.范式理论
第一范式:如果关系模式R的每一个关系r的属性都是不可分割的,R就是第一范式的模式。
第二范式:R已经是第一范式,关系r的的每个非主属性完全依赖候选键,则称R为第二范式。
第三范式:R已经是第二范式,关系r的非主属性对任何候选键都不存在传递函数依赖,则称R为第三范式。
二.oracle数据库体系结构
1.存储结构
存储结构分为物理存储结构和逻辑存储结构。
物理存储结构有数据文件、日志文件、控制文件等,数据文件存储数据库的数据和索引等,日志文件记录数据库数据或者数据库结构被修改的信息,控制文件用来存储数据文件和日志文件的信息,是一个很小的二进制文件,用来描述和维护数据库的物理结构。
逻辑存储结构有表空间、段、区、数据块。
2.oracle内存结构
内存结构分为系统全局区(SGA)和程序全局区(PGA),系统全局去又称共享区,,可供系统中多个进程共享,由共享池、java池、大型池、数据缓存区和日志缓存区构成,共享池存放着最近的PL/SQL语句、SQL语句和字典,java池用于支持java语言的运行,比如用java语言写一个存储过程,Oracle的虚拟机会调用java池处理java存储过程,大型池存放数据的备份,数据缓冲区存储从磁盘读取的数据,日志缓冲区存储数据库被修改的信息。
程序全局区是系统分配给一个进程的私有内存区,用于存储变量和数组等。
3.oracle进程结构
Oracle启动后,会启动多个oracle后台进程,用来执行不同的任务,常用的进程有DBWn进程,数据库写入进程,LGWR进程,日志写入进程,CKPT进程,检查点进程,SMON进程,系统监控进程,PMON进程,进程监控进程,ARCn进程,归档进程,RECO进程,恢复进程。
4.数据字典
数据字典式存储在数据库中所有对象信息的知识库,可以通过数据字典获对象信息和安全信息。
常用字典:dba_tables、dba_views。
三.SQLplus常用命令
describe查看表的结构:
desc scott.emp 用来查询scott用户的emp表结构
LIST:缓冲区的所有行。
SAVE:将缓冲区的内容保存到文件。SAVE scott_emp.sql
START:读取并运行文件内容。 START scott_emp.sql
四.对表空间的管理
4.1创建表空间
creat tablespace myspace
datafile 'C:\...\...'
size 5M
autoextend on next 5M
maxsize 20M;
4.2表空间的状态属性
1.online
2.offline
3.only read
4.read write