数据库系统概论知识点.docx

上传人:b****5 文档编号:7642803 上传时间:2023-01-25 格式:DOCX 页数:16 大小:26.44KB
下载 相关 举报
数据库系统概论知识点.docx_第1页
第1页 / 共16页
数据库系统概论知识点.docx_第2页
第2页 / 共16页
数据库系统概论知识点.docx_第3页
第3页 / 共16页
数据库系统概论知识点.docx_第4页
第4页 / 共16页
数据库系统概论知识点.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

数据库系统概论知识点.docx

《数据库系统概论知识点.docx》由会员分享,可在线阅读,更多相关《数据库系统概论知识点.docx(16页珍藏版)》请在冰豆网上搜索。

数据库系统概论知识点.docx

数据库系统概论知识点

第一章:

绪论

数据库(DB):

长期存储在计算机内、有组织、可共享的大量数据的集合。

数据库中的数据按照一定的数据模型组织、描述和存储,具有娇小的冗余度、交稿的数据独立性和易扩展性,并可为各种用户共享。

数据库管理系统(DBMS):

位于用户和操作系统间的数据管理系统的一层数据管理软件。

用途:

科学地组织和存储数据,高效地获取和维护数据。

包括数据定义功能,数据组织、存储和管理,数据操纵功能,数据库的事物管理和运行管理,数据库的建立和维护功能,其他功能。

数据库系统(DBS):

在计算机系统中引入数据库后的系统,一般由数据库。

数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。

目的:

存储信息并支持用户检索和更新所需的信息。

数据库系统的特点:

数据结构化;数据的共享性高,冗余度低,易扩充;数据独立性高;数据由DBMS统一管理和控制。

概念模型实体,客观存在并可相互区别的事物称为实体。

属性,实体所具有的某一特性称为属性。

码,唯一标识实体的属性集称为码。

域,是一组具有相同数据类型的值的集合。

实体型,具有相同属性的实体必然具有的共同的特征和性质。

实体集,同一类型实体的集合称为实体集。

联系

两个实体型之间的联系一对一联系;一对多联系;多对多联系

关系模型关系,元组,属性,码,域,分量,关系模型

关系数据模型的操纵与完整性约束关系数据模型的操作主要包括查询,插入,删除和更新数据。

这些操作必须满足关系完整性约束条件。

关系的完整性约束条件包括三大类:

实体完整性,参照完整性和用户定义的完整性。

数据库系统三级模式结构外模式,模式,内模式

模式:

(逻辑模式)数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。

一个数据库只有一个模式。

模式的地位:

是数据库系统模式结构的中间层,与数据的物理存储细节和硬件环境无关,与具体的应用程序、开发工具及高级程序设计语言无关。

模式定义的内容:

数据的逻辑结构(数据项的名字、类型、取值范围等),数据之间的联系,数据有关的安全性、完整性要求

外模式:

(子模式/用户模式)数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据库和逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的系统的逻辑表示。

一个数据库可以有多个外模式。

外模式的地位:

介于模式与应用之间

模式与外模式的关系:

一对多。

外模式通常是模式的子集。

一个数据库可以有多个外模式。

反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求。

对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同。

外模式与应用的关系:

一对多。

同一外模式也可以为某一用户的多个应用系统所使用

但一个应用程序只能使用一个外模式

内模式:

存储模式或内视图)是数据物理结构和存储方式的描述,是数据在数据库内部实际存储的表示方式:

记录的存储方式(顺序,B树,hash方法存储),索引的组织方式,数据是否压缩存储,数据是否加密。

数据存储记录结构的规定,一个数据库只有一个内模式

三级模式的优点:

(1)保证数据的独立性(内模式与模式分开物理独立;外模式与模式分开逻辑独立)

(2)简化用户窗口(3)有利于数据共享(4)利于数据的安全保密

(5)数据存储由DBMS管理(用户不用考虑存取路径等细节)

二级映像功能:

(1)外模式/模式映像(应用可扩充性)

定义外模式(局部逻辑结构)与模式(全局逻辑结构)之间的对应关系,映象定义通常包含在各自外模式的描述中,每一个外模式,数据库系统都有一个外模式/模式映象。

用途:

保证数据的逻辑独立性

当模式改变时,数据库管理员修改有关的外模式/模式映象,使外模式保持不变

应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。

(2)模式/内模式映像(空间利用率,存取效率)

