数据库系统理论复习资料利于复习.docx

上传人:b****5 文档编号:7274372 上传时间:2023-01-22 格式:DOCX 页数:17 大小:48.43KB
下载 相关 举报
数据库系统理论复习资料利于复习.docx_第1页
第1页 / 共17页
数据库系统理论复习资料利于复习.docx_第2页
第2页 / 共17页
数据库系统理论复习资料利于复习.docx_第3页
第3页 / 共17页
数据库系统理论复习资料利于复习.docx_第4页
第4页 / 共17页
数据库系统理论复习资料利于复习.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

数据库系统理论复习资料利于复习.docx

《数据库系统理论复习资料利于复习.docx》由会员分享,可在线阅读,更多相关《数据库系统理论复习资料利于复习.docx(17页珍藏版)》请在冰豆网上搜索。

数据库系统理论复习资料利于复习.docx

数据库系统理论复习资料利于复习

数据库系统理论复习资料

什么是数据?

什么是信息?

数据和信息有什么区别和联系?

数据(Data)是数据库中存储的基本对象

数据的定义描述事物的符号记录

数据的种类文本、图形、图像、音频、视频、学生的档案记录、货物的运输情况等

信息与数据之间存在着固有联系:

数据是信息的符号表示或称为载体;信息则是数据的内涵,是对数据语义的解释。

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

数据库的基本特征数据按一定的数据模型组织、描述和储存可为各种用户共享冗余度较小

数据独立性较高易扩展

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

是基础软件,是一个大型复杂的软件系统

DBMS的用途科学地组织和存储数据、高效地获取和维护数据

DBMS的主要功能

▪数据定义功能

提供数据定义语言(DDL)

定义数据库中的数据对象

▪数据组织、存储和管理

分类组织、存储和管理各种数据

确定组织数据的文件结构和存取方式

实现数据之间的联系

提供多种存取方法提高存取效率

▪数据操纵功能

提供数据操纵语言(DML)

实现对数据库的基本操作(查询、插入、删除和修改)

▪数据库的事务管理和运行管理

数据库在建立、运行和维护时由DBMS统一管理和控制

保证数据的安全性、完整性、多用户对数据的并发使用

发生故障后的系统恢复

▪数据库的建立和维护功能(实用程序)

数据库初始数据装载转换

数据库转储

介质故障恢复

数据库的重组织

性能监视分析等

▪其它功能

DBMS与网络中其它软件系统的通信

两个DBMS系统的数据转换

异构数据库之间的互访和互操作

v什么是数据库系统(DatabaseSystem,DBS)

v数据库系统的构成

▪数据库

▪数据库管理系统(及其开发工具)

▪应用系统

▪数据库管理员

什么是数据处理?

围绕着数据所做的工作都可称为数据处理。

即对各种数据进行收集、管理、加工和传播的一系列活动的总和。

如:

对全班学生信息进行收集、存储和查询。

数据处理包括哪些工作?

v1)数据管理:

收集信息、将信息用数据表示并按类别组织保存;

▪收集和整理数据;

▪组织和保存数据;

▪进行数据维护;

▪提供数据查询和数据统计功能。

v2)数据加工:

对数据进行变换、抽取和运算;

v3)数据传播:

在空间或时间上以各种形式传播信息,而不改变数据的结构、性质和内容;

数据管理技术

v什么是数据管理技术

▪对数据进行分类、组织、编码、存储、检索和维护

▪数据处理的中心问题

数据管理和数据处理的关系是什么?

v数据管理是数据处理业务的基本环节,而且是任何数据处理业务中必不可少的共有部分。

v数据处理是与数据管理相联系的,数据管理技术的优劣,将直接影响数据处理的效率。

v应研制有效的数据管理软件,以减少程序员的负担。

数据管理技术的产生和发展(续)

v数据管理技术的发展动力

▪应用需求的推动

▪计算机硬件的发展

▪计算机软件的发展

一、人工管理阶段

二、文件系统阶段

三、数据库系统阶段

数据库系统的特点是什么?

数据结构化数据的共享性高,冗余度低,易扩充

数据独立性高数据由DBMS统一管理和控制

数据独立性高

