1数据库系统概述一、有关概念四个基本概念1.数据(Data):数据库中存储的基本对象2.数据库的定义:数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据集合3.数据库管理系统(简称DBMS):位于用户与操作系统之间的一层数据管理软件(系统软件)。用途:科学地组织和存储数据;高效地获取和维护数据主要功能:1.数据定义功能2.数据操作功能3.数据库的事务管理和运行管理功能4.数据库的建立和维护功能5.数据的组织,存储和管理功能6.其他功能4.数据库系统(DatabaseSystem,简称DBS):指在计算机系统中引入数据库后的系统桌面DBMSAccess,VFP客户机/服务器型DBMSSQLServer,Oracle,MySQL,DB25.数据库系统(DBS)的构成数据库数据库管理系统(及其开发工具)应用系统数据库管理员(DBA)和用户二、数据管理技术的发展1.数据管理的三个阶段人工管理阶段文件系统阶段数据库系统阶段2数据库系统管理数据的特点如下1数据共享性高、冗余少;2数据结构化;3数据独立性高;4由DBMS进行统一的数据控制功能3.数据库管理系统的主要功能1数据定义功能2数据操作功能3数据库的事务管理和运行管理功能4数据库的建立和维护功能5数据的组织,存储和管理功能6其他功能4.DBMS可以对数据提供哪些控制功能?�数据的安全性(Security)保护:保护数据,以防止不合法的使用造成的数据的泄密和破坏。�数据的完整性(Integrity)检查:将数据控制在有效的范围内,或保证数据之间满足一定的关系。�并发(Concurrency)控制:对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。�数据库恢复(Recovery):将数据库从错误状态恢复到某一已知的正确状态。2数据模型用来抽象、表示和处理现实世界中的数据和信息的工具。通俗地讲数据模型就是现实世界数据的模拟。数据模型三要素:数据结构,数据操作,数据的完整性约束。数据模型分为概念模型、逻辑模型和物理模型3个方面。数据结构:是所研究的对象类型的集合,它是刻画一个数据模型性质最重要的方面;数据结构是对系统静态特性的描述数据操作:对数据库中数据允许执行的操作及有关的操作规则;对数据库中数据的操作主要有查询和更改(包括插入、修改、删除);数据操作是对系统动态特性的描述数据的约束条件:数据及其联系应该满足的条件限制概念模型一、模型的三个世界1.现实世界2.信息世界:即根据需求分析画概念模型(即E-R图),E-R图与DBMS无关。3.机器世界:将E-R图转换为某一种数据模型,数据模型与DBMS相关。注意:信息世界又称概念模型,机器世界又称数据模型二、实体及属性1)关系:一个关系对应通常说的一个表2)元组:表中的每一行数据称作一个元组3)属性:表中的每一列,列可以命名称属性名4)码:也译为码键,表中的某个属性或属性组,它可以是唯一的确定一个元组。域:属性的取值范围6)分量:元组中的一个属性值7)关系模式:对关系的描述,表示为:关系名(属性1,属性2…属性n)注:关系模型要求关系必须是规范化的,满足最一定的规范条件,关系的每一个分量必须是一个不可分割的数据项。实体型:即二维表的结构例student(no,name,sex,age,dept)5.实体集:即整个二维表三、实体间的联系:1.两实体集间实体之间的联系1:1联系1:n联系m:n联系2.同一实体集内实体之间的联系1:1联系1:n联系m:n联系四、概念模型(常用E-R图表示)实体型:属性:联系:说明:①E-R图作为用户与开发人员的中间语言。②E-R图可以等价转换为层次、网状、关系模型。举例:3学校有若干个系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授每人各带若干研究生。每个班有若干学生,每个学生选修若干课程,每门课程有若干学生选修。用E-R图画出概念模型。数据模型一、层次模型:用树型结构表示实体之间的联系。①每个结点代表一个实体型。②只能直接处理一对多(含一对一)的实体关系。③查找层次数据库中的记录,速度较慢。二、网状模型:用图结构表示实体之间的联系。①每个结点代表一个实体型。②可以处理多对多的实体关系。③查找网状数据库中的记录,速度最快。三、关系模型:用二维表表示实体之间的联系。1.重要术语:关系:一个关系就是一个二维表;元组:二维表的一行,即实体;关系模式:在实体型的基础上,注明主码。关系模型:指一个数据库中全部二维表结构的集合。2.特点:①关系模型是建立在严格的数学理论的基础上的;②关系模型的存取路径对用户透明;③查找关系数据库中的记录,速度最慢。关系模型的数据完整性约束实体完整性参照完整性用户定义的完整性关系完整性规则实体完整性规则主码的属性值不能为空值。因为如果出现空值,那么主码就无法保证元组的唯一性。参照完整性规则在关系模式中实体以及实体之间的联系是用关系来描述的,所以自然存在着关系与关系之间的联系,而关系之间的联系是靠公共属性实现的,如果这个公共属性是一个关系R1的主码,那么在另一个与它有联系的关系R2中就称为外码。参照完整性规则告诉我们外码的取值只有两种可能,要么是空值,要么等于R1中某个元组的主码值。用户定义完整性反映某一具体应用所涉及的数据必须满足的语义要求。小结:数据有三种类型,DBMS就有三种类型,DB亦有三种类型。4数据库系统结构一、数据库系统的体系结构①单机结构:DBMS、数据库、开发工具、应用系统安装在一台计算机上。②C/S结构:局域网结构客户机:装开发工具、应用系统服务器:装DBMS、数据库③B/S结构:Internet结构服务器:装DBMS、数据库、开发工具、应用系统客户机:装IE即可三、数据库系统的模式结构1.三级模式①模式:是数据库中全体数据的逻辑结构和特征的描述。模式只涉及数据库的结构;模式既不涉及应用程序,又不涉及数据库结构的存储;②外模式:是模式的一个子集,是与某一个应用程序有关的逻辑表示。特点:一个应用程序只能使用一个外模式,但同一个外模式可为多个应用程序使用。③内模式(一个数据库只有一个内模式):描述数据库结构的存储,但不涉及物理记录。2.两级映象①外模式/模式映象:定义了外模型与模式之间的对应关系(可以有多个),保证数据库的逻辑独立性;②模式/内模式映象:定义了模式与存储结构之间的对应关系(唯一的),保证数据库的物理独立性;3.两级映象的意义通过二级映像,可以使数据库有较高的数据独立性,也可以是逻辑结构和物理结构独立性,也可以使逻辑结构和物理结构得以分离,换来了用户使用数据库的方便。①使数据库与应用系统完全分开,数据库改变时,应用系统不必改变。②数据的存取完全由DBMS管理,用户不必考虑存取路径。关系数据库语言分为关系代数、关系演算和结构化查询语言三大类。关系的5种基本操作是选择、投影、并、差、笛卡尔积。关系数据库的特点(关系数据模型的特点)优点1)建立在严格的数学概念基础上2)概念单一,数据结构简单清晰,易懂易用3)关系模型为存储路径对用户透明,从而具有更好的数据独立性,更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作缺点:存储路径对用户透明导致查询效率往往不如非关系数据模型三级模式优点是对数据的三个抽象级别,它把数据的具体组织留给DBMS管理,使用户能逻辑的抽象的处理数据,而不必关心数据在计算机中的表示和存储为了能在内部实现这3个抽象层次的联系和转换,数据库系统在这三级模式之间提供了二层映像,外/模和模/内保证了数据库系统中的数据能有较高的逻辑独立性和物理独立性5数据库管理系统数据库管理员有三个主要工作ⅰ)数据库设计ⅱ)数据库维护ⅲ)改善系统性能,提高系统效率1.DBMS的功能:负责对数据库进行统一的管理与控制。①数据定义:即定义数据库中各对象的结构②数据操纵:包括对数据库进行查询、插入、删除、修改等操作。③数据控制:包括安全性控制、完整性控制、并发控制、数据库恢复。2.DBMS的组成:DDL语言DML语言DCL语言实用程序注意:①SQL集DDL,DML,DCL功能于一体;②所有应用程序通过SQL语句才能访问数据库一、基本概念1.码:能唯一标识元组的属性集。2.候选码:一个属性集既能唯一标识元组,且又不含有多余属性,一个关系模式可以有多个候选码。3.主码:任选候选码中的一个。4.主属性:主码中包含的各个属性。5.非主属性:不包含在主码中的各个属性。6.外码:设F是关系R的一个属性,不是R的主码,但却是另一个关系S的主码,则称F是关系R的外码。阐述DBA的职责。�决定数据库的中的信息内容和结构�决定数据库的存储结构和存取策略�决定数据的安全性要求和完整性约束条件�监控数据库的使用和运行�数据库的改进和重组重构�定期对数据库进行重组织,以提高系统的性能日志文件需要登记的内容包括哪些?�各个事物的开始(BEGINTRANSACTION)标记;�各个事物的结束(COMMIT或ROLLBACK)标记;�各个事物的所有更新操作。日志文件的作用有哪些?�事物故障恢复和系统故障恢复必须用日志文件;�在动态转储方式中必须建立日志文件,后备副本和日志文件结合起来才能有效地恢复数据库;�在静态转储方式中,也可以建立日志文件。6关系模式的规范化一个好的关系模式应满足:①冗余应尽可能少②应尽可能避免插入、删除异常③消去关系中不合适的属性依赖关系。二、范式①什么叫范式?指一个关系的非主属性函数依赖于主码的程度。②什么叫关系规范化?指一个关系从低级范式向高级范式的转换过程。NFNFBCNFNFNFNF54321③应用:关系规范化理论应用在逻辑结构设计阶段。三、关系模式的规范化1.第一范式(1NF)①定义:若关系R的所有属性不能再分,则R∈1NF②存在问题③原因:存在非主属性对主码的部分依赖。④解决办法:消除非主属性对主码的部分依赖,将关系R一分为二,将满足完全依赖的属性集组成一个关系;将满足部分依赖的属性集组成另一个关系;2.第二范式(2NF)①定义:若关系R∈1NF,且它的每个非主属性都完全依赖于主码,则称R∈2NF。②存在问题:冗余大:R1必要冗余,R2冗余可以修改。修改麻烦插入异常:如新来的教师没有上课,则该教师的信息就没办法插入R2表中。删除异常:若某位教师只授一门课,当该门课不开时,该教师的信息亦被删除。③原因:存在非主属性对主码的传递依赖。[传递依赖必须有两个非主属性]④解决办法:将R2一分为二3.第三范式(3NF)①定义:若关系R∈2NF,且它的每个非主属性都不传递依赖于主码,则称R∈3NF。②规范化过程非规范关系↓使每个属性都不能再分1NF↓消去非主属性对主码的部分依赖2NF↓消去非主属性对主码的传递依赖3NF4.结论①若R∈1NF,且主码只含一个属性,则R一定为2NF。②若R∈2NF,且只有0~1个非主属性,则R一定为3NF。③3NF一般控制了数据冗余,一般避免了操作异常。④范式并非越高越好,适可而止。7数据库设计数据库设计必须遵循结构设计和行为设计相结合的原则。一、数据库设计的步骤①需求分析:了解分析用户的需要、要求(信息要求、处理要求、安全性与完整性要求)。②概念结构设计:根据需求分析的结果画概念模型(即E-R图)。③逻辑结构设计:将E-R图转换为某一种数据模型,并优化。④物理结构设计⑤数据库实施⑥数据库运行与恢复数据字典主要包括数据项、数据结构、数据流、数据存储和处理过程五个部分。三种常用抽象方法是分类、聚集和概括。局部E-R图之间的冲突主要表现在属性冲突、命名冲突和结构冲突三个方面。数据库常用的存取方法包括索引方法、聚簇方法和HASH方法三种。确定数据存放位置和存储结构需要考虑的因素主要有:存取时间、存储空间利用率和维护代价等。概念结构设计一、局部E-R图设计1.确定局部范围通常把系统涉及的各个部门或各个主要功能作为局部。2.确定实体与属性①属性是不能再分的数据项;②联系只发生在两实体之间;③原则上,能够作为属性,就不要作为实体。二、合并成总体E-R图1.消除