第章关系型数据库和SQL语言课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第章关系型数据库和SQL语言课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系 数据库 SQL 语言 课件
- 资源描述:
-
1、第第7章章 关系型数据库和关系型数据库和SQL语言语言 掌握关系模型的定义;掌握SQL数据定义语句(CREATE)掌握SQL数据插入语句(INSERT)掌握SQL数据查询语句(SELECT);了解关系运算的概念和规范化设计方法 了解SQL数据操纵功能(ALTER DELETE UPDATE DROP)了解SQL数据控制功能(REVOKE GRANT)本章学习要求7.1 关系模型7.1.1 关系模型的定义关系模型的定义 关系型数据库是基于关系数据模型而创建的数据库。关系模型中的实体和实体间的联系都用关系(二维表)表示。关系模型包括关系数据结构、关系操作集合和关系完整性约束三个部分。1.关系模型的
2、数据结构关系模型的数据结构 关系模型的基本数据结构是关系(relation),一个关系形式上就是一张行列结构的二维表 属性的取值范围称为域(属性的取值范围称为域(domain)元组的总数称为关系的基数元组的总数称为关系的基数实体 一个具体的关系可以简单地以关系名及其属性列表来表示 下表中的教师实体的关系数据模式可以表示为:教师(工号,姓名,性别,系别,职称)关系数据模型和数学中的关系概念区别:(1)元组个数为无限的关系没有现实意义,所以关系数据模型中的关系应该是有限集合。(2)数学中元组的值是有序的,而关系模型不强调这种有序性,并通过对关系的各列添加属性名来取消这种有序性。2.关系的性质关系的
3、性质 根据关系的定义,关系应具有如下性质:(1)列应为同质。即每一列中的属性值的数据类型必须相同,来自同一个值域。(2)不同的列可以来自同一个值域,但属性有各自不同的属性名。(3)列的次序无关实际意义,可以任意交换。(4)不可以有完全相同的元组,即集合中不应有重复的元组。(5)行的次序无关实际意义,可以任意交换。(6)属性值必须为原子分量,不可再分。3.主键和外键主键和外键(1)候选键(candidate key)如果关系中的某个属性或属性的组合的值可以唯一地标识一个元组,而它的任何真子集均无此特性,则称这个属性或属性的组合为该关系的候选键。极端情况下,候选键包含全部属性,则称为全键。(2)主
4、键(primary key)一个关系至少应具有一个候选键,也可能有多个候选键,选择候选键中的一个为主键。包含在主键中的属性称为主属性,不包含在主键中的属性称为非主属性。(3)外键(foreign key)如果关系R1中一个属性或属性的组合Xn与关系R2中的主键的数据对应,则称Xn为关系R1关于R2(R2可以为R1自身)的外键。例例7-1:对于如下的“教学记录”数据库(有下划线的属性为主属性有下划线的属性为主属性),假定同一个教师可以讲授多门课程,不同班级的同一课程由不同的教师讲授:教师(工号,姓名,出生年月,单位,性别,职称)班级(班级编号,人数)课程(课程编号,课程名称,学分,先修课程编号)
5、课表(课程编号,工号,班级编号)4.关系的完整性约束关系的完整性约束(1)实体完整性(entity integrity):在一个关系中,主键的所有主属性都不得为空值 (2)参照完整性(referential integrity):关系中元组的外键取值只能等于所参照的关系的某一元组的主键值,或者为空值。(3)用户自定义完整性:根据实际情况对关系设定约束条件7.1.2 关系运算关系运算1.传统的集合运算传统的集合运算 如果关系R1和关系R2同为n度(即都有n个属性)相应的属性取自同一个值域(1)并将两个关系中的所有元组合并,删去重复元组,组成一个新的关系在关系数据库中,通过并运算可以实现元组的插入
6、(insert)。(2)差从R1中删去与R2相同的元组,组成一个新的关系在关系数据库中,通过差运算可以实现元组的删除(delete)。(3)交 R1和R2中取相同的元组,组成一个新的关系(4)广义笛卡尔积 通过先差运算再并运算可以实现元组的更新(update),通过广义笛卡尔积可以实现两个实体集的连接。2.专门的关系运算专门的关系运算(1)选择 从一个关系中找出满足指定条件的元组的操作(2)投影 从一个关系中选出指定若干属性的操作称为投影(3)连接 把两个关系中的元组按照一定条件横向联合,形成一个新的关系 “纽带”是两个关系的公共字段或语义相同的字段。7.1.3 规范化设计方法规范化设计方法
7、所谓数据库的规范化设计,就是在进行关系模式设计时,通过投影或分解操作剔除属性间的不良依赖,将低一级的范式(Normal Form)向若干高一级范式转化的过程。常见的方法通过E-R图进行概要设计基于关系规范化理论进行设计 于1971年由关系数据模型的创始人E.F.Codd首先提出E.F.Codd提出了第一范式(1NF)、第二范式(2NF)和第三范式(3NF)1974年Codd和Boyce共同提出了BCNF规范化程度更高的还有4NF、5NF1.第一范式(第一范式(1NF)(1)“不可以有完全相同的元组,即集合中不应有重复的元组”。这一点可以通过主键的主属性非空及主键的唯一性保证;(2)“属性值必须
8、为原子分量,不可再分”。2.第二范式(第二范式(2NF)如果一个关系属于1NF,且所有非主属性完全依赖于主关键字,则称该关系属于2NF。不符合不符合2NF要求的关系要求的关系符合符合2NF的关系的关系 3.第三范式(3NF)如果一个关系属于2NF,且每个非主属性不传递依赖于主键,即非主属性之间无依赖关系,则称该关系属于3NF。不符合不符合3NF的关系的关系 规范化的优点 避免数据的插入、删除和更新异常,确保数据的一致性 避免数据的冗余,使数据库的结构简洁、明晰 当关系模式完全属于3NF,用户对记录值进行更新时就无须在超过两个以上的地方更改同一数值 规范化的缺点关系模式中表的数目一般会有所增多D
9、BMS进行连接查询时系统的复杂度和运行时间都有所增加7.2 结构化查询语言SQL 7.2.1 SQL语言概述语言概述 1.SQL语言的产生及发展语言的产生及发展 由Boyce等人在1974年提出结构化查询语言(structured query language,SQL)经国际标准化组织(International Organization for Standardization,ISO)指定为国际标准2.SQL语言的组成及特点语言的组成及特点(1)SQL语言的组成 数据定义语言(data definition language,DDL),用于定义数据库的逻辑结构,包括基本表、索引和视图 数据操
10、纵语言(data manipulation language,DML),用于数据查询和数据更新(插入、删除和修改)数据控制语言(data control language,DCL),用于对基本表和视图的授权、事务控制语句等(2)SQL语言的特点 集数据的定义、操纵和控制功能于一体;面向集合的操作方式;高度非过程化,路径选择及处理过程由系统自动完成;既可独立使用,又可嵌入到高级语言中使用;只含九条核心语句,结构化很强;类似自然语言,易学易用。3.SQL对关系模型的支持对关系模型的支持SQL视图 1视图 2基表 1基表 2基表 3基表 4存储文件 1存储文件 2外模式内模式模式注意:不同的注意:不
展开阅读全文