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

下载本文档

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

文档简介

第一章绪论

数据、数据库、数据库管理系统、数据库系统(了解)数据库管理系统的功能和特点(了解)常用的数据模型(了解)

ER模型表达方法(熟悉)

数据库系统结构(三级模式,两级映像)(熟悉)数据独立性(物理独立性、逻辑独立性)(掌握)AnIntroductiontoDatabaseSystemsAnIntroductiontoDatabaseSystems第一章绪论数据(Data)是数据库中存储的基本对象数据的定义描述事物的符号记录数据的种类文本、图形、图像、音频、视频、学生的档案记录、货物的运输情况等数据的特点数据与其语义是不可分的AnIntroductiontoDatabaseSystems数据库数据库的定义数据库(Database,简称DB)是按一定的方式存储在计算机设备上、相关的数据集合。AnIntroductiontoDatabaseSystems三、数据库管理系统什么是DBMS是建立、管理和维护数据库的软件系统,是一种位于应用软件与操作系统之间,实现数据库管理功能的系统软件。AnIntroductiontoDatabaseSystemsDBMS的主要功能1定义数据库提供数据定义语言(DDL)

定义数据库中的数据对象2操纵数据库

提供数据操纵语言(DML)

实现对数据库的基本操作(查询、插入、删除和修改)3控制数据库4维护数据库5通信功能AnIntroductiontoDatabaseSystems四、数据库系统数据库系统(DatabaseSystem,简称DBS)

在计算机系统中引入数据库后的系统构成数据库系统的构成数据库数据库管理系统(及其开发工具)数据库应用系统数据库管理员

AnIntroductiontoDatabaseSystems1.1.3数据库系统的特点数据结构化数据的共享性高,冗余度低,易扩充数据独立性高数据由DBMS统一管理和控制AnIntroductiontoDatabaseSystems两大类数据模型DBMS支持的数据模型概念模型认识抽象信息世界机器世界现实世界中客观对象的抽象过程现实世界现实世界概念模型数据库设计人员完成逻辑模型物理模型由DBMS完成概念模型逻辑模型数据库设计人员完成AnIntroductiontoDatabaseSystems

一、数据结构什么是数据结构描述数据库的组成对象,以及对象之间的联系描述的内容与数据类型、内容、性质有关的对象与数据之间联系有关的对象数据结构是对系统静态特性的描述AnIntroductiontoDatabaseSystems五、概念模型的表示方法实体-联系方法(E-R方法)用E-R图来描述现实世界的概念模型E-R方法也称为E-R模型AnIntroductiontoDatabaseSystemsE-R图实体型用矩形表示,矩形框内写明实体名。属性用椭圆形表示,并用无向边将其与相应的实体连接起来学生教师学生学号年龄性别姓名AnIntroductiontoDatabaseSystems联系的属性课程选修学生mn成绩联系的属性:联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来

AnIntroductiontoDatabaseSystems1.2.4最常用的数据模型非关系模型层次模型(HierarchicalModel)网状模型(NetworkModel)关系模型(RelationalModel)面向对象模型(ObjectOrientedModel)对象关系模型(ObjectRelationalModel)AnIntroductiontoDatabaseSystems一、关系数据模型的数据结构

在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。学号姓名年龄性别系名年级2005004王小明19女社会学20052005006黄大鹏20男商品学20052005008张文斌18女法律2005………………学生登记表属性元组AnIntroductiontoDatabaseSystems关系数据模型的数据结构(续)关系(Relation)一个关系对应通常说的一张表元组(Tuple)表中的一行即为一个元组属性(Attribute)表中的一列即为一个属性,给每一个属性起一个名称即属性名AnIntroductiontoDatabaseSystems关系数据模型的数据结构(续)主码(Key)表中的某个属性组,它可以唯一确定一个元组。域(Domain)属性的取值范围。分量元组中的一个属性值。关系模式对关系的描述关系名(属性1,属性2,…,属性n)学生(学号,姓名,年龄,性别,系,年级)AnIntroductiontoDatabaseSystems关系数据模型的数据结构(续)关系术语一般表格的术语关系名表名关系模式表头(表格的描述)关系(一张)二维表元组记录或行属性列属性名列名属性值列值分量一条记录中的一个列值非规范关系表中有表(大表中嵌有小表)表1.2术语对比AnIntroductiontoDatabaseSystems四、关系数据模型的优缺点优点建立在严格的数学概念的基础上概念单一实体和各类联系都用关系来表示对数据的检索结果也是关系关系模型的存取路径对用户透明具有更高的数据独立性,更好的安全保密性简化了程序员的工作和数据库开发建立的工作AnIntroductiontoDatabaseSystems关系数据模型的优缺点(续)缺点存取路径对用户透明导致查询效率往往不如非关系数据模型为提高性能,必须对用户的查询请求进行优化增加了开发DBMS的难度AnIntroductiontoDatabaseSystems1.3.2数据库系统的三级模式结构模式(Schema)

外模式(ExternalSchema)内模式(InternalSchema)AnIntroductiontoDatabaseSystems数据库系统的三级模式结构(续)图1.28数据库系统的三级模式结构AnIntroductiontoDatabaseSystems一、模式(Schema)模式(也称逻辑模式)数据库中全体数据的逻辑结构和特征的描述所有用户的公共数据视图,综合了所有用户的需求一个数据库只有一个模式模式的地位:是数据库系统模式结构的中间层与数据的物理存储细节和硬件环境无关与具体的应用程序、开发工具及高级程序设计语言无关AnIntroductiontoDatabaseSystems二、外模式(ExternalSchema)外模式(也称子模式或用户模式)数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述数据库用户的数据视图,是与某一应用有关的数据的逻辑表示AnIntroductiontoDatabaseSystems三、内模式(InternalSchema)内模式(也称存储模式)是数据物理结构和存储方式的描述是数据在数据库内部的表示方式记录的存储方式(顺序存储,按照B树结构存储,按hash方法存储)索引的组织方式数据是否压缩存储数据是否加密数据存储记录结构的规定一个数据库只有一个内模式AnIntroductiontoDatabaseSystems1.4数据库系统的组成数据库数据库管理系统(及其开发工具)应用系统软、硬件平台人员AnIntroductiontoDatabaseSystems二、软件DBMS支持DBMS运行的操作系统与数据库接口的高级语言及其编译系统以DBMS为核心的应用开发工具为特定应用环境开发的数据库应用系统AnIntroductiontoDatabaseSystems三、人员数据库管理员系统分析员和数据库设计人员应用程序员用户AnIntroductiontoDatabaseSystem关系数据结构及形式化定义(了解)基本关系操作(掌握)关系完整性(三类完整性,掌握)关系代数(传统集合运算,专门关系运算,掌握)第二章关系数据库AnIntroductiontoDatabaseSystem关系(Relation)1)关系D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的关系,表示为

R(D1,D2,…,Dn)

R:关系名n:关系的目或度(Degree)AnIntroductiontoDatabaseSystem关系的表示关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域AnIntroductiontoDatabaseSystem属性关系中不同列可以对应相同的域为了加以区分,必须对每列起一个名字,称为属性(Attribute)n目关系必有n个属性AnIntroductiontoDatabaseSystem码

候选码(Candidatekey)若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码简单的情况:候选码只包含一个属性全码(All-key)最极端的情况:关系模式的所有属性组是这个关系模式的候选码,称为全码(All-key)AnIntroductiontoDatabaseSystem主码若一个关系有多个候选码,则选定其中一个为主码(Primarykey)主属性候选码的诸属性称为主属性(Primeattribute)不包含在任何侯选码中的属性称为非主属性(Non-Primeattribute)或非码属性(Non-keyattribute)AnIntroductiontoDatabaseSystem1.什么是关系模式关系模式(RelationSchema)是型关系是值关系模式是对关系的描述元组集合的结构属性构成属性来自的域属性与域之间的映象关系元组语义以及完整性约束条件属性间的数据依赖关系集合AnIntroductiontoDatabaseSystem2.定义关系模式关系模式可以形式化地表示为:

R(U,D,DOM,F)

R关系名

U

组成该关系的属性名集合

D

属性组U中属性所来自的域

DOM属性向域的映象集合

F

