您的位置:首页 > 数据库 > Oracle

《Oracle从入门到精通》读书笔记第一章 oracle 11g 概述

2013-12-18 16:26 701 查看
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、立即关闭数据库这种方式可能会丢失一部分数据信息,影响数据库的完整性
本文出自 “石头记” 博客,请务必保留此出处http://stonebox.blog.51cto.com/5409313/1342086
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: