公文素材库 首页

数据库知识点总结

时间:2019-05-29 15:15:25 网站:公文素材库

数据库知识点总结

题型:选择,填空,简答,

综合题:1.SQL语句2.会画ER图

3.ER图与关系模式的转换

4.视图的创建,更新,修改,删除

5.关系代数表达式6.模式分解(第四章的P60-70页要好好看看,这里会出题,然后就是把P60

页的那个表,要会分解,分解之后的形式如P82所示。)

7.范式(要好好看看定义!要知道什么是第一,第二,第三范式)

第一章绪论

1.数据管理技术的发展阶段3个:人工管理阶段、文件系统阶段、数据库系统阶段。2.数据库系统主要由四部分组成:数据库、软件系统、硬件系统、用户。3.数据模型的组成要素:数据结构、数据操作、完整性约束。

4.数据模型分类:层次模型、网状模型、关系模型、面向对象模型。5.数据库系统的三级模式结构:概念模式、外模式、内模式。

6.数据库系统的二级映像:外模式/模式映像、模式/内模式映像。7.概念模型中实体的联系:[1]一对一联系(1:1);

[2]一对多联系(1:n);[3]多对多联系(m:n)

第二章关系数据库基础

1.关系模型的三类完整性约束:实体完整性规则、参照完整性规则、用户自定义完

整性规则。

第三章关系数据库标准语言SQL

1.视图的作用:(1)着重于特定数据;(2)简化了数据操作;(3)提供一定程度的逻辑独立性;

(4)视图机制把要保密的数据对无权存取这些数据的用户隐藏起来,

对数据提供了一定程度的安全保护。第四章规范化理论

1.关系模式中可能存在的问题:Ⅰ、数据冗余;

Ⅱ、更新异常:a.插入异常;b.修改异常;c.删除异常。

2.范式P77-P793.P80模式分解

第五章数据库设计

1.数据库的设计6步骤:需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、物

理设计阶段、数据库实施阶段、数据库运行和维护阶段。第六章关系查询处理和查询优化

1.查询处理的步骤:查询分析、查询检查、查询优化、查询执行。2.查询的执行代价:总代价=I/O代价+CPU代价3.查询优化一般策略:(1)选择运算尽早执行

(2)把投影运算和选择运算同时进行

(3)把投影操作与它前面或后面的一个双目运算结合起来(4)执行连续运算之前进行预处理

(5)把笛卡尔积和其后的选择运算合并为连接运算

(6)存储公用子表示式第七章数据库完整性和安全性

1.数据库的完整性是指数据的正确性、有效性和相容性。

2.数据库的安全性是指保护数据库避免不合法的使用,以防数据泄露、更改或破坏。3.存取控制机制:(1)定义用户权限,单将用户权限登记到数据字典中;(2)合法权限检查

主要有a.自主存取控制方法(DAC)b.强制存取控制方法(MAC)第八章数据库恢复和并发控制

1.事务是数据库恢复和并发控制的基本单位2.事务(概念):是用户定义的一个数据操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。3.事务的性质:(1)原子性;(2)一致性;(3)隔离性;(4)持续性。4.故障的种类:(1)事务故障;(2)系统故障;(3)介质故障;(4)计算机病毒和人为破坏。5.恢复的实现技术:(1)数据转储;(2)登记日志文件。

6.登记日记文件时必须遵循两条原则:(1登记的次序严格按并行事务执行的时间次序。(2必须先写日志文件,后写数据库。

8.并发操作带来的问题:(1)丢失修改;(2)不可重复读;(3)读“脏”数据。如课

本的P152的图8.3,要看懂那三个图。

9.避免活锁的方法:先来先服务;预防死锁的方法:一次封锁和顺序封锁法。

10.封锁就是事务T在对某个数据对象(如表、记录等)操作之前,先向系统发出请求,对其加锁。加锁后事务T就对该数据库对象有了一定的控制,在事务T释放它的锁之前,其他事务不能更新此数据对象。

11.排他锁又称为写锁、独占锁,若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。12.共享锁又称为读锁。若事务T对数据对象A加上S锁,则事务T可以读A但不能

修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。

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

题型:

一、选择题(每题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://m.bsmz.net/gongwen/712521.html
相关阅读
最近更新
推荐专题