数据库系统概论复习资料_第1页
数据库系统概论复习资料_第2页
数据库系统概论复习资料_第3页
数据库系统概论复习资料_第4页
数据库系统概论复习资料_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库系统概论复习资料引言数据库技术是现代信息系统的核心和基础,广泛应用于各行各业。《数据库系统概论》作为计算机相关专业的核心课程,系统地阐述了数据库的基本概念、原理、设计方法及应用技术。本复习资料旨在帮助同学们梳理知识脉络,巩固重点难点,为后续的学习和实践打下坚实基础。一、数据库系统基本概念1.1数据、数据库、数据库管理系统、数据库系统*数据(Data):描述事物的符号记录,是数据库中存储的基本对象。数据不仅包括数字,还包括文本、图形、图像、音频、视频等多种形式。*数据库(Database,DB):长期存储在计算机内、有组织的、可共享的大量数据的集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。*数据库管理系统(DatabaseManagementSystem,DBMS):位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。DBMS的主要功能包括数据定义、数据操纵、数据库运行管理、数据库的建立和维护等。*数据库系统(DatabaseSystem,DBS):由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员(DBA)组成的存储、管理、处理和维护数据的系统。1.2数据模型数据模型是数据库系统的核心和基础,它是对现实世界数据特征的抽象。数据模型应满足三个方面的要求:能比较真实地模拟现实世界、容易为人所理解、便于在计算机上实现。*概念模型:也称信息模型,是按用户的观点对数据和信息建模,主要用于数据库设计。最著名的概念模型是实体-联系模型(E-R模型)。*逻辑模型和物理模型:逻辑模型是按计算机系统的观点对数据建模,主要用于DBMS的实现。物理模型是对数据最底层的抽象,描述数据在存储介质上的组织结构。二、数据模型2.1概念模型——E-R模型E-R模型(Entity-RelationshipModel)是一种常用的概念模型,它用简单的图形方式直观地描述现实世界中的实体、属性以及实体间的联系。*实体(Entity):客观存在并可相互区别的事物。可以是具体的人、事、物,也可以是抽象的概念或联系。*属性(Attribute):实体所具有的某一特性。一个实体可以由若干个属性来刻画。*联系(Relationship):实体之间的相互关联。联系也可以有属性。*实体间联系的类型:一对一(1:1)、一对多(1:n)、多对多(m:n)。*E-R图:使用矩形表示实体型,椭圆表示属性,菱形表示联系,并用无向边将其连接起来。2.2常用逻辑模型*层次模型:用树形结构表示各类实体以及实体间的联系。特点是有且只有一个根结点,根以外的其他结点有且只有一个父结点。*网状模型:用有向图结构表示各类实体以及实体间的联系。允许一个以上的结点无双亲,也允许一个结点有多个双亲。*关系模型:用二维表结构来表示实体集以及实体间的联系。关系模型是目前应用最广泛的数据模型。*关系的完整性约束:实体完整性(主键约束)、参照完整性(外键约束)、用户定义的完整性。三、数据库系统结构3.1数据库系统的三级模式结构数据库系统的三级模式结构是指数据库系统由外模式、模式和内模式三级构成,这是数据库管理系统内部的系统结构。*模式(Schema):也称逻辑模式或概念模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。一个数据库只有一个模式。*外模式(ExternalSchema):也称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图。一个数据库可以有多个外模式。*内模式(InternalSchema):也称存储模式,是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。一个数据库只有一个内模式。3.2数据库的二级映像功能与数据独立性数据库系统的三级模式是对数据的三个抽象级别,为了在这三个级别之间进行转换,数据库管理系统在三级模式之间提供了两层映像:*外模式/模式映像:定义了外模式与模式之间的对应关系。当模式改变时,数据库管理员对各个外模式/模式的映像作相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。*模式/内模式映像:定义了数据全局逻辑结构与存储结构之间的对应关系。当数据库的存储结构改变时,数据库管理员对模式/内模式映像作相应改变,可以使模式保持不变,从而应用程序也不必修改,保证了数据与程序的物理独立性,简称数据的物理独立性。这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。3.3数据库系统的组成数据库系统一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员(DBA)和用户构成。四、关系数据库4.1关系代数关系代数是一种抽象的查询语言,它用对关系的运算来表达查询。关系代数的运算对象是关系,运算结果也是关系。*传统的集合运算:并(∪)、差(-)、交(∩)、笛卡尔积(×)。这些运算将关系看作元组的集合,其运算是从关系的“水平”方向(即行的角度)来进行的。*专门的关系运算:选择(σ)、投影(π)、连接(∞)、除(÷)。*选择(Selection):从关系中找出满足给定条件的元组。σ_F(R),其中F是选择条件。*投影(Projection):从关系中选出若干属性列组成新的关系。π_A(R),其中A是属性列。*连接(Join):从两个关系的笛卡尔积中选取属性间满足一定条件的元组。主要包括等值连接、自然连接(一种特殊的等值连接,要求两个关系中进行比较的分量必须是同名的属性组,并在结果中把重复的属性列去掉)。*除(Division):给定关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组。R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上的投影:元组在X上分量值x的象集Y_x包含S在Y上投影的集合。4.2关系演算关系演算是以数理逻辑中的谓词演算为基础的。按谓词变元的不同,关系演算可分为元组关系演算和域关系演算。*元组关系演算:以元组变量作为谓词变元的基本对象。如ALPHA语言。*域关系演算:以域变量作为谓词变元的基本对象。如QBE语言。SQL语言是介于关系代数和关系演算之间的结构化查询语言。五、SQL语言SQL(StructuredQueryLanguage)是结构化查询语言的缩写,是关系数据库的标准语言。SQL语言集数据查询(DQL)、数据操纵(DML)、数据定义(DDL)和数据控制(DCL)功能于一体。5.1数据定义SQL的数据定义功能包括定义表、视图、索引等。*创建基本表(CREATETABLE):定义表的结构,包括属性名、数据类型、长度以及约束条件(主键、外键、非空、唯一、检查等)。*例如:CREATETABLEStudent(SnoCHAR(9)PRIMARYKEY,SnameCHAR(20)NOTNULL,SsexCHAR(2),SageSMALLINT,SdeptCHAR(20));*修改基本表(ALTERTABLE):可以添加列、修改列定义、添加约束、删除约束等。*删除基本表(DROPTABLE):删除表的结构和数据。*例如:DROPTABLEStudent;5.2数据操纵*查询(SELECT):SQL的核心操作。*格式:SELECT[ALL|DISTINCT]<目标列表达式>[别名][,<目标列表达式>[别名]]...FROM<表名或视图名>[别名][,<表名或视图名>[别名]]...[WHERE<条件表达式>][GROUPBY<列名1>[HAVING<条件表达式>]][ORDERBY<列名2>[ASC|DESC]];*常用查询:单表查询、连接查询(内连接、外连接:左外连接、右外连接、全外连接)、嵌套查询(相关子查询、不相关子查询)、集合查询(并UNION、交INTERSECT、差EXCEPT)。*插入(INSERT):向表中添加新元组。*格式1:INSERTINTO<表名>[(<属性列1>[,<属性列2>]...)]VALUES(<常量1>[,<常量2>]...);*格式2:INSERTINTO<表名>[(<属性列1>[,<属性列2>]...)]SELECT语句;(将查询结果插入表中)*修改(UPDATE):修改表中已有元组的值。*格式:UPDATE<表名>SET<列名>=<表达式>[,<列名>=<表达式>]...[WHERE<条件>];*删除(DELETE):删除表中的元组。*格式:DELETEFROM<表名>[WHERE<条件>];5.3视图视图是从一个或几个基本表(或视图)导出的表,是一个虚表。数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中。*创建视图(CREATEVIEW):CREATEVIEW<视图名>[(<列名>[,<列名>]...)]AS<子查询>[WITHCHECKOPTION];*查询视图:与查询基本表类似。*更新视图:通过视图修改基本表数据,受到一定限制,通常建议通过视图进行查询操作。*删除视图(DROPVIEW):DROPVIEW<视图名>;5.4数据控制*授权(GRANT):授予用户操作权限。*格式:GRANT<权限>[,<权限>]...ON<对象类型><对象名>TO<用户>[,<用户>]...[WITHGRANTOPTION];*回收权限(REVOKE):收回用户已有的权限。*格式:REVOKE<权限>[,<权限>]...ON<对象类型><对象名>FROM<用户>[,<用户>]...[CASCADE|RESTRICT];六、数据库设计数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。6.1数据库设计的基本步骤数据库设计通常分为以下几个阶段:*需求分析阶段:详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。需求分析是整个设计过程的基础,也是最困难、最耗费时间的一步。*概念结构设计阶段:概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型(一般用E-R图表示)。*逻辑结构设计阶段:将概念结构转换为某个DBMS所支持的数据模型(例如关系模型),并对其进行优化。*E-R图向关系模型的转换:将实体、实体的属性和实体之间的联系转化为关系模式。*物理结构设计阶段:为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。*数据库实施阶段:运用DBMS提供的数据语言(如SQL)及其宿主语言(如C,Java),根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。*数据库运行和维护阶段:数据库应用系统经过试运行后即可投入正式运行。在数据库系统运行过程中必须不断地对其进行评价、调整与修改。6.2E-R模型设计与优化概念结构设计的目标是产生反映企业组织信息需求的数据库概念结构,即概念模型。E-R模型是表达概念模型的有力工具。*E-R图的设计步骤:1.确定实体型。2.确定实体型的属性。3.确定实体型之间的联系类型(1:1,1:n,m:n)。4.画出初步E-R图。5.E-R图的优化:消除不必要的冗余,设计基本E-R图。6.3关系模式的规范化规范化理论是数据库逻辑设计的指南和工具。其基本思想是通过模式分解,使关系模式逐步消除数据依赖中不合适的部分,使模式达到某种程度的分离,即“一事一地”的模式设计原则。*函数依赖:设R(U)是一个属性集U上的关系模式,X和Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X,记作X→Y。*完全函数依赖、部分函数依赖、传递函数依赖。*范式(NF):*第一范式(1NF):每个属性都是不可再分的原子值。*第二范式(2NF):若R∈1NF,且每一个非主属性完全函数依赖于任何一个候选码,则R∈2NF。2NF消除了非主属性对码的部分函数依赖。*第三范式(3NF):若R∈2NF,且每一个非主属性既不部分依赖于码也不传递依赖于码,则R∈3NF。3NF消除了非主属性对码的传递函数依赖。*BC范式(BCNF):设关系模式R<U,F>∈1NF,如果对于R的每个函数依赖X→Y,若Y⊈X,则X必含有候选码,那么R∈BCNF。BCNF消除了任何属性(主属性或非主属性)对

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论