物理独立性指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。

当数据的物理存储改变了,应用程序不用改变。

逻辑独立性指用户的应用程序与数据库的逻辑结构是相互独立的。

数据的逻辑结构改变了,用户程序也可以不变。

数据独立性是由DBMS的二级映像功能来保证的

DBMS提供的数据控制功能

(1)数据的安全性(Security)保护

保护数据,以防止不合法的使用造成的数据的泄密和破坏。

(2)数据的完整性(Integrity)检查

将数据控制在有效的范围内,或保证数据之间满足一定的关系。

▪(3)并发(Concurrency)控制

对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。

▪(4)数据库恢复(Recovery)

将数据库从错误状态恢复到某一已知的正确状态。

应用程序与数据的对应关系(数据库系统)

数据模型在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。

通俗地讲数据模型就是现实世界的模拟。

数据模型应满足三方面要求能比较真实地模拟现实世界容易为人所理解便于在计算机上实现

数据模型分为两类(分属两个不同的层次)

(1)概念模型也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计。

(2)逻辑模型和物理模型

逻辑模型主要包括网状模型、层次模型、关系模型、面向对象模型等,按计算机系统的观点对数据建模,用于DBMS实现。

物理模型是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法。

什么是数据结构?

描述数据库的组成对象,以及对象之间的联系

数据操作对数据库中各种对象(型)的实例(值)允许执行的操作及有关的操作规则

数据操作的类型查询更新(包括插入、删除、修改)

E-R图

关系数据库系统采用关系模型作为数据的组织方式

关系(Relation)一个关系对应通常说的一张表

元组(Tuple)表中的一行即为一个元组

属性(Attribute)表中的一列即为一个属性,给每一个属性起一个名称即属性名

关系的完整性约束条件

▪实体完整性

▪参照完整性

▪用户定义的完整性

模式(Schema)数据库逻辑结构和特征的描述是型的描述反映的是数据的结构及其联系模式是相对稳定的

数据库系统模式的概念数据库系统的三级模式结构数据库的二级映像功能与数据独立性数据库系统的三级模式结构模式(Schema)外模式(ExternalSchema)内模式(InternalSchema)

模式(也称逻辑模式)数据库中全体数据的逻辑结构和特征的描述所有用户的公共数据视图,综合了所有用户的需求一个数据库只有一个模式模式的地位:

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

外模式(也称子模式或用户模式)

▪数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述

▪数据库用户的数据视图,是与某一应用有关的数据的逻辑表示

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

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

外模式(续)

内模式(也称存储模式)是数据物理结构和存储方式的描述是数据在数据库内部的表示方式一个数据库只有一个内模式

二级映象在DBMS内部实现这三个抽象层次的联系和转换

▪外模式/模式映像

▪模式/内模式映像

一、外模式/模式映象

v模式:

描述的是数据的全局逻辑结构

v外模式:

描述的是数据的局部逻辑结构

v同一个模式可以有任意多个外模式

v每一个外模式,数据库系统都有一个外模式/模式映象,定义外模式与模式之间的对应关系

二、模式/内模式映象

v模式/内模式映象定义了数据全局逻辑结构与存储结构之间的对应关系。

▪例如,说明逻辑记录和字段在内部是如何表示的

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

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

数据库的内模式

▪依赖于它的全局逻辑结构

▪独立于数据库的用户视图,即外模式

▪独立于具体的存储设备

▪将全局逻辑结构中所定义的数据结构及其联系按照一定的物理存储策略进行组织,以达到较好的时间与空间效率

数据库的外模式

▪面向具体的应用程序

▪定义在逻辑模式之上

▪独立于存储模式和存储设备

▪当应用需求发生较大变化,相应外模式不能满足其视图要求时,该外模式就得做相应改动

▪设计外模式时应充分考虑到应用的扩充性

一、硬件平台及数据库

二、软件

DBMS支持DBMS运行的操作系统与数据库接口的高级语言及其编译系统以DBMS为核心的应用开发工具为特定应用环境开发的数据库应用系统

三、人员数据库管理员系统分析员和数据库设计人员应用程序员用户

第一章绪论

12存在问题:

