荟聚奇文、博采众长、见贤思齐
当前位置:公文素材库 > 计划总结 > 工作总结 > 数据库知识点总结

数据库知识点总结

网站:公文素材库 | 时间:2019-05-29 07:08:40 | 移动端:数据库知识点总结

数据库知识点总结

二、名词解释

1.数据冗余定义:同一数据存储在不同的数据文件中的现象。2.DBA数据库管理员

3.事务指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。4.数据字典:数据库中所有对象及其关系的信息集合。5.数据独立性包括数据的物理独立性和逻辑独立性。

6.物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的7.逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的8.存储过程是一组为了完成特定功能的SQL语句集

9.触发器可以查询其他表,而且可以包含复杂的SQL语句。它们主要用于强制服从复杂的业务规则或要求10.SQL语言中的视图

答:在SQL中,外模式一级数据结构的基本单位是视图,它是从若干基本表和(或)其它视图中构造出来的,视图并不存储对应的数据,只是将视图的定义存于数据字典中。

四、简答题

1.数据库管理系统的主要功能有哪些?

答:数据库定义、操纵、保护、存储、维护和数据字典。2.数据库系统中的常见故障有哪些?答:.事务故障,系统故障、介质故障。3.简述SQL语言的组成。答:分为四个部分:

数据定义、数据操纵、数据控制、嵌入式SQL语言的使用规定。4.说明关系模型有哪三类完整性规则?

答:实体完整性、参照完整性、用户自定义完整性。

5.请阐述在网状模型和关系模型中,实体之间联系的实现方法。答:在网状模型中,联系用指针实现。

在关系模型中,联系用关键码(或外键,或关系运算)来实现。6.DBS由哪几个部分组成?

答:DBS由四部分组成:数据库、硬件、软件、数据库管理员。7.数据库的并发操作会带来哪些问题?

答:数据库的并发操作会带来三类问题:丢失更新问题;不一致分析问题和“脏数据”的读出。8.简述客户/服务器模式DBS的一般结构。此时数据库应用的功能如何划分?

答:DBS:数据库系统(DatabaseSystem),DBS是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。

9.什么是日志文件?为什么要设立日志文件?答:(1)日志文件是用来记录事务对数据库的更新操作的文件。

(2)设立日志文件的目的是:进行事务故障恢复;进行系统故障恢复;协助后备副本进行介质故障恢复。

10.SQL中表达完整性约束的规则主要有哪几种?

答:有主键约束、外键约束、属性值约束和全局约束等。11.什么是分布式数据库的分布透明性?

答:分布透明性是指用户不必关心数据的逻辑分片,不必关心数据物理位置分配的细节,也不必关心各个场地上数据库的数据模型。12.什么是对象关系数据模型?

答:在传统的关系数据模型基础上,提供元组、数组、集合等数据类型以及处理新的数据类型操作的能力,这样形成的数据模型,称为“对象关系数据模型”。13.数据库恢复的基本技术有哪些?

答:数据转储和登录日志文件是数据库恢复的基本技术。当系统运行过程中发生故障,利用转储的数据库后备副本和日志文件就可以将数据库恢复到故障前的某个一致性状态。

五、论述题

1.数据库中为什么要有恢复子系统?它的功能是什么?

答:因为计算机系统中硬件的故障、软件的错误、操作员的失误以及恶意的破坏是不可避免的,这些故障轻则造成运行事务非正常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中全部或部分数据丢失,因此必须要有恢复子系统。

恢复子系统的功能是:把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态)。

2.数据库运行中可能产生的故障有哪几类?哪些故障影响事务的正常执行?哪些故障破坏数据库数据?

答:数据库系统中可能发生各种各样的故障,大致可以分以下几类:(1)事务内部的故障;(2)系统故障;(3)介质故障;(4)计算机病毒。

事务故障、系统故障和介质故障影响事务的正常执行;介质故障和计算机病毒破坏数据库数据。

3.登记日志文件时为什么必须先写日志文件,后写数据库?答:把对数据的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。有可能在这两个操作之间发生故障,即这两个写操作只完成了一个。

