资源描述:
《关系模型数据库》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第2章关系数据库基础关系数据库采用关系数据模型,已经历了40多年的发展,从理论到技术都已经非常成熟,是目前广泛使用的主流数据库系统,也是数据库课程要讲授的主要内容。本章主要包括关系的基本概念、关系数据模型、关系完整性约束和关系代数等内容。本章内容2.1关系模型的基本概念2.2关系的定义2.3关系操作与代数2.4关系的完整性约束2.5关系数据库系统结构本章问题什么是关系数据模型?关系数据模型有哪3个要素?并说明这些要素所包含的内容。实体完整性规则,它涉及哪些概念?约束是如何实现的?参照完整性规则,它涉及哪些概念?约束是如何实现的?用户定义
2、完整性可以完成哪些方面的约束?关系完整性约束在保证数据正确性方面是如何发生作用的?数据库管理系统的抽象层次?2.1关系模型的基本概念关系模型用关系(二维表)表示实体以及实体之间联系的模型称为关系数据模型。关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。1.关系数据结构2.关系操作集合3.关系完整性约束关系模型实体完整性参照完整性用户定义完整性2.1.1关系的数据结构在关系模型中,所有的数据都用关系(也称二维表)来作为逻辑结构。关系模型将信息世界中每一个实体集抽象为数据库中的一个关系,不同实体集之间多对多联系也抽象为关系。
3、一个关系有固定数量的命名的列(也称属性或字段)和可变数量的行(也称元组或记录)关系中的每行代表实体集的一个实例,即实体集中的一个实体对应表中的一行;而每个属性包含特定实例的一些性质的一个值,即实体的一个属性对应于表中的一列。实体集的所有成员有相同的属性。这些关系的集合构成了关系数据库。其中数据库、表等又是以文件形式存储在计算机的外存储器上。2.1.2关系操作集合和关系操作语言表达(或描述)关系操作的关系操作语言可以分为三类:1关系代数语言ISBL2关系演算语言元组关系演算语言APLHA、QUEL域关系演算语言QBE3具关系代数与关系演算
4、双重特点的语言SQL2.1.2关系操作集合和关系操作语言关系模型中常用的关系操作集合包括查询和更新操作二类:查询操作选择(Select)投影(Project)连接(Join)除(Divide)并(Union)交(Intersection)差(Difference)等查询(Query)操作更新操作插入(Insert)删除(Delete)修改(Update)操作。2.1.3关系的完整性约束关系的完整性约束是对关系操作时必须满足的约束条件,确保数据库中数据的正确性、一致性和有效性,防止错误的数据进入数据库造成无效操作。关系的完整性约束条件包括
5、三大类:实体完整性参照完整性用户定义完整性2.2关系的概念2.1.1域2.2.2笛卡儿积2.2.3关系的形式化定义2.2.1域定义:域是一组具有相同数据类型的值的集合。如整数的集合、字符串的集合、全体学生的集合等。域通常用名字、数据类型‘格式以及值的约束范围来指定。域中所包含的值的个数称域的基数,用m表示。例如:D1={S1,S2,S3}m1=3D2={王家平,张晓红,刘大钢}m2=3D3={男,女}m3=22.2.2笛卡儿积定义:给定一组任意域D1,D2,…,Dn(它们可以包括相同的元素),这n个域的笛卡儿积为:D1×D2×…×Dn=
6、{(d1,d2,…,dn)
7、di∈Di,i=1,2,…,n}。其中:Di称为域每一个元素(d1,d2,…,dn)叫做一个n元组,简称元组。元素中每一个值di叫做一个分量,它来自相应的域(di∈Di)Di(i=1,2,…,n)为有限集,Di中的集合元素个数称为Di的基数,用mi(i=1,2,…,n)表示。笛卡儿积D1×D2×…×Dn中元组的个数为m1×m2×....×mn,所有域的基数的累乘乘积。2.2.2笛卡儿积笛卡尔积可表示为一个二维表,表中的每行对应一个元组,表中的每列对应一个域。D1D2…Dnd11d21dn1…d1md2mdnm
8、D1×D2×…×Dn=2.2.2笛卡儿积实例,设有学号SNO、姓名NAME和性别SEX三个域:SNO={S1,S2,S3}SN={王家平,张晓红,刘大钢}SEX={男,女}笛卡儿积SNO×SN×SEX={(S1,王家平,男),(S1,王家平,女),(S1,张晓红,男),(S1,张晓红,女),(S1,刘大钢,男),(S1,刘大钢,女),(S2,王家平,男),(S2,王家平,女),(S2,张晓红,男),(S2,张晓红,女),(S2,刘大钢,男),(S2,刘大钢,女),(S3,王家平,男),(S3,王家平,女),(S3,张晓红,男),(S3,
9、张晓红,女),(S3,刘大钢,男),(S3,刘大钢,女)}该笛卡儿积的基数为3*3*2=18,即有18个元组。2.2.2笛卡儿积笛卡儿积SNO×SN×SEX的积用二维表表示如左图所示:SNOSNSEXS1王