1.1 oracle发展史概述
1.2 关系型数据库的基本理论
1.2.1 关系型数据库和数据库管理系统
关系模型以二维表来描述数据,是目前主流的数据库数据模型
二维表中行称为元组,标识一个实体,任意两行不能相同
二维表中列称为属性,列名称为属性名,属性名不能相同,列的取值范围称为域,可唯一标识表中不同行的属性或属性组称为主键或复合主键

关系是一种规范化的二维表格,具有如下性质:
a、属性值具有原子性,不可分解
b、没有重复的元组,即没有重复的行
c、理论上没有行序,但是有时使用时可以有行序

唯一键:一个列组成
复合键:多个列组成

键的类型:
超键(super key):在关系中能唯一标识元组的属性集称为关系模式的超键
候选键(candidate key):不含有 多余属性 的超键称为候选键
主键(primary key):用户选作元组标识的一个候选键程序主键

比如一个小范围的所有人,没有重名的,考虑以下属性:
×××、姓名、性别、年龄。

××× 唯一 所以是一个超键
姓名 唯一 所以是一个超键
(姓名,性别) 唯一 所以是一个超键
(姓名,性别,年龄) 唯一 所以是一个超键
--这里可以看出,超键的组合是唯一的,但可能不是最小唯一的

××× 唯一而且没有多余属性 所以是一个候选键
姓名 唯一而且没有多余属性 所以是一个候选键
--这里可以看出,候选键是没有多余属性的超键

考虑输入查询方便性,选择×××为主键
也可以考虑习惯,选择姓名为主键
--主键是选中的一个候选键

一题搞懂什么是候选键:

在SQL Server数据库中,有一个学生信息表如下所示,在该表中不能作为候选键的属性集合为( ) (选择一项)
学号 姓名 性别 年龄 系别 专业
20020612 李辉 男 20 计算机 软件开发
20060613 张明 男 18 计算机 软件开发
20060614 王小玉 女 19 物理 力学
20060615 李淑华 女 17 生物 动物学
20060616 赵静 男 21 化学 食品化学
20060617 赵静 女 20 生物 植物学
a){学号}
b){学号、姓名}
c){年龄、系别}
d){姓名、性别}
e){姓名、专业}

可能大家不知道如何来选择。如果这个题目我们可以正确的解答,那么对于超键以及候选键和主键的概念已经有很深刻的认识了。
透过概念,我们可以了解到,超键包含着候选键,候选键中包含着主键。主键一定是惟一的。为什么呢?因为他的爷爷超键就是惟一的。
我们分析一下上面的题目,abcde5个答案都可以作为超键,他们组合在一起的集合可以用来惟一的标识一个实体。
请注意我们的要求:候选键。候选键要求是不能包含多余属性的超键,我们看一下答案b。在答案b中,如果我们不使用姓名也可以惟一的标识一条数据实体,可以说姓名字段在这里是多余的。那么很明显,b选项包含了多余字段属性。那么这题答案应该选择b。
那么其他的4个选项都可以作为候选键,假设很幸运,a)学号 被选择作为用户正在使用的候选键来惟一标识元组了,那么他很幸运的获得了主键的称号(主键->候选键)。

外键(Foreign Key): 如果 公共关键字 在一个关系中是 主关键字 ,那么这个公共关键字被称为另一个关系的外键。由此可见,外键表示了两个关系之间的相关联系。以另一个关系的外键作 主关键字 的表被称为主表,具有此外键的表被称为主表的从表。外键又称作 外关键字 。换而言之,如果关系模式R中的某属性集不是R的 主键 ,而是另一个关系R1的主键则该属性集是关系模式R的外键,通常在 数据库设计 中缩写为FK。
1.2.2 关系型数据库的E-R模型
1、实体和属性
每个实体由一组属性来表示

实体(Entity)

用矩形表示,矩形框内写明实体名;比如学生 张三丰、学生 李寻欢都是实体。

属性(Attribute)

