关系数据库与应用(第02章关系模型与关系代数).ppt

上传人:xin****828 文档编号:15505145 上传时间:2020-08-14 格式:PPT 页数:76 大小:5.66MB
返回 下载 相关 举报
关系数据库与应用(第02章关系模型与关系代数).ppt_第1页
第1页 / 共76页
关系数据库与应用(第02章关系模型与关系代数).ppt_第2页
第2页 / 共76页
关系数据库与应用(第02章关系模型与关系代数).ppt_第3页
第3页 / 共76页
点击查看更多>>
资源描述
第2章 关系模型与关系代数,本章主要内容: 深入讨论关系模型的三要素(关系数据结构、关系操作和关系完整性约束条件)以及关系代数。,第2章 关系模型与关系代数,插入 参照第4章,4.1、 数据库设计过程,数据库设计步骤,关系1(属性1、属性2、属性3) 关系2(属性4、属性5、属性6) 关系3(属性1、属性2、属性7) 关系4(属性4、属性8、属性9) ,R1(A1、A2、A3) R2(A4、A5、A6) ,R3(A1、A2、A7) R4(A4、A8、A9) ,数据库,需求分析,概念结构 设计,逻辑结构 设计,物理结构 设计,数据库 实施,数据库 运行维护,4.2、E-R模型基本概念及表示,1、实体与实体集 2、属性 3、联系与联系集,学生,课程,上课,引子,一、现实世界的信息化过程,?,4.3、约束,一、现实世界的信息化过程,抽象化数字化,一、现实世界的信息化过程,第一步:现实世界向信息世界转化概念模型,厂名,厂址,生产产品,产品型号,邮政编码,联系电话, 传真,网址,电子信箱,,姓名,性别,出生年月,家庭住址,邮政编码,身份证号,籍贯,本人身份,电话,传真,手机,,景点名称,景点特色,景点地址,入门票价,行车路线, 景点所属省,景点所属市,,设备名称,设备型号,硬盘容量,显示器型号,光驱型号, 主频,内存,,设备名称,车牌,车型,尺寸,车排量,发动机型号, 纽距,,比赛名称,比赛项目,类(级)别,主办单位,协办单位, 比赛开始时间,比赛终止时间,基本规则,一、现实世界的信息化过程,厂名,厂址,生产产品,产品型号,邮政编码,联系电话, 传真,网址,电子信箱,,实体:客观存在的事物、概念或人 工厂、人、旅游景点、计算机设备、汽车、足球赛事,属性:实体固有的特征,域:属性的取值范围,一、现实世界的信息化过程,第一步的结果: 将现实世界转换成由实体、属性、域等概念组成的概念模型 概念模型的描述方式:ER图,二、概念模型及ER图,域:一个属性的取值范围。 例如:姓名的取值范围字符 出生日期的取值范围日期 电话号码的取值范围数字 入门票价的取值范围大于零的实数 码:惟一标识某一个具体实体的属性集。 人(姓名,性别,出生年月,家庭住址,邮政编码,身份证号,籍贯,本人身份,电话,传真,手机,) 姓名? 本人身份? 身份证号? 人员编码,二、概念模型及ER图,图中实体的表示方法,学生,教师,学号,教工号,二、概念模型及ER图,联系:实体与实体之间客观存在着相互间的联系即称为实体间的联系。 例如: 一个学生只能属于某一个学院的某一个班级 一个学院有多个班级,一个班级只能属于某一个学院 一个教师只能属于某一个学院的某一个教研室 一个学院有多个教研室,一个教研室只能属于某一个学院 一个教师可以讲授多门课程,一个课程可以有多个教师来讲授。 一个学生可以选修多个课程,一门课程可以被多个学生选修 一个人(学生和教师)只能有一个身份证号,学院,班级,教研室,课程,学生,教师,身份证,班级编号,联系的种类,两个实体之间的联系 一对一联系(1:1): 例如:学生和身份证之间、教师和身份证之间 一对多联系(1:n): 例如:学生和班级、教师和教研室 班级和学院、教研室和学院 多对多联系(n:m): 例如:学生选课、教师授课,三、数据模型暨关系模型,学生信息表,三、数据模型暨关系模型(实体转换为关系模型结果),学生信息表(学号,姓名,性别,出生日期,籍贯,民族) 教师信息表(教工号,姓名,性别,出生日期,籍贯,民族) 课程信息表(课程号,课程名称,学时数,学分数,先修课程) 班级表(班级编号,班级名称,班级人数) 学院信息表(学院名称,学院地址) 教研室信息表(教研室名称,教研室人数) 身份证信息表(身份证号,发证单位),三、数据模型暨关系模型(联系向关系模型的转换),多对多关系(n:m)向关系模型的转换,学生选课表(学号,课程号,成绩),学生选课表,三、数据模型暨关系模型(联系向关系模型的转换),多对多关系(n:m)向关系模型的转换,教师授课表(教工号,课程号),教师授课表,三、数据模型暨关系模型(联系向关系模型的转换),一对一联系向关系模型的转换,方案1:身份证信息1表(身份证号,发证单位,人员编号) 方案2:教师信息表(教工号,身份证号),方案1:身份证信息1表,方案2:教师信息表,三、数据模型暨关系模型(联系向关系模型的转换),一对一联系向关系模型的转换,方案1:身份证信息2表(身份证号,发证单位,人员编号) 方案2:学生信息表(学号,身份证号),方案1:身份证信息2表,方案2:学生信息表,三、数据模型暨关系模型(联系向关系模型的转换),一对多联系向关系模型的转换,方案:学生信息表(学号,班级编号),方案:学生信息表,三、数据模型暨关系模型(联系向关系模型的转换),一对多联系向关系模型的转换,方案:班级信息表(班级编号,班级名称。班级人数,学院名称),方案:班级信息表,三、数据模型暨关系模型(联系向关系模型的转换),一对多联系向关系模型的转换,方案:教研室信息表(教研室名称,教研室人数,学院名称),方案:教研室信息表,三、数据模型暨关系模型(联系向关系模型的转换),一对多联系向关系模型的转换,方案:教师信息表(教工号,教研室名称),方案:教研室信息表,三、数据模型暨关系模型,ER图向关系模型转换的重要方法 实体 一个实体可以转换为一个关系 联系 N:M联系将联系转换为一个关系 1:1联系 将联系体现在任一个实体中 1:N联系 将联系体现在多端的实体中,概念模型与关系模型,实体N:M联系,实体1表,实体2表,联系1表,概念模型与关系模型,实体1:1联系,实体1表,实体2表,概念模型与关系模型,实体1:N联系,实体1表,实体2表,三、数据模型暨关系模型,E-R图完整的关系模式(教学管理系统关系模式) 学生信息表(学号,姓名,性别,出生日期,籍贯,民族,身份证号,班级编号) 教师信息表(教工号,姓名,性别,出生日期,籍贯,民族,身份证号,教研室名称) 课程信息表(课程号,课程名称,学时数,学分数,先修课程) 班级表(班级编号,班级名称,班级人数,学院名称) 学院信息表(学院名称,学院地址) 教研室信息表(教研室名称,教研室人数,学院名称) 身份证信息表(身份证号,发证单位) 学生选课表(学号,课程号,成绩) 教师授课表(教工号,课程号),概念模型与关系模型练习,学院为学生建立档案 在通讯档案里要包括学生学号、姓名、入学年份、出生日期、家庭住址、家庭邮政编码、家庭联系电话、本人联系电话、家长姓名。 一个学生只能属于一个班级、一个班级可以有多名学生 一个学生只能来自一个省份、一个省份有多名学生 一个学生只能在一个专业学习,一个专业可以有多个班级,但一个班级只能属于一个专业 一个班级只有一位班长。,域域是一组具有相同数据类型的值的集合。 例如: 男人= 张晓,王和,李东 女人= 刘红,钱丽,孙倩 男人女人=(张晓、刘红),(张晓、钱丽),(张晓、孙倩), (王和、刘红),(王和、钱丽),(王和、孙倩), (李东、刘红),(李东、钱丽),(李东、孙倩) 数学表示: D1D2=(d1,d2) | diDi, i=1,2笛卡儿积,2.1 关系模型,2.1.1 关系数据结构,笛卡儿积的一般性描述: 给定一组域D1,D2 , D3 , DN ,则 D1D2D3DN =(d1,d2,d3,,dn) | diDi, i=1,2,n 其中: (d1,d2,d3,,dn) 称为一个元组,元组中的每个di是Di域中的一个值,称为分量。 当n=1时 单元组 当n=2时 二元组,2.1 关系模型,一、关系的定义,一、关系的定义,关系的定义: 给定一组域D1,D2 , D3 , DN ,则 D1D2D3DN的子集称为D1D2D3DN 上的关系 记为:R( D1,D2 , D3 , DN ) 男人女人=(张晓、刘红),(张晓、钱丽),(张晓、孙倩), (王和、刘红),(王和、钱丽),(王和、孙倩), (李东、刘红),(李东、钱丽),(李东、孙倩) 夫妻(男人,女人)=(张晓、刘红),(王和、钱丽),(李东、孙倩),一、关系的定义,关系的二维表表示:,夫妻关系,属性的取值范围称为域,关键字:用来唯一标识某个记录的一个或一组属性,笛卡儿积和关系的练习,关系的练习: 学校开设了一些课程,因此有课程集合是: 课程=(高等数学,信息专业),(英语,信息专业),(英语,人文专业), (文学,人文专业) 学生=050001,050002,050003,050011,050012,050013,学生课程= ( 050001,高等数学,信息专业),( 050001,英语,信息专业), ( 050001,英语,人文专业),( 050001,文学,人文专业), ( 050002 ,高等数学,信息专业),( 050002 ,英语,信息专业),( 050002,英语,人文专业), ( 050002 ,文学,人文专业), ( 050003 ,高等数学,信息专业),( 050003 ,英语,信息专业),( 050003,英语,人文专业), ( 050003 ,文学,人文专业), ( 050011 ,高等数学,信息专业),( 050011 ,英语,信息专业),( 050011,英语,人文专业),( 050011 ,文学,人文专业), ( 050012 ,高等数学,信息专业),( 050012 ,英语,信息专业),( 050012,英语,人文专业),( 050012 ,文学,人文专业), ( 050013 ,高等数学,信息专业),( 050013 ,英语,信息专业),( 050013,英语,人文专业),( 050013 ,文学,人文专业),课程=(高等数学,信息专业),(英语,信息专业),(英语,人文专业), (文学,人文专业) 学生=050001,050002,050003,050011,050012,050013,笛卡儿积和关系的练习,课程=(高等数学,信息专业),(英语,信息专业),(英语,人文专业),(文学,人文专业) 学生=050001,050002,050003,050011,050012,050013 假设学号中的第五位是“0”表示该学生是信息专业,第五位是“1”表示该学生是人文专业。求学生选课关系,条件是本专业学生只能选本专业的课程。,学生课程= ( 050001,高等数学,信息专业),( 050001,英语,信息专业), ( 050001,英语,人文专业), ( 050001,文学,人文专业), ( 050002 ,高等数学,信息专业),( 050002 ,英语,信息专业), ( 050002,英语,人文专业), ( 050002 ,文学,人文专业), ( 050003 ,高等数学,信息专业),( 050003 ,英语,信息专业), ( 050003,英语,人文专业), ( 050003 ,文学,人文专业), ( 050011 ,高等数学,信息专业),( 050011 ,英语,信息专业), ( 050011,英语,人文专业), ( 050011 ,文学,人文专业), ( 050012 ,高等数学,信息专业),( 050012 ,英语,信息专业), ( 050012,英语,人文专业), ( 050012 ,文学,人文专业), ( 050013 ,高等数学,信息专业),( 050013 ,英语,信息专业), ( 050013,英语,人文专业), ( 050013 ,文学,人文专业),学生选课= ( 050001,高等数学,信息专业),( 050001,英语,信息专业), ( 050002 ,高等数学,信息专业),( 050002 ,英语,信息专业), ( 050003 ,高等数学,信息专业),( 050003 ,英语,信息专业), ( 050011,英语,人文专业),( 050011 ,文学,人文专业), ( 050012,英语,人文专业),( 050012 ,文学,人文专业), ( 050013,英语,人文专业),( 050013 ,文学,人文专业),关系的二维表表示,二、关系的性质,1、关系可以是空关系 2、关系中的列为属性,N度关系必有N个属性,属性必须命名。 3、不同的属性可以来自同一个域;同一列中的分量只能来自同一个域,是同类型的数据,二、关系的性质,4、列的次序无关紧要,可以任意交换 5、关系中的元组顺序无关紧要,但在同一个关系中不能有相同的元组。,二、关系的性质,6、关系中的每个属性必须是原子的,是不可分的数据项(属性)。 7、由于在对关系数据库操作时,随时都可能做修改性操作,则会使关系发生变化。,二、关系的性质,8、判断两个关系是否相等,与属性次序无关,与关系的命名也无关。如果两个关系的差别只是关系名不同,属性次序不同或元组次序不同,那么这两个关系相等。,A,B,C,关系模型中的完整性约束,实体完整性规则 关系中每一个元组中的主键不能为空且取值必须唯一。 例如: 学生信息表(学号,姓名,性别,出生年月,籍贯,民族,身份证号,所属班级) 学院信息表(学院名称,学院地址) 学生选课表(学号,课程号,成绩),2.1.2 关系完整性约束条件,关系模型中的完整性约束,学生信息表(学号,姓名,性别,出生日期,家庭地址,身份证号,班级名称) 班级信息表(班级名称,班级人数,学院名称) 学院信息表(学院名称,学院地址),学生信息表,班级表,学院信息表,?,关系模型中的完整性约束,学院,班级,学生,隶属1,隶属2,1,n,n,1,学生信息表(学号,姓名,性别,出生日期,籍贯,民族,身份证号,班级编号) 班级信息表(班级编号,班级名称,班级人数,学院名称) 学院信息表(学院名称,学院地址),外键:关系与关系之间的联系是通过公共属性相联系的,这个公共属性是一个关系的关键字和另一个关系的非关键字属性,班级信息表是学生信息表的参照表 学院信息表是班级信息表的参照表 利用外键可以实现了E-R图中的联系,关系模型中的完整性约束,参照完整性规则 一个关系中的外键的取值或者为空,或者取参照关系中的某个关键字值。 删除参照关系时: 受限删除。禁止删除,即如果删除参照关系中的元组会破坏参照完整性规则,则不允许删除。例如:删除学院信息表中的“管理学院”,将破坏完整性规则,不允许删除。 级联删除。如果要删除参照关系中的元组,则同时将依赖该关系的表中对应的元组都全部删除。例如:删除学院信息表中的“管理学院”,则同时将班级表中对应的四个元组都删除,而删除了班级表中的四个元组后,应同时删除学生信息表中与这四个元组相对应的两个元组。 置空值删除。在删除参照关系中的元组时,同时将依赖该关系的表中的外键置为空值。,关系模型中的完整性约束,用户定义的完整性规则 例如: 学生信息表(学号,姓名,性别,出生日期,籍贯,民族,身份证号,班级编号) 性别 男,女 出生日期1992.2.30 用户定义的完整性规则是根据具体的应用需求来确定的,它反映某一具体应用所涉及的数据必须满足的语义要求。,2.2 关系代数,关系代数中常用的运算及运算符: 集合运算符:(并), (差),(交),(笛卡儿积); 关系运算符:(投影),(选择), (连接); 算术比较符:(大于),(大于等于), (小于),(小于等于),(不等于) 逻辑运算符: (非),(与),(或),2.2 关系代数,集合运算:(并), (差),(交),(笛卡儿积);,并运算,交运算,差运算,2.2 关系代数,A,B,AB,含义:信息专业和人文专业学生的选课情况,2.2 关系代数,A,B,AB,含义:学生在地和地进行选课,学生在两个地方同时选修了哪些课程,AB,含义:学生在地和地进行选课,学生仅在地选的课程,AB,含义:学生在地和地共选修了哪些课程,?,2.2 关系代数,学生信息表,A,1、有新生入学,将学生吴东的信息输入到学生信息表中,答案:学生信息表 A,2、有学生退学,退学的学生是050002,将该生信息从学生信息表中删除,答案:学生信息表 B,B,3、信息管理专业学生信息放在学生信息表1中,人文专业学生信息放在学生信息表2,查询获得两个专业全部的学生信息,2.2 关系代数,关系运算符:(投影),(选择), (连接);,学生信息表,1、投影运算( )Project 对单个关系的运算,从一个关系中选择所需要的属性,并重新排列组成一个新的关系。是列方向的运算。,例如:求学生的学号、姓名和所学专业,学生名单,数学表达:学号,姓名,所学专业(学生信息表),2.2 关系代数,投影运算的数学描述: 设R是k度关系,Ai1,Ai2,Aik分别是它的第i1,i2,ik个属性, 即:R(Ai1,Ai2,Aik) 则关系R在Ai1,Ai2,Aik上的投影是一个m度关系,记做 Ai1, Ai2,Aim (R)(m k),2.2 关系代数,投影运算练习: 关系课程信息(课程号,课程名称,考试方式,学分,学时数,周学时数,上机时数,开课学期) 问题: 1、学生需要从课程信息中了解课程号,课程名称,学分,考试方式。 2、教师需要从课程信息中了解课程号,课程名称,学分,学时数,周学时数,上机时数,考试方式。 3、教学管理人员需要从课程信息中了解全部课程信息。,答案: 1、课程号,课程名称,学分,考试方式(课程信息) 2、课程号,课程名称,学分,学时数,周学时数,上机时数,考试方式(课程信息) 3、课程号,课程名称,考试方式,学分,学时数,周学时数,上机时数,开课学期(课程信息),2.2 关系代数,2.2 关系代数,2、选择运算()Select 对单个关系的运算,从一个关系中选择出满足条件的元组构成新的关系,这个新关系是原关系的子集。是行方向的运算。 例如:选择开课学期是“一上”的课程,课程信息表,“一上”学期课程信息表,数学表达: 开课学期 一上 (课程信息表),2.2 关系代数,选择运算的数学描述: 设F是一个条件,则在关系R上的F选择运算记做F(R),且 F(R)t R |满足F 其中:t为元组,F是条件表达式,是属性名或常数,但不能同时为常数;是算术比较运算符(大于),(大于等于), (小于),(小于等于),(不等于),2.2 关系代数,选择运算练习: 关系课程信息(课程号,课程名称,考试方式,学分,学时数,周学时数,上机时数,开课学期) 问题: 1、学生需要知道“一下”学期有哪些课程。 2、教师需要知道“三上”学期上机时数30的课程有哪些。 3、教学管理人员需要知道考试方式为“考试”且上机时数为0的课程有哪些。,答案: 1、 开课学期 一下 (课程信息表) 2、 开课学期 三上 上机时数30(课程信息表) 3、 考试方式 考试 上机时数0 (课程信息表),2.2 关系代数,学生的角度,教师的角度,教学管理人员的角度,2.2 关系代数,投影与选择的混合运算:,R,1、信息管理专业的女生? 2、信息管理专业女生的学号和姓名?,2.2 关系代数,投影与选择的混合运算:,R,信息专业的女生,信息专业女生的学号和姓名, 所学专业 信息管理 性别 女 (R),学号,姓名( 所学专业 信息管理 性别 女 (R) ),2.2 关系代数,投影与选择的混合运算: 课程信息(课程号,课程名称,考试方式,学分,学时数,周学时数,上机时数,开课学期) 考试方式为“考查”的课程号、课程名称 学时数大于40 的课程号、课程名称、考试方式 开课学期是“三上”且上机时数大于等于30的课程号、课程名称、学分 考试方式为“考试”的全部课程信息 周学时数小于8的全部课程信息 考试方式为“考试”且周学时为8的课程的学分 开课学期是“二上”的全部课程信息 考试方式为“考查”且周学时大于等于4的课程号、课程名称,2.2 关系代数,3、连接运算( )Join,R,S,RS,2.2 关系代数,等值连接,RS,2.2 关系代数,自然连接,S,R,RS,第一步:连接,第二步:条件选择,第三步:去掉重复属性,RS,S,R,关系代数操作综合练习(一),学生信息表(学号,姓名,性别,出生日期,民族,身份证号,班级编号) 教师信息表(教工号,姓名,性别,出生日期,民族,身份证号,教研室名称) 课程信息表(课程号,课程名称,学时数,学分数,上机时数,考试方式) 学生选课表(学号,课程号,成绩) 教师授课表(教工号,课程号),1、全部女生信息 2、“信息管理”教研室的教师信息 3、班级编号是“CS0801”年龄大于21的学生信息 4、学时数大于等于60且考试方式为“考查”的课程信息 5、学号为“080001”的学生所选修课程的课程号 6、学号为“080001”的学生所选修课程的全部课程信息 7、姓名为“李鸿”的学生所选修课程的课程号,课程名称,学分数,2.2 关系代数,4、除运算( ) 关系R和S,R能被S除的条件有两个: 、R中的属性包含S中的属性 、R中的有些属性不出现在S中 R除以S表示为 R S,设商为T: 、T的属性由R中那些不出现在S中的属性组成 、T的元组是S中所有元组在R中对应值相同的那些元组值。,4、除运算( ),必修课,选课,选修课,选课 必修课,学号,课号(选课) 必修课,选课 选修课,4、除运算( ),选课 必修课,学号,课号(选课) 必修课,选课 选修课,含义:表示选择必修课表中给定的全部课程“C1”和“C3”,且成绩一样的学生的学号和成绩。,含义:表示选择选修课表中给定的全部课程(本例中只有C2一门课),且成绩一样的学生的学号和成绩。,含义:表示学过必修课中规定的全部课程的学生学号。,关系代数操作综合练习(二),学生信息表S(SNO,SNAME,SEX,AGE) 教师授课表T(CNO,CNAME,TEACHER) 学生选课表ST(SNO,CNO,SCORE),1、 查询“隋老师”所授课程的课程号(CNO)和课程名(CNAME) 2、 查询年龄大于20岁的男生学号(SNO)和姓名(SNAME) 3、 查询至少选修“隋老师”所授全部课程的学生姓名(SNAME) 4、 查询“吴梅”同学不学课程的课程号(CNO) 5、 查询全部学生都选修的课程的课程号(CNO)和课程名(CNAME) 6、 查询选修课程包含“隋老师”所授课程之一的学生学号(SNO) 7、 查询选修了“C语言”的学生学号(SNO) 8、 查询选修了全部课程的学生姓名(SNAME) 9、查询选修张岳同学所修课程的学生学号(SNO)和姓名(SNAME),总结,关系的基本概念 笛卡儿积、域、关系、元组(记录)、属性、关键字 关系的性质 关系中列、行顺序 关系中的属性的规定 关系代数 集合操作 关系操作,
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!