




已阅读5页,还剩65页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
张蕾 ,网络数据库开发技术,关系数据库,关系数据结构及形式化定义 关系操作 关系的完整性,数据库的设计,数据库设计方法 概念结构设计 逻辑结构设计,关系数据库简介,提出关系模型的是美国IBM公司的E.F.Codd 1970年提出关系数据模型 E.F.Codd, “A Relational Model of Data for Large Shared Data Banks”, Communication of the ACM,1970 之后,提出了关系代数和关系演算的概念 1972年提出了关系的第一、第二、第三范式 1974年提出了关系的BC范式,2.1 关系数据结构及形式化定义,2.1.1 关系 2.1.2 关系模式 2.1.3 关系数据库,2.1.1 关系,域(Domain) 笛卡尔积(Cartesian Product) 关系(Relation),域(Domain),域是一组具有相同数据类型的值的集合。例: 整数 实数 介于某个取值范围的整数 长度指定长度的字符串集合 男,女 ,笛卡尔积(Cartesian Product),给定三组数据(三个域): 姓名:张三,李四,王五 性别:男,女 班级:网络0601,网络0602,(姓名,性别,班级) 所有可能组合,此表即称为姓名、性别、班级这三个域的笛卡尔积,笛卡尔积,笛卡尔积 给定一组域D1,D2,Dn,这些域中可以有相同的。 D1,D2,Dn的笛卡尔积为: D1D2Dn (d1,d2,dn)diDi,i1,2,n 所有域的所有取值的一个组合 不能重复,笛卡尔积(续),元组(Tuple) 笛卡尔积中每一个元素(d1,d2,dn)叫作一个n元组(n-Tuple)或简称元组(Tuple) (甲,计算机专业,0101)、(乙,计算机专业,0102)等都是元组 分量(Component) 笛卡尔积元素(d1,d2,dn)中的每一个值di叫作一个分量 甲,乙,计算机专业,0101,0102等都是分量,笛卡尔积(续),基数(Cardinal number) 若Di(i1,2,n)为有限集,其基数为mi(i1,2,n),则D1D2Dn的基数M为:,笛卡尔积元素个数,笛卡尔积的表示方法 笛卡尔积可表示为一个二维表 表中的每行对应一个元组,表中的每列对应一个域,关系(Relation),1) 关系 D1D2Dn的子集叫作在域D1,D2,Dn上的 关系,表示为 R(D1,D2,Dn) R:关系名 n:关系的目或度(Degree) 单元关系:n=1,二元关系:n=2 2) 元组 关系中的每个元素是关系中的元组,通常用t表示。,关系(续),4) 关系的表示 关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域,关系(续),5)属性 关系中不同列可以对应相同的域 为了加以区分,必须对每列起一个名字,称为属性(Attribute) n目关系必有n个属性,关系(续),6) 码 候选码(Candidate key) 若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码 简单的情况:候选码只包含一个属性 全码(All-key) 最极端的情况:关系模式的所有属性组是这个关系模式的候选码,称为全码(All-key) 思考:笛卡尔积有没有码?,关系(续),码(续) 主码 若一个关系有多个候选码,则选定其中一个为主码(Primary key) 主属性 候选码的诸属性称为主属性(Prime attribute) 不包含在任何侯选码中的属性称为非主属性( Non-Prime attribute)或非码属性(Non-key attribute),关系(续),7) 三类关系 基本关系(基本表或基表) 实际存在的表,是实际存储数据的逻辑表示 查询表 查询结果对应的表 视图表 由基本表或其他视图表导出的表,是虚表,不对应实际 存储的数据,关系(续),8)基本关系的性质 列是同质的(Homogeneous) 不同的列可出自同一个域 其中的每一列称为一个属性 不同的属性要给予不同的属性名 列的顺序无所谓,,列的次序可以任意交换 任意两个元组的候选码不能相同 行的顺序无所谓,行的次序可以任意交换,基本关系的性质(续), 分量必须取原子值 这是规范条件中最基本的一条 非规范化关系,2.1 关系数据结构,2.1.1 关系 2.1.2 关系模式 2.1.3 关系数据库,2.1.2 关系模式,什么是关系模式 定义关系模式 关系模式与关系,1什么是关系模式,关系模式(Relation Schema)是型 关系是值 关系模式是对关系的描述 元组集合的结构 属性构成 属性来自的域 属性与域之间的映象关系 元组语义以及完整性约束条件 属性间的数据依赖关系集合,2定义关系模式,关系模式可以形式化地表示为: R(U,D,DOM,F) R 关系名 U 组成该关系的属性名集合 D 属性组U中属性所来自的域 DOM 属性向域的映象集合 F 属性间的数据依赖关系集合 通常可以简记为 R (U) 或 R (A1,A2,An) R: 关系名 A1,A2,An : 属性名 域名及属性向域的映象常常直接说明为属性的类型、长度,2.1 关系数据结构,2.1.1 关系 2.1.2 关系模式 2.1.3 关系数据库,2.1.3 关系数据库,关系数据库 在一个给定的应用领域中,所有关系的集合构成一个关系数据库 关系数据库的型与值,2. 关系数据库的型与值,关系数据库的型: 关系数据库模式 对关系数据库的描述。 关系数据库模式包括 若干域的定义 在这些域上定义的若干关系模式 关系数据库的值: 关系模式在某一时刻对应的关系的集合,简称为关系数据库,关系数据库,2.1 关系模型概述 2.2 关系操作 2.3 关系的完整性,2.2.1基本关系操作,常用的关系操作 查询:选择、投影、连接、除、并、交、差 数据更新:插入、删除、修改 查询的表达能力是其中最主要的部分 选择、投影、并、差、笛卡尔积是5种基本操作 关系操作的特点 集合操作方式:操作的对象和结果都是集合,一次一集合的方式,2.2.2 关系数据库语言的分类,关系代数语言 用对关系的运算来表达查询要求 代表:ISBL 关系演算语言:用谓词来表达查询要求 元组关系演算语言 域关系演算语言 具有关系代数和关系演算双重特点的语言 代表:SQL(Structured Query Language),关系数据库,2.1 关系数据结构及形式化定义 2.2 关系操作 2.3 关系的完整性,2.3 关系的完整性,2.3.1 关系的三类完整性约束 2.3.2 实体完整性 2.3.3 参照完整性 2.3.4 用户定义的完整性,2.3.1 关系的三类完整性约束,实体完整性和参照完整性: 关系模型必须满足的完整性约束条件 称为关系的两个不变性,应该由关系系统自动支持 用户定义的完整性: 应用领域需要遵循的约束条件,体现了具体领域中的语义约束,2.3 关系的完整性,2.3.1关系的三类完整性约束 2.3.2 实体完整性 2.3.3 参照完整性 2.3.4 用户定义的完整性,2.3.2 实体完整性,规则2.1 实体完整性规则(Entity Integrity) 若属性A是基本关系R的主属性,则属性A不能取空值,2.3关系的完整性,2.3.1关系的三类完整性约束 2.3.2 实体完整性 2.3.3 参照完整性 2.3.4 用户定义的完整性,2.3.3 参照完整性,1. 关系间的引用 2. 外码 3. 参照完整性规则,1. 关系间的引用,在关系模型中实体及实体间的联系都是用关系来描述的,因此可能存在着关系与关系间的引用。 例:学生、课程、学生与课程之间的多对多联系 学生(学号,姓名,性别,专业号,年龄) 课程(课程号,课程名,学分) 选修(学号,课程号,成绩),2外码(Foreign Key),设F是基本关系R的一个或一组属性,但不是关系R的码。如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码 基本关系R称为参照关系(Referencing Relation) 基本关系S称为被参照关系(Referenced Relation) 或目标关系(Target Relation),外码(续),学生选课例子中: 选修关系的“学号” 与学生关系的主码“学号”相对应 选修关系的“课程号”与课程关系的主码“课程号”相对应 “学号”和“课程号”是选修关系的外码 学生关系和课程关系均为被参照关系 选修关系为参照关系,外码(续),关系R和S不一定是不同的关系 目标关系S的主码Ks 和参照关系的外码F必须定义在同一个(或一组)域上 外码并不一定要与相应的主码同名 当外码与相应的主码属于不同关系时,往往取相同的名 字,以便于识别,3. 参照完整性规则,规则2.2 参照完整性规则 若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为: 或者取空值(F的每个属性值均为空值) 或者等于S中某个元组的主码值,关系的完整性(续),2.3.1 关系的三类完整性约束 2.3.2 实体完整性 2.3.3 参照完整性 2.3.4 用户定义的完整性,用户定义的完整性(续),例: 课程(课程号,课程名,学分) “课程号”属性必须取唯一值 非主属性“课程名”也不能取空值 “学分”属性只能取值1,2,3,4,针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求 关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由应用程序承担这一功能,数据库系统设计,数据库系统设计,数据库系统(即指数据库应用系统、管理信息系统)的开发有两种方法: 生命周期法,即包括系统调查、分析、设计、实现、维护和评价。其中设计部分包括总体功能设计、数据库设计、代码(编号)设计、界面设计、模块设计。 原型法,即先快速开发出不太准确的应用模型,然后再评价与修改这个模型,直到符合实际应用或废弃。,数据库应用系统设计包括总体功能设计、数据库设计、代码(编号)设计、界面设计、模块设计等内容,但关键内容是系统总体功能设计和数据库设计。,任务 方法 调查内容,通过详细调查,充分了解原系统的手工工作概况,明确用户的各种需求,收集支持系统目标的基础数据及其处理方法,在此基础上确定新系统的功能。重点是调查、收集与分析用户在数据管理中的信息需求、处理需求、安全性与完整性要求,自顶向下和自底向上,业务现状、信息流、外部要求,1 需求分析,成绩管理系统功能设计,功能需求分析 功能设计,包含了学院、系部、教研室、专业、教师、学生、课程等信息管理和课程设置、教学成绩信息管理的等方面。 本系统开发任务是实现某学院教学成绩信息管理规范化和自动化,系统的用户有学院领导、成绩管理人员、班主任、教师及学生等。,系统目标的实现是通过系统的各功能模块来达到的。由于每个系统功能又可以划分为若干个具体的功能模块,因此从目标开始层层分解,直到每个子功能模块只执行一个具体的任务。子功能模块是独立的,有明显的输入和输出信息。,成绩管理系统功能设计,2 数据库设计,数据库设计是指对于给定的硬件、软件环境,针对现应用问题,设计一个较优的数据模型,依据此模型建立数据库中表、视图等结构,并以此为基础构建数据库信息管理应用系统。,2.1 数据库设计方法,要使数据库设计更加合理,就需要有效的指导原则,这种原则就称为数据库设计方法。 通过分析、比较与综合各种常用的数据库规范设计方法,我们将数据库设计4个阶段: 需求分析 概念结构设计 逻辑结构设计 物理设计,2.2 概念结构设计,自顶向下:先定义全局概念模型,然后再逐步细化。 自底向上:先定义每个局部的概念结构,然后按一定的规则把它们集成起来,得到全局概念模型。 混合策略:将自顶向下和自底向上方法结合起来使用。先用自顶向下方法设计一个全局概念结构,再以它为框架用自底向上方法设计局部概念结构。,策略,其中最常用的策略是自底向上策略,但无论采用哪种设计方法,一般都以最著名的 “实体联系模型”为工具来描述概念结构。,实体联系模型,自底向上策略的设计步骤,数据抽象与局部ER图设计 概念结构是对现实世界的一种抽象,即对实际的人、物、事和概念进行人为处理,抽取所关心的特性,并把这些特性用各种概念准确地描述出来。自底向上策略首先要根据需求分析的结果对现实世界的数据进行抽象,设计各个局部的ER图。每个实体都设计一个局部的ER图。 集成全局ER图 把局部ER图集成全局ER图时,可采用一次将所有的ER图集成在一起,也可以用逐步集成、进行累加的方式,一次只集成两个ER图,直到最后集成为一个全局ER图,这样实现起来比较容易些。,2.3 逻辑结构设计,逻辑结构设计的任务是把概念结构设计阶段产生的概念数据库模式变换为逻辑结构的数据库模式。即把ER图转换为数据模型,这里以关系模型和关系数据库管理系统为基础来进一步讨论逻辑结构设计方法,逻辑结构设计一般包含两个步骤: 将ER图转换为初始的关系数据库模式; 对关系模式进行规范化处理。,将ER图转换为初始关系数据库模式, 一个实体型转换为一个模式,实体的属性就是关系模式的属性,实体的键即为关系模式的键。 对于实体间的联系,就要视1:1,1:N,M:N三种不同情况做不同的处理。 一个1:1的联系,可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系下连的各实体的键以及联系本身的属性均转换为关系的属性,每个实体的键均是该关系的键。如果是与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的键和联系本身的属性。,转换应遵循如下原则,(3)一个1:N的联系,可以转换为一个独立的关系模式,也可以与N端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体转换成的关系模式的键以及联系本身的属性均转换为关系的属性,而关系的键为N端实体对应的关系模式的键。如果与N端对应的关系模式合并,则在N端实体转换的关系模式中加入1端实体转换成的关系模式的键和联系的属性。,将ER图转换为初始关系数据库模式, 一个M:N的联系,则将该联系转换为一个独立的关系模式,其属性为两端实体类型的键加上联系类型的属性,而关系的键为两端实体的键的组合。,例如:校长与学校间存在1:1的联系,其ER图如图所示:,将ER图转换为初始关系数据库模式,“任职”联系转换为一个独立的关系模式 学校(校名,地址,电话) 校长(姓名,年龄,性别,职称) 任职(校名,姓名(校长姓名),任职年月) “任职”联系与“学校”实体合并 学校(校名,地址,电话,姓名,任职年月) 校长(姓名,年龄,性别,职称),例如:教研室与教师间存在1:N的联系,其ER图如所示:,将ER图转换为初始关系数据库模式,“任职”联系转换为一个独立的关系模式 教师(姓名,性别,年龄,职称) 教研室(编号,名称,主任) 任职(编号,姓名,职务) “任职”联系与N端实体合并 教师(姓名,性别,年龄,职称,编号,职务) 教研室(编号,名称,主任),例如:学生与课程间存在M:N的联系,其ER图如图所示:,将ER图转换为初始关系数据库模式,转换为三个关系模式 学生(学号,姓名,性别,年龄) 课程(编号,名称,学分) 教学成绩(学号,编号,分数),对关系模式进行规范化处理,所谓关系的规范化,是指一个低一级范式的关系模式,通过投影运算,转化为更高级别范式的关系模式的集合的过程。我们把满足不同程度要求的关系模式称为不同的范式。 一范式(1NF) 设R是一个关系模式,如果R的每一属性都是不可分离的数据项,则R是第一范式。 二范式(2NF) 如果关系模式R是一范式,且R中每一非主属性完全函数依赖于R的主属性,则R是第二范式。 三范式(3NF) 如果关系模式R是二范式,且它的任何一个非主属性都不传递函数依赖于任何属性,则称R是第三范式。 一个规范化的关系不能只满足一范式或二范式的要求,至少应当满足三范式的要求。,关系规范化的基本思想: 逐步消除数据依赖中不合适的部分,使关系模式达到一定程度的分离,即“一事一地”的模式设计原则,使概念单一化,即让一个关系描述一个概念、一个实体或者实体间的一种关系。,对关系模式进行规范化处理,代码(编号)设计,代码(编号)是一组有序的易于计算机和人识别与处理的符号,具有鉴别、分类、排序三种功能。,成绩管理系统逻辑结构设计,二维表格设计 每个表格表示在数据库中的一个表。,3 系统实施,数据库应用系统开发在确定系统总体框架(系统功能)和系统基础(数据库设计,数据库概念设计)之后,接下来进行应用系统的实施工作,包括数据库实现(数据库物理设计与实现)、系统编程(菜单设计、输入界面设计、输出报表设计)、系统调试与运行、系统维护与评价工作。,3.1 数据库实现,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 46228-2025溴化异丁烯-异戊二烯橡胶(BIIR)
- 应急安全教练培训课件
- 2024-2025学年度银行岗位考前冲刺练习试题及答案详解【历年真题】
- 应急安全培训宣传口号课件
- 2024年执业药师试题附参考答案详解(综合题)
- 抗病毒药物在秋季腹泻治疗中应用现状
- 做庙合同(标准版)
- 数字系统设计与VHDL(第3版)教案-第4章 VHDL设计入门
- 2025年黄石市阳新县招聘急需紧缺专业高学历人才(44人)考前自测高频考点模拟试题及一套完整答案详解
- 2025自考专业(汉语言文学)题库带答案详解(能力提升)
- GB 46031-2025可燃粉尘工艺系统防爆技术规范
- 养老护理员培训班课件
- 隔爆水棚替换自动隔爆装置方案及安全技术措施
- 湖北省武汉市东湖高新区2024-2025学年三年级下册期末考试语文试卷(含答案)
- 2025年爱国主义教育知识竞赛试题库及答案
- 郎飞结相关性疾病
- 新沃合作社育肥羊养殖项目实施方案
- GB 7300.308-2025饲料添加剂第3部分:矿物元素及其络(螯)合物苏氨酸锌螯合物
- 银行企业贷款培训课件
- 拔罐疗法课件
- 2025-2030中国单轴激光陀螺行业市场发展趋势与前景展望战略研究报告
评论
0/150
提交评论