①研究生与学生是否作为一类实体型②如何给联系起名字③是否该区分教授副教授?

13存在问题:

①原材料和零件与仓库的存储联系是否可以作为一个联系②原材料和仓库的联系类型③仓库是一个实体,有多个同学画成了两个实体

1)求供应工程J1零件的供应商号码SNO:

πSno(σJno=‘J1’(SPJ))

GETW(SPJ.SNO):

Jno=‘J1’

2)求供应工程J1零件P1的供应商号码SNO:

πSno(σJno=‘J1’∧Pno=‘P1‘(SPJ))

πSno(σJno=‘J1’(σPno=‘P1‘(SPJ))

πSno(σJno=‘J1’(SPJ)∩(σPno=‘P1‘(SPJ))

GETW(SPJ.SNO):

Jno=‘J1’∧Pno=‘P1‘

3)求供应工程J1零件为红色的供应商号码SNO:

πSno(σCOLOR=’红‘(P)∞σJno=‘J1‘(SPJ))

RANGEPPX

GETW(SPJ.SNO):

PX(PX.COLOR=‘红’∧SPJ.JNO=’J1’∧PX.PNO=SPJ.PNO)

4)求没有使用天津供应商生产的红色零件的工程号JNO:

πJno(J)-πJNO(σcity=‘天津’∧Color=‘红‘(S∞SPJ∞P)

GETW(J.JNO):

SPJX(SPJX.JNO=J.JNO∧SX(SX.SNO=SPJX.SNO∧SX.CITY=’天津’)∧PX(PX.PNO=SPJX.PNO∧PX.COLOR=‘红’))

5)求至少用了供应商S1所供应的全部零件的工程号JNO:

πJno,Pno(SPJ)÷πPno(σSno=‘S1‘(SPJ))

RANGESPJSPJX

RANGESPJSPJY

RANGEPPX

GETW(J.JNO):

PX(SPJX(SPJX.PNO=PX.PNO∧SPJX.SNO=‘S1’)

SPJY(SPJY.PNO=PX.PNO∧SPJY.JNO=J.JNO∧SPJX.SNO=’S1’))

3用SQL语句建立第二章习题5中的四个表。

S(SNO,SNAME,STATUS,CITY);

P(PNO,PNAME,COLOR,WEIGHT);

J(JNO,JNAME,CITY);

SPJ(SNO,PNO,JNO,QTY);

1)供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成:

CREATETABLES(SnoCHAR

(2)UNIQUE,SnameCHAR(6),StatusNumric

(2),CityCHAR(4))

2)零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成:

CREATETABLEP(PnoCHAR

(2)UNIQUE,PnameCHAR(6),COLORCHAR

(2),WEIGHTInteger

(2))

3)工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、所在城市(CITY)组成:

CREATETABLEJ(JnoCHAR

(2)UNlQUE,JNAMECHAR(8),CITYCHAR(4))

4)供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成:

CREATETABLESPJ(SnoCHAR

(2),PnoCHAR

(2),JNOCHAR

(2),QTYNumnic

(2))

4.针对上题中建立的四个表试用SQL语言完成第二章习题5中的查询:

1)求供应工程J1零件的供应商号码SNO:

SELECTDISTINCTSNOFROMSPJWHEREJNO=’J1’

尽量不要写成

SELECTDISTINCTSNOFROMSPJWHEREJNOLIKE’J1’

2)求供应工程J1零件P1的供应商号码SNO:

SELECTDISTINCTSNOFROMSPJWHEREJNO='J1'ANDPNO='P1'

3)求供应工程J1零件为红色的供应商号码SNO:

SELECTSNOFROMSPJ,PWHEREJNO='J1'ANDSPJ.PNO=P.PNOANDCOLOR='红'

不要忘了连接条件SPJ.PNO=P.PNO

4)求没有使用天津供应商生产的红色零件的工程号JNO:

SELECTDISTINCTJNO

FROMJ

WHEREJNONOTIN

(SELECTJNO

FROMSPJ,P,S

WHERES.CITY='天津'ANDCOLOR='红'

ANDS.SNO=SPJ.SNOANDP.PNO=SPJ.PNO

)。

不能使用exists

CITYNOTLIKE‘天津’或者CITY!

=‘天津’

5)求至少用了供应商S1所供应的全部零件的工程号JNO。

selectdistinctjno/*不存在这样的工程,它没有使用任何一种由S1供应的零件*/

fromspjspjz

wherenotexists(

select*

fromspjspjx

wheresno='S1'andnotexists(

select*

fromspjspjy

wherespjy.pno=spjx.pno

andspjy.jno=spjz.jno

andspjy.sno='S1'));

5.针对习题3中的四个表试用SQL语言完成以下各项操作:

(1)找出所有供应商的姓名和所在城市。

SELECTSNAME,CITYFROMS

(2)找出所有零件的名称、颜色、重量。

SELECTPNAME,COLOR,WEIGHTFROMP

(3)找出使用供应商S1所供应零件的工程号码。

SELECTDISTINCTJNOFROMSPJWHERESNO='S1'

(4)找出工程项目J2使用的各种零件的名称及其数量。

SELECTPNAME,QTYFROMSPJ,P

WHEREP.PNO=SPJ.PNOANDSPJ.JNO='J2'

(5)找出上海厂商供应的所有零件号码。

SELECTPNOFROMSPJ,SWHERES.SNO=SPJ.SNOANDCITY='上海'

(6)出使用上海产的零件的工程名称。

SELECTJNAMEFROMSPJ,S,J

WHERES.SNO=SPJ.SNOANDS.CITY='上海'ANDJ.JNO=SPJ.JNO

(7)找出没有使用天津产的零件的工程号码。

SELECTDISTINCTJNO

FROMJ

WHEREJNONOTIN

(SELECTDISTJNO

FROMSPJ,S

WHERES.SNO=SPJ.SNOANDS.CITY='天津')

不能写成

SELECTJNO

FROMSPJ

WHERENOTEXISTS

(SELECT*

FROMS

WHERES.CITY=‘天津’)

也不能写成

SELECTJNO

FROMJ,SPJ

WEHRECITY!

=‘天津’ANDJ.JNO=SPJ.JNO

(8)把全部红色零件的颜色改成蓝色。

UPDATEPSETCOLOR='蓝'WHERECOLOR='红'

(9)由S5供给J4的零件P6改为由S3供应。

UPDATESPJSETSNO='S3'WHERESNO='S5'ANDJNO='J4'ANDPNO='P6'

部分同学where条件不全或写成

UPDATESPJSETSNO='S5'WHEREJNO='J4'ANDPNO='P6'

 

(10)从供应商关系中删除供应商号是S2的记录,并从供应情况关系中删除相应的记录。

A、DELETEFROMSWHERESNO=’S2’

B、DELETEFROMSPJWHERESNO=‘S2’

不能写成

DELETEFROMSPJ,SWHERESNO=‘S2’

(11)请将(S2,J6,P4,200)插入供应情况关系。

INSERTINTOSPJVALUES(‘S2’,‘J6’,‘P4’,200)有同学没加引号

计算机系统安全性为计算机系统建立和采取的各种安全保护措施,以保护计算机系统中的硬件、软件及数据,防止其因偶然或恶意的原因使系统遭到破坏,数据遭到更改或泄露等。

计算机系统的三类安全性问题技术安全类管理安全类政策法律类

数据库安全性控制的常用方法用户标识和鉴定存取控制视图审计密码存储

存取控制机制组成定义用户权限合法权限检查

用户权限定义和合法权检查机制一起组成了DBMS的安全子系统

常用存取控制方法

▪自主存取控制(DiscretionaryAccessControl,简称DAC)C2级灵活

▪强制存取控制(MandatoryAccessControl,简称MAC)B1级严格

4.2数据库安全性控制

4.2.1用户标识与鉴别

4.2.2存取控制

4.2.3自主存取控制方法

4.2.4授权与回收

4.2.5数据库角色

4.2.6强制存取控制方法

4.2.3自主存取控制方法

v通过SQL的GRANT语句和REVOKE语句实现

v用户权限组成数据对象操作类型

v定义用户存取权限:

定义用户可以在哪些数据库对象上进行哪些类型的操作

v定义存取权限称为授权