属性间的数据依赖关系集合AnIntroductiontoDatabaseSystem定义关系模式(续)关系模式通常可以简记为

R(U)或R(A1,A2,…,An)R:关系名A1,A2,…,An:属性名注:域名及属性向域的映象常常直接说明为属性的类型、长度AnIntroductiontoDatabaseSystem2.1.3

关系数据库关系数据库在一个给定的应用领域中,所有关系的集合构成一个关系数据库关系数据库的型与值AnIntroductiontoDatabaseSystem2.关系数据库的型与值关系数据库的型:关系数据库模式对关系数据库的描述。关系数据库模式包括若干域的定义在这些域上定义的若干关系模式关系数据库的值:关系模式在某一时刻对应的关系的集合,简称为关系数据库AnIntroductiontoDatabaseSystem2.2.1基本关系操作

常用的关系操作查询:选择、投影、连接、除、并、交、差数据更新:插入、删除、修改查询的表达能力是其中最主要的部分选择、投影、并、差、笛卡尔基是5种基本操作关系操作的特点集合操作方式:操作的对象和结果都是集合,一次一集合的方式AnIntroductiontoDatabaseSystem2.外码(ForeignKey)设F是基本关系R的一个或一组属性,但不是关系R的码。如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码基本关系R称为参照关系(ReferencingRelation)基本关系S称为被参照关系(ReferencedRelation)或目标关系(TargetRelation)AnIntroductiontoDatabaseSystem数据库系统概论AnIntroductiontoDatabaseSystem第三章关系数据库标准语言SQLAnIntroductiontoDatabaseSystem3.1SQL概述SQL(StructuredQueryLanguage)结构化查询语言,是关系数据库的标准语言SQL是一个通用的、功能极强的关系数据库语言43SQL概述及特点

字面看SQL只是一个查询语言,而实际上SQL作为一种标准数据库语言,从对数据库的随机查询到数据库的管理和程序设计,SQL几乎无所不能,功能十分丰富.SQL语言是一种关系数据库语言,提供数据的定义、查询、更新和控制等功能。

SQL语言不是一个应用程序开发语言,只提供对数据库的操作能力,不能完成屏幕控制、菜单管理、报表生成等功能,可成为应用开发语言的一部分。

SQL语言不是一个DBMS,它属于DBMS语言处理程序。大部分DBMS产品都支持SQL,成为操作数据库的标准语言3.1.2

SQL语言的基本概念首先介绍两个基本概念:基本表和视图。基本表(BASETABLE):是独立存在的表,不是由其它的表导出的表。一个关系对应一个基本表,一个或多个基本表对应一个存储文件。视图(VIEW):是一个虚拟的表,是从一个或几个基本表导出的表。它本身不独立存在于数据库中,数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。当基本表中的数据发生变化时,从视图中查询出来的数据也随之改变。44AnIntroductiontoDatabaseSystemSQL的基本概念(续)SQL视图2视图1基本表2基本表1基本表3基本表4存储文件2存储文件1外模式模式内模式SQL支持关系数据库三级模式结构其中外模式对应于视图和部分基本表,模式对应于基本表,内模式对应于存储文件。AnIntroductiontoDatabaseSystem3.2学生-课程数据库学生-课程模式S-T:

学生表:Student(Sno,Sname,Ssex,Sage,Sdept)

课程表:Course(Cno,Cname,Cpno,Ccredit)

学生选课表:SC(Sno,Cno,Grade)

AnIntroductiontoDatabaseSystem3.3数据定义SQL的数据定义功能:模式定义、表定义、视图和索引的定义

AnIntroductiontoDatabaseSystem二、数据类型数据类型含义CHAR(n)长度为n的定长字符串VARCHAR(n)最大长度为n的变长字符串INT长整数(也可以写作INTEGER)SMALLINT短整数NUMERIC(p,d)定点数,由p位数字(不包括符号、小数点)组成,小数后面有d位数字REAL取决于机器精度的浮点数DoublePrecision取决于机器精度的双精度浮点数FLOAT(n)浮点数,精度至少为n位数字DATE日期,包含年、月、日,格式为YYYY-MM-DDTIME时间,包含一日的时、分、秒,格式为HH:MM:SSAnIntroductiontoDatabaseSystem三、模式与表每一个基本表都属于某一个模式一个模式包含多个基本表定义基本表所属模式方法一:在表名中明显地给出模式名Createtable“S-T”.Student(......);/*模式名为S-T*/Createtable“S-T”.Cource(......);Createtable“S-T”.SC(......);方法二:在创建模式语句中同时创建表方法三:设置所属的模式AnIntroductiontoDatabaseSystem3.3.3索引的建立与删除谁可以建立索引DBA或表的属主(即建立表的人)DBMS一般会自动建立以下列上的索引