模式/内模式映像是唯一的,它定义了数据全局逻辑结构与存储结构之间的对应关。

数据库中模式/内模式映象是唯一的。

该映象定义通常包含在模式描述中。

用途:

保证数据的物理独立性

当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式/内模式映象,使模式保持不变。

应用程序不受影响。

保证了数据与程序的物理独立性,简称数据的物理独立性。

优点:

(1)保证了数据库外模式的稳定性。

(2)从底层保证了应用程序的稳定性,除非应用需求本身发生变化,否则应用程序一般不需要修改。

(3)数据与程序之间的独立性,使得数据的定义和描述可以从应用程序中分离出去。

什么叫数据与程序的物理独立性?

什么叫数据与程序的逻辑独立性?

为什么数据库系统具有数据与程序的独立性?

1、数据与程序的逻辑独立性:

当模式改变时,数据库管理员修改有关的外模式/模式映象,使外模式保持不变。

从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。

2、数据与程序的物理独立性:

当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式/内模式映象,使模式保持不变。

应用程序不受影响。

保证了数据与程序的物理独立性,简称数据的物理独立性。

数据库管理系统在三级模式之间错提供的二层影响保证了数据系统中的数据具有较高的逻辑独立性和物理独立性。

数据库系统的组成硬件平台及数据库,软件,人员

第二章:

关系数据库

关系的完整性约束

实体完整性和参照完整性:

关系模型必须满足的完整性约束条件称为关系的两个不变性,应该由关系系统自动支持。

用户定义的完整性:

应用领域需要遵循的约束条件,体现了具体领域中的语义约束。

外码,主码,候选码的概念

候选码:

若关系中的某一属性组的职能唯一地标识一个元组,则称该属性组为候选码。

主码:

若一个关系有多个候选码,则选定期中一个为主码。

外部码:

设F是基本关系R的一个或一组属性。

但不是关系R的码,如果F与基本关系S的主码K想对应,则称F是基本关系R的外部码,简称外码。

关系的3类完整性约束概念

实体完整性:

若属性(指一个或一组属性)A是基本关系R的主属性,A不能取空值。

参照完整性:

若属性(或属性组)F是基本关系R的外码,它是基本关系S的主码K相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:

或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。

用户定义的完整性:

针对某一具体关系数据库的约束条件。

反映某一具体应用所设计的数据必须满足的语义要求。

关系操作的特点,关系代数中的各种运算

关系操作的特点是集合操作方式,即操作的对象和结果是集合。

关系代数1、并(R∪S)仍为n目关系,由属于R或属于S的元组组成。

R∪S={t|t?

R∨t?

S}

2、差(R–S)仍为n目关系,由属于R而不属于S的所有元组组成。

R-S={t|t?

R∧t?

S}

3、交(R∩S)仍为n目关系,由既属于R又属于S的元组组成。

R∩S={t|t?

R∧t?

S}R∩S=R–(R-S)

4、笛卡尔积R:

n目关系,k1个元组;S:

m目关系,k2个元组;R×S。

9、选择:

选择又称为限制(Restriction)σ:

对元组按照条件进行筛选。

在关系R中选择满足给定条件的诸元组σF(R)={t|t?

R∧F(t)='真'}。

10、投影:

投影运算符π的含义:

从R中选择出若干属性列组成新的关系πA(R)={t[A]|t?

R}A:

R中的属性列投影操作主要是从列的角度进行运算。

但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行)。

11、连接:

连接也称为θ连接:

两张表中的元组有条件的串接。

从两个关系的笛卡尔积中选取属性间满足一定条件的元组RS={|tr?

R∧ts?

S∧tr[A]θts[B]}

外连接:

如果把舍弃的元组也保存在结果关系中,而在其他属性上填空值(Null),这种连接就叫做外连接。

左外连接:

如果只把左边关系R中要舍弃的元组保留就叫做左外连接(LEFTOUTERJOIN或LEFTJOIN)。

右外连接:

如果只把右边关系S中要舍弃的元组保留就叫做右外连接(RIGHTOUTERJOIN或RIGHTJOIN)。

12、除÷:

给定关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组;R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集;R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上的投影

第三章:

关系数据库标准语言SQL

注意:

SQL(Oracle除外)一般不提供修改视图定义和索引定义的操作,需要先删除再重建

定义基本表:

CREATETABLE<表名>

(<列名><数据类型>[<列级完整性约束条件>]

[,<列名><数据类型>[<列级完整性约束条件>]]…

[,<表级完整性约束条件>]);

列级完整性约束--涉及到该表的一个属性

▪NOTNULL:

非空值约束

▪UNIQUE:

唯一性(单值约束)约束

▪PRIMARYKEY:

主码约束

▪DEFAULT<默认值>:

默认(缺省)约束

▪Check<(逻辑表达式)>:

核查约束,定义校验条件

▪NOTNULL:

非空值约束

▪UNIQUE:

唯一性(单值约束)约束

▪PRIMARYKEY:

主码约束

▪DEFAULT<默认值>:

默认(缺省)约束

▪Check<(逻辑表达式)>:

核查约束,定义校验条件

表级完整性约束--涉及到该表的一个或多个属性。

▪UNIQUE(属性列列表):

限定各列取值唯一

▪PRIMARYKEY(属性列列表):

指定主码

▪FOREIGNKEY(属性列列表)REFERENCES<表名>[(属性列列表)]

▪Check(<逻辑表达式>):

检查约束

▪PRIMARYKEY与UNIQUE的区别?

例:

建立“学生”表Student,学号是主码,姓名取值唯一

CREATETABLEStudent

(SnoCHAR(9)PRIMARYKEY,/*主码*/

SnameCHAR(20)UNIQUE,/*Sname取唯一值*/

SsexCHAR

(2),SageSMALLINT,SdeptCHAR(20));

数据类型

修改基本表:

ALTERTABLE<表名>

[ADD<新列名><数据类型>[完整性约束]]

[DROP<列名>|<完整性约束名>]

[ALTERCOLUMN<列名><数据类型>];

例:

向Student表增加“入学时间”列,其数据类型为日期型

ALTERTABLEStudentADDS_entranceDATE;

不论基本表中原来是否已有数据,新增加的列一律为空值

将年龄的数据类型由字符型(假设原来的数据类型是字符型)改为整数

ALTERTABLEStudentALTERCOLUMNSageINT;

注:

修改原有的列定义有可能会破坏已有数据

增加课程名称必须取唯一值的约束条件。

ALTERTABLECourseADDUNIQUE(Cname);

直接删除属性列:

(新标准)例:

ALTERTABLEStudentDropSage;

删除基本表:

DROPTABLE<表名>[RESTRICT|CASCADE];

RESTRICT:

(受限)欲删除的基本表不能被其他表的约束所引用,如果存在依赖该表的对象(触发器,视图等),则此表不能被删除。

CASCADE:

(级联)在删除基本表的同时,相关的依赖对象一起删除。

例:

删除Student表DROPTABLEStudentCASCADE;

基本表定义被删除,数据被删除;表上建立的索引、视图、触发器等一般也将被删除。

删除索引:

DROPINDEX<索引名>;

删除索引时,系统会从数据字典中删去有关该索引的描述。

例:

删除Student表的Stusname索引:

DROPINDEXStusname

2、数据查询:

基本格式

单表查询

选择表中的若干列(投影)

查询指定列(相当于πA(R),A=A1,A2,…,An)

例;查询全体学生的学号与姓名

SELECTSno,Sname

FROMStudent;

查询全部列:

在SELECT关键字后面列出所有列名按用户指定顺序显示。

将<目标列表达式>指定为*按关系模式中的属性顺序显示。

例:

查询全体学生的详细记录

SELECTSno,Sname,Ssex,Sdept,Sage

FROMStudent;

或SELECT*

FROMStudent;

:

SELECT子句的<目标列表达式>可以为:

查询经过计算的值

例:

查全体学生的姓名及其出生年份

SELECTSname,2011-Sage/*假定当年的年份为2011年*/

FROMStudent;

输出结果:

Sname2011-Sage

李勇1991

刘晨1992

字符串常量、函数

例:

查询全体学生的姓名、出生年份和所有系,要求用小写字母

表示所有系名

SELECTSname,‘YearofBirth:

',2004-Sage,ISLOWER(Sdept)

FROMStudent;

输出结果:

Sname'YearofBirth:

'2004-SageISLOWER(Sdept)

李勇YearofBirth:

1984cs

刘晨YearofBirth:

1985is

列别名

SELECTSnameasNAME,'YearofBirth:

'asBIRTH,

2011-SageasBIRTHDAY,LOWER(Sdept)asDEPARTMENT