用椭圆形表示,并用无向边将其与相应的实体连接起来;比如学生的姓名、学号、性别、都是属性。
2、联系

联系(Relationship)

用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n)就是指存在的三种关系(一对一,一对多,多对多)。 比如老师给学生授课存在授课关系,学生选课存在选课关系。

1.2.3 关系型数据库的设计范式
1、第一范式(1Nf)
第一范式(1NF)是指数据库表的每一列都是不可分割的基本 数据项 ,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。

第一范式包括下列指导原则:
数据组的每个属性只能包含一个值;
关系中的每个 数组必须包含相同数量的值;
关系中的每个 数组一定不能相同。
第一范式是对 关系模式的最起码的要求。不满足第一范式的数据库模式不能称为关系数据库。但是满足第一范式的 关系模式并不一定是一个好的关系模式。
2、第二范式(2NF)
若关系模式R∈1NF,并且每一个非主属性都 完全函数依赖 于R的主码,则R∈2NF。 这个唯一属性列被称为 主关键字 或主键、主码。
第二范式(2NF)要求实体的属性完全依赖于 主关键字 。所谓完全依赖是指不能存在仅依赖 主关键字 一部分的属性,如果存在,那么这个属性和 主关键字 的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。

3、第三范式(3NF)
若R∈3NF,则R的每一个非主属性既不 部分函数依赖于候选码也不 传递函数依赖于候选码。
如果R∈3NF,则R也是2NF。

简而言之,第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。例如,存在一个部门信息表,其中每个部门有部门编号(dept_id)、部门名称、部门简介等信息。那么列出部门编号后就不能再将部门名称、部门简介等与部门有关的信息再加入员工信息表中。如果不存在部门信息表,则根据第三范式(3NF)也应该构建它,否则就会有大量的数据冗余。简而言之,第三范式就是属性不依赖于其它非主属性。


1.3 Oracle 11g 的新功能

1.4 Oracle 11g 的安装与卸载
1.4.1 Oracle 11g 的安装
windows下的安装
1.4.2 Oracle 11g 的卸载
使用deinstall.bat卸载

1.5 Oracle 11g 的管理工具
1.5.1 SQL*Plus 工具

1.5.2 Oracle企业管理器(OEM)
地址:https://localhost:1158/em

1.5.3 数据库配置助手(DBCA)

1.6 启动和关闭数据库实例
1.6.1 启动数据库实例:startup
命令选项及含义:
选项
含义
nomount
启动实例不加载数据库,用于创建新数据库或重建数据文件
mount
启动实例,加载数据库并保持数据库的关闭状态,用于执行数据库完全恢复操作
open
启动实例,加载数据库并打开,默认选项,可进行多种操作
force
终止实例并重新启动数据库
restrict指定以受限制的会话方式启动数据库
pfile=filename指定启动实例是所使用的文本参数文件

1.6.2 关闭数据库实例:shutdown
命令选项及含义:
选项
含义
normal
正常方式关闭数据库,oracle将执行如下操作:
1、阻止任何用户建立新的连接
2、等待当前所有正在连接的用户主动断开连接
3、当所有用户都断开连接后,将立即关闭数据库
transactional
在当前所有活动事物被提交完毕后,关闭数据库,oracle将执行如下操作:
1、阻止用户建立新连接和开始新事务
2、等待所有活动事务提交后,再断开用户连接
3、当所有活动事务提交完毕,所有用户断开连接后,将关闭数据库
immediate
在尽可能短的时间内立即关闭数据库,oracle将执行如下操作:
1、阻止用户建立新连接和开始新事务
2、将未提交的活动事务回退
3、关闭数据库
abort
以终止方式关闭数据库,oracle将执行如下操作:
1、阻止用户建立新连接和开始新事务
2、取消未提交的活动事务,而不是回退
3、立即终止正在执行的任何SQL语句
4、立即关闭数据库
这种方式可能会丢失一部分数据信息,影响数据库的完整性