1. 关系
关系数据库是表的集合,即关系的集合。表中一行代表的是若干值之间的关联,即表的一行是由有关联的若干值构成。一个表是一个实体集,一行就是一个实体,它由共同表示一个实体的有关联的若干属性的值所构成。由于一个表是这种有关联的值的集合(即行的集合),而表这个概念和数学上的关系概念密切相关,因此称为关系模型。
空值
(用null表示)是所有可能的域的一个取值,表明值未知或不存在。
域
是一组具有相同数据类型的值的集合。
2. 码
超码
对于关系r的一个或多个属性的集合A,如果属性集A可以唯一地标识关系r中的一个元组,则称属性集A为关系r的一个超码;
候选码
如果属性集A是关系r的超码,且属性集A的任意真子集都不能成为关系r的超码,则称属性集A为候选码。
主码
若一个关系有多个候选码,则可以选定其中的一个候选码作为该关系的主码。对于一个关系而言,要求必须存在候选码,即一个关系中的任意两个元组都是可区分的。
外码
设F是关系r的一个属性(或属性集),K是关系s的主码。如果F与K,相对应(即关系r中属性F的取值范围对应于关系s中主码K的取值范围的子集)则称F是关系r参照关系s的外码,简称F是关系r的外码。
对于一个关系而言,一个最基本的要求是它的每个属性的域必须是原子的。
3. 关系模式
关系的描述称为关系模式,可以形式化地表示为r(U,D,DOM,F),其中,r为关系名,U为组成该关系的属性名的集合,D为属性集U中所有属性所来自的域的集合,DOM为属性向域的映像集合,F为属性间数据的依赖关系集合。关系模式是静态的、稳定的。
关系是关系模式的一个实例,关系中的一个元组是现实世界的一个实体对应于关系模式中各属性在某一时刻的状态和内容,因此,关系的内容是动态的、随时间不断变化的。
4. 关系完整性约束
实体完整性
若属性集A是关系r的主码,则实体完整性规则是指:A不能取空值null。
参照完整性
若关系r的外码F参照关系s的主码,则参照完整性规则是指:对于关系r中的每一个元组在属性F上的取值,要么为空值null,要么等于关系s中某个元组的主码值。
用户完整性
用户自定义完整性是应用领域需要遵循的数据完整性约束,体现了具体应用领域中的数据语义约束,需要由用户根据这些数据语义约東来定义完整性约束规则。
5. 数据库模式导航图
一个含有主码和外码依赖的数据库模式可以通过模式导航图来表示。在模式导航图中,两个关系之间的多对一(或一对一)联系或一个关系内部属性之间的多对(或一对一)联系通过有向连线来表示,且连线由多的一方指向一的一方。也就是说,通过有向连线将关系之间的参照关系表示出来,箭头指向外码所参照的主码。
5. 关系代数
基本的关系代数运算有选择、投影、集合并、集合差、笛卡儿积和更名等。在这些基本运算之外,还有一些其他运算,即集合交、连接、除和赋值等。连接运算可分为连接、等值连接和自然连接,以及外连接、左外连接和右外连接。
给定一个查询需求,构造其关系代数表达式的步骤如下:
①明确该査询涉及哪些属性。
②明确该查询涉及哪些关系。
③根据数据库模式导航图,通过多对一联系(或一对多联系)把所有涉及的关系连接起来,每一个多对一联系(或一对多联系)都可以表示为外码属性的自然连接。
由于多对多联系都要借助于“联系”关系转化为多对一联系(或一对多联系),因此将所有关系连接起来的过程中可能会涉及更多的关系。
网友评论