PRIMARYKEYUNIQUE谁维护索引

DBMS自动完成

使用索引

DBMS自动选择是否使用索引以及使用哪些索引51索引的分类1.按照索引记录的存放位置可分为聚集索引与非聚集索引聚集索引:按照索引的字段排列记录,并且依照排好的顺序将记录存储在表中。非聚集索引:按照索引的字段排列记录,但是排列的结果并不会存储在表中,而是另外存储。522.唯一索引的概念唯一索引表示表中每一个索引值只对应唯一的数据记录,这与表的PRIMARYKEY的特性类似,因此唯一性索引常用于PRIMARYKEY的字段上,以区别每一笔记录。当表中有被设置为UNIQUE的字段时,SQLSERVER会自动建立一个非聚集的唯一性索引。而当表中有PRIMARYKEY的字段时,SQLSERVER会在PRIMARYKEY字段建立一个聚集索引。533.复合索引的概念复合索引是将两个字段或多个字段组合起来建立的索引,而单独的字段允许有重复的值。AnIntroductiontoDatabaseSystem索引RDBMS中索引一般采用B+树、HASH索引来实现B+树索引具有动态平衡的优点HASH索引具有查找速度快的特点采用B+树,还是HASH索引则由具体的RDBMS来决定索引是关系数据库的内部实现技术,属于内模式的范畴CREATEINDEX语句定义索引时,可以定义索引是唯一索引、非唯一索引或聚簇索引AnIntroductiontoDatabaseSystem数据查询语句格式

SELECT

[ALL|DISTINCT]<目标列表达式>[,<目标列表达式>]…FROM

<表名或视图名>[,<表名或视图名>]…[WHERE<条件表达式>][GROUPBY<列名1>[HAVING<条件表达式>]][ORDERBY<列名2>[ASC|DESC]];

AnIntroductiontoDatabaseSystem3.4.1单表查询查询仅涉及一个表:一、选择表中的若干列二、选择表中的若干元组三、ORDERBY子句四、聚集函数五、GROUPBY子句AnIntroductiontoDatabaseSystem一、选择表中的若干列查询指定列

[例1]查询全体学生的学号与姓名。

SELECTSno,Sname

FROMStudent;

[例2]查询全体学生的姓名、学号、所在系。

SELECTSname,Sno,Sdept

FROMStudent;AnIntroductiontoDatabaseSystem2.查询全部列选出所有属性列:在SELECT关键字后面列出所有列名将<目标列表达式>指定为*[例3]查询全体学生的详细记录。SELECTSno,Sname,Ssex,Sage,SdeptFROMStudent;或SELECT*FROMStudent;AnIntroductiontoDatabaseSystem3.查询经过计算的值SELECT子句的<目标列表达式>可以为:算术表达式字符串常量函数列别名

AnIntroductiontoDatabaseSystem3.4.1单表查询查询仅涉及一个表:一、选择表中的若干列二、选择表中的若干元组三、ORDERBY子句四、聚集函数五、GROUPBY子句AnIntroductiontoDatabaseSystem消除取值重复的行(续)指定DISTINCT关键词,去掉表中重复的行

SELECTDISTINCTSno

FROMSC;执行结果:

Sno 200215121 200215122AnIntroductiontoDatabaseSystem2.查询满足条件的元组查询条件谓词比较=,>,<,>=,<=,!=,<>,!>,!<;NOT+上述比较运算符确定范围BETWEENAND,NOTBETWEENAND确定集合IN,NOTIN字符匹配LIKE,NOTLIKE空值ISNULL,ISNOTNULL多重条件(逻辑运算)AND,OR,NOT表3.4常用的查询条件AnIntroductiontoDatabaseSystem(1)比较大小[例7]查询计算机系全体学生的名单。