如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改了。如果先写日志,但没有修改数据库,在恢复时只不过是多执行一次UNDO操作,并不会影响数据库的正确性。所以一定要先写日志文件,即首先把日志记录写到日志文件中,然后写数据库的修改。

4.什么是数据库镜像?它有什么用途?

答:数据库镜像即根据DBA的要求,自动把整个数据库或者其中的部分关键数据复制到另一个磁盘上。每当主数据库更新时,DBMS自动把更新后的数据复制过去,即DBMS自动保证镜像数据与主数据的一致性。

数据库镜像的用途有:

一是用于数据库恢复。当出现介质故障时,可由镜像磁盘继续提供使用,同时DBMS自动利用镜像磁盘数据进行数据库的恢复,不需要关闭系统和重装数据库副本。

二是提高数据库的可用性。在没有出现故障时,当一个用户对某个数据加排它锁进行修改时,其他用户可以读镜像数据库上的数据,而不必等待该用户释放锁。5.试述事务的概念及事务的四个特性。答:

事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。

事务具有四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability)。这个四个特性也简称为ACID特性。

原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。隔离性:一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。

持续性:持续性也称永久性(Permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其执行结果有任何影响。六、综合题

(一)现有关系数据库如下:

学生(学号,姓名,性别,专业,奖学金)课程(课程号,名称,学分)学习(学号,课程号,分数)用SQL语言实现如下小题:

1.检索不学课程号为“C135”课程的学生信息,包括学号,姓名和专业SELECT学号,姓名,专业FROM学生

WHERE学号NOTIN(SELECT学号FROM学习

WHERE课程号="C135")

2.检索至少学过课程号为“C135”和“C219”的学生信息,包括学号、姓名和专业;

.SELECT学号,姓名,专业FROM学生

WHERE学号IN(SELECTX.学号

FROM学习ASX,学习ASY

WHEREX.学号=Y.学号ANDX.课程号="C135"ANDX课程号=’C219’)

3.从学生表中删除成绩出现过0分的所有学生信息;DELETEFROM学生WHERE学号IN(SELECT学号FROM学习

WHERE分数=0)

3.定义“英语”专业学生所学课程的信息视图AAA,包括学号、姓名、课程号和分数。CREATEVIEWAAA(学号,姓名,课程号,分数)ASSELECT学号,姓名,课程号,分数FROM学生,学习

WHERE学生.学号=学习.学号AND专业=’英语’

(二)现有如下关系:学生(学号,姓名,性别,专业,出生年月)教师(教师编号,姓名,所在部门,职称)

授课(教师编号,学号,课程编号,课程名称,教材,学分,成绩)

1.查找学习“数据库原理”课程且成绩不及格的学生学号和任课教师编号;2.查找学习“英语”课程的“计算机应用”专业学生的学号,姓名和成绩;

3.查找教师“李洪”所教过的学生成绩为90分以上(包括90)的学生学号,姓名和专业;4.删除学生表中学号为“9903016”的记录;

5.将编号为“60016”的教师所在的部门该为“计算机”;6.建立“计算机应用”专业成绩有过不及格的学生的视图;7.向学生表中增加一个“奖学金”列,其数据类型为数值型。1、SELECT学号,教师编号FROM授课

WHERE课程名称="数据库原理"AND成绩=90;4、DELETEFROM学生

WHERE学号="9903016";5、UPDATE教师

SET所在部门="计算机系"WHERE教师编号="60016";6、CREATEVIEW成绩

ASSELECT学生.学号,姓名,成绩FROM学生,授课

WHERE学生.学号=授课.学号AND专业="计算机应用"AND成绩

扩展阅读:数据库知识点总结

题型:

一、选择题(每题1分,共10分)二、简答题:(每题10分,共30分)

三、应用题:(第1题15分,第2题45分,共60分)

考试范围:第一章

1、数据、的定义描述事物的符号记录称为数据。

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

2、数据库、数据库系统的特点(了解)3、DBMS的功能(了解)

4、实体间联系的三种类型(1:1,1:n,m:n)5、E-R图的画法

a、不必画出中间步骤。b、标出实体间联系的类型。c、只需画出关键字对应的属性。

6、数据库系统的组成、核心7、数据库设计的步骤

第二章认识关系运算符第五章

1、数据库的创建CREATEDATABASE2、创建表CREATETABLE3、数据插入INSERT4、数据修改UPDATE5、数据删除DELETE

第六章

1、相关子查询和非相关子查询之间的区别2、视图的优点(了解)3、数据查询SELECT:

1)内连接2)分组、统计函数3)排序4)非相关子查询

