《关系型数据库回顾.ppt》由会员分享,可在线阅读,更多相关《关系型数据库回顾.ppt(43页珍藏版)》请在三一办公上搜索。
1、第一章 关系型数据库回顾,数据库、DBMS原理和关系型模型了解数据库“数据库”定义数据库是一个服务于一个核心目标的数据的有组织的集合。数据库中的数据是有组织的,数据库不含有无关的或冗余的数据。例如:一本电话簿,它包含有关的数据(姓名、性别、工作单位、手机、办公电话、家庭电话等),让人们能够查找电话号码;它不包含无关的数据,如某人的电话机的颜色。数据库分类应用目标分类:商业数据库、科学数据库、军事数据库及其他的数据库等等。数据格式分类:现在数据库贮存图像、图表、声音、视频或包括两种或多种类型的复合文档,已经是很普通的事了。,了解数据库,数据模型定义:是用来描述数据的一组概念和定义。数据描述包括三
2、个方面(数据模型三要素)数据的静态特性数据基本结构:数据存储的框架、数据内部的二维表;数据间的联系:主外键关系。数据的动态特性指定义在数据上的操作,包括:数据的索引、排序、查询、插入、修改等操作。数据中的约束定义字段类型、长度作为其约束(隐式)自定义约束,如取值范围。,了解数据库,三级数据模型 数据模型既要面向现实世界,又要考虑在计算机上的物理实现。在数据库设计中,针对不同的使用对象和应用目的,采用三级数据模型概念模型(Conceptual data model)与DBMS无关的、面向用户和现实世界的数据模型。常用方法:E-R模型逻辑模型(Logical data model)是用户从数据库所
3、看到的数据模型,与DBMS有关,即要面向用户,也要面向现实。用任意文本编辑器按照数据库的逻辑关系描述的表物理模型(Physical data model)反映数据存储结构的模型,如物理存储块、指针、索引等。,现实世界,信息世界,信息技术人才,了解数据库,数据库与文件系统的区别面向全组织的结构化数据冗余度,专门的管理软件数据共享性,理解DBMS,理解DBMSDatabase Management System-D B M S就是有效地组织和存储数据、获取和管理数据库的软件。充当所有数据的知识库,并对它的存储、安全、一致性、并发操作、恢复和访问负责。数据字典(系统目录/元数据)每个DBMS均拥有贮
4、存着每个对象的数据,例如表名称、表结构、位置和类型;索引文件结构;存储过程;触发器。数据库管理系统的功能:数据定义的功能 数据定义语言Data Definition LanguageDDL数据操纵功能Data Manipulation LanguageDML,理解DBMS,数据库的运行管理并发控制、安全检查、完整性约束、数据库内部维护安全性D B M S要求用户登录用户帐户和口令。D B M S也提供其他的机制,例如组、角色、权限以及简档,这些都提供更加精良的安全。完整性约束数据的完整性是指它的一致性和正确性。完整性约束的方法:锁定、复制、级联操作。,理解DBMS,事务管理与并发控制DBMS有
5、一个事务管理器(Transaction Manager),目的是管理并发操作和确保事务的完整性。事务是DBMS工作的单位,是一个指令集。事务的ACID准则:原子性:Atomic-Nothing OR All;一致性:Consistency-Retrieve OR Update;隔离性:Isolation;持久性:Durability,理解DBMS,数据库的建立和维护初始数据输入和转换、数据库的转储、恢复功能、数据库的重新组织功能和性能监视、分析功能等。数据字典Data dictionaryDD存放数据库各级模式结构的描述,也是访问数据库的接口。数据通信功能与OS的联机处理、分时处理和远程作业传
6、输的相应接口。,理解RDBMS,理解RDBMS1970年,Edgar Frank Codd创立了关系模式的概念。在R D B M S(例如D B 2)产生之前,层次(I M S)和网状(I D M S)模式是常见的。,关系模型-操作的对象是关系,操作的结果也是关系什么是关系?描述两个集合的元素如何相互联系或如何一一对应的数学概念。关系模型是建立在数学基础上的。关系只是一个带有一些特殊属性的表,一个关系模型把数据组织到表中,表就是关系模型的近义词。,理解RDBMS,关系模型的典型特征 贮存单元(列/属性/字段)必须是原子的。每个单元只能存贮一条数据-信息原则一个单元包含多于一条的信息-信息编码
7、例如:车辆识别号码,如果存贮成一列,这将违犯信息原则,因为它包含了多条信息,例如产地、型号、出厂等等。在这样的情况下,是否采用违背理论的方案是一个设计的选择问题。贮存在一列的数据必须具有相同的域 每行是唯一的(没有完全相同的行)列没有顺序。行没有顺序。列有一个唯一性的名称(字段名)。,理解RDBMS,关系模型的两个完整性完整性约束的保证候选键(Candidate Key)是能唯一标识行的一列或一组列的集合。由多个列构成的主键被称为连接键(concatenated key)/组合键(compound key)/复合键(composite key)。主键(Primary Key)外键(Foreig
8、n Key)是一个表中的一列或一组列,它们在其他表中作为主键而存在。一个表中的外键被认为是对另外一个表中主键的引用。,理解RDBMS,完整性约束内容实体完整性原则简洁地表明主键不能全部或部分地空缺或为空。引用完整性原则简洁地表明一个外键必须为空或者与它所引用的主键当前存在的值相一致。,数据库的设计和标准化,数据库的设计和标准化概念模型设计逻辑模型设计,数据库的设计和标准化,ER概念模型 什么是ER模型 实体联系模型,1976年由美籍华人P.Chen首先提出。这种模型在对数据模型分析上,不是面向实现,而是面向现实世界,通过实体与实体之间的联系而有效和自然地模拟现实世界。实体(Entity)数据是
9、用来描述现实世界的,而描述的对象是形形色色的,有具体的,也有抽象的;有物理上存在的,也有概念性的。例如人、汽车、梦、色彩等。这些对象的特征是可以相互区别的,否则它们就会被认为是同一对象。凡是可以相互区别而又可以被人识别的事、物、概念统统抽象为实体。在一个单位中,具有共性的一类实体可以划分为实体集(Entity set),如地籍档案、建设用地档案、公文档案、人事档案等都是实体,但它们都是档案,因此可以定义档案这个实体集。在用ER方法进行分析时,只要不引起误解,实体集可以简称为实体。,数据库的设计和标准化,属性(Attribute)实体一般具有若干特征,称为实体的属性。例如宗地有地号、座落、四至、
10、面积等属性。属性都有其取值范围,在此称为值集(Value set),相当于关系型数据库中的域。属性即可以是单域的简单属性又可以是多域的组合属性。例如图1关于实体宗地的属性,其中带交叉线的为实体键。,数据库的设计和标准化,联系(Relationship)实体与实体之间会有各种关系,例如建设用地管理处与用地申请者有审批的关系,土地局职员有领导关系等。这种实体与实体之间的关系抽象为联系。联系也可以有自己的属性,如建设用地管理处与用地申请者之间的审批联系有审批号、审批意见、审批日期、审批人等属性。联系可用实体所组成的元组表示,例如元组e1,e2,en,表示实体e1,e2,en之间的一个联系。如果n=2
11、则成为二元联系,如果n2,则称为多元联系。同样两个实体间也可以有两个以上的联系,这种联系所组成的集合称为联系集(Relationship set)。设R(E1,E2,En)表示定义在实体集E1,E2,En上的联系集,则,数据库的设计和标准化,实体对联系的作用 在上式的实体集E1,E2,En中可以有相同的,如图二,在信息领导小组这一联系中,两个均来自于土地局职员这一实体集,但所起的作用不同(role),一个职员的作用(R1)为组长,另一个(R2)作用为组员。如果在联系中注明实体的作用,就会明显丰富联系的语义。因此有时联系也可表述为r1/e1,r2/e2,rn/en,式中ri(i=1,2,n)表示
12、ei的作用。,数据库的设计和标准化,基数比约束(Cardinality radio constraint)基比数约束是指实体在发生联系时的对比关系。如在二元联系中,ER数据模型把实体联系区分为一对一(1:1)、一对多(1:N)、多对多(M:N)三种。这种表示方法还可延伸到多元联系,如三元联系可表示为1:1:1、m:n:p、1:1:n、1:m:n等。在ER图中必须明确标出基数比约束。,数据库的设计和标准化,参与度约束(Participation constraint)参与度约束是指实体参与联系的范围。如土地档案管理系统,在借阅登记联系中,如果按规定每个借阅者每次最多只能借3卷,不借阅的不作为借阅
13、人记载,那么借阅者在借阅登记联系中的参与度可表示为(1,3)。参与度的表示方法为(min,max),式中0minmax,且max1。如果min=0,则表示实体集中的实体不是每个都参与联系,而是部分参与。如果min0,表明实体集中的实体全部参与联系。,数据库的设计和标准化,ER图 如果用ER数据模型对一个单位的模拟称为一个单位的ER数据模式。ER数据模式可以用非常直观的ER图(ER Diagram)来表示。其中矩形框表示实体、菱形框表示联系,实体与联系相连的线段上注明的1、n、m、p表明联系的基数比。如果需要,还可以注明实体的参与度。有关实体表示方法还有一些特例,在后续部分将作详细介绍。,数据库
14、的设计和标准化,ER数据模型中的几个特殊问题 弱实体 现实世界中还有一种特殊的联系,这种联系代表实体间的所有关系(Ownership),例如土地使用者与家属的关系。这些实体有以下特点不能独立存在,总是依附于另外一个实体,因此在参与联系时必须是全部参与。可以没有自己的实体键。如家属的实体集有姓名、性别、出生年月、与土地使用者的关系等属性,但只有把土地使用者的实体键与家属成员的姓名联合起来,才能识别一个家属成员。弱实体在ER图中用双线矩形框表示。在使用ER方法进行系统分析时,可以把弱实体不当作实体考虑,而只看作是所有实体的一个多值的组合属性,在由ER模型向数据模式转换时,单独创建数据表即可。,数据
15、库的设计和标准化,子实体 一个实体集是具有某些共性的实体的集合,这些实体有共性,同时也有各自的特殊性。一个实体集可按照某一特征区分为几个子实体。例如学生这个实体集可以分为研究生、本科生、大专生子实体集,研究生这个实体集又可以分为博士生、硕士生等子实体集。子实体集除继承超实体集的全部属性和联系外,还有自己的特殊属性和联系。如研究生除了继承了学生的所有属性和联系外,还具有导师、学位类别、研究方向等属性。因此在用ER方法进行数据模式分析时,引入子实体集的概念,可以很方便地描述实体集中部分实体的特殊属性。图中带有U符号的线表示特殊化成子实体,双线表示全部特殊化,单线表示部分特殊化。圆圈中的d表示不相交
16、特殊化,o表示重叠特殊化。图中在职进修生子实体,既是教师,又是学生,所以有两个超实体集,它继承两个的属性。不论普遍化还是特殊化,均是系统分析员在解决现实问题时,根据实际需要而进行的。,数据库的设计和标准化,数据库的设计和标准化,聚合体(aggregation)在ER数据模型中,要求一般只有实体才能参与联系,不允许联系参与联系。但在用ER方法解决实际问题时,为了更好地模拟现实世界,如果联系必须参与联系,可以把联系看成由参与联系的实体组合而成的新的实体,其属性为参与联系的实体的属性和联系的属性的并。这种新的实体称为参与联系的实体的聚合体。如图五。为了使ER图更合乎逻辑,应尽量避免使用。,数据库的设
17、计和标准化,范畴(Category)在模拟现实世界时,有时要用到由不同类型的实体组成的实体集,例如土地使用者这个实体集的成员即可以是单位,也可以是个人。这种由不同类型的实体组成的实体集不同于前面所定义的实体集,为了区分特命名为范畴。如图六,土地使用者是一个范畴,可以是单位也可以是个人。圆圈中的U表示并操作。范畴业继承超实体集的属性,但与子实体不同。子实体继承超实体全部属性,而范畴是选择性继承超实体的属性。对于图六,土地使用者或者继承单位的属性,或者继承个人的属性。,数据库概念设计实例,数据库概念设计实例实例一:教师工作量管理系统数据库设计教师工作量管理系统是为各院系教务员提供一个教师工作量管理
18、的计算机工具,其主要功能是对教师的工作量能够进行标准化核定。教师工作量核定标准和方法严格按照中国农业大学教师工作量考核实施细则和中国农业大学教师科研工作量考核实施细则的各种具体规定,按教师目前的实际工作工作量包括13个方面,分别是本专科教学管理、研究生教学管理、教学研究改革、编写教材、教研论文、教学指导、实验室建设、学术性管理工作、科研项目、学术论文、学术专著、获奖成果、授权专利。详见附件内两个文件和4个表格。,数据库概念设计实例,要求:画出E-R图(用Word或Visio),标注属性转换成关系模式,用Word表格描述。建立MS SQL Server数据库。包括:数据项限定使用规则进行。汇总字
19、段使用触发器输入3条数据,数据库概念设计实例,学生作业,本科生课程,教学研究,论文专著,获奖成果,教师,授权专利,其他工作,科研项目,教材,研究生课程,本科生授课,撰写,获得奖励,获得专利,参加其他,参加教研,研究生授课,编写,参加科研,数据库概念设计实例,存在问题实体抽象不准确,涉及的实体:教师教学科研工作教学管理人员工作量核定标准子实体与父实体的关系联系的确定与现实管理要统一参加科研、获得专利等在管理上落实在何处?,数据库概念设计实例,正确的E-R图,本专科课程,论文专著,获奖成果,教师,授权专利,科研项目,编写教材,研究生课程,教研工作,教学管理人员,工作量核定,教学,指导研究生,论文、
20、专利及获奖,承担工作,工作量核定标准,制定标准,数据库概念设计实例,实例二:旱作农业项目管理信息系统数据库设计,数据库概念设计实例,问题丢失核心实体项目项目的用什么表达(属性)经常犯的错误!标识信息:编号、名称、地理区域基础地理信息自然资源社会、经济条件项目成果与资金的实体,属性是什么?,数据库概念设计实例,正确的画法,主管部门,审查,技术依托单位,编制,省计财部门,投资,验收,签定合同,承担单位,项目,制定,编写,项目跟踪,旱作技术,建议书,实施方案,数据库逻辑设计,数据库逻辑设计逻辑设计的内容将ER图转换为等价的关系模式。应用ER图进行概念设计时,基本是尊从关系模式进行的,因此转换是比较直
21、观的。实体和联系都可以表示为关系,同时实体和联系的属性也可以表示为关系的属性。ER图到关系模式的转换规则命名与属性域关系命名可采用ER图原来的名称,也可重新命名,但各关系的名称不能重复。关系中的属性域必须与ER图中相一致,如有冲突需做调整,一般是调整ER图中的域类型。,数据库逻辑设计,非原子属性的处理ER图允许数据模式中有非原子属性,这不符合关系模型的第一范式的条件。非原子属性主要有两个基本类型集合型和元组型。解决办法为对集合型进行纵向展开,对元组型进行横向展开,或建立新的关系。,数据库逻辑设计,集合属性的展开,数据库逻辑设计,弱实体的处理弱实体不能独立存在,它必须依附于一个独立实体。在转换成
22、关系模式时,弱实体必须包含独立实体的主键。,元组集合展开,数据库逻辑设计,使用者表,家属成员表,数据库逻辑设计,联系的转换1:1联系联系所转换成的关系模式主键可借用其中一个实体的主键。为了减少关系表的数量,可以把两个实体表与关系表合并成一个表。,数据库逻辑设计,1:N联系联系所转换成的关系模式中只包含多端实体的主键就能识别一个联系。如果多端的实体是全参与联系,也可以把联系与实体合并成一个表。,数据库逻辑设计,M:N联系实体与联系分别建表联系所转换成的关系模式中必须包含两个实体的主键才能识别一个联系,即联系表的主键必需是两个实体表的主键复合体。,数据库逻辑设计,子实体的转换子实体子实体全部继承超实体的属性,因此在转换成关系模式时,必须包含超实体的主键,也可以使用超实体的主键直接作为主键。范畴的转换范畴一般没有自己的属性,它直接继承超实体的属性,如果转换成关系模式,必须新增主键、继承来源标识列及超实体键列。,规范化及优化调整,关系模式的规范化及优化调整 适应DBMS限制条件数据类型、数据窗口long binary、long raw、ntext、long 满足性能要求减少连接运算Select*from s Union Select*from sc减少关系的大小和数据量尽可能使用快照节省存储空间节省每个属性所占的存储空间采用假属性减少重复数据,即编码方式。,