数据库知识点整理.docx
- 文档编号:8722498
- 上传时间:2023-05-14
- 格式:DOCX
- 页数:60
- 大小:2.11MB
数据库知识点整理.docx
《数据库知识点整理.docx》由会员分享,可在线阅读,更多相关《数据库知识点整理.docx(60页珍藏版)》请在冰点文库上搜索。
数据库知识点整理
数据库
绪论
1.数据库经历的三大演变:
层次/网状系统、关系系统、新一代数据库系统大家族;
2.造就了三位图灵奖(TurningAward)得主:
C.W.Bachman,E.F.Codd,andJ.N.Gray;
3.发展了一门计算机基础学科:
以数据模型和数据库管理系统核心技术为主,内容丰富,领域宽广;
4.形成了一个巨大的软件产业:
数据库管理系统及相关工具产品、应用套件和解决方案;
5.数据库相关概念:
(1)数据(Data)
①数据:
描述事物的符号记录。
②数据的种类:
数字、字符串、文本、图形、图像、声音等。
③数据的特点:
数据和其语义是不可分的。
用数据描述事物,是事物的特性用数据进行表示的形式,还需对数据的语义进行解释。
(2)信息
信息:
由原始数据经加工提炼而成的、用于决定行为、计划或具有一定语义的数据称为信息。
数据和信息之间的关系如同原料和成品,并具有相对性。
信息=数据+数据处理
(3)数据库:
是长期存储在计算机内的、有组织的、可共享的大量数据的集合
数据库的基本特征:
按一定的数据模型组织、描述和存储
冗余度较小
数据独立性较高
易扩展
可为各种用户共享
(4)数据库管理系统(DBMS):
位于用户与操作系统之间的一层数据管理软件
DBMS和操作系统一样是计算机的基础软件,也是一个大型复杂的软件系统
DBMS的用途:
科学地组织和存储数据;高效地获取和维护数据;为用户或应用程序提供访问DB的方法。
著名的DBMS:
Oracle、SQLServer、DB2、Sybase、Informix等。
数据库管理系统的功能:
①数据定义功能
提供数据定义语言(DataDefinitionLanguage,DDL),方便地对数据库中的数据对象进行定义
②数据操纵功能
提供数据操纵语言(DataManipulationLanguage,DML),实现对数据库的基本操作(查询、插入、删除和修改等)
③数据库的运行管理功能
保证数据的安全性、完整性
多用户对数据的并发(Concurrency)使用
发生故障后的系统恢复
④数据库的建立和维护功能
⑤数据的输入、转换功能
⑥数据库的转储、恢复功能
⑦数据库的重组织功能
⑧性能监视和分析功能等
(5)数据库系统(DBS)
DBS:
指在计算机系统中引入数据库后的系统。
它由硬件、数据库、数据库管理系统及相关软件、应用系统、数据库管理员和用户构成。
(6)数据库技术(DB)
数据库技术是研究数据库的结构、存储、设计、管理和使用的一门软件学科,它在操作系统的文件基础上发展起来的,而DBMS本身要在操作系统支持下才能工作。
DB还与数据结构有关,集合论、数理逻辑是关系DB的理论基础,DBS中的程序用高级语言编写,因此数据库技术是一门综合性较强的学科。
6.数据管理技术
(1)数据管理:
①对数据进行分类、组织、编码、存储、检索和维护
②数据处理的中心问题
(2)数据管理技术的发展过程
人工管理阶段(20世纪40年代中--50年代中)
文件系统阶段(20世纪50年代末--60年代中)
数据库系统阶段(20世纪60年代末--现在)
(3)数据管理技术发展的驱动力:
应用需求的推动、计算机硬件的发展、计算机软件的发展
7.数据库系统的特点:
①数据结构化
②数据共享性高
③数据独立性高
④数据由DBMS统一管理和控制
习题
第二章数据模型
1.数据描述的三个领域:
①现实世界:
是指存在于人脑之外的客观世界,泛指客观存在的事物及其相互间的联系;
②信息世界:
是现实世界在人们头脑中的反映;
③机器世界:
当信息管理进入计算机后,把它称为机器世界、计算机世界或数据世界。
2.数据联系的描述
现实世界中事物内部以及事物之间的联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。
实体的联系有两类:
(1)实体内部的联系:
组成实体的各属性之间的联系
(2)实体间的联系:
是指不同实体集之间的联系
①两个实体型之间的联系(二元联系):
一对一联系(1:
1),一对多联系(1:
n),多对多(m:
n)
②多实体型之间的关系:
两个以上的实体型之间也会存在有联系,其联系类型为:
一对一、一对多、多对多。
③单个实体集内部的联系(一元联系):
在一个实体集的实体之间也可以存在一对一、一对多或多对多的联系。
3.数据模型的组成要素
(1)数据结构
①数据模型的数据结构:
描述数据库的组成对象,以及对象之间的联系
②描述的内容(两类对象):
与数据类型、内容、性质有关的对象
与数据之间联系有关的对象
③数据结构是对系统静态特性的描述
(2)数据操作
①数据操作:
对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则
②数据操作的类型:
查询,更新(包括插入、删除、修改)
③数据模型对操作的定义
操作的确切含义
操作符号
操作规则(如优先级)
实现操作的语言
④数据操作是对系统动态特性的描述
(3)数据的完整性约束条件
①一组完整性规则的集合
②完整性规则是指给定的数据模型中数据及其联系所具有的制约和依存规则
③用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效和相容
④数据模型对完整性约束条件的定义:
数据模型必须遵守的基本的通用的完整性约束条件。
例:
关系模型必须满足实体完整性和参照完整性。
具体应用所涉及的数据必须遵守的特定的语义约束条件
4.两大类数据模型
(1)概念模型:
也称信息模型,是从现实世界到信息世界的第一步抽象,它是按用户的观点来对数据和信息建模(数据库设计人员和用户之间进行交流/数据设计的有利工具)
概念模型的表示方法很多,其中最为著名最为常用的是P.P.S.Chen于1976年提出的实体-联系模型(Entity-RelationshipModel,E-R图)
用E-R图来描述现实世界的概念模型
E-R图提供了表示实体、属性和实体间联系的方法
附:
E—R图的绘制
①实体型:
用矩形表示,矩形框内写明实体名,如
②属性:
用椭圆形表示,并用无向边将其与相应的实体型连接起来,
如
③联系:
用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体型连接起来,同时在无向边旁标上联系的类型(1:
1,1:
n或m:
n)
如
④联系的属性:
如果一个联系有属性,则这些属性也要用无向边与该联系连接起来
如,学生和课程实体间存在选修课程联系,联系有“成绩”属性
E-R图举例:
图书馆中图书借阅概念模型
(2)数据模型:
也叫结构数据模型,包括逻辑模型和物理模型。
是从信息世界到机器世界的转换,是按计算机系统的观点对数据建模
(面向数据库系统的模型,用于DBMS实现)。
5.常用的数据模型
层次模型(HierarchicalModel)
网状模型(NetworkModel)
关系模型(RelationalModel)
面向对象数据模型(ObjectOrientedDataModel)
对象关系数据模型(ObjectRelationalDataModel)
XML数据模型(ExtensibleMarkupLanguageDataModel)
6.关系模型
(1)基本概念(术语)
①关系(Relation):
一个关系对应通常所说的一张表
②元组(Tuple):
表中的一行即为一个元组
③属性(Attribute):
表中的一列即为一个属性,给每一个属性起一个名称即属性名
④分量:
元组中的一个属性值
⑤码(Key):
可以唯一确定一个元组某/多个属性,也叫主键
⑥域(Domain):
属性的取值范围
⑦关系模式:
对关系的描述,一般表示为关系名(属性1,属性2,…,属性n)
例如:
学生(学号,姓名,年龄,性别,系名,年级)
(2)关系模型的数据结构
在关系模型中,实体以及实体间的联系都是用关系来表示
实体:
直接用关系(表)表示;
属性:
用属性名表示;
联系:
一对一、一对多和多对多联系
例如:
关系模型的数据结构
关系模型中最基础的规范条件是关系的每一个分量必须是一个不可分的数据项,也就是说,不允许表中还有表
(3)关系模型的完整性约束
实体完整性:
每个关系应有一个主键,每个元组的主键值应是唯一的,且不能为空;
参照完整性:
实体集及实体集间的联系都是用关系来描述的,从而使得关系之间存在相互引用;
用户定义的完整性:
根据数据库系统应用环境所形成的一些特殊约束条件;
7.典型的关系数据库系统
DB2(IBM的SystemR发展而来)
Informix
Oracle
MicrosoftAccess
MicrosoftSQLServer
VisualFoxPro
Sybase
第三章数据库系统结构
1.模式的概念:
也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图;
2.模式实际上是数据库数据在逻辑级上的表现形式,一个数据库只有一个模式;
3.模式的地位:
它是数据库系统模式结构的中间层,既不涉及数据的物理存储细节和硬件环境,也与具体的应用程序、所使用的应用开发工具及高级程序设计语言无关;
4.数据库系统三级模式结构
(1)外模式:
也称子模式或用户模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户局部的数据视图,是与某一应用有关的数据的逻辑表示。
可以简化应用程序,是保证数据库安全性的一个有力措施,也是保证数据独立性的有力措施。
(2)内模式:
也称存储模式,它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式,一个数据库只有一个内模式。
(3)模式:
也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
模式实际上是数据库数据在逻辑级上的表现形式,一个数据库只有一个模式。
定义与数据有关的安全性、完整性要求等。
三级模式是对数据的三个抽象级别
二级映象在DBMS内部实现这三个抽象层次的联系和转换
√外模式/模式映像:
*定义外模式与模式之间的对应关系;
*每一个外模式都对应一个外模式/模式映像;
*映像定义通常包含在各自外模式的描述中;
*当模式改变时,由数据库管理员对各个外模式/模式的映像作相应改变,可以使外模式保持不变;
*应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性
√模式/内模式映像:
*定义了数据全局逻辑结构与存储结构之间的对应关系
例如:
说明逻辑记录和字段在内部是如何表示的;说明数据库文件的存储位置等
*该映像定义通常包含在模式描述中
*数据库中只有一个模式,也只有一个内模式,所以模式/内模式映像是唯一的
用途:
当数据库的存储结构改变了(例如选用了另一种存储结构),由数据库管理员对模式/内模式映像作出相应改变,可以使模式保持不变。
应用程序也不必改变,保证了数据与程序的物理独立性,简称数据的物理独立性
小结:
①模式即全局逻辑结构,是数据库的中心与关键;
②内模式依赖于它的全局逻辑结构,但独立于数据库的用户视图,即外模式,也独立于具体的存储设备;
③外模式面向具体的应用程序,它定义在逻辑模式之上,但独立于存储模式和存储设备。
第四章关系数据库理论基础
1.关系的相关概念
①域:
定义1:
域是一组具有相同数据类型的值的集合
定义2:
关系中每一个属性都具有相应的值域或简称域(属性的取值范围)
②笛卡尔积:
定义:
给定一组域D1,D2,…,Dn,这些域中可以有相同的。
D1,D2,…,Dn的笛卡尔积为:
D1×D2×…×Dn={(d1,d2,…,dn)|diÎDi,i=1,2,…,n}
所有域的所有取值的一个组合
元组(Tuple):
笛卡尔积中的每一个元素(d1,d2,…,dn)叫做一个n元组或简称元组
分量(Component):
笛卡尔积元素(d1,d2,…,dn)中的每一个值di叫做一个分量
基数(CardinalNumber):
若Di(i=1,2,…,n)为有限集(元素/组的个数),其基数为mi(i=1,2,…,n),则D1×D2×…×Dn的基数M为:
③关系:
定义:
D1×D2×…×Dn的子集叫做在域D1,D2,…,Dn上的关系(笛卡尔积的子集),表示为:
R(D1,D2,…,Dn)
R表示关系名
n是关系的目或度(Degree)
关系中的每个元素是关系中的元组,通常用t表示
当n=1时,称该关系为一元关系或单元关系,当n=2时,称该关系为二元关系
关系中不同的列可以对应相同的域,为了加以区分,必须对每个列起一个名字,称为属性(Attribute)n目关系必有n个属性
若关系中某一属性组能唯一地标识一个元组,且又不含有多余的属性,则称该属性组为候选码(CandidateKey)在最简单的情况下,候选码只包含一个属性
在最极端的情况下,关系的所有属性都是这个关系的候选码,称为全码(All-key)
若一个关系有多个候选码,则选定其中的一个为主码(PrimaryKey);候选码的诸属性称为主属性。
2、关系的类型
①基本关系(通常又称为基本表或基表):
基本表是实际存在的表,它是实际存储数据的逻辑表示;
②查询表:
查询结果对应的表;
③视图表:
由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据;
3.关系的性质
①列是同质的,即每一列中的分量是同一类型的数据,来自同一个域;
②不同的列可出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名(分清“属性”和“域”);
③列的次序可以任意交换
④行的次序可以任意交换
⑤任意两个元组的候选码不能完全相同
⑥关系中每一个分量都必须是不可分的数据项——这是关系模型规范条件中最基本的一条(不允许“表中有表”)
4.关系模式
①在数据库中要区分“型”和“值”,关系数据库中,关系模式(RelationSchema)是型,关系是值
②关系模式是对关系的描述
√元组集合的结构(属性构成、属性来自的域、属性与域之间的映象关系)
√元组语义以及完整性
√属性间的数据依赖关系集合
③定义:
关系模式可以形式化地表示为
R(U,D,DOM,F)
其中,R为关系名,
U为组成该关系的属性名集合,
D为属性组U中属性所来自的域,
DOM为属性向域的映像集合,
F为属性间数据的依赖关系集合
关系模式通常可以简记为R(U)或R(A1,A2,…,An)
其中,R为关系名,A1,A2,…,An为属性名
注:
域名及属性向域的映象常常直接说明为属性的类型、长度
④关系模式(型):
对关系结构的描述,静态的、稳定的;
关系(值):
关系模式在某一时刻的状态或内容,动态的,随时间不断变化的;
关系模式和关系往往统称为关系(通过上下文加以区别)
5.关系操作
①关系模型中最常用的关系操作包括查询和数据更新两大部分
②关系的查询表达能力很强,是关系操作最主要的组成部分。
查询操作又可以分为:
选择(Select)、投影(Project)、连接(Join)、除(Divide)、并(Union)、差(Except)、交(Intersection)、笛卡尔积等
其中选择、投影、并、差和笛卡尔积是5种基本操作
③数据更新操作包括插入(Insert)、删除(Delete)、修改(Update)
6.关系完整性
①关系的完整性包括实体完整性、参照完整性和用户自定义完整性;
②实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性;
③用户自定义完整性是应用领域需要遵循的约束条件,体现了具体领域中的语义约束;
④实体完整性规则:
若属性(指一个或一组属性)A是基本关系R的主属性,则A不能取空值,而且要唯一。
说明:
A.实体完整性规则是针对基本关系而言的。
一个基本表通常对应现实世界的一个实体集;
B.现实世界中的实体是可区分的,即它们具有某种唯一性标识,关系模型中以主码作为唯一性标识;
C.主码中的属性即主属性不能取空值。
如果主属性取空值,就说明存在某个不可识别的实体,即存在不可区分的实体,这与B点相矛盾,因此这个规则称为实体完整性;
⑤关系间的引用(参照)
A.现实世界中的实体之间往往存在某种联系
B.在关系模型中,实体及实体之间的联系都是用关系来描述的,这样就自然存在着关系与关系间的引用
C.外码定义:
设F是基本关系R的一个或一组属性,但不是关系R的码。
如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码
基本关系R称为参照关系(ReferencingRelation)
基本关系S称为被参照关系(ReferencedRelation)或目标关系(TargetRelation)
关系R和S可以是相同的关系也可是不同的关系
被参照关系(目标关系)S的主码Ks和参照关系的外码F必须定义在同一个(或一组)域上
外码并不一定要与相应的主码同名(属于同一关系时)
当外码与相应的主码属于不同关系时,往往取相同的名字,以便于识别
⑥参照完整性规则
参照完整性规则就是定义外码与主码之间的引用规则
若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值有两种可能:
或者取空值(F的每个属性值均为空值)
或者等于被参照关系S中某个元组的主码值
外键值是否为空,视具体问题而定。
在模式中,若外码是该模式主码中的成分时,则外码值不允许空,否则允许为空。
⑦用户自定义完整性
A.任何关系数据库都应该满足实体完整性和参照完整性,这是关系模型所要求的
B.不同的关系数据库系统根据其应用环境的不同,往往还需要一些特殊的约束条件
C.用户自定义完整性就是针对某一具体关系数据库的约束条件。
它反映某一具体应用所涉及的数据必须满足的逻辑要求
7.关系代数
①关系代数:
是一种抽象的查询语言,通过对关系的运算来表达查询。
②运算的三大要素:
运算对象(关系)、运算符(四类)、运算结果(关系)
③关系代数用到的运算符包括四类:
A传统的集合运算符:
把关系看成元组的集合,从行的角度进行运算
B专门的关系运算符:
涉及行和列
C算术比较运算符:
辅助专门的关系运算符进行操作
D逻辑运算符:
辅助专门的关系运算符进行操作
8.传统的集合运算
①并:
R和S:
具有相同的目n(即两个关系都有n个属性),且相应的属性取自同一个域。
关系R与关系S的并记作:
R∪S={t|t∈R∨t∈S}
其结果仍为n目关系,由属于关系R或关系S的元组组成
②差:
R和S:
具有相同的目n,且相应的属性取自同一个域。
其结果仍为n目关系,由属于关系R而不属于关系S的所有元组组成,记作:
R-S={t|tÎ∈R∧t∈S}
③交:
R和S:
具有相同的目n,且相应的属性取自同一个域。
其结果仍为n目关系,由属于关系R又属于关系S的所有元组组成,记作:
R∩S={t|tÎ∈R∧t∈S},或R∩S=R–(R-S)
④笛卡尔积:
关系R:
n目关系,k1个元组
关系S:
m目关系,k2个元组
关系R与关系S的笛卡尔积记作:
R×S={trts|trÎR∧tsÎS}
列:
(n+m)列的元组的集合;元组的前n列是关系R的一个元组,后m列是关系S的一个元组
行:
k1×k2个元组
第五章关系数据库标准语言SQL
SQL(StructuredQueryLanguage),即结构化查询语言,是关系数据库的标准语言。
1.SQL特点
①综合统一
②高度非过程化
③面向集合的操作方式
④以同一种语法结构提供多种使用方式
⑤语言简洁,易学易用
2.SQL的基本概念
①SQL支持关系数据库三级模式结构,其中外模式对应于视图(View)和部分基本表(BaseTable),模式对应于基本表,内模式对应于存储文件(StoredFile)
②用户用SQL语言对基本表和视图进行操作
③基本表
√本身独立存在的表,一个关系对应一个表
√一个(或多个)基本表对应一个存储文件
√一个表可以带若干索引,索引也存放在存储文件中
④存储文件
√存储文件的逻辑结构组成了关系数据库的内模式
√存储文件的物理结构是任意的,对用户是透明的
⑤视图
√从一个或几个基本表导出的表
√是虚表,只存放视图的定义而不存放对应数据
3.数据库的物理结构
由数据文件(至少一个)和日志文件(至少一个)组成。
①数据文件
√主数据文件(PrimaryDatabaseFile)
数据库可包含多个文件,其中一个被定义为主数据库文件(简称为主文件),其扩展名为mdf。
用来存储数据库的启动信息以及部分或者全部数据。
√辅助/次数据文件(SecondaryDatabaseFile)
用于存储主数据库文件中未存储的剩余数据和数据库对象,一个数据库可以没有辅助数据库文件,但也可以同时拥有多个辅助数据库文件。
辅助数据库文件的扩展名为ndf。
数据文件和日志文件必须分开存放。
②日志文件
每一个数据库至少必须拥有一个日志文件,允许拥有多个日志文件。
日志文件的扩展名为ldf,日志文件的大小至少是512KB。
√保证数据安全
日志文件记录用户对数据库的每一次操作,保证数据安全。
√恢复数据库
日志文件存储数据库的更新情况等事务日志信息,当数据库损坏时,管理员使用日志文件恢复数据库。
4.使用Transact-SQL语言
①Transact-SQL创建数据库:
CREATEDATABASE<数据库名>
√功能:
建立数据库,并指定数据库及其对应数据文件和日志文件名称与位置,还可以指定其他属性,如增长方式、文件大小等。
②创建数据库简要语法
CREATEDATABASE<数据库名>(数据库名称在服务器中须唯一,且符合标识符的规则P231)
[ONPRIMARY
([NAME=数据文件逻辑文件名(在创建数据库后执行的T-SQL语句中引用文件的名字),]
FILENAME=‘数据文件物理文件名(含有具体位置,即具体路径)’
[,SIZE=文件初始大小]
[,MAXSIZE={文件可以增长到的最大的大小丨UNLIMITED}]
[,FILEGROWTH=文件的增长增量])[,...n])]
[LOGON
([NAME=日志文件逻辑文件名(在创建数据库后执行的T-SQL语句中引用文件的名字),]
FILENAME=‘日志文件物理文件名(含有具体位置)’
[,SIZE=文件初始大小]
[,MAXSIZE={文件可以增长到的最大的大小丨UNLIMITED}]
[,FILEGROWTH=文件的增长增量])[,...n])
[,FILEGROUP<文件组名>]]
③Transact-SQL打开数据库使用:
USE<数据库名>
④修改数据库
A.语句与功能
√使用ALTERDATABASE语句来对数据库进行修改扩充
√功能:
在数据库中添加或删除文件和文件组。
更改数据库名称、文件组名称以及数据文件和日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 知识点 整理
![提示](https://static.bingdoc.com/images/bang_tan.gif)