第七章

1、触发器的写法

小结(第一章课件34到56第五章课件64到75

第六章课件(SELECT语句,内连接,分组、统计函数,排序,非相关子查询)重点第七章课件58到71)

数据(DATA,简称D)

定义:描述事物的符号记录称为数据。数据库(DataBase,简称DB)

.定义:是长期储存在计算机内的、有组织的、可共享的数据集合。.特点:

(1)数据库中的数据按照一定的数据模型组织、描述和储存。

(2)具有较小的冗余度。

(3)较高的数据独立性和易扩展性,并可为各种用户共享。数据库管理系统(DBMS)主要功能:

1)数据定义功能:。

2)数据组织、存储和管理功能:3)数据操纵功能:4)数据库的事务管理和运行管理5)数据库的建立和维护功能简答题:

1.相关子查询和非相关子查询之间的区别

a)非相关子查询是独立于外部查询的子查询,子查询总共执行一次,执行完毕后将值

传递给外部查询。

b)相关子查询是内层子查询条件依赖于外层父查询的某个属性值的子查询,外部查询

执行一行,子查询就执行一次。2.数据库设计的步骤

1需求分析;2概念结构设计;3逻辑结构设计;4数据库物理设计数据库实施;5数据库运行和维护

3.视图的优点(了解)

(1)为用户集中数据,简化用户的数据查询和处理。(2)屏蔽数据库的复杂性。(3)简化用户权限的管理。(4)便于数据共享。

(5)可以重新组织数据以便输出到其他用程序中。

例5-1创建一个名为BookSys的数据库。例5-2创建一个名为KEJI_DB的数据库。要求有三个文件,其中,主数据文件为10MB,最大大小为50MB,每次增长20%;辅助数据文件属于文件组Fgroup,文件为10MB,大小不受限制,每次增长10%;事务日志文件大小为20MB,最大100MB,每次增长10MB。文件存储在‘c:\\db’路径下。

CREATEDATABASEKEJI_DB/*数据库名*/

ONPRIMARY/*主文件组*/(NAME="KEJI_DB_Data1",/*主文件逻辑名称*/FILENAME="c:\\db\\KEJI_DB_Data1.mdf",/*主文件物理名称*/SIZE=10mb,MAXSIZE=50mb,FILEGROWTH=20%),

FILEGROUPFgroup/*文件组*/(NAME="KEJI_DB_Data2",/*主文件逻辑名称*/FILENAME="c:\\db\\KEJI_DB_Data2.ndf",/*主文件物理名称*/

MAXSIZE=UNLIMITED,/*增长不受限制*/SIZE=10Mb,FILEGROWTH=10mb)LOGON

(NAME="KEJI_DB_Log",/*日志文件逻辑名称*/FILENAME="c:\\db\\KEJI_DB_Log.ldf",

/*日志文件物理名称*/SIZE=20mb,MAXSIZE=100mb,FILEGROWTH=10mb)

使用SQL语句(1)修改数据库内容语法:

ALTERDATABASEdatabase_name{ADDFILE[,…n]

[TOFILEGROUPfilegroup_name]/*在文件组中增加数据文件*/

|ADDLOGFILE[,…n]/*增加事务日志文件*/

|REMOVEFILElogical_file_name/*删除数据文件*/

|ADDFILEGROUPfilegroup_name/*增加文件组*/|REMOVEFILEGROUPfilegroup_name/*删除文件组*/|MODIFYFILE[,…n]

/*修改文件属性*/|MODIFYNAME=new_dbname/*更新数据库名称*/}例:使用触发器判断插入的工资数据,如果工资超过100,000则不允许插入。CREATETABLEtrig_example(idINT,

nameVARCHAR(10),salaryMONEY)GO

