资源描述:
《第2章-2关系数据模型ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、关系数据模型前面介绍了数据模型的分类,层次模型、网状模型、关系数据模型。那么,关系数据模型又是什么样的呢?为什么关系数据模型能够成为当今市场的主流呢?目录关系数据库概述关系数据结构关系的完整性关系操作-----关系代数关系数据库概述关系数据库系统是支持关系数据模型的数据库系统。关系数据模型三要素:关系数据结构、关系操作、完整性约束。1、关系数据结构:二维表2、关系操作:操作的对象和结果都是集合。常用的关系操作:选择、投影、连接、除、并、交、差等查询操作和增、删、改更新操作。关系代数语言----例如ISBL关系数据语言关系演算语言
2、(元组关系演算语言(APLHA)和域关系演算语言(QBE))具有关系代数和关系演算双重特点的语言(SQL)3、完整性约束实体完整性、参照完整性、用户定义的完整性 。关系数据结构一个关系,从用户的观点来说,它是一张二维表。一行(元组),表示计算机中一条记录。一列(属性),表示计算机中一个字段。1、关系域(值域):一组具有相同数据类型的值的集合。笛卡尔积(carttesianproduct):给定一组域D1、D2、…Dn,这些域可以完全相同,也可以部分或全部相同,D1、D2、…Dn的笛卡尔积为D1×D2×…×Dn= {(d1,d2,
3、…,dn)│di∈Di,i=1,2,…n}元组:每一个(d1,d2,…dn)分量:每一个di域基数:域中数据个数。(注:在域中相同的值被视为同一值)例:{0,1}和{0,1,1}等价基数都为2笛卡尔积基数:各域基数的乘。关系:D1×D2×…×Dn的子集叫作在域D1、D2、…Dn上的关系,用R(D1、D2、…Dn)表示度(目、元数):属性的个数就是关系的度。D1=男人的集合={张二,王三,李四}D2=女人的集合={丁梅,王芳}D3=孩子的集合={张英,王世}用二维表表示笛卡尔积D1×D2×D3元组分量笛卡尔积基数m=3×2×2=1
4、2二维表中元组的个数是12家庭关系(父亲,母亲,孩子)3目关系笛卡尔积D1×D2×D3={(张二,丁梅,张英),(张二,王芳,王世),……}举例各个名词属性:表的每列都对应一个域,由于域可以相同,必须为每列起一个名字,称为属性。候选码(candidatekey码):若关系中的某一属性组的值能唯一标识每一个元组,则称该属性组为候选码。主码:(primarykey)若一个关系中有多个候选码,则选定一个为主码。主属性:(primaryattribute)候选码的诸属性。非码属性:不包含在任何候选码中的属性。全码:(all–key)关系
5、模式的所有属性组是这个关系模式的候选码。外码:设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S的主码KS相对应,则称F是基本关系R的外码(foreignkey)。关系1学生(学号,身份证号,姓名,性别,系名)关系2系别(系名,系主任,系学生人数)关系3存折(日期,账号,户名,单位,取款额,余额)关系4片约(影院名,日期,片名)试指出下列关系的候选码、主码、主属性、若有全码、外码,请指出。课堂练习关系1学生(学号,身份证号,姓名,性别,系名)关系2系别(系名,系主任,系学生人数)关系3存折(日期,账号,户名,
6、单位,取款额,余额)关系4片约(影院名,日期,片名)主码候选码全码外码讲解关系类型基本关系(基本表)、查询表(查询结果对应的表)和视图(虚表)。基本关系性质:Ø列是同质的Ø不同列可出自同一个域Ø列的顺序无关Ø任意两个元组不能相同Ø行的顺序无关Ø分量必须取原子值人(张二,王三,李四,丁梅,王芳,张英,王世),家庭关系(父亲,母亲,孩子)定义:关系的描述,简记为R(U)。R:关系名;U:属性名集合;关系实际上就是关系模式在某一时刻的状态和内容。关系模式是型,关系是它的值。即关系的结构就是关系模式关系模式关系:一个关系就是一个二维表,
7、每个关系有一个关系名关系模式:一组被命名的相关属性的集合关系模型:为一个应用系统所建立的一组关系模式,每个模式之间的联系是通过公共属性(即具有相同定义域的属性)实现的。提问:关系、关系模式、关系模型之间联系与区别。关系、关系模式、关系模型关系的完整性实体完整性、参照完整性、用户定义的完整性1、实体完整性(entityintegrity)规则:若属性A是关系R的主属性,则属性A不能取空值。例:1.学生(学号,姓名,性别,专业号,年龄)2.专业(专业号,专业名)3.课程(课程号,课程名)4.选修(学号,课程号,成绩)5.存折(日期,
8、账号,户名,单位,取款额,余额)6.片约(影院名,日期,片名)示例实体完整性又称为行完整性。它把表中的每行都看作一个实体,要求所有行都具有惟一标识。在SQLServer中,可以通过建立PRIMARYKEY约束实现.例如:CREATETABLE客户信息表(客户编号