数据库复习详细版docx.docx
- 文档编号:27521458
- 上传时间:2023-07-02
- 格式:DOCX
- 页数:28
- 大小:55.80KB
数据库复习详细版docx.docx
《数据库复习详细版docx.docx》由会员分享,可在线阅读,更多相关《数据库复习详细版docx.docx(28页珍藏版)》请在冰豆网上搜索。
数据库复习详细版docx
第一早
以数据为中心应用系统的特点
涉及的数据量大
数据不随程序的结束而消失
数据被多个应用程序共亨
数据库的基本特征(需要细致描述)
数据按一定的数据模型纽织、描述和储存
兀余度较小
数据独立性较高
易扩展
可为各种用户共享
数据的定义:
是描述事物的符号记录,是数据库中存储的基本对象。
数据的特点:
数据与其语义是不可分的
数据库的定义:
(Database,^称DB)
是长期储存在计算机内、有组织的、可共享的人量数据的集合。
DBMS(DataBaseManagementSystem)
位于用户与操作系统之间的一层数据管理软件
是基础软件,是一个大型复杂的软件系统。
DBMS的用途:
科学地组织和存储数据、高效地获取和维护数据
DBMS的主要功能
分类纽织、存储和管理各种数据
确定组织数据的文件结构和存取方式;实现数据之间的联系
提供多种存取方法提高存取效率
数据操纵功能
提供数据操纵语言(简称DML),实现对数据库的基本操作(查、插、删和修)
数据库的事务管理和运行管理
数据库在建立、运行和维护时由DBMS统一管理和控制;保证数据的安全性、完\整性、多用户对数据的并发使用;发生故障后的系统恢复。
数据库的建立和维护功能(实用程序)
数据库初始数据装载转换数据库转储;介质故障恢复;数据库重组织;性能监视分析
其它功能
DBMS与网络屮其它软件系统的通信;两个DBMS系统的数据转换
异构数据库之间的互访和互操作
数据库系统(DatabaseSystem,简称DBS)在计算机系统中引入数据库后的系统构成数据库系统的构成
数据库
数据库管理系统(及其开发工貝)■核心部分
应用系统
用户+数据库管理员(DBA)
文件系统特点
数据的管理者:
文件系统,数据可长期保存
数据面向的对象:
某一应用程序
数据的共享程度:
共享性差、兀余度人
数据的结构化:
记录内冇结构,整体无结构
数据的独立性:
独立性差,数据的逻辑结构改变必须修改应用程序
数据控制能力:
应用程序自己控制
文件管理系统的缺点
编写应用程序不方便
数据兀余不可避免
应用程序依赖性
不支持对文件的并发访问
数据间联系弱
难以按用八视图表示数据
无安全控制功能
数据库系统的特点
数据结构化(整体数据的结构化是数据库的主要特征之一)
数据的共亨性高,冗余度低,易扩充
数据独立性高
数据rhDBMS统一管理和控制
数据库管理系统的优点
相互关联的数据的集合
较少的数据兀余
程序与数据相互独立
保证数据的安全、可靠
最人限度地保证数据的正确性
数据可以并发使用并能同时保证一致性
数据库的共享是并发的(Concurrency)共享。
DBMS必须提供以下的数据控制:
数据的安全性(Security)保护;
数据的完整性(Integrity)检查;
并发(Concurrency)控制;
数据库恢复(Recovery):
第二章
数据的两个特征
静态特性:
包括数据的基本结构、数据间的联系和数据中的约束。
动态特征:
指定义在数据上的操作。
比如对学生的某木信息可以查、修和增新记录等。
数据模型是用來抽象、表示和处理现实世界中的数据和信息的。
模型应满足三个条件:
能比较真实地模拟现实世界;
容易被人们理解:
便于在计算机上实现。
数据模型分为两类(分属两个不同的层次)
概念模型
也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计。
逻辑模型和物理模型
■逻辑模型主要包括网状模型、层次模型、关系模型、面向对象模型等,按计算机系统的观点对数据建模,主要用于DBMS的实现。
■物理模型是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法。
课程
n
学生
实体一联系方法(E-R方法)
•实体型,用矩形表示,矩形框内写明实体名。
•属性,用椭圆形表示,并用无向边将其与相应的实体连接起来
概念模型
概念模型的用途
•概念模型用于信息世界的建模
•是现实世界到机器世界的一个中间层次
•是数据库设计的有力工具
•数据库设计人员和用户之间进行交流的语言
•是面向用户、面向现实世界的数据模型,是与DBMS无关
对概念模型的基本耍求
•较强的语义表达能力•能够方便、直接地表达应用111的各种语义知识
•简单、清晰、易于用戶理解
常用的概念模型:
实体-联系模型、语义对象模型
数据库系统的三级模式结构(注意理解)模式外模式内模式模式(也称逻辑模式)
•数据库中全体数据的逻辑结构和特征的描述
•所有用户的公共数据视图,综合了所有用户的需求
一个数据库只有一个模式
模式的地位:
是数据库系统模式结构的中间层
•与数据的物理存储细节和硬件环境无关
•与具休的应用程序、开发工具及高级程序设计语言无关模式的定义
•数据的逻辑结构(数据项的名字、类型、取值范围等)
•数据Z间的联系
•数据冇关的安全性、完整性要求
外模式(逻辑独立性)
外模式(也称了模式或用户模式)
•数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述
•数据库用户的数据视图,是与某一应用有关的数据的逻辑表示
外模式的地位:
介于模式与应用之间
•模式与外模式的关系:
一对多
•外模式通常是模式的子集
•一个数据库可以有多个外模式。
反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求
•对模式中同一数据,在外模式屮的结构、类型、长度、保密级别等都可以不同
•外模式•应用的关系:
一对多
•同一外模式也可以为某一用户的多个应用系统所使用
•但一个应用程序只能使用一个外模式
外模式的用途
•保证数据库安全性的一个冇丿J措施
•每个用户只能看见和访问所对应的外模式中的数据
内模式(物理独立性)
•内模式(也称存储模式)
•是数据物理结构和存储方式的描述
•是数据在数据库内部的表示方式
・记录的存储方式(顺序存储,按照B树结构存储,按hash方法存储)
•索引的组织方式
•数据是否压缩存储
•数据是否加密
•数据存储记录结构的规定
•一个数据库只有一个内模式
外模式/模式映象
模式:
描述的是数据的全局逻辑结构
外模式:
描述的是数据的局部逻辑结构
同一个模式可以有任意多个外模式每一个外模式,数据库系统都有一个外模式/模式映象,定义外模式与模式之间的对应关系
映象定义通常包含在各a外模式的描述•I•
保证数据的逻辑独立性
•当模式改变时,数据库管理员修改有关的外模式/模式映象,使外模式保持不变
•皿用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
数据库的二级映像
〈1>保证了数据库外模式的稳定性
〈2>从底层保证了应用程序的稳定性,除非应用需求木身发牛:
变化,
否则应用程序一般不需要修改
数据与程序之间的独立性,使得数据的定义和描述可以从应用程序屮分离出去
数据的存取由DBMS管理
〈1>用户不必考虑存取路径等细节
〈2>简化了应用程序的编制
〈3>大大减少了应用程序的维护和修改
信息世界中的基本概念(只需耍理解,不用背)
(1)实体,客观存在并可相互区别的事物称为实体。
可以是具体的人、事、物或概念。
(2)属性,实体所具有的某一特性称为属性。
一个实体可以由若T个属性來刻画。
(3)码,唯一标识实体的属性集称为码。
(4)域属性的取值范围称为该属性的域。
(5)实体型,川实体名及具属性名集合來抽象和刻画同类实体称为实体型
(6)实体集,同一类型实体的集合称为实体集
(7)联系(Relationship)
〈1>现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系。
〈2>实体内部的联系通常是指组成实体的各屈性之间的联系
实体之间的联系通常是指不同实体集之间的联系
数据的完整性约束(怎么实现)
定义:
用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。
包括:
实体完整性、参照完整性、用户门定义完整性约束两个实体型之间的联系:
(需要举例说明)一对一(1:
1);—对多(1:
n);多对多(m:
n)
数据模型的组成要素
•数据结构
•数据操作
•完整性约束条件(关系模型中,任何关系满足实体完整性和参照完整性两个条件)
第二早
关系:
单一的数据结构,现实世界的实体以及实体间的各种联系均用关系來表示。
域:
是一组具有相同数据类型的值的集合。
例:
>整数
>实数
>介于某个取值范围的整数
>长度指定长度的字符串集合
>{'男','女'}
笛卡尔积(看懂就可以了)
>给定组域〃1,Z2,…,Dn,这些域中可以有•相同的°
>DY,民,…,励的笛卡尔积为:
>〃1X代x・・・x伽=
>{(</1,也,…,dn)IdiwDi,i=1,2,…,n}
>所有域的所有取值的一个组合
>不能重复
>
•元纟R(Tuple)
•笛卡尔积中每一个元素(创,边,…,dn)叫作一个刀元组(n-tuple)或简称元组(Tuple)
・(张清玫,计算机专业,李勇)、(张清玫,计算机专业,刘晨)等都是元组
•分量(Component)
•笛卡尔积元素(dl,d2,…,dn)中的每一个值di叫作一个分量
•张清玫、计算机专业、李勇、刘展等都是分量
•基数(Cardinalnumber)
・若Di(,=1,2,…,〃)为有限集,其基数为mi(7=1,2,…,/7),则
X血X…X伽的基数財为:
•笛卡尔积的表示方法
•笛卡尔积可表示为一个二维表
•表屮的每行对应一个元组,表屮的每列对应一个域
关系(看懂就可以了)
1)关系,第一约束是属性不可分。
〃1X代X・・・X伽的子集叫作在域〃1,化,…,伽上的关系,表示为:
R(DI,D2,…,Dn)
R:
关系名n:
关系的目或度
2)元组
关系中的每个元素是关系中的元组,通常用Z表示。
3)单元关系与二元关系
当n=l时,称该关系为单元关系(Unaryrelation)或一元关系
当n二2时,称该关系为二元关系(Binaryrelation)
4)关系的表示
关系也是一个二维表,表的每行对应一个元纽,表的每列对应一个域
5)属性
■关系中不同列可以对应和同的域
■为了加以区分,必须对每列起一个名字,称为属性(Attribute)
■刃目关系必有n个属性
6)码
候选码:
若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码;简单的情况:
候选码只包含一个属性;
全码:
最极端的情况:
关系模式的所有属性组是这个关系模式的候选码,称为全码。
主码:
若一个关系有多个候选码,则选定其中一个为主码。
主属性:
候选码的诸属性称为主属性。
包含在任何侯选码中的属性称为非主属性或非码属性。
•刃,D1,…,Zh的笛卡尔积的某个子集才有实际含义
7)三类关系
基本关系(基本表或基表)
实际存在的表,是实际存储数据的逻辑表示
杳询表
查询结果対应的表
视图表
由基木表或其他视图表导出的表,是虚表,不对
应实际存储的数据
8)基本关系的性质
1列是同质的(Homogeneous)
2不同的列可出自同一个域
■其小的每一列称为一个属性
■不同的属性要给予不同的属性名
3列的顺序无所谓,列的次序町以任意交换
4任意两个元组的候选码不能相同
5行的顺序无所谓,行的次序可以任意交换
6分量必须取原了值,这是规范条件中最基木的一条。
关系模式可以形式化地表示为:
R(U,D,DO见F)
R关系名
U纽成该关系的属性名集合
D属性组〃屮属性所来自的域
DOM属性向域的映象集合
F属性间的数据依赖关系集合
定义关系模式
关系模式通常可以简记为
R(U)或R(AlfA2,…,An)
■川关系名
■JI,A2,…,An:
属性名
注:
域名及属性向域的映彖常常直接说明为属性的类型、长度;
常用的关系操作
•杳询:
选择、投影、连接、除、并、交、差
•数据更新:
插入、删除、修改
•查询的表达能力是具中最主要的部分
•选择、投彩、并、差、笛卡尔基是5种基木操作
关系操作的特点
•集合操作方式:
操作的对象和结果都是集合,一次一集合的方式。
第四章
SQL语句的编写(内容太多,不作总结,只要求简单的)
了解多重查询、排序、分组、子查询、连接查询
SQL语言的特点
1.一体化。
2.高度非过程化。
3.简洁。
4.便用方式多样。
SQL的数据类型:
数值型、字符串型、H期时间型、货币型以下内容只作了解,不必深究
数值型
准确型
•整数
Bigint:
8字节,Tnt:
4字节
Smallint:
2字节,Tinyint:
1字节
Bit:
1位,存储1或0
•小数
Numeric(p,q)或Decimal(p,q),
其中:
P为数字位长度,q:
小数位长度。
•近似型
Float:
8字节
Real:
4字节
字符串型
•普通编码字符串类型
•统一字符编码字符串类型
•二进制字符串类型
普通编码字符串类型
•Char(n):
定长存储,n<=8000
•Varchar(n):
不定长存储(按实际长度存储),长度戢大不超过n,口<二8000注:
n为字符个数
•Text:
存储人于8000字节的文本
统一字符编码字符串类型
•nchar(n):
定长存储,n<=4000
•nvarchar(n):
不定长存储,长度最大不超过n,n<=4000
•ntext:
存储大于8000字节的文本
•特点:
每个字符占两个字节
二进制字符串类型
•Binary(n):
固定长度,n<=8000。
•Varbinary(n):
可变长度,n<=8000。
注:
n为二进制数据的字节数
•image:
人容量、可变长二进制字符数据,可用于存储文件。
日期时间型
•Datetime:
8字节,年刀口时分秒毫秒
(例:
'2001/08/0310:
30:
00.000J)
•SmallDatcTime:
4字节,年刀日时分
(例:
'2001/08/0310:
30:
00')
・H期、时间的输入格式
货币类型
•Money:
8个字节,精确到货币单位的「分Z十。
•Smallmoney:
4个字节,精确到货币单位的T•分之十。
•限制到小数点后4位。
•可以带有适当的货币符号。
例如,100英镑可表示为£100o
基本表的定义
定义基本表
使用SQL语言屮的CREATETABLE语句实现,其一般格式为:
CREATETABLE〈表名〉
(
<列名〉〈数据类型〉[列级完整性约束定义]
)
在列级完整性约束定义处可以定义的约束
•NOTNULL:
限制列取值非空。
・DEFAULT:
给定列的默认值。
•UNIQUE:
限制列取值不重。
•CHECK:
限制列的取值范围。
•PRIMARYKEY:
指定本列为主码。
•FOREIGNKEY:
定义木列为引用其他表的外码。
使用形式为:
[FOREIGNKEY(<外码列名>)]REFERENCES<外表名〉(<外表列名〉)
•NOTNULL和DEFAULT只能是列级完整性约束;
•其他约束均可在表级完整性约束处定义。
•注意以下儿点:
•第一,如果CHECK约束是定义多列Z间的収值约束,则只能在表级完整性约束处定义;
•第二,如果表的主码由多个列组成,则也只能在表级完整性约束处定义,并将主码列用括号括起来,HP:
PRIMARYKEY(列1{[,列2]•・・});
•第三,如果在表级完整性约束处定义外码,则“FOREIGNKEY(〈外码列名〉)”部分不能省。
字符匹配
•使用LIKE运算符
•一般形式为:
列名[NOT]LIKE〈匹配串〉
•匹配串中可包含如下四种通配符:
•_:
匹配任意一个字符;
•%:
匹配0个或多个字符;
•[]:
匹配[]中的任意一个字符;
•[]:
不匹配[]中的任意一个字符
空值(NULL)在数据库中表示不确定的值。
SQL提供的计算函数有:
•COUNT(*):
统计表中元组个数;
•COUNT([DISTINCT]〈列名〉):
统计本列列值个数;
•SUM([DISTINCT]<列名〉):
计算列值总和;
•AVG([DISTINCT]<列名〉):
计算列值平均值;
•MAX([DISTINCT]〈列名〉):
求列值最大值;
•MTN([DISTINCT]<列名〉):
求列值最小值。
上述函数中除COUNT(*)外,其他函数在计算过程中均忽略NULL值。
创建索引:
CREATE
[UNIQUE][CLUSTEREDINONCLUSTERED]
INDEXv索引名〉
ONV表名〉(V列名〉[,…n])
•UNIQUE:
创建唯一索引。
•CLUSTERED:
创建聚簇索引。
・NONCLUSTERED:
创建聚簇索弓I。
•如果没有指定索引类型,则默认是创建非聚簇索引
索引的冃的:
为了更快的查询
缺点:
需要维护,降低效率
关键字:
index
~r"^2^
第五早
视图概念
视图可以被看成是虚拟表。
视图屮的数据不物理地存储在数据库内。
SELECT语句的结果集构成了视图的内容。
视图的作用
•简化数据查询语句
•使用户能从多角度看到同一数据
•提高了数据的安全性
•提供了一定程度的逻辑独立性
存储过程定义:
存储过程是SQL语句和控制流语句的预编译集合,它以一个名称存储并作为一个单元处理,应用程序可以通过调用的方法执行存储过程。
存储过程作用:
它使得对数据库的管理和操作更加容易、效率更高。
使用存储过程的好处
•允许模块化程序设计
•改善性能
•减少网络流屋
•提供了安全机制
•简化管理和操作
三种用户自定义函数:
标量函数内嵌表值两数多语句表值函数
第八早
实现数据完整性的方法
•—•种是在定义表吋声明数据完整性,称为声明完整性,
•另一种是在服务器端编写触发器来实现,称为过程完整性。
•在执行对数据的增、删、改操作时,数据库管理系统H动检杳用户定义的完整性约朿条件。
实现过程完整性
•过程完整性是指在服务器端通过编写实现约束的一段代码来实现数据完整性约束,这段代码就称为触发器。
•触发器是用编程的方法实现复杂的商业规则,它可以实现一•般的数据完整性约朿实现不了的复杂的完整性约束。
事务基本概念
•事务(Transaction)是作为完整的工作单元执行的一系列操作。
•如果一个事务中的所冇操作都成功,则事务成功,其对数据库的更改都会成为永久性的更改。
•如果事务中的任何一个操作失败,则整个事务失败,其中所完成的操作均被取消,所冇对数据的更改均无效。
事务的三种类型
•自动提交事务
•每一条对数据的增、册9、改语句都自动地构成了一个事务。
•显式事务
•是用户定义的事务,有显式的开始(BEGINTRANSACTION)和结束标记(COMMIT(正常结朿)和ROLLBACK(界常结朿))。
•隐式事务
•事务的开始是隐式的,以前一个事务结束后的第一个SQL语句作为下一个事务的开始,但每个事务必须有显式的结束标记。
•SQLServer支持的是显式事务。
触发器
•是一种特殊的存储过程,
•不需要由用户调用执行,而是当用户对表中的数据进行UPDATE.INSERT或DELETE操作吋自动触发执行的。
•触发器通常用于保证业务规则和数据完整性,其主要优点是用户可以用编程的方法来实现复杂的处理逻辑和商业规则,增强了数据完整性约束的功能。
触发器的优点
•完成比CHECK约束更复杂的数据约束。
•为保证数据库性能1佃维护的非规范化数据。
•可实现复杂的商业规则。
•触发器也可以评估数据修改前后的表状态,并根据其差异采取对策。
第七章
函数依赖
定义:
如果有一个关系模式R(A"2,…如),X和丫为{AlA2,.„An}的子集,那么对于关系代中的任意一个X值,都只有一个丫值对应,则称X函数决定Y,或Y函数依赖于X。
例:
Student(Sno,SName,Sdept,Sage)
Sno-^SName,Sno-^Sdept,Sno-^Sage
例:
SC(Sno,Cno,Grade)
(Sno,Cno)Grade
•1.如果X-Y,但丫不包含于X,则称X-Y是非平凡的函数依赖。
如不作特别说明,我们总是讨论非平凡函数依赖。
•2.如果y不函数依赖于x,则记作x—/->«
•3.如果X-Y,则称X为决定因子。
・4.如果X-*r,并且Y-X,则记作X--Yo
•5.如果X-Y,并门对于X的一个任意真子集K都有K—T,则称Y完全函数依赖于X,记作:
X丄9丫
如果x'成立,则称y部分函数依赖于x,记作:
x亠-y
•6.如果X^Y(非平凡函数依赖,并且Y—/-X)、丫一乙则称Z传递函数依赖于X。
•例1:
有关系模式:
SC(Sno,Sname,Cno,Credit,Grade)
•则函数依赖关系有:
•Sno-^Snamc
•(Sno,Cno)—Sname
•(Sno,Cno)—Grade
•例2:
有关系模式:
S(Sno,Sname,Dept,Dept_master)
•函数依赖关系冇:
Sno
ff
山于:
SnoDept,DeptDept_master
所以有:
Sno传递》Dept_master
关系的分类(没有找到答案,老师提示两句话)书102页范式
第一范式:
不包含重复组的关系。
第二范式:
如果/?
(〃,F)G1NF,并一口./?
中的每个非主属性都完全函数依赖于主码,
则R(U,F)丘2NF
例:
S-L-C(Sno,Sdept,SLOC,Cno,Grade)
有:
Sno-P-SLOC,不是2NF。
首先,对于组成主码的属性集合的每一个子集,用它作为主码构成一个表。
然后,将依赖于这些主码的属性放置到相应的表q1。
最示,去掉只由主码的了集构成的表。
第三范式:
定义:
如果R(U,F)丘2NF,并且所有非主属性都不传递依赖于主码,
则R(U,F)丘3NF。
对S-L(Sno,Sdept,SLOC)
TSno传递一SLOC,・•・不是3NF
•
(1)对于不是候选码的每个决定因子,从表中删去依赖于它的所有属性;
•
(2)新建一个表,新表中包含在原表中所冇依赖于该决定因了的属性;
•(3)将决定因子作为新表的主码。
S-L分解后的关系模式为:
•S-D(Sno,Sdept)
•D-L(Sdept,Sloe)
规范化举例
•设有关系模式:
Student(学号,姓名,导师号,导师名,课程号,课程说明,成绩)•语义:
一名学生只有一个导师,学生可选多门课。
•将其规范化成3NF的。
1.此表是1NF,其函数依赖为:
学号F-姓名,学号F-导师号,学号F-导师名,课程号F-课程说明,
(学号,课程号)一成绩
主码为(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 复习 详细 docx