自主存取控制方法(续)

v关系数据库系统中存取控制对象

[例]把对Student表和Course表的全部权限授予用户U2和U3

GRANTALLPRIVILIGES

ONTABLEStudent,Course

TOU2,U3;

例题

[例3]把对表SC的查询权限授予所有用户

GRANTSELECT

ONTABLESC

TOPUBLIC;

[例5]把对表SC的INSERT权限授予U5用户,并允许他再将此权限授予其他用户

GRANTINSERT

ONTABLESC

TOU5

WITHGRANTOPTION;

REVOKE(续)

[例8]把用户U4修改学生学号的权限收回

REVOKEUPDATE(Sno)

ONTABLEStudent

FROMU4;

数据库角色被命名的一组与数据库操作相关的权限

[例11] 通过角色来实现将一组权限授予一个用户。

步骤如下:

1.首先创建一个角色R1

CREATEROLER1;

2.然后使用GRANT语句,使角色R1拥有Student表的SELECT、UPDATE、INSERT权限

GRANTSELECT,UPDATE,INSERT

ONTABLEStudent

TOR1;

3.将这个角色授予王平,张明,赵玲。

使他们具有角色R1所包含的全部权限

GRANTR1

TO王平,张明,赵玲;

4.可以一次性通过R1来回收王平的这3个权限

REVOKER1

FROM王平;

强制存取控制方法

主体是系统中的活动实体DBMS所管理的实际用户代表用户的各进程

客体是系统中的被动实体,是受主体操纵的文件基表索引视图

主体的敏感度标记称为许可证级别(ClearanceLevel)客体的敏感度标记称为密级(ClassificationLevel)

强制存取控制规则

(1)仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体

(2)仅当主体的许可证级别等于客体的密级时,该主体才能写相应的客体

视图机制把要保密的数据对无权存取这些数据的用户隐藏起来,对数据提供一定程度的安全保护

审计分为

▪用户级审计针对自己创建的数据库表或视图进行审计记录所有用户对这些表或视图的一切成功和(或)不成功的访问要求以及各种类型的SQL操作

▪系统级审计DBA设置监测成功或失败的登录要求监测GRANT和REVOKE操作以及其他数据库级权限下的操作

AUDIT语句:

设置审计功能

NOAUDIT语句:

取消审计功能

审计(续)

[例15]对修改SC表结构或修改SC表数据的操作进行审计

AUDITALTER,UPDATE

ONSC;

[例16]取消对SC表的一切审计

NOAUDITALTER,UPDATE

ONSC;

数据加密防止数据库中数据在存储和传输中失密的有效手段

加密的基本思想

加密方法替换方法置换方法混合方法

数据库完整性数据的正确性和相容性

数据的完整性防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据防范对象:

不合语义的、不正确的数据

数据的安全性保护数据库防止恶意的破坏和非法的存取防范对象:

非法用户和非法操作

1.提供定义完整性约束条件的机制2.提供完整性检查的方法3.违约处理

数据库完整性实体完整性参照完整性用户定义的完整性

实体完整性定义(续)

[例2]将SC表中的Sno,Cno属性组定义为码

CREATETABLESC

(SnoCHAR(9)NOTNULL,

CnoCHAR(4)NOTNULL,

GradeSMALLINT,

PRIMARYKEY(Sno,Cno)/*只能在表级定义主码*/

);

关系模型的参照完整性定义在CREATETABLE中用FOREIGNKEY短语定义哪些列为外码用REFERENCES短语指明这些外码参照哪些表的主码

例如,关系SC中一个元组表示一个学生选修的某门课程的成绩,(Sno,Cno)是主码。

Sno,Cno分别参照引用Student表的主码和Course表的主码

[例3]定义SC中的参照完整性

CREATETABLESC

(SnoCHAR(9)NOTNULL,

CnoCHAR(4)NOTNULL,

GradeSMALLINT,

PRIMARYKEY(Sno,Cno),/*在表级定义实体完整性*/

FOREIGNKEY(Sno)REFERENCESStudent(Sno),

/*在表级定义参照完整性*/

FOREIGNKEY(Cno

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

当前位置:首页 > 高等教育 > 理学

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

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