Oracle数据库第二次.pptx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《Oracle数据库第二次.pptx》由会员分享,可在线阅读,更多相关《Oracle数据库第二次.pptx(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Oracle 11g PL/SQLOracle 11g PL/SQL 程序设计教程程序设计教程 第二章第二章 数据库的建立数据库的建立 主讲:杨丽娜主讲:杨丽娜2.1 2.1 数据库的逻辑设计数据库的逻辑设计 2.1.1 2.1.1 关系数据库设计基础关系数据库设计基础 2.1.2 2.1.2 关系数据库规范化关系数据库规范化 1.1.第一范式第一范式 2.2.第二范式第二范式 3.3.第三范式第三范式2.2 2.2 数据库的物理设计数据库的物理设计2.3 2.3 数据库实施数据库实施2.4 2.4 创建数据库创建数据库实体标识符实体标识符:能够将一个实体与其他实体区别开来的属性集。表表:实体
2、的集合。实体实体:表中的行。属性属性:表中的列。几个重要概念几个重要概念n n实体标识符实体标识符表示为表示为关键字关键字或主码或主码。n n上页的关系中,哪些属性适合作为关键字?上页的关系中,哪些属性适合作为关键字?n n例如例如“学生学生”关系中的属性关系中的属性“学生学生学号学号”就是关键字,只要学号确定了,就能知道就是关键字,只要学号确定了,就能知道这个学号对应的姓名、这个学号对应的姓名、性别、出生年月和专业等性别、出生年月和专业等信息,但学生关系中的信息,但学生关系中的“性别性别”和和“专业专业”不能作为关键字,因为不能作为关键字,因为即使性别或专业确定即使性别或专业确定了,还是不能
3、确定学生的姓名了,还是不能确定学生的姓名和学号等信息,同性别或者和学号等信息,同性别或者同专业的同专业的学生太多了。当然如果这个关系中没有同姓名学生太多了。当然如果这个关系中没有同姓名的学生,则姓名也可以作为关键字看待,这要根据具体的语义来决定。的学生,则姓名也可以作为关键字看待,这要根据具体的语义来决定。关键字关键字(主码或主键主码或主键)实体间的联系实体间的联系关系数据库规范化关系数据库规范化知识点知识点:n第一范式(1NF1NF):如果一个实体(表)的所有属性都是不可分割的,即表中的每一行和每一列均有一个值,并且永远不会是一组值。关系关系关系关系 studentsstudentsstud
4、entsstudents不满足第一范式,不满足第一范式,不满足第一范式,不满足第一范式,因为属性因为属性因为属性因为属性 SHSHSHSH(学生的家庭成员)(学生的家庭成员)(学生的家庭成员)(学生的家庭成员)可以再分解,如分解为父亲、母可以再分解,如分解为父亲、母可以再分解,如分解为父亲、母可以再分解,如分解为父亲、母亲。亲。亲。亲。第二范式第二范式在第一范式的基础之上更进一层在第一范式的基础之上更进一层第二范式需要确保数据库表中的每一列都和主键相关,而不第二范式需要确保数据库表中的每一列都和主键相关,而不能只与主键的某一部分相关(主要针对联合主键而言)。能只与主键的某一部分相关(主要针对联
5、合主键而言)。也就是说在一个数据库表中,一个表中只能保存一种数据,也就是说在一个数据库表中,一个表中只能保存一种数据,不可以把多种数据保存在同一张数据库表中。不可以把多种数据保存在同一张数据库表中。联合主联合主键:就是键:就是用用2个或个或2个以上的字段组成主个以上的字段组成主键。键。第二范式第二范式这样就产生一个问题:这个表中是以订单编号和商品编号作这样就产生一个问题:这个表中是以订单编号和商品编号作为联合主键。这样在该表中为联合主键。这样在该表中商品名称商品名称、单位单位、商品价格商品价格等信等信息不与该表的主键相关,而仅仅是与商品编号相关。所以在息不与该表的主键相关,而仅仅是与商品编号相
6、关。所以在这里违反了第二范式的设计原则。这里违反了第二范式的设计原则。而如果把这个订单信息表进行拆分,把商品信息分离到另一而如果把这个订单信息表进行拆分,把商品信息分离到另一个表中,就非常完美了。如下面这两个所示。个表中,就非常完美了。如下面这两个所示。这样设计,在很大这样设计,在很大程度上减小了数据程度上减小了数据库的冗余。库的冗余。如果要获取订单的如果要获取订单的商品信息,使用商品信息,使用商商品编号品编号到到商品信息商品信息表表中查询即可。中查询即可。第三范式第三范式第三范式在第二范式的基础上更进一层。第三范式在第二范式的基础上更进一层。第三范式需要确保第三范式需要确保数据表中的每一列数
7、据都和主键直接数据表中的每一列数据都和主键直接相关相关,而不能间接相关。,而不能间接相关。关系名:关系名:students学生学生属性:属性:student_id 学生学号学生学号(主码)主码)name 学生姓名学生姓名 sex 学生性别学生性别 dob 学生出生日期学生出生日期 SD 学生所在系的名称学生所在系的名称 SL 学生所住宿舍楼学生所住宿舍楼关系关系students 不满足第三不满足第三范式,因为属性范式,因为属性SL还是依还是依赖于主码赖于主码student_id,但也但也可由非主码属性可由非主码属性SD导出,导出,即即SL是函数传递依赖于是函数传递依赖于SD.第三范式第三范式比
8、如在设计一个订单数据表的时候,可以将客户编号作比如在设计一个订单数据表的时候,可以将客户编号作为一个外键和订单表建立相应的关系。而不可以在订单为一个外键和订单表建立相应的关系。而不可以在订单表中添加关于客户其它信息(比如姓名、所属公司等)表中添加关于客户其它信息(比如姓名、所属公司等)的字段。如下面这两个表所示的设计就是一个满足第三的字段。如下面这两个表所示的设计就是一个满足第三范式的数据库表范式的数据库表.外外键:如果键:如果关系模式关系模式R中的某属性集不是中的某属性集不是R的的主键主键,而是另一个关系,而是另一个关系R1的主键则的主键则该该 属性属性集是关系模式集是关系模式R的外键,通常
9、在的外键,通常在数据库设计数据库设计中缩写为中缩写为FK这样在查询订单信息的时这样在查询订单信息的时候,就可以使用客户编号候,就可以使用客户编号来引用客户信息表中的记来引用客户信息表中的记录,也不必在订单信息表录,也不必在订单信息表中多次输入客户信息的内中多次输入客户信息的内容,减小了数据冗余。容,减小了数据冗余。数据库的物理设计数据库的物理设计设计步骤:设计步骤:1.1.存储记录结构设计。存储记录结构设计。2.2.确定数据存储方式。确定数据存储方式。3.3.设计访问方法。设计访问方法。4.4.完整性和安全性考虑。完整性和安全性考虑。5.5.行成物理设计文档。行成物理设计文档。数据库的物理设计
10、数据库的物理设计设计性能可分为以下几类:设计性能可分为以下几类:1.1.查询和响应时间。查询和响应时间。2.2.更新事物的开销。更新事物的开销。3.3.报告生成的开销。报告生成的开销。4.4.主存储空间开销。主存储空间开销。5.5.辅助存储空间。辅助存储空间。数据库实施数据库实施数据库的实现数据库的实现根据逻辑设计和物理设计的结果,在计算机上建立起实际数据根据逻辑设计和物理设计的结果,在计算机上建立起实际数据库结构、装入数据,并进行测试和运行的过程称为数据库的实库结构、装入数据,并进行测试和运行的过程称为数据库的实现。现。运行与维护阶段的主要工作运行与维护阶段的主要工作1.1.维护数据库的安全
11、性和完整性。维护数据库的安全性和完整性。2.2.检测并改善数据库性能。检测并改善数据库性能。3.3.增加新的功能。增加新的功能。4.4.修改错误。修改错误。对用户访问进行控制对用户访问进行控制 理解Oracle RDBMS和Oracle SQL内容回顾:内容回顾:Oracle的SQL实现在很大程度上符合ANSI标准,但并非百分之百地兼容。Oralce的竞争对手也并未做到与该标准完全兼容。Oracle SQL*Plus命令行接口是一种非常好的工具,可以在任何操作系统平台下运行,允许输入和执行SQL命令。Oracle SQL Developer工具是一种非常好的GUI,可以在Windows操作系统
12、中运行,允许输入和执行SQL命令。n区分系统权限和对象权限n授予表上的权限n在数据字典中查看权限n授予角色n区分权限和角色n完成课堂练习三种一般权限类型权限的类型描述系统权限在数据库中执行一项特定任务的能力对象权限在一个特定数据库对象上执行一项特定任务的能力角色由一项或多项系统权限和(或)对象权限,以及(或者)其他角色组成的集合系统权限什么是系统权限?什么是系统权限?使用任何一条SQL语句和(或)在数据库中执行一项任务的权利,就是一项系统权限。什么时候用到系统什么时候用到系统权限?权限?在Oracle中,一般不会轻易在一个服务器上创建多个数据库,在一个数据库中,不同的项目由不同的用户访问,每一
13、个用户拥有自身创建的数据库对象,因此用户的概念在Oracle中非常重要。为了登录数据库,需要为用户账户授予CREATE SESSIONCREATE SESSION系统权限。为了创建一个表,需要为用户账户授予CREATE TABLECREATE TABLE系统权限,而此权限同时包含了创建一个索引的权限。对象权限什么什么是对象权限是对象权限?使用一项系统权限,在数据库中一个特定的已有对象上执行某项任务的权利,就是一项对象权限。与系统权限的不同点:与系统权限的不同点:一个用户账户为了创建数据库对象,必须拥有系统权限。一但成功创建了数据库对象,就可以将一个特定数据库对象的对象权限授予其他用户。可以将系
14、统权限和对象权限授予数据库中的用户,也可以从数据库中的用户收回这两种权限。一些支持性语句一、语法一、语法结构:创建用户结构:创建用户CREATE USER 用户名 IDENTIFIED BY 口令 ACCOUNT LOCK|UNLOCK语法解析:语法解析:LOCK|UNLOCK创建用户时是否锁定,默认为锁定状态。锁定的用户无法正常的登录进行数据库操作。代码代码演示:创建用户演示:创建用户SQL CREATE USER JOAN2 IDENTIFIED BY OFARC3 ACCOUNT UNLOCK;一些支持性语句二、语法二、语法结构结构:修改用户:修改用户ALTER USER 用户名 IDE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle 数据库 第二次
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内