SELECTSnameFROMStudent

WHERESdept=‘CS’;[例8]查询所有年龄在20岁以下的学生姓名及其年龄。

SELECTSname,SageFROMStudentWHERESage<20;[例9]查询考试不及格的学生的学号。

SELECTDISTINCTSnoFROMSC

WHEREGrade<60;AnIntroductiontoDatabaseSystem(2)确定范围谓词:

BETWEEN…AND…NOTBETWEEN…AND…[例10]查询年龄在20~23岁(包括20岁和23岁)之间的学生的姓名、系别和年龄

SELECTSname,Sdept,SageFROMStudentWHERESageBETWEEN20AND23;[例11]查询年龄不在20~23岁之间的学生姓名、系别和年龄

SELECTSname,Sdept,Sage FROMStudent WHERESageNOTBETWEEN20AND23;AnIntroductiontoDatabaseSystem(3)确定集合谓词:IN<值表>,NOTIN<值表>

[例12]查询信息系(IS)、数学系(MA)和计算机科学系(CS)学生的姓名和性别。

SELECTSname,Ssex FROMStudent

WHERESdeptIN('IS','MA','CS');[例13]查询既不是信息系、数学系,也不是计算机科学系的学生的姓名和性别。SELECTSname,SsexFROMStudent

WHERESdeptNOTIN('IS','MA','CS');AnIntroductiontoDatabaseSystem(4)字符匹配谓词:

[NOT]LIKE‘<匹配串>’[ESCAPE‘<换码字符>’]匹配串为固定字符串[例14]查询学号为200215121的学生的详细情况。

SELECT*FROMStudentWHERESnoLIKE‘200215121';等价于:

SELECT*FROMStudentWHERESno='200215121';AnIntroductiontoDatabaseSystem(6)多重条件查询逻辑运算符:AND和OR来联结多个查询条件

AND的优先级高于OR

可以用括号改变优先级可用来实现多种其他谓词

[NOT]IN[NOT]BETWEEN…AND…AnIntroductiontoDatabaseSystem多重条件查询(续)[例23]查询计算机系年龄在20岁以下的学生姓名。

SELECTSnameFROMStudentWHERESdept='CS'ANDSage<20;AnIntroductiontoDatabaseSystem多重条件查询(续)改写[例12][例12]查询信息系(IS)、数学系(MA)和计算机科学系(CS)学生的姓名和性别。SELECTSname,SsexFROMStudentWHERESdeptIN('IS','MA','CS')可改写为:SELECTSname,SsexFROMStudentWHERESdept='IS'ORSdept='MA'ORSdept='CS';AnIntroductiontoDatabaseSystem三、ORDERBY子句ORDERBY子句可以按一个或多个属性列排序升序:ASC;降序:DESC;缺省值为升序当排序列含空值时ASC:排序列为空值的元组最后显示DESC:排序列为空值的元组最先显示AnIntroductiontoDatabaseSystem四、聚集函数聚集函数:计数COUNT([DISTINCT|ALL]*)COUNT([DISTINCT|ALL]<列名>)计算总和SUM([DISTINCT|ALL]<列名>) 计算平均值AVG([DISTINCT|ALL]<列名>)最大最小值

MAX([DISTINCT|ALL]<列名>)

MIN([DISTINCT|ALL]<列名>)AnIntroductiontoDatabaseSystem五、GROUPBY子句GROUPBY子句分组:细化聚集函数的作用对象未对查询结果分组,聚集函数将作用于整个查询结果对查询结果分组后,聚集函数将分别作用于每个组作用对象是查询的中间结果表按指定的一列或多列值分组,值相等的为一组AnIntroductiontoDatabaseSystemGROUPBY子句(续)[例32]查询选修了3门以上课程的学生学号。

SELECTSnoFROMSCGROUPBYSnoHAVINGCOUNT(*)>3;

AnIntroductiontoDatabaseSystem一、等值与非等值连接查询等值连接:连接运算符

温馨提示

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

评论

0/150

提交评论