FROMStudent;

输出结果:

NAMEBIRTHBIRTHDAYDEPARTMENT

------------------------------------------------------

李勇YearofBirth:

1991cs

刘晨YearofBirth:

1992is

选择表中的若干元组(选择)

消除重复性:

指定DISTINCT关键词,去掉表中重复的行

SELECTDISTINCTSnoFROMSC;

注意DISTINCT短语的作用范围是所有目标列

错误的写法SELECTDISTINCTCno,DISTINCTGradeFROMSC;

正确的写法SELECTDISTINCTCno,GradeFROMSC;

SELECT子句缺省情况是保留重复元组(ALL),

例:

查询选修了课程的学生学号。

SELECTSnoFROMSC;等价于:

SELECTALLSnoFROMSC;

查询满足条件的元组

WHERE子句常用的查询条件(相当于σF)

比较大小使用比较运算符或逻辑运算符NOT+比较运算符

例:

查询计算机科学系全体学生的名单

SELECTSname

FROMStudent

WHERESdept=‘CS’;

例:

查询所有年龄在20岁以下的学生姓名及其年龄

SELECTSname,Sage

FROMStudent

WHERESage<20;主存取控制方法:

定义各个用户对不同数据对象的存取权限。

当用户要访问数据库时,首先要检查其存取权限,以防止非法用户对数据库进行存取。

“自主存取控制”中“自主”的含义:

用户可以将自己所拥有的存取权限“自主”地授予他人,即用户具有一定的“自主”权。

4.授权与收回语句。

GRANT语句和REVOKE语句实现关系数据库系统中存取控制权限:

1、GRANT(授权)

GRANT语句的一般格式:

GRANT<权限>[,<权限>]...

ON<对象类型><对象名>,[<对象类型><对象名>]

TO<用户>[,<用户>]...

[WITHGRANTOPTION];

将对指定操作对象的指定操作权限授予指定的用户

发出GRANT:

DBA,数据库对象创建者(即属主Owner),拥有该权限的用户

接受权限的用户:

一个或多个具体用户;PUBLIC(全体用户)。

例:

把查询Student表权限授给用户U1

GRANTSELECT

ONTABLEStudent

TOU1;

例:

把查询Student表和修改学生学号的权限授给用户U4 

GRANTUPDATE(Sno),SELECT

ONTABLEStudent

TOU4;

对属性列的授权时必须明确指出相应属性列名

2、REVOKE:

授予的权限可以由DBA或其他授权者用REVOKE语句收回

REVOKE语句的一般格式为:

REVOKE<权限>[,<权限>]...

ON<对象类型><对象名>>[,<对象类型><对象名>]…

FROM<用户>[,<用户>]...>[CASCADE|RESTRICT];

把指定对象的指定操作权限从指定用户处收回。

例:

把用户U4修改学生学号的权限收回

REVOKEUPDATE(Sno)

ONTABLEStudent

FROMU4;

例:

收回所有用户对表SC的查询权限

REVOKESELECT

ONTABLESC

FROMPUBLIC;

例:

把用户U5对SC表的INSERT权限收回

REVOKEINSERT

ONTABLESC

FROMU5CASCADE;(缺省是RESTRICT)

将用户U5的INSERT权限收回的时候必须级联(CASCADE)收回,因为U5将SC的INSERT权限授予U6,U6又将其授予U7,CASCADE系统只收回直接或间接从U5处获得的权限。

Grant和Revoke向用户授予或收回对数据的操作权限

3、创建数据库模式的权限:

DBA在创建用户时实现

CREATEUSER语句格式

CREATEUSER

[WITH][DBA|RESOURCE|CONNECT]

拥有DBA权限的用户是系统中的超级用户;只有系统的超级用户才有权创建新的数据库用户;如果没有指定创建的新用户的权限,默认该用户拥有CONNECT权限,只能登录数据库.。

5.数据库角色角色的创建,给角色授权,将一个角色授予其他角色或用户

6.强制存取控制方法:

每一个数据对象被(强制地)标以一定的加密级别,每位用户也被(强制地)授予某一级别的许可证。

系统规定只有具有某一许可证级别的用户才能存取加密级别的数据对象。

强制存取控制(MAC)是对数据本身进行密级标记,无论数据如何复制,标记与数据是一个不可分的整体,只有符合密级标记要求的用户才可以操纵数据,从而提高了更高级别的安全性。

