《数据库原理第03讲关系数据库.ppt》由会员分享,可在线阅读,更多相关《数据库原理第03讲关系数据库.ppt(37页珍藏版)》请在三一办公上搜索。
1、,第2章 关系数据库,主讲:吕震宇,回顾,数据库系统的组成层次数据模型及网状模型的基本概念关系数据模型的相关概念DBMS的功能、工作过程及实现方法数据库设计目标、步骤概念模型的基本概念通过E-R方法描述现实世界的概念模型数据库系统三级模式和两层映像的体系结构数据库系统的逻辑独立性和物理独立性,本章主要内容,关系型数据库关系模型相关概念完整性约束实体完整性、参照完整性、用户定义完整性关系数据语言关系代数ALPHA、QBE,重点难点,重点关系模型完整性约束关系代数难点关系模型及相关概念参照完整性关系代数的除法运算关系演算、谓词逻辑,2.1 关系数据库概述,关系数据库是采用关系模型作为数据的组织方式
2、。关系模型(复习)用二维表结构来表示实体及实体间联系的模型。操纵:查询、更新(插入、修改、删除)。完整性:实体完整性、参照完整性、用户定义完整性。集合操作,操作的对象与结果都是关系。,学生人事记录表,关系名,元组,属性,主码,域,分量,关系模式:学生(学号,姓名,性别,年龄,籍贯),属性名,关系,男,女,关系模型的3个组成部分,1.关系数据结构一张二维表,描述现实世界中实体与实体间的各种联系。2.关系数据操作操作包括:查询(选择、投影、连接、除、并、交、差等)。更新(增、删、改)。特点:集合操作。3.完整性约束实体完整性、参照完整性、用户定义完整性。,关系数据语言,关系数据语言关系代数:是用对
3、关系的运算来表达查询要求的方式。关系演算:是用谓词来表达查询要求的方式。SQL语言:结构化查询语言。几个概念:DDL:数据定义语言。DML:数据操纵语言。DCL:数据控制语言。,2.2 关系数据结构,1、关系从集合论的角度上关系是如何得到的?,Student,穷举,子集,笛卡儿积,集合,关系,张三,李四,王五,男,女,18,19,Student,D1,D2,D3,1、关系,1)域(Domain)是一组具有相同数据类型的值的集合。基数:域中所包含的值的个数。用m表示。例:D1=张三,李四,王五 表示姓名的集合;D2=男,女 表示性别的集合;D3=18,19 表示年龄的集合;,2)笛卡尔积(Car
4、tesian Product)给定一组域D1,D2,,Dn,则笛卡尔积定义为:D1D2Dn(d1,d2,dn)|diDi,i=1,2,n 每一个元素(d1,d2,dn)叫作一个n元组,简称元组。元素中的每一个值di 叫作一个分量。基数:m=mi(所有域的基数的乘积)。,笛卡儿积,集合,张三,李四,王五,男,女,18,19,域,3元组,分量,基数12322,共12行,D1D2D3,D1,D2,D3,笛卡儿积的特点笛卡儿积实际上是一个二维表表的框架由域构成表的每一行对应就是一个元组 每一列数据来自同一个域,3)关系(relation)笛卡儿积的一个子集叫做在域D1,D2,Dn上的关系。用R(D1,
5、D2,Dn)表示。R为关系名n是关系的目或度Di为第i个域。N目关系必有n个属性。,子集,笛卡儿积,关系,Student,关系名,Student(Sname,Ssex,Sage)n=3,属性,单元关系:目为1(n1)的关系二元关系:目为2(n2)的关系属性:由于不同列可以对应一个域(工资、奖金)对每列起一个名字,称为属性n目关系必须有n个属性,码(关键字)能够用来唯一标识一个元组的属性(或属性组合)。候选码(候选关键字)若在一个关系中,存在有多个属性或属性组合都能唯一地标识该关系的元组,则这些属性或属性组合称为该关系的候选码。主码(主关键字)候选码中的一个。,主属性(码属性)候选码的诸属性。非
6、码属性(非主属性)不能作为候选码的属性。外码(外部键、外关键字)当关系中的某个属性或属性组合,不是本关系的码或只是码的一部分,但却是另一关系的码,称该属性或属性组合为本关系的外码。,外部关系码,学生关系,课程关系,选修关系,外码,外码,主码,主码,主码,基本关系(基本表、基表)实际存在的表,是实际存储数据的逻辑表示查询表查询结果对应的表视图表由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据,关系的三种类型,基本关系的性质,列是同质的同一属性名下的诸属性值是同类型数据,且必须来自同一个域,不同的列属性必须有不同的属性名。不同的列可来自同一个域。,姓名2曾用名,列的次序无所谓,可以任意交
7、换,任意两个元组不能完全相同,重复的元组,行的次序无所谓,可以任意交换,不允许“表中套表”,即分量必须取原子值,每一个分量必须是不可分的数据项。,非规范化关系,规范化关系,2、关系模式,是对关系的描述。关系模式必须指出这个元组集合的结构;关系模式应当划出完整性约束条件。关系模式表示:R(U,D,DOM,F)R:关系名;U:属性名集;D:域集;DOM:属性向域的映象集合;F:属性间数据的依赖关系集合。简记:R(U)或 R(A1,A2,An),例:Student关系模式的定义Student(U,D,dom,F)U=sno,name,ageD=CHAR,INTDom=dom(sno)=dom(nam
8、e)=CHAR,dom(age)=INTF=snoname,snoage,关系模式与关系的比较关系=关系的型+关系的值关系模式是型,关系是模式的值关系模式是静态的、稳定的,关系是动态的、随时间不断变化的关系模式和关系统称为关系关系数据库模式是一组关系模式的集合是对关系数据库结构的描述关系数据库模式的值为关系数据库的内容(实例),3、关系数据库,所有实体及实体之间的联系的关系的集合构成一个关系数据库。由一组关系头的集合以及关系体的集合组成关系头的集合:关系数据库模式关系体的集合:关系数据库的内容关系数据库 关系数据库模式(型)关系数据库内容(值),2.3 关系的完整性,1、实体完整性规则若属性A是基本关系R的主属性,则属性A不能取空值。,选修关系,主属性,学生关系,主属性,主属性,职工表(R),部门表(S),主码,外码,2、参照完整性规则若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应,则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。,单表内也可以存在参照与被参照关系,学生关系,3、用户定义完整性针对某一具体关系数据库的约束条件反映某一具体应用所涉及的数据必须满足的语义要求DBMS提供了定义和检查的机制。,字段级规则0=年龄=150,记录级规则工龄=0 OR(年龄-工龄)=18,默认值“男”,