资源描述:
《ch2关系模型与关系代数》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第2章关系模型与关系代数数据库系统原理与设计目录关系模型2.1关系代数2.2关系模型系统而严格地提出关系模型的是美国IBM公司的E.F.Codd1970年提出关系数据模型E.F.Codd,“ARelationalModelofDataforLargeSharedDataBanks”,《CommunicationoftheACM》,1970关系数据库系统是支持关系数据模型的数据库系统。关系数据库管理系统是当今的主流数据库管理系统。关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。关系数据结构关系关系模型的
2、数据结构非常简单,它就是二维表,亦称为关系。关系数据库是表的集合,即关系的集合。表是一个实体集,一行就是一个实体,它由共同表示一个实体的有关联的若干属性的值所构成。由于一个表是这种有关联的值的集合(即行的集合),而表这个概念和数学上的关系概念密切相关,因此称为关系模型。关系模型中,现实世界的实体以及实体间的各种联系都是用关系来表示。关系数据结构关系数据结构的形式化定义域——是一组具有相同数据类型的值的集合。笛卡尔积给定一组域D1,D2,…,Dn,它们之中可以有相同的域。D1,D2,…,Dn的笛卡尔积为:D1×D2×…
3、×Dn={(d1,d2,…,dn)∣di∈Di,i=1,2,…,n}其中,集合中的每一个元素(d1,d2,…,dn)称为一个n元组,简称为元组;元素中的每一个值di称为一个分量。若Di(i=1,2,…,n)为有限集,假设其基数为mi(i=1,2,…,n),则D1×D2×…×Dn的基数M为:举例:给定两个域:学生的姓名集合:D1={‘李小勇’,‘刘方晨’,‘王红敏’}课程的名称集合:D2={‘数据库系统概论’,‘操作系统’}则D1,D2的笛卡尔积为:D1×D2={(‘李小勇’,‘数据库系统概论’),(‘李小勇’,‘操作
4、系统’),(‘刘方晨’,‘数据库系统概论’),(‘刘方晨’,‘操作系统’),(‘王红敏’,‘数据库系统概论’),(‘王红敏’,‘操作系统’)}关系数据结构关系数据结构的形式化定义关系D1×D2×…×Dn的子集称为在域D1,D2,…,Dn上的关系,表示为:r(D1,D2,…,Dn)其中,r表示关系的名字,n是关系的目或度(degree)。当n=1时,称该关系为单元关系;当n=2时,称该关系为二元关系。关系是笛卡尔积的有限子集,所以关系也是一个二维表,表的每行对应于关系的一个元组,表的每列对应于关系的一个域。由于域可以相
5、同,为了区别就必须给每列起一个名字,称为属性(attribute)。n目关系共有n个属性。关系数据结构关系数据结构的形式化定义超码:对于关系r的一个或多个属性的集合A,如果属性集A可以唯一地标识关系r中的一个元组,则称属性集A为关系r的一个超码(superkey)。候选码:对于关系r的一个或多个属性的集合A,如果属性集A的任意真子集都不能成为关系r的超码,则称属性集A为候选码(candidatekey)。主码:若一个关系有多个候选码,则可以选定其中的一个候选码作为该关系的主码。空值:所有可能的域的一个取值,表明值未知
6、或不存在。如果某学生的speciality属性值为null,则表示该学生还没有明确所学专业,或不知道他的所学专业。举例:Student关系studentNostudentNamesexbirthdayspeciality0701001李小勇男1990-12-21计算机0701008王红男1992-04-26计算机0802002刘方晨女1990-11-11信息系统0802005王红敏女1990-10-01信息系统0703045王红男1992-04-26会计学0703010李宏冰女1992-03-09会计学超码:stud
7、entNo,{studentNo,studentName}、{studentNo,sex}、{studentNo,studentName,speciality}、…候选码:studentNo和{studentName,speciality}——与语义有关主码:studentNo关系数据结构关系模式对于一个二维表,有表头部分和表体部分,表头部分定义了该表的结构,即定义了该表由哪些列构成(假设由n列构成),每个列的名字和取值范围等;表体就是所有数据行的集合,每一个数据行都是由表头部分规定的n列有关联的取值的集合构成。对应
8、于关系数据库,表的每一个数据行对应于关系的一个元组,表体对应于关系,关系是元组的集合,关系是值的概念;表头部分对应于关系模式,关系模式是型的概念,它定义了元组集合的结构,即定义了一个元组由哪些属性构成(假设由n个属性构成),每个属性的名字和来自的域等.关系数据结构关系模式关系的描述称为关系模式(relationschema)。形式化地表示为:r