CREATETRIGGERinsertrigONtrig_exampleFORINSERTAS

IF(SELECTCOUNT(*)FROMINSERTEDWHEREsalary>100000)>0BEGIN

PRINT"数据插入错误:您试图插入一个大于$100,000的工资数据!"ROLLBACKTRANSACTION--事务回滚END`

1.使用后级触发器的插入和删除

例题:使用(后级)触发器判断插入的工资数据,如果工资超过100,000则不允许插入。CREATETABLEtrig_example(idINT,

nameVARCHAR(10),salaryMONEY)GO

CREATETRIGGERinsertrigONtrig_exampleFORINSERTAS

IF(SELECTCOUNT(*)FROMINSERTEDWHEREsalary>100000)>0BEGIN

PRINT"数据插入错误:您试图插入一个大于$100,000的工资数据!"ROLLBACKTRANSACTION--事务回滚END

练习:使用后级触发器对数据删除操作进行检查,如果删除工资大于5000的记录时提示错误信息,并回滚到删除前的状态。

Insertintotrig_exampleValues(1,"tom",201*)Insertintotrig_exampleValues(2,"marry",6000)Insertintotrig_exampleValues(3,"rose",8000)

CREATETRIGGERdeletedONtrig_exampleFORdeleteAS

IF(SELECTCOUNT(*)FROMdeletedWHEREsalary>100000)>0BEGIN

PRINT"数据插入错误:您试图删除一个大于$100,000的工资数据!"ROLLBACKTRANSACTION--事务回滚END

.使用前级级触发器的插入和删除

1.使用前级触发器判断插入trig_example表的工资数据,如果工资超过100,000则不允许插入。

CREATETRIGGERinsert_trig_exampleONtrig_exampleInsteadofinsertAS

declare@salarymoney

select@salary=salaryfrominsertedIF@salary>1000print"wongdata!"elsebegin

insertintotrig_exampleselect*frominsertedend

2.使用前级触发器对trig_example表的数据删除操作进行检查,如果删除工资大于5000的记录时提示错误信息,不删除记录;否则删除相应记录。

CREATETRIGGERdelete_trig_exampleONtrig_exampleInsteadofdeleteAS

declare@idint,@salarymoneyselect@id=idfromdeletedIF@salary>100000print"删除的数据大于!"elsebegin

deletetrig_examplewhere@id=idend

五、(12分)某商店管理涉及商店、商品和职工三个实体,它们分别具有下列属性:

商店:商店编号,店名,店址,店经理商品:商品编号,商品名,单价,产地职工:职工编号,职工名,性别,工资这些实体间的联系如下:百货公司管辖若干个连锁商店,每家商店经营若干商品,每家商店有若干职工,但每个职工只能服务于一家商店。职工参加某商店工作有开始时间,商店销售商品的有月销售量。①请画出商店、商品和职工的ER图。②将该ER图转换为关系数据模型。

答:实体:商店(商店编号,店号,店址,店经理)(0.5分)商品(商品编号,商品名,单价,产地)(0.5分)职工(职工编号,职工名,性别,工资)(0.5分)联系:P1-商店销售商品的有销售量间(0.5分)P2-职工参加某商店工作的开始时(0.5分)ER图:(5分)

关系模式集:商店模式(商店编号,店号,店址,店经理)(0.5分)商品模式(商品编号,商品名,单价,产地)(0.5分)

职工模式(职工编号,职工名,性别,工资,商店编号,开始时间)分)

P1模式(商店编号,商品编号,月销售量)(0.5分)

2.使用sql语句创建表authors,结构如下表所示(本题8分)列名数据类型大小是否为空默认值说明authorIDint4N编号(主键),自动增长authorNamenvarchar50N姓名Phonenvarchar13Y电话addressnvarchar255Y地址

2.createtableauthors

(authoridintidentity(1,1)primarykeynotnull,authornamenvarchar(50)notnull,phonenvarchar(13)null,addressnvarchar(255))

3.使用SQL语句对2中创建的authors表进行如下修改:(每小题5分,共15分)(1)添加Sex列char(2),city列varchar(20)。(2)删除city列。

(3)修改作者信息表authors中的address列将该列的属性的长度更改为500。3.(1)altertableauthors

addsexchar(2)null,citynvarchar(20)null;(2)altertableauthorsdropcolumncity(3)altertableauthors

altercolumnaddressnvarchar(500)notnull

5.表结构的修改

1(使用SQL语句将ygqk表的“姓名”列的数据类型改为varchar,长度

为20;

使用SQL语句在xmqk表中添加新列"立项时间",类型为datetime;使用SQL语句删除xmqk表中的"立项时间"列。

useyeelgo

altertableygqk

altercolumnnamevarchar(20)

useyeelgo

altertablexmqk

addlixiangshijiandatetime

useyeelgo

altertablexmqk

dropcolumnlixiangshijian

4.表中数据的修改和删除

使用SQL语句将ygqk表中第一条记录的"邮政编码"改为"450044"删除ygqk表中出生日期在"1960-1-1"日之前的员工信息;

useyeelgo

updateygqk

setzip="450044"

useyeelgo

deleteygqk

wherebirthdayaltertable成绩表add总成绩float

update成绩表

set总成绩=数学+英语+数据库+操作系统/*4*/

altertable成绩表add平均成绩float

update成绩表

set平均成绩=(数学+英语+数据库+操作系统)/4

selectsno学号,(数学+英语+数据库+操作系统)/4平均成绩from成绩表

where数学>=60and英语>=60and数据库>=60and操作系统>=60/*5*/

6.1.4函数的使用练习:

1.查询男生(女生)的人数。2.查询‘计算06’班的最小年龄selectcount(*)fromstudentwheressex="男"

selectmax(sbirthday)fromstudent

6.1.5查询结果排序练习:

1.查询所有学生的信息,将结果按系别降序、班级升序排列。

2.查询‘信息系’年龄最大的3个学生的信息select*

fromstudent

orderbydepartdesc

selecttop3sno,sname,sage,departfromstudent

wheredepart="信息系"orderbysagedesc6.1.6使用分组练习:

1.查询人数大于等于3的班级。2.查询各个姓氏的学生人数。selectclass,count(*)fromstudentgroupbyclasshavingcount(*)>=3

selectleft(sname,1)as姓氏,count(*)as人数fromstudent

groupbyleft(sname,1)6.2.1连接查询

2.查询学生的学号,所选课程的课程号、课程名和学分。

3.查询学生的学号、姓名,所选课程的课程号、课程名和成绩信息。selectsno,score.cno,cname,creditfromcourseinnerjoinscoreonscore.cno=course.cno/*92页题*/

selectsname,student.sno,score.cno,cname,degreefromcourse,score,student

wherestudent.sno=score.snoandscore.cno=course.cno/*92页题*/6.2.1连接查询

3.查询每门课程间接先行课的先行课

selectfrist.cno,frist.cpno,second.cpno,third.cpnofrom课程表frist,课程表second,课程表third

wherefrist.cpno=second.cnoandsecond.cpno=third.cnoandthird.cpnoisnotnull/*109页题*/6.2.3子查询练习:

1.查询选修了‘C语言’的学生学号。selectsnofromscorewherecno=(selectcnofromcourse

wherecname="C语言")/*139页题*/6.2.3子查询

3.查询选修了“C语言”的学生姓名selectsnamefromStudentwheresnoin

(selectsnofromScorewherecno=

(selectcnofromCoursewherecname="c语言"))/*145页第三题*/

友情提示:本文中关于《数据库知识点总结》给出的范例仅供您参考拓展思维使用,数据库知识点总结:该篇文章建议您自主创作。

来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。


数据库知识点总结》由互联网用户整理提供,转载分享请保留原作者信息,谢谢!
链接地址:http://www.bsmz.net/gongwen/672250.html