关系数据结构关系定义关系性质关系模式关系的完整性实体课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《关系数据结构关系定义关系性质关系模式关系的完整性实体课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系 数据结构 定义 性质 模式 完整性 实体 课件
- 资源描述:
-
1、2022年6月5日18时41分数据库原理1l 关系数据结构关系数据结构 关系定义关系定义 关系性质关系性质 关系模式关系模式l 关系的完整性关系的完整性 实体完整性实体完整性 参照完整性参照完整性 用户定义完整性用户定义完整性l 关系代数关系代数l 关系演算关系演算关系数据库关系数据库 第第2章章2022年6月5日18时41分数据库原理2关系数据库系统研究进展关系数据库系统研究进展 SQL/DSSQL/DS奠定关系奠定关系数据库的数据库的理论基础理论基础2022年6月5日18时41分数据库原理32.1 2.1 关系模型概述关系模型概述关系模型关系模型关系数据结构关系数据结构关系操作集合关系操作
2、集合关系完整性约束关系完整性约束数据结构单一,实体间的数据结构单一,实体间的联系用关系表示,数据的联系用关系表示,数据的逻辑结构是一张二维表。逻辑结构是一张二维表。集合操作方式,即操作集合操作方式,即操作对象和结构都是集合。对象和结构都是集合。实体完整性、参照完整实体完整性、参照完整性和用户完整性。性和用户完整性。2022年6月5日18时41分数据库原理4关系操作关系操作(Select)(Select)选选 择择(Join)(Join)连连 接接(Project)(Project)投投 影影(Divide)(Divide) 除除(Union)(Union) 并并(Intersection)(I
3、ntersection) 交交 (Difference) (Difference) 差差(Insert)(Insert)增增 加加(Delete)(Delete)删删 除除(Update)(Update)修修 改改2022年6月5日18时41分数据库原理5关系数据语言关系数据语言关系代数语言关系代数语言关系演算语言关系演算语言具有关系代数和关系演算双重特点的语言具有关系代数和关系演算双重特点的语言元组关系演算语言元组关系演算语言域关系演算语言域关系演算语言例如:例如:ISBLISBL例如:例如:APLHA, QUELAPLHA, QUEL例如:例如:QBEQBE例如:例如:SQLSQL2022
4、年6月5日18时41分数据库原理62.2 2.2 关系数据结构及形式化定义关系数据结构及形式化定义2.2.1 2.2.1 关系关系 域(域(DomainDomain) 定义定义2.1 2.1 域是一组具有相同数据类型的值的集合。域是一组具有相同数据类型的值的集合。A , 2 , 3 , 4, 5 , , 10 , J , Q , K 在关系中用域来表示属性的取值范围在关系中用域来表示属性的取值范围 域中所包含的值的个数称域的基数域中所包含的值的个数称域的基数( (用用m m表示表示) )D2= , , , 2022年6月5日18时41分数据库原理7 若若D Di i(i i1 1,2 2,n
5、n)为有限集,其为有限集,其基数基数(Cardinal numberCardinal number)为为m mi i(i i1 1,2 2,n n),则),则D D1 1D D2 2D Dn n的基数为:的基数为: M M= mi i=1i=1 n n 定义定义2.2 2.2 给定一组域给定一组域D D1 1,D D2 2,D Dn n,(,(允许部分或全部相同)。允许部分或全部相同)。D D1 1,D D2 2 ,D Dn n的笛卡尔积为:的笛卡尔积为: D D1 1D D2 2D Dn n(d d1 1,d d2 2,d dn n)d di iDDj j,j j1 1,2 2,n n 20
6、22年6月5日18时41分数据库原理8设有域设有域D2= , , , D1D2=( A, ),(),(A, ),(),(A, ),(),(A, ) . . . . . . . . . . . . (K, ),(),(K, ),(),(K, ),(),(K, ) D1=A, 2, 3, , J, Q, K ,K K.A AA A花色花色牌值牌值分量分量元组元组基数基数 : 13134 = 524 = 52 u 笛卡尔积可表示为一个二维表。笛卡尔积可表示为一个二维表。u 表中的每行对应一个元组,表中的每列对应一个域。表中的每行对应一个元组,表中的每列对应一个域。,则笛卡,则笛卡积积2022年6月5
7、日18时41分数据库原理9定义定义2.3 D2.3 D1 1D D2 2D Dn n的子集称为在域的子集称为在域D D1 1,D D2 2, , ,D Dn n上的关系,上的关系, 表示为表示为R(DR(D1 1,D,D2 2, , ,D Dn n) ) 。其中:其中:R R为关系的名;为关系的名;n n为关系的度或目为关系的度或目(Degree)(Degree)。u 关系中每个元素是关系中的元组,通常用关系中每个元素是关系中的元组,通常用t t表示;表示;u 当当n=1n=1时,称为时,称为单元单元关系关系(Unary Relation);(Unary Relation);u 当当n=2n=
8、2时,称为时,称为二元二元关系关系(Binary Relation)(Binary Relation);u 同样可以把关系看作是一个二维表:同样可以把关系看作是一个二维表: 每一行对应一个每一行对应一个元组元组; 表的每一列对应一个域,每个域起一个名字表的每一列对应一个域,每个域起一个名字称为称为 属性属性; ;2022年6月5日18时41分数据库原理10关系类型关系类型基本关系基本关系查询表查询表视图表视图表实际存在的表,是实际存储数据的逻辑表示。实际存在的表,是实际存储数据的逻辑表示。查询结果对应的表。查询结果对应的表。由基本表或其他视图表导出的表,是虚表,由基本表或其他视图表导出的表,是
9、虚表,不对应实际存储的数据。不对应实际存储的数据。2022年6月5日18时41分数据库原理11例:设例:设 D D1 1= =男人集合男人集合(MAN) = (MAN) = 王强、李东、张兵王强、李东、张兵 D D2 2 = =女人集合女人集合(WOMAN) = (WOMAN) = 赵赵红、吴芳红、吴芳 D D3 3= =儿童集合儿童集合(CHILD) = (CHILD) = 王王辉辉、李、李明明、李、李亮亮 (1 1)求上面三个集合的笛卡儿积)求上面三个集合的笛卡儿积MWC赵赵红红王王辉辉赵赵红红李李明明赵赵红红李李亮亮吴芳吴芳王王辉辉吴芳吴芳李李明明吴芳吴芳李李亮亮李东李东赵赵红红王王辉辉
10、李东李东赵赵红红李李明明李东李东赵赵红红李李亮亮李东李东吴芳吴芳王王辉辉李东李东吴芳吴芳李李明明李东李东吴芳吴芳李李亮亮张兵张兵赵赵红红王王辉辉张兵张兵赵赵红红李李明明张兵张兵赵赵红红李李亮亮张兵张兵吴芳吴芳王王辉辉张兵张兵吴芳吴芳李李明明张兵张兵吴芳吴芳李李亮亮李亮李亮吴吴芳芳李东李东李明李明吴吴芳芳李东李东王辉王辉赵赵红红王王强强(2 2)构造一个家庭关系,可表示为:)构造一个家庭关系,可表示为: FAMILYFAMILY(MANMAN,WOMANWOMAN,CHILDCHILD)2022年6月5日18时41分数据库原理12主码的诸属性称为主属性。主码的诸属性称为主属性。若一个关系有多个候
11、选码,则选定其中的一个为主码。若一个关系有多个候选码,则选定其中的一个为主码。关系关系R R的某一属性组的某一属性组X X不是不是R R的码,但是其他某一关系的码,称的码,但是其他某一关系的码,称X X为为R R的外部码。的外部码。5.5.主主 码码(Primary key)(Primary key)6.6.主属性主属性(Prime attribute)(Prime attribute)若关系中的某一属性组的值能唯一的标识一个元组,称该属性组为候选码。若关系中的某一属性组的值能唯一的标识一个元组,称该属性组为候选码。4.4.候选码候选码(Candidate key)(Candidate key
12、)7.7.非码属性非码属性(Non-key attribute)(Non-key attribute)8.8.全全 码码(All-key)(All-key)不包含在任何候选码中的属性称为非码属性。不包含在任何候选码中的属性称为非码属性。9.9.外部码外部码(foreign key)(foreign key)关系模式的所有属性组是这个关系模式的候选码,称为全码。关系模式的所有属性组是这个关系模式的候选码,称为全码。2022年6月5日18时41分数据库原理13例:例:学生:学生:S(S#,SNAME,SA,SD)S(S#,SNAME,SA,SD)课程:课程:C(C#,CNAME)C(C#,CNAM
13、E)选课:选课:SC(S#,C#,GR)SC(S#,C#,GR)S: S: 候选码:候选码:S#,SNAMES#,SNAME;主码:主码:S#S#假设没有学生重名C: C: 候选码:候选码:C#C#; 主码:主码:C#C#SC: SC: 候选码:候选码:(S#,C#)(S#,C#); 主主 码:码:(S#,C#)(S#,C#); 外部码:外部码:S#,C#S#,C#2022年6月5日18时41分数据库原理14l 列是列是同质同质的的(Homogeneous),(Homogeneous),即即每一列中的分量是同一类型的每一列中的分量是同一类型的 数据,来自同一个域。数据,来自同一个域。l 不同的
14、列不同的列可对应于可对应于同一个域同一个域,但给予不同的属性名。,但给予不同的属性名。l 列的顺序无所谓,即列的次序可以任意交换。列的顺序无所谓,即列的次序可以任意交换。l 任意两个元组不能完全相同,即任意两个元组不能完全相同,即无重复行无重复行。l 行的顺序无所谓,即行的次序可以任意交换。行的顺序无所谓,即行的次序可以任意交换。l 分量分量必须取原子值,即每一个分量都必须是不可分的数据项。必须取原子值,即每一个分量都必须是不可分的数据项。基本关系性质:基本关系性质:注:许多关系数据注:许多关系数据 产品,产品,不完全具备该性质不完全具备该性质 关系模型要求关系必须是关系模型要求关系必须是规范
15、化规范化的,规范条件最基本的一的,规范条件最基本的一条就是,性质条就是,性质6 6。规范化的关系简称为。规范化的关系简称为范式范式(Normal Form)(Normal Form)。2022年6月5日18时41分数据库原理152.2.2 2.2.2 关系模式关系模式定义定义2.4 2.4 对关系的描述称为关系模式,记为对关系的描述称为关系模式,记为 R(UR(U,D D,domdom,F F););其中:其中:R R为为关系名关系名,U U为组成该关系的为组成该关系的属性名集合属性名集合,D D为为U U中属性所来自的中属性所来自的域域,domdom为属性向域的为属性向域的映象集合映象集合,
16、F F为属性间为属性间数据的依赖关系集合数据的依赖关系集合。S(S#,SNAME,SA,SD)S(S#,SNAME,SA,SD)关系模式通常简记为关系模式通常简记为: R(U): R(U) 关系模式就是关系的框架(表框架)关系模式就是关系的框架(表框架) 它是对关系结构的描述它是对关系结构的描述 域名及属性向域的映象常直接说明为属性的类型、长度域名及属性向域的映象常直接说明为属性的类型、长度关系模式是型,是静态的、稳定的;关系模式是型,是静态的、稳定的;关系是关系模式的值,是动态的、随时间而变化的。关系是关系模式的值,是动态的、随时间而变化的。 2022年6月5日18时41分数据库原理16 学
17、生关系模式学生关系模式 S S(S#, SNAME, AGE, SEXS#, SNAME, AGE, SEX) 学生课程关系模式学生课程关系模式 SC(S#, C#, GRADE)SC(S#, C#, GRADE) 课程关系模式课程关系模式 C(C#, CNAME, TEACHER)C(C#, CNAME, TEACHER)S#S#SNAMESNAMEAGEAGESEXSEXS#S#C#C#GRADEGRADEC#C#CNAMECNAMETEACHERTEACHERSCSCC CS S2022年6月5日18时41分数据库原理172.2.3 2.2.3 关系数据库关系数据库 在关系模型中,实体以
18、及实体间的联系都是用关系来表示。在关系模型中,实体以及实体间的联系都是用关系来表示。在一个给定的应用领域中,在一个给定的应用领域中,所有实体及实体之间的联系的关系所有实体及实体之间的联系的关系的集合构成一个关系数据库的集合构成一个关系数据库。 关系数据库也有型和值之分:关系数据库也有型和值之分:u 型(型(关系数据库模式关系数据库模式):): 对关系数据库的描述,包括若干对关系数据库的描述,包括若干域的定义以及在这些域上定义的若干关系模式。域的定义以及在这些域上定义的若干关系模式。u 值:关系模式在某一时刻对应的关系的集合,通常称为值:关系模式在某一时刻对应的关系的集合,通常称为关关系数据库系
19、数据库。 2022年6月5日18时41分数据库原理182.3 2.3 关系的完整性关系的完整性完整性约束完整性约束实体完整性实体完整性参照完整性参照完整性用户定义的完整性用户定义的完整性关系的两个不变性关系的两个不变性2022年6月5日18时41分数据库原理19(Entity IntegrityEntity Integrity)规则规则2.1 2.1 若属性若属性A A是基本关系是基本关系R(u)(AuR(u)(Au) )上的主属性,则属性上的主属性,则属性A A 不能取空值。不能取空值。例:选课例:选课SCSC中的中的S#,C#S#,C#均不能取空值。均不能取空值。实体完整性实体完整性p 该
20、规则是针对该规则是针对基本关系基本关系而言的;而言的;p 现实世界中的现实世界中的实体实体是可区分的,即它们是可区分的,即它们具有某种唯一性标识具有某种唯一性标识;p 关系模型中以关系模型中以主码作为唯一性标识主码作为唯一性标识;p 主码中的属性即主码中的属性即主属性不能取空值主属性不能取空值。2022年6月5日18时41分数据库原理20(Referential IntegrityReferential Integrity)规则规则2.2 2.2 若属性(或属性组)若属性(或属性组)F F是关系是关系R R的的外码外码,它与基本关,它与基本关系系S S的的主码主码K Ks s相对应相对应(基本
21、关系(基本关系R R和和S S不一定是不同的关系),不一定是不同的关系),则对于则对于R R中每个中每个元组元组在在F F上的上的取值取值必须为:必须为:u 或者取或者取空值空值(F F的每个属性值均为空值);的每个属性值均为空值);u 或者或者等于等于S S中中的的某某个元组的个元组的主码值主码值。参照完整性参照完整性定义外码与主码之间的定义外码与主码之间的引用规则引用规则2022年6月5日18时41分数据库原理21例:职工例:职工 EMP(EMP#,ENAME,JOB,DEPT#)EMP(EMP#,ENAME,JOB,DEPT#) 部门部门 DEPT(DEPT#,DNAME,LOC)DEP
22、T(DEPT#,DNAME,LOC)例:学生例:学生 S S(S#, SNAME, AGE, SEXS#, SNAME, AGE, SEX) 课程课程 C(C#, CNAME, TEACHER)C(C#, CNAME, TEACHER) 学生课程学生课程 SC(S#, C#, GRADE)SC(S#, C#, GRADE)则:则:EMPEMP中的中的DEPT#DEPT#为空为空或为或为DEPTDEPT中的中的DEPT#DEPT#的值的值则:则:SCSC中的中的S#S#为空为空或为或为S S中的中的S#S#的值的值;SC;SC中的中的C#C#为空为空或为或为C C中的中的C#C#的值的值。202
23、2年6月5日18时41分数据库原理22(User-defined IntegrityUser-defined Integrity)用户定义的完整性用户定义的完整性 用户自定义完整性是针对用户自定义完整性是针对某一具体数据的约束条件某一具体数据的约束条件,反,反映某一具体应用所涉及的映某一具体应用所涉及的数据必须满足的语义要求数据必须满足的语义要求,由应用,由应用环境决定。环境决定。例:例: 属性的取值范围属性的取值范围 ; 属性的非空限制属性的非空限制2022年6月5日18时41分数据库原理23关关 系系 数数 据据 库库 语语 言言关系代数关系代数具有关系代数和关系演算具有关系代数和关系演算
24、双重特点双重特点关系演算关系演算域演算域演算关系数据库关系数据库标准语言标准语言SQLSQL用用关系运算关系运算来表达查询,以来表达查询,以ISBLISBL为代表为代表用用谓词公式谓词公式来表达查询元组演算来表达查询元组演算( (以以行行为变量为变量) ),以,以ALPHAALPHA为代表为代表域演算域演算( (以以列列为变量为变量) ),以,以QBEQBE为代表为代表元组演算元组演算元组演算、域演算元组演算、域演算2022年6月5日18时41分数据库原理242.4 2.4 关系代数关系代数一种抽象的查询语言,用对一种抽象的查询语言,用对关系的运算关系的运算来表达查询。来表达查询。运算的运算的
25、三大要素三大要素:p 运算对象运算对象关系关系p 运算符运算符p 运算结果运算结果关系关系集合运算符集合运算符(并、差、交)(并、差、交)专门的关系运算符专门的关系运算符(广义笛卡尔积、选择、投影、(广义笛卡尔积、选择、投影、 连接、除)连接、除)算术比较符算术比较符(大(大/小于、大小于、大/小于等于、等于、不等于)小于等于、等于、不等于)逻辑运算符逻辑运算符(非、与、或)(非、与、或)2022年6月5日18时41分数据库原理252.4.1 2.4.1 传统的集合运算传统的集合运算l 并并(Union)(Union)运算运算c1c1b1b1a1a1c1c1b2b2a2a2c2c2b3b3a1
展开阅读全文