第五章:

数据库的完整性看书。

实体完整性(定义)参照完整性用户定义完整性

第六章:

关系数据理论

1、函数依赖:

设R(U)是一个属性集U上的关系模式,X和Y是U的子集,若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称“X函数确定Y”或“Y函数依赖于X”,记作X→Y。

所谓函数依赖是指关系中属性或属性组的值可以决定其它属性的值,设R(U)是属性集U上的关系模式,X、Y是U的子集:

如果X和Y之间是1:

1关系(一对一关系),如学校和校长之间就是1:

1关系,则存在函数依赖X→Y和Y→X。

如果X和Y之间是1:

n关系(一对多关系),如年龄和姓名之间就是1:

n关系,则存在函数依赖Y→X。

如果X和Y之间是m:

n关系(多对多关系),如学生和课程之间就是m:

n关系,则X和Y之间不存在函数依赖。

在关系模式R(U)中,对于U的子集X和Y,如果X→Y,但Y?

X,则称X→Y是非平凡的函数依赖;若X→Y,但Y?

X,则称X→Y是平凡的函数依赖。

例:

在关系SC(Sno,Cno,Grade)中,非平凡函数依赖:

(Sno,Cno)→Grade;

平凡函数依赖:

(Sno,Cno)→Sno(Sno,Cno)→Cno

若X→Y,则X称为这个函数依赖的决定属性组,也称为决定因素(Determinant)。

2、完全函数依赖:

在R(U)中,如果X→Y,并且对于X的任何一个真子集X’,都有X’Y,则称Y对X完全函数依赖,记作。

3、部分函数依赖:

若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作

例:

中(Sno,Cno)→Grade是完全函数依赖,(Sno,Cno)→Sdept是部分函数依赖

∵Sno→Sdept成立,且Sno是(Sno,Cno)的真子集。

当存在部分依赖时,就会产生数据冗余。

4、传递函数依赖:

在R(U)中,如果X→Y,(YX),YX,Y→Z,ZY,则称Z对X传递函数依赖,记为:

注:

如果Y→X,即X←→Y,则Z直接依赖于X。

例:

在关系Std(Sno,Sname,Sdept,Mname)中,有:

Sno→Sdept,Sdept→Mname

Mname传递函数依赖于Sno

5、侯选码:

设K为R中的属性或属性组,若KU(每个属性),则K称为R的侯选码(CandidateKey)

注K满足两个条件:

1.K完全函数决定该关系的所有其它属性。

的任何真子集都不能完全函数决定R的所有其它属性,K必须是最小的。

若候选码多于一个,则选定其中的一个做为主码(PrimaryKey),通常称之为码。

主属性(Primeattribute):

包含在任何一个候选码中的属性。

非主属性或非码属性:

不包含在任何码中的属性。

例:

关系模式S(Sno,Sdept,Sage),单个属性Sno是码,

SC(Sno,Cno,Grade)中,(Sno,Cno)是码

由于码能唯一确定一个元组,所以关系的码函数决定该关系的所有属;一个关系中的所有属性都函数依赖于该关系的码。

例:

关系模式R(P,W,A)P:

演奏者W:

作品A:

听众:

一个演奏者可以演奏多个作品,某一作品可被多个演奏者演奏,听众可以欣赏不同演奏者的不同作品。

码为(P,W,A),即All-Key

6、外部码:

关系模式R中属性或属性组X并非R的码,但X是另一个关系模式的码,则称X是R的外部码(Foreignkey)也称外码

如在SC(Sno,Cno,Grade)中,Sno不是码,

但Sno是关系模式S(Sno,Sdept,Sage)的码,则Sno是关系模式SC的外部码

主码与外部码一起提供了表示关系之间联系的手段

各种范式之间存在联系:

1、1NF:

如果一个关系模式R的所有属性都是不可分的基本数据项,则R∈1NF

第一范式是对关系模式的最起码的要求。

不满足第一范式的数据库模式不能称为关系数据库;简而言之,第一范式就是无重复的列,关系数据库研究的关系都是规范化的关系。

但是满足第一范式的关系模式并不一定是一个好的关系模式。

例:

关系模式S-L-C(Sno,Sdept,Sloc,Cno,Grade)Sloc为学生住处,假设每个系的学生住在同一个地方。

函数依赖包括:

(Sno,Cno)FGrade

(Sno,Cno)PSdept∵S

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 化学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1