数据库复习题.docx
《数据库复习题.docx》由会员分享,可在线阅读,更多相关《数据库复习题.docx(8页珍藏版)》请在冰豆网上搜索。
数据库复习题
数据库-复习题
1.sqlserver2005的身份验证模式有:
________________,_______________.
2.数据完整性分为:
_____________,______________,________________.
3.数据库管理系统(DBMS)是管理数据库的系统,它按一定的数据模型组织数据。
DBMS应提供如下功能:
_____________可定义数据库中数据对象。
_____________可对数据库表进行基本操作,如插入、删除、修改、查询等。
_____________保证用户输入的数据应满足相应的约束条件。
_____________保证只有赋予权限的用户才能访问数据库中的数据。
_____________使多个应用程序可在同一时刻并发地访问数据库的数据.数据库系统的故障恢复功能:
使数据库运行出现故障时进行数据库恢复,以保证数据库可靠运行。
在网络环境下访问数据库的功能。
方便、有效地存取数据库信息的接口和工具。
4.数据定义语言(DDL)主要包括:
____________,_________________,_________________.
5.LIKE谓词用于指出一个字符串是否与指定的字符串相匹配,LIKE谓词可以使用的通配符有_______,______,________,_______.
6.常用的数据模型有:
__________,__________,___________.
7.SQLServer2005设计了5个不同的版本:
______________,____________,_____________,_____________,_______________.
8.SQLServer对游标的使用要遵循:
______________,_______________,__________________,_______________,____________.
9.数据库中对数据的主要操作有____________,______________,____________________,__________________.
10.SQLServer2005的数据库对象主要包括
____________,___________,____________.___________,___________,__________等.
1.使用存储过程的优点有哪些?
2.请解释"分离与附加数据库"、“联机与脱机”“备份与还原数据库”三者之间的区别
3.sqlserver2005的数据文件包括哪些?
4.简述sqlserver2005的备份方法
5.数据库的连接方式有哪些?
6.什么是SQL语言
7.数据库管理系统功能
8..什么是I范式、II范式、III范式?
写代码
假设已有数据库pxscj,库中有学生表XSB(学号、姓名、性别、出生日期、专业)、成绩表CJB(学号、课程号、分数)、课程表KCB(课程号、课程名)
1.从学生表xsb中查询学号为"1000003"同学的学号和姓名.
2.对PXSCJ数据库的XSB表只选择专业和姓名,消除结果集中的重复行。
3.查询姓“张”、“陈”、“黄”同学的基本信息,要求按照姓名降序排序。
4.用一条语句统计各专业人数。
5.查询学生的姓名和分数
6.查询所学专业是计算机的女同学的姓名。
7.用一条语句统计男女生人数各有多少
8.查询学号、姓名、课程名、分数
9.查询年龄最小的男同学的姓名
10将学号是“2100812”的专业改为“自动控制”
编程:
1.创建存储过程,功能:
从PXSCJ数据库的三个表中查询某人指定课程的分数。
该存储过程接受与传递参数精确匹配的值。
2.创建一个表student,只考虑学号和出生日期两列,出生日期必须大于1980年1月1日,并命名CHECK约束。
3.编写一个存储过程,要求能根据输入的学号查询学生的姓名,性别,出生日期。
并执行程序。
4.编写一个触发器,当更新xsb中记录后能显示“你已成功地更新了一条记录!
”,并显示所有记录,要求验证。
答案:
1.windows,sqlserver
2.实体完整性,域完整性,参照完整性
3
(1)数据定义功能
(2)数据操纵功能:
(3)数据的完整性检查功能
(4)数据库的安全保护功能:
(5)数据库的并发控制功能
4.Create,alter,drop
5._%[][^]
6.关系模型,网状模型,层次模型.
7.企业版、标准版、开发版、工作组版和精简版
8.声明游标→打开游标→读取数据→关闭游标→删除游标。
9.Insert,update,delete,select
10.表、视图、索引、存储过程、触发器和约束
简答:
1.答案:
(1)存储过程在服务器端运行,执行速度快。
(2)存储过程执行一次后,就驻留在高速缓冲存储器,只需从高速缓冲存储器中调用已编译好的二进制代码执行,提高了系统性能。
(3)使用存储过程可以完成所有数据库操作,并可通过编程方式控制对数据库信息访问的权限,确保数据库的安全。
(4)自动完成需要预先执行的任务。
存储过程可以在SQLServer启动时自动执行,可以自动完成一些需要预先执行的任务。
2.答案:
分离与附加数据库"与“联机与脱机相似,分离或脱机时,可以拷贝数据库。
分离时,此数据库不受管理系统管理,脱机状态时,此数据库仍受管理系统管理。
备份与还原数据库可以将数据库文件直接复制到备份设备中。
可以在生产工作负荷时同时完成此任务。
也可以从一台服务器复制到另一个服务器上。
3.答案:
(1)主数据文件。
主数据文件简称主文件,包含了数据库的启动信息,并且存储数据。
每个数据库必须有且仅能有一个主文件,其默认扩展名为.mdf。
(2)辅助数据文件。
辅助数据文件简称辅(助)文件,用于存储未包括在主文件内的其他数据。
辅助文件的默认扩展名为.ndf。
辅助文件是可选的,根据具体情况,可以创建多个辅助文件,也可以不使用辅助文件。
(3)日志文件。
日志文件用于保存恢复数据库所需的事务日志信息。
每个数据库至少有一个日志文件,也可以有多个,日志文件的扩展名为.ldf。
4.答案:
(1)完全数据库备份。
这种方法按常规定期备份整个数据库,包括事务日志。
(2)数据库和事务日志备份。
这种方法是在两次完全数据库备份期间,进行事务日志备份.
(3)差异备份。
差异备份只备份自上次数据库备份后发生更改的部分数据库.
(4)数据库文件或文件组备份。
这种方法只备份特定的数据库文件或文件组,同时还要定期备份事务日志.
5.答案:
1.ODBC数据库接口
2.OLEDB数据库接口
3.ADO数据库接口
4.ADO.NET数据库接口
5.JDBC数据库接口
6.数据库连接池技术
6.答案:
SQL语言的全名是结构化查询语言(StructuredQueryLanguage),是用于数据库中的标准数据查询语言,IBM公司最早使用在其开发的数据库系统中。
1986年10月,美国ANSI对SQL进行规范后,以此作为关系数据库管理系统的标准语言。
7.答案:
(1)数据定义功能
(2)数据操纵功能
(3)数据的完整性检查功能
(4)数据库的安全保护功能
(5)数据库的并发控制功能
(6)数据库系统的故障恢复功能
(7)在网络环境下访问数据库的功能。
(8)方便、有效地存取数据库信息的接口和工具。
8.答案:
一个关系的每个属性都是不可再分的基本数据项,则该关系是I范式。
二范式首先是I范式,而且关系中的每一个非主属性完全函数依赖于主关键字。
三范式首先是II范式,且关系中的任何一个非主属性都不函数依赖于主关键字。
写出代码:
1.select 学号,姓名from xsbwhere 学号=’1000003’
2.SELECTDISTINCT专业,姓名FROMXSB
3.select *from xsbwhere 姓名 like ’[陈黄张]%’order by 姓名 desc
4.Select专业,count(*)人数fromxsbgroupby专业
5.Select姓名,分数fromxsbinnerjoincjbonxsb.学号=cjb.学号
6.Select姓名fromxsbwhere专业=‘计算机’and性别=‘女’
7.Select性别,count(*)as人数fromxsbgroupby性别
8.Selectxsb.学号,姓名,课程名,分数fromxsbinnerjoincjbonxsb.学号=kcb.学号
innerjoinkcbcjb.课程号=kcb.课程号
9.Selecttop1姓名fromxsbwhere性别=’男’orderby出生日期desc
10.Updatexsbset专业=’自动控制’where学号=’2100812’
编程:
1.USEPXSCJ
GO
CREATEPROCEDURECCC@namechar(8),@cnamechar(16)
AS
SELECTXSB.学号,姓名,课程名,分数
FROMXSBINNERJOINCJB
ONXSB.学号=CJB.学号INNERJOINKCB
ONCJB.课程号=KCB.课程号
WHEREXSB.姓名=@nameandKCB.课程名=@cname
GO
执行存储过程AAA:
EXECUTEAAA'王林','计算机基础'
2.CREATETABLEstudent
(
学号char(6)NOTNULL,
出生时间datetimeNOTNULL,
CONSTRAINTDF_student_cjsjCHECK(出生时间>'1980-01-01')
3.createprocetureaaa
@stuidchar(7)
As
Select姓名,性别,出生日期fromxsbwhere学号=@stuid
Execaaa’2100812’
4.Createtriggerbbbonxsb
Forupdate
As
Select‘你已成功地更新了一条记录!
’
Select*fromxsb
updatexsbset姓名=’王红’where学号=’2100812’