您好,欢迎访问三七文档
第一章数据库技术概论数据库(Database,DB)是存储在计算机内、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型进行组织和描述,具有较小的冗余度、较高的数据易扩展性和独立性,并可为多个用户所共享。数据库管理系统(DatabaseManagementSys,DBMS)是位于用户应用软件与操作系统之间的数据管理软件。数据库系统(DatabaseSystem,DBS)由计算机硬件系统、数据库、数据库管理系统、应用软件、包括用户在内的各类人员构成。数据库的基本操作(实际中图书管理系统的功能更多、更完善):增删改查、数据管理(如书籍的采购入库、分类索引、登记造册、淘汰处理)、各种统计工作(对各种数据信息的分析、计算、汇总等工作,并生成各种报表)、报警备份处理等等数据模型是对现实世界的模拟。数据模型(DataModel,DM)=(R,L)其中R表示记录型的集合;L表示记录型之间的联系的集合。数据模型应满足3个要求:一是能比较真实地模拟现实世界;二是容易为人们所理解;三是便于在计算机上实现。根据不同的应用目的,可分为概念模型(从用户的角度对数据描述和建模),逻辑模型。数据模型3要素:数据结构、数据操作、完整性约束。数据结构:描述系统的静态特性(各种对象类型);数据操作:描述系统的动态特性(各种对象的实例所允许执行的操作的集合);完整性约束:指给定数据模型中的数据及数据之间的练习所具有的制约和依存规则,用以指定符合数据模型的数据库状态以及状态的变化,以保证数据的正确性、相容性、有效性;数据库逻辑模型:层次模型、网状模型、关系模型(目前最常用)、面向对象模型1、层次模型图行结构若用图来表示,层次模型是一棵倒立的树。在数据库中,满足以下条件的数据模型称之为层次模型:层次模型(示意图)A、有且仅有一个结点无父结点,这个结点称之为根结点;B、其他结点有且仅有一个父结点。根据层次模型的定义可以看到,这是一个典型的树型结构。结点层次从根开始定义,根为第一层,根的子结点为第二层,根为其子结点的父结点,同一父结点的子结点称为兄弟结点,没有子结点的结点称为叶结点。层次模型的主要优点:层次数据库模型本身比较简单、层次模型对具有一对多的层次关系的部门描述非常自然、直观,容易理解、层次数据库模型提供了良好的完整性支持。层次模型的主要缺点:在现实世界中有很多的非层次性的联系,如多对多的联系,一个结点具有多个父结点等,层次模型表示这类联系的方法很笨拙(需引入冗余数据,容易产生数据的不一致)、对于插入和删除操作的限制比较多。数据的独立性差,由于实体质之间的联系本质上是通过存取路径指示的,因此应用程序在访问数据时要指定存取路径。2、网状模型更多的是非层次关系的,用层次模型表示非树型结构是很不直接的,网状模型则可以克服这一弊病。网状模型是一个网络。在数据库中,满足以下两个条件的数据模型称为网状模型。A、允许一个以上的结点无父结点;B、一个结点可以有多于一个的父结点。从以上定义看出,网状模型构成了比层次结构复杂的网状结构。网状模型的优点:能够更为直接地描述现实世界。具有良好的性能,存取效率高。网状模型的缺点:数据描述语言(DataDescriptionlanguage,DDL)极其复杂。数据的独立性差。由于实体直接的联系本质上是通过存取路径指示的,因此应用程序在访问数据时要指定存取路径。3、关系模型在关系模型中,数据的逻辑结构是一张二维表。在数据库中,满足下列条件的二维表称为关系模型:①每一列中的分量是类型相同的数据;②列的顺序可以是任意的;③行的顺序可以是任意的;④表中的分量是不可再分割的最小数据项,即表中不允许有子表;⑤表中的任意两行不能完全相同。关系数据库采用关系模型作为数据的组织方式。关系数据库因其严格的数学理论、使用简单灵活、数据独立性强等特点,而被公认为最有前途的一种数据库管理系统。它的发展十分迅速,目前已成为占据主导地位的数据库管理系统。自20世纪80年代以来,作为商品推出的数据库管理系统几乎都是关系型的,例如,Oracle,Sybase,Informix,VisualFoxPro,mysql,sqlserver等。关系模型的优点:关系模型建立于严格的数学概念基础之上。概念单一,实体极其联系均用关系表示,数据操作的对象及结构都是一个关系。存取路径对用户透明,具有较高的数据独立性和安全性。关系模型的缺点:由于存取路径对用户是透明的,往往查询的效率较差,为了提高查询性能,一般要进行查询优化。关系(Relation)是数学中的一个基本概念,由集合中的任意元素所组成的若干有序偶对表示,用以反映客观事物间的一定关系。关系就是关系数据模型的数据结构,刻画关系数据结构就是定义关系。关系模型范式:只有满足一定条件的关系模式,才能避免操作异常。关系模式要满足的条件称为规范化形式,简称范式。下面介绍四种不同程度的范式,由低级向高级:1、第一范式(1NF)【每个属性都是不可再分的最小数据单元】在关系模式R的每一个具体关系r中,如果每个属性值都是不可能再分的最小数据单元,则称R是第一范式。记为R∈1NF。1NF是关系数据库能够保存数据并且正确访问数据的最基本条件。2、第二范式(2NF)【所有非主属性都依赖一个关键字,即拥有主键】如果关系模式R(U,F)中的所有非主属性都完全函数依赖于任意一个候选关键字,则称关系R是属于第二范式。记为R∈2NF。即:第二范式不允许关系模型中的非主属性部分函数依赖于关键字。3、第三范式(3NF)【所有非主属性不存在传递依赖,有唯一主键,不传递依赖其他关键字】如果关系模式R(U,F)中所有非主属性对任何侯选关键字都不存在传递依赖,则称关系R是属于第三范式。记为R∈3NF。4、BCNF(Boyce和Codd等人发现函数依赖中的决定因素和关键字之间的联系与范式有关,从而创立了Boyce-Codd范式,其条件比3NF更严格)如果关系模式R(U,F)R属于1NF,且所有的函数依赖X→Y(Y不包含X),决定因素X都包含了R的一个候选码,则称R属于BC范式,记为R∈BCNF。如果R是BCNF则一定是3NF;反之则不行。(如果关系R的所有属性中,若每个决定因素都包含候选关键字,则称关系R属于BCNF。)第四范式(4NF):若关系模式R每个非平凡多值依赖X→→Y,X都含有候选键,则该关系模式满足第四范式。第五范式(5NF):如果关系模式中,每一个连接依赖,都包含由关系中候选键,则称为该关系模式满足第五范式。结论:1、所有非主属性对每一个候选码都是完全函数依赖的;2、没有任何属性完全函数依赖于非码的任何集合;(待理解)3、所有的主属性对于每一个不包含它的候选码,都是完全函数依赖。数据库系统的三级模式结构:指数据库系统由模式、外模式、内模式三级结构组成;1、模式模式(即概念模式)也称为逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。它是数据库系统体系结构中的中间层,不涉及数据的物理存储细节和硬件环境,与具体的应用程序无关,与所使用的开发工具无关。一个数据库只有一个模式。2、外模式外模式又称子模式或用户模式。它是数据库用户看见和使用的局部数据的逻辑结构和特征的描述,是相关数据库用户的数据视图,是与某个应用有关的数据的逻辑表示。外模式是从模式导出的一个子集,即不同的用户在需求方面存在差异,则他们的外模式描述是不同的。一个数据库可以有多个外模式,但一个应用程序只能使用一个外模式。数据操纵语言(DataManipulationLanguage,DML)3、内模式内模式又称存储模式,它是数据存储结构的描述,是数据在数据库内部的表示。是数据库最低一级的逻辑描述,它描述了数据在存储介质上的存储方式和物理结构,对应着实际存储在外存储介质上的数据库。内模式由内模式描述语言来描述、定义,它是数据库的存储观。数据库系统在三级模式直接提供了二级映像:外模式/模式映像和模式/内模式映像.正是这种二级映像保证了数据库系统中数据具有逻辑独立性和物理独立性。外模式/模式映像保证逻辑独立性;模式/内模式保证物理独立性;目前流行的关系型DBMS有Oracle、Sybase、SQLServer、Informix、DB2等。DBMS一般应具备的功能:数据库的定义功能、数据库的操作功能、数据库的保护功能、数据库的维护功能、数据字典从数据库中读取一个用户记录的过程:1、应用程序A向DBMS发出从数据库中读用户数据记录的命令。2、DBMS对该命令进行语法检查、语意检查,并调用应用程序A对应的外模式,检查A的存取权限,决定是否执行该命令。(如果拒绝转到第10步,并返回错误信息)3、执行通过,DBMS调用模式,依据外模式/模式映像的定义,确定应读入模式中的那些记录。4、DBMS调用内模式,依据模式/内模式映像的定义,决定应从那个文件、用什么存取方式、读入那个或那些物理记录。5、DBMS向操作系统发出执行读取所需物理记录的命令。6、操作系统执行从物理文件中读数据的有关操作。7、操作系统将数据从数据库的存储区送至系统缓存区。8、DBMS依据内模式/模式、模式/外模式映像的定义,导出应用程序A所要读取的记录格式。9、DBMS将数据记录从系统缓存区传递到应用程序A的用户工作区。10、DBMS向应用程序A返回命令执行情况的状态信息。第二章关系数据库关系就是关系数据模型的数据结构,刻画关系数据结构就是定义关系。在关系数据模型中,关系的表现形式被统一成为规范化的二维表格。在关系数据模型中,关系表分为3种类型:1.基本关系表:实际存储数据的逻辑表示。2.查询表:是在对一个或者多个基本表进行查询后得到的查询结果所对应的表。3.试图表由基本表或者其他视图表导出的表,是虚表,不对应实际存储的数据。关系表的相关概念:关系模式,关系模式就是一张“空表”,添加上具体的“值”之后就是关系实例。关系模式是对关系的结构性描述,其中包括关系名称、属性名称、值域的类型和长度、属性间的依赖性以及关系的主键等。关系实例,是关系模式具体的取值。关系名称,每一个关系实例都有一个名称,称为关系名称。即“用户名称”。属性,关系表中的列,即通常所说的字段或者数据项。其中表的第一行称为属性名。属性的个数称为关系的元数或者度数;属性的取值范围称为属性的域。学生信息表属性名:sid,sname,sage,ssex元数(度数):4属性ssex的域为1和0两个值。实体集,实体是现实世界中可以区别于其他对象的“事件”或“物体”。每个实体集都有一组属性。如学生信息表。元组,通常所说的记录。其中元组的个数称为主体的基数。如超键:能够唯一标识一个关系中各个元组的属性集合称为该关系的超键。如“读者编号”和“证件号码”都可以唯一标识关系中的各个元组,因此由这两个属性中的任意一个与其他任意属性所够成的属性集合称为超键。候选键:不含多余属性的能够唯一表示各个元组的属性集合为候选键。候选键是从超键中去掉了多余属性,从候选键中去掉任何属性就不再能唯一标识某个元组。候选键有时也称为键。主键:当一个关系有多个候选键时,可以从中选定一个候选键作为主键。一个关系只能有一个主键。外键:如果一个关系R1的一个属性组合S是另一个关系R2的主键,则称S是关系R1的外键。关系模型是建立在严格的数学原理基础之上的,它是由集合论和谓词逻辑引申而来的。关系模型规定了数据的表示方式(数据结构)、数据可以完成的操作以及数据的保护方式(数据完整性)。因此,数据模型(三要素)是由数据结构、数据操作、完整性约束构成的一个整体。完整性约束主要包括实体完整性,即主键;参照完整性,即外键;用户定义完整性:数据库设计者针对数据的具体内容,定义自己的语意约束并提供检验机制。SQLServer数据库:系统数据库(存放系统级信息)和用户数据库。4个系统数据库:master(核心数据库)model(模版数据库)msdb(一个与SQLServerAgent服务有关的数据库。记录有关作业、警报、操作员、调度等信息)tempdb(临时数据库)数据库是数据和数据库对象的容器。数据库对象就是存储、管理和使
本文标题:数据库基础概念
链接地址:https://www.777doc.com/doc-6204218 .html