第2章关系数据库基础精选文档.ppt
《第2章关系数据库基础精选文档.ppt》由会员分享,可在线阅读,更多相关《第2章关系数据库基础精选文档.ppt(95页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第2章关系数据库基章关系数据库基础础本讲稿第一页,共九十五页本章学习目标本章学习目标 深刻理解关系的定义和关系的基本性质,理解相应的概念和术语;深刻理解关系模型及其三个要素;深刻理解关系完整性约束;掌握关系代数的基本运算和应用;了解SQL Server的基本架构和基本构成;掌握SQL Server数据库的存储结构和建立数据库的方法。本讲稿第二页,共九十五页本章重点难点本章重点难点本章学习的重点是围绕关系数据模型的关系数据模型的基基本概念、本概念、深刻理解深刻理解关系数据模型的三个要关系数据模型的三个要素素和和关系完整性约束关系完整性约束,为以后设计、使用和管理关系数据库奠定一个良好基础。本章
2、学习的难点是理解关系完整性约束的关系完整性约束的概念及其作用概念及其作用。本讲稿第三页,共九十五页2.1 关系概念关系概念 关系通俗的讲就是二维表格二维表格,也是人们在日常生活中最常见到的表格数据。关系的基本概念源于数学。关系的形式定义,以及相关的概念和术语。本讲稿第四页,共九十五页 设D1,D2,Dn为任意集合,定义D1,D2,Dn 的笛卡儿积为:其中集合的每一个元素(d1,d2,dn)称作一个n元组,简称元组,元组中每一个di称作元组的一个分量。笛卡儿积(定义)(定义)本讲稿第五页,共九十五页举例举例D1=s2,s4,s7,s9 D2=管理学,经济学,运筹学 则D1D2=(s2,管理学),
3、(s2,经济学),(s2,运筹学),(s4,管理学),(s4,经济学),(s4,运筹学),(s7,管理学),(s7,经济学),(s7,运筹学),(s9,管理学),(s9,经济学),(s9,运筹学)本讲稿第六页,共九十五页排列成表格排列成表格笛卡儿积是二维表格?笛卡儿积是二维表格?本讲稿第七页,共九十五页形式化的关系定义形式化的关系定义 笛卡儿积D1D2 Dn的任意一个子集任意一个子集称为D1,D2,Dn上的一个n元关系。本讲稿第八页,共九十五页关系是笛卡尔积的子集、是表格关系是笛卡尔积的子集、是表格取子集,并将D1、D2分别命名为学号和课程名称本讲稿第九页,共九十五页关系性质关系性质1每一分量
4、必须是不可分的最小数据项,每一分量必须是不可分的最小数据项,即每个属性都是不可再分解的即每个属性都是不可再分解的父父母母孩子孩子李男王男丁女肖女李一李二王一父父母母孩子孩子大大小小李男王男丁女肖女李一王一李二父父母母孩子孩子李男李男王男丁女丁女肖女李一李二王一父父母母大孩大孩小孩小孩李男王男丁女肖女李一王一李二非规范化关系非规范化关系规范化关系规范化关系本讲稿第十页,共九十五页关系性质关系性质2列的个数和每列的数据类型是固定的,即每列的个数和每列的数据类型是固定的,即每一列中的分量是同类型的数据,来自同一个值域一列中的分量是同类型的数据,来自同一个值域学号学号 姓名姓名 性别性别年龄年龄曾用名
5、曾用名0101张三男20张狗子0102李四女18李朋王五0103119王麻子0104赵六21981/2/28赵薇本讲稿第十一页,共九十五页关系性质关系性质3不同的列可以出自同一个值域,每一列不同的列可以出自同一个值域,每一列称为属性,每个属性要给予不同的属性名称为属性,每个属性要给予不同的属性名学号学号 姓名姓名 性别性别年龄年龄姓名姓名0101张三男20张狗子0102李四女18李朋0103王五男19王麻子0104赵六女20赵薇姓名姓名2曾用名曾用名本讲稿第十二页,共九十五页关系性质关系性质4列的顺序是无关紧要的,即列的次序可以列的顺序是无关紧要的,即列的次序可以任意交换任意交换学号学号姓名姓
6、名性别性别年龄年龄曾用名曾用名0101张三男20张狗子0102李四女18李朋0103王五男19王麻子0104赵六女20赵薇学号学号姓名姓名曾用名曾用名性别性别年龄年龄0101张三张狗子男200102李四李朋女180103王五王麻子男190104赵六赵薇女20本讲稿第十三页,共九十五页关系性质关系性质5元组不可以重复,即在一个关系中任意两个元组不可以重复,即在一个关系中任意两个元组不能完全一样元组不能完全一样学号学号 姓名姓名 性别性别年龄年龄姓名姓名0101张三男20张狗子0102李四女18李朋0103王五男19王麻子0104赵六女20赵薇0101张三男20张狗子重复的重复的元组元组重复的重复
7、的元组元组!本讲稿第十四页,共九十五页关系性质关系性质6行的顺序是无关紧要的,即行的次序可以行的顺序是无关紧要的,即行的次序可以任意交换任意交换学号学号姓名姓名性别性别年龄年龄0101张三男200102李四女180103王五男190104赵六女20学号学号姓名姓名性别性别年龄年龄0104赵六女200101张三男200103王五男190102李四女18本讲稿第十五页,共九十五页基本概念和术语基本概念和术语关系 属性 值域 元组 分量 关系模式 关系模型关系数据库 候选关键字 主关键字主属性非主属性本讲稿第十六页,共九十五页关系数据模型实例学号学号姓名姓名性别性别年龄年龄籍贯籍贯0101李勇男20
8、江苏0102刘晨女19山东0103王明女20北京0199张立男18陕西学生人事记录表学生人事记录表关系名关系名关关系系元组元组(行行)属性属性(列列)主关主关键字键字男女值域值域分量分量关系模式:学生(学生(学生(学生(学号学号学号学号、姓名、性别、年龄、籍贯)、姓名、性别、年龄、籍贯)、姓名、性别、年龄、籍贯)、姓名、性别、年龄、籍贯)属性名属性名本讲稿第十七页,共九十五页参照关系与被参照关系参照关系与被参照关系外部关键字 参照关系被参照关系 本讲稿第十八页,共九十五页参照关系与被参照关系参照关系与被参照关系学号学号姓名姓名所在系所在系0101010201030104张三李四王五赵六计算机计
9、算机计算机计算机课程号课程号课程名课程名学时数学时数C01C02C03C04高等数学数据结构操作系统数据库100708060学号学号课程号课程号成绩成绩01010101010201040104C01C02C04C04C039080908570学生学生课程课程选修选修本讲稿第十九页,共九十五页思考题思考题 值域是个什么概念?它和列有什么关系?关系有哪些基本性质?如果有表格或二维表不满足其中的某个性质,这样的表格或二维表是关系吗?讨论关系、关系模式、关系模型、关系数据库的概念。讨论属性、值域、元组、分量的概念。讨论主属性、非主属性、候选关键字、主关键字、外部关键字的概念。讨论参照关系、被参照关系的
10、概念。本讲稿第二十页,共九十五页2.2 关系数据模型关系数据模型 关系数据模型就是用关系来表示现实世界中实体以及实体和实体之间的联系的数据模型。本讲稿第二十一页,共九十五页关系数据模型的三要素关系数据模型的三要素关系数据结构关系数据结构关系数据操作关系数据操作关系数据完整性约束关系数据完整性约束本讲稿第二十二页,共九十五页关系数据结构关系数据结构如何表示现实世界中的实体及其联系?在关系数据模型中,现实世界中的实体及实体与实体之间的联系均用关系关系来表示。本讲稿第二十三页,共九十五页关系操作集合关系操作集合在关系上能进行哪些操作?传统的集合运算专门的关系运算关系数据操作 本讲稿第二十四页,共九十
11、五页关系完整性约束关系完整性约束在数据库中数据完整性是指保证数据正确正确的特性。数据完整性是一种语义概念,它包括两方面的内容:与现实世界中应用需求的数据的相容性和正确性;数据库内数据之间的相容性和正确性。本讲稿第二十五页,共九十五页关系完整性约束关系完整性约束 实体完整性参照完整性用户定义完整性 本讲稿第二十六页,共九十五页实体完整性规则 实体完整性是要保证关系中的每个元组都是实体完整性是要保证关系中的每个元组都是可识别可识别和和唯一唯一的。的。实实体体完完整整性性规规则则要要求求关关系系中中元元组组的的主主关关键键字字的的值值必必须须唯唯一一,不可以为空值不可以为空值。关系数据库管理系统用关
12、系数据库管理系统用主关键字主关键字实现实体完整性。实现实体完整性。返回本讲稿第二十七页,共九十五页参照完整性规则参照完整性规则现实世界中的实体间存在着某种联系,现实世界中的实体间存在着某种联系,而在关系模型中实体是用关系描述的、而在关系模型中实体是用关系描述的、实体之间的联系也是用关系描述的,这实体之间的联系也是用关系描述的,这样就自然存在着关系和关系之间的样就自然存在着关系和关系之间的参照参照或或引用引用。本讲稿第二十八页,共九十五页什么是参照完整性?什么是参照完整性?职工号职工号部门编号部门编号姓名姓名9801980298039804980501010203张三李四王五赵六钱七部门编号部门
13、编号部门名称部门名称01020304经理办公室人事部公关部技术部职工表职工表(R2)部门表部门表(R1)主关键字主关键字外部关键字外部关键字本讲稿第二十九页,共九十五页参照完整性规则参照完整性规则 如如果果属属性性(或或属属性性组组)F是是关关系系R的的外外部部关关键键字字,它它与与关关系系S的的主主关关键键字字K相相对对应应,则则对对于于关关系系R中中每每个个元元组组在属性(或属性组)在属性(或属性组)F上的值必须为:上的值必须为:或者取空值(或者取空值(F的每个属性均为空值);的每个属性均为空值);或者等于或者等于S中某个元组的主关键字的值。中某个元组的主关键字的值。本讲稿第三十页,共九十
14、五页用户定义完整性用户定义完整性 一种与应用密切相关的数据完整性约束,如一种与应用密切相关的数据完整性约束,如某个属性的值必须唯一某个属性的值必须唯一 某个属性的取值必须在某个范围内某个属性的取值必须在某个范围内 某些属性值之间应该满足一定的函数关系等某些属性值之间应该满足一定的函数关系等 类似以上的约束不是关系数据模型本身所要求的,而是为了满足应类似以上的约束不是关系数据模型本身所要求的,而是为了满足应用方面的语义要求而提出的用方面的语义要求而提出的在用户定义完整性中最常见的是限定属性的取值范围,即对值域的在用户定义完整性中最常见的是限定属性的取值范围,即对值域的约束,所以在用户定义完整性中
15、最常见的是域完整性约束。约束,所以在用户定义完整性中最常见的是域完整性约束。本讲稿第三十一页,共九十五页完整性约束的作用完整性约束的作用 执行插入操作时检查完整性执行插入操作时检查完整性 执行插入操作时需要分别检查实体完整性规则、参照完整性规执行插入操作时需要分别检查实体完整性规则、参照完整性规则和用户定义完整性规则。则和用户定义完整性规则。执行删除操作时检查完整性执行删除操作时检查完整性 执行删除操作时一般只需要检查参照完整性规则。执行删除操作时一般只需要检查参照完整性规则。执行更新操作时检查完整性执行更新操作时检查完整性 执行更新操作可以看作是先删除旧的元组,然后再插入新的执行更新操作可以
16、看作是先删除旧的元组,然后再插入新的元组。所以执行更新操作时的完整性检查综合了上述两种情元组。所以执行更新操作时的完整性检查综合了上述两种情况。况。本讲稿第三十二页,共九十五页思考题思考题 什么是数据模型?什么是关系数据模型?关系数据模型有哪几个要素?并说明这些要素所包含的内容。讨论实体完整性规则,它涉及哪些概念?讨论参照完整性规则,它涉及哪些概念?用户定义完整性可以完成哪些方面的约束?分别讨论实体完整性约束和参照完整性约束是如何实现的。讨论关系完整性约束在保证数据正确性方面是如何发生作用的?本讲稿第三十三页,共九十五页2.3 关系代数关系代数 关系代数是实现关系操作的一种方法,是理解关系操作
17、的基础。传统的集合运算并运算交运算差运算广义笛卡尔积专门的关系运算选择运算投影运算连接运算除运算本讲稿第三十四页,共九十五页传统的集合运算传统的集合运算集合的并运算集合的交运算集合的交运算1.关系并运算(关系并运算(RS)a)运算表示:RS=t|tR tSb)两个(同类同类)关系的所有元组合并,删去重复的元组。2.关系差运算(关系差运算(RS)a)运算表示:R S=t|tR tSb)由属于R而不属于S的所有元组组成的集合,即在R中删去与S相同的元组。3.关系交运算(关系交运算(RS)a)运算表示:R S=t|tR tSb)既属于R又属于S的元组的集合,即取相同的元组。本讲稿第三十五页,共九十五
18、页传统的集合运算举例传统的集合运算举例本讲稿第三十六页,共九十五页关系并运算关系并运算A B Ca 2 ca 4 db 4 cA B Ca 4 da 6 db 4 cA B Ca 2 ca 4 db 4 ca 6 dRSRS本讲稿第三十七页,共九十五页关系差运算关系差运算A B Ca 2 ca 4 db 4 cA B Ca 4 da 6 db 4 cA B Ca 2 cRSRS本讲稿第三十八页,共九十五页关系交运算关系交运算A B Ca 2 ca 4 db 4 cA B Ca 4 da 6 db 4 cA B Ca 4 db 4 cRSRS本讲稿第三十九页,共九十五页设R为m元关系,S为n元关
19、系,并且 r=(r1,r2,rm)R s=(s1,s2,sn)S 则 称为元组的连串。这是一个(m+n)元组,前m个分量为R中的一个m元组,后n个分量为S中的一个n元组。元组的连串元组的连串本讲稿第四十页,共九十五页集合的广义笛卡尔积运算集合的广义笛卡尔积运算设R和S是两个关系,如果R是m元关系、有k个元组,S是n元关系、有l个元组,则广义笛卡尔积RS是一个m+n元关系、有kl个元组。广义笛卡儿积可以记作:本讲稿第四十一页,共九十五页广义笛卡尔积举例:广义笛卡尔积举例:A B Ca 2 ca 4 db 4 cD E Fa 4 da 6 db 4 cA B C D E Fa 2 c a 4 da
20、 2 c a 6 da 2 c b 4 ca 4 d a 4 da 4 d a 6 da 4 d b 4 cb 4 c a 4 db 4 c a 6 db 4 c b 4 cRSRS本讲稿第四十二页,共九十五页专门关系运算专门关系运算 选择运算投影运算连接运算除运算本讲稿第四十三页,共九十五页选择运算选择运算 从指定的关系中选择某些元组形成一个新的关系,被选择的元组是用满足某个逻辑条件来指定的。其中R是关系名,r是元组,是选择运算符,F是结果为“真”的逻辑表达式。本讲稿第四十四页,共九十五页选择运算举例:选择运算举例:职工号=E3(订购单)订购单 从订购单关系中选择职工号为“E3”的元组构成新
21、的关系本讲稿第四十五页,共九十五页投影运算投影运算 对指定的关系选择列产生一个新关系。A(R)=r.A|rR 其中R是关系名,是投影运算符,A是被投影的属性或属性集,r.A(或rA)表示r这个元组中相应于属性A的一个分量。根据关系的性质结果中要去掉重复行。本讲稿第四十六页,共九十五页投影运算举例:投影运算举例:订购单关系 选取职工号和供应商号两列构成新的关系职工号,供应商号(订购单)本讲稿第四十七页,共九十五页举例:举例:从订购单关系中,选取出职工号为E3的所经手的订购单号和与之相关的供应商号。订购单关系供应商号,订购单号(职工号=E3(订购单)本讲稿第四十八页,共九十五页连接运算连接运算 连
22、接相互之间有联系的两个关系。连接过程一般是由参照关系的外部关键字和被参照关系的主关键字来控制的,这样的属性通常也称为连接属性。本讲稿第四十九页,共九十五页连接运算连接运算 一般的连接运算也称为连接运算,是比较运算符。连接一般表示为:这里Ai是R中的属性,Bj是S中的属性,连接的结果是一个广义笛卡儿乘积的子集,其中的元组满足Ai和Bj间的关系。当为“=”时,称为等值连接;为“”时,称为大于连接等等。本讲稿第五十页,共九十五页连接运算连接运算AB Ca1 2ca2 4da3 4cDEd4e10AB C DEa12cd4a12ce10a24de10a34ce10RSAB C DEa1 2cd4a1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系 数据库 基础 精选 文档
限制150内