SQL复习题答案
3-SQL语句练习题参考答案
标准SQL语言一、选择题1、下面关于SQL标准的叙述中,不正确的是(B )。
A.SQL语言是集数据定义、数据操纵、数据控制功能为一体的语言。
B.SQL语言是一种高度过程化的语言。
C.SQL标准规定数据库是按三级模式结构构建。
D.SQL语言是关系型数据库的标准语言。
E.SQL语言是面向集合的语言。
2、SQL语言中,修改基本表结构的语句是( B )。
A.UPDATE B.ALTER C.DROP D.CREATE3、SQL语言中,删除基本表结构的语句是( C )。
A.DELETE B.ALTER C.DROP D.CREATE4、下面关于“视图”的叙述中,不正确的是( C )。
A.视图是一种“虚表”,它的数据被存放在基本表中。
B.视图提供了逻辑数据独立性。
C.不能通过视图来更新数据库中的数据。
D.视图能提供对数据的安全保护。
5、下面关于SELECT语句的叙述中,不正确的是(C)。
A.SELECT产生的结果是一个集合。
B.HA VING子句必须与GROUP BY子句一起使用。
C.可以省略FROM子句。
D.可以省略WHERE子句。
二、填空题1、在使用INSERT语句向一个表中插入元组时,“值列表”中值的个数、(顺序)、类型必须与“列名表”保持一致。
2、在向一个表中插入元组时,对于未指定默认值且(不能取空值)的字段必须赋值。
3、向表中插入元组时,主键的值不能取(NULL )值。
4、在使用DELETE语句时,如果不指定(where 条件)就会将整个表的数据删除。
5、视图是从一个或几个基本表或(视图)导出的表,它与基本表不同,是一个虚表。
三、判断题1、SQL语言是面向集合操作的语言。
√2、可以通过视图来查询数据,但不能通过视图来更新数据库中的数据。
×3、在SQL Server数据库系统中,向表中插入元组时,系统自动为具有标识属性的列赋值。
√4、在SQL Server数据库系统中,向表中插入元组时,对取值类型为timestamp(时间戳)的列不能赋值,系统自动赋值。
SQL查询习题及答案
36.设教学用的四个基本表(S,C,T,SC)(2)查询年龄大于23岁的女同学的学号和姓名select 姓名,学号from swhere 性别='女' and 年龄>23(3)查询至少选修了刘老师所讲授课程中的一门课程的女同学姓名select s.姓名from s,scwhere s.性别='女'and s.学号=sc.学号and sc.课程编号in(select c.课程编号from c,twhere c.教师编号=t.教师编号and t.姓名='刘%')(4)查询至少选修了2门课程的学生学号select sc.学号from scgroup by 学号having count(课程编号)>2(5)查询全部学生都选修的课程号与课程名select c.课程编号,c.课程名称from c,scwhere sc.课程编号=c.课程编号and sc.学号=(select distinct s.学号from s)(6)计算机系每个教师讲授的课程号select t.教师编号,课程编号from c,twhere t.所在系='计算机系(7)查询没有选修过任何一门课程的学生的学号select s.学号from swhere s.学号not in(select distinct sc.学号from sc)(10)统计个系教师的人数select count (教师编号)from tgroup by 所在系(11)统计出教师人数超过10人的系的名称select t.所在系from tgroup by 所在系having count(教师编号)>10(12)在选课表SC中查询成绩为NULL的学生的学号和课程号select 学号课程编号from scwhere 成绩='NULL'(13)姓王的同学的年龄、姓名、选课名称、成绩select 年龄,姓名,课程名称,成绩from s,c,scwhere s.学号=sc.学号and c.课程编号=sc.课程编号and s.姓名='王%'(14)查询年龄大于女同学平均年龄的男同学姓名和年龄select 姓名,年龄from swhere 性别='男' and 年龄>(select avg(年龄)from swhere 性别='女')37.在数据库{USER、ORDER}中,用户需要查询“所有于2009年5月25日下订单的女顾客姓名”。
《数据库系统概论》SQL语言复习题(含答案)
SQL语言习题一、单项选择题1.SQL语言是的语言,易学习。
A.过程化B.非过程化C.格式化D.导航式答案:B2.SQL语言是语言。
A.层次数据库B.网络数据库C.关系数据库D.非数据库答案:C3.SQL语言具有的功能。
A.关系规范化、数据操纵、数据控制B.数据定义、数据操纵、数据控制C.数据定义、关系规范化、数据控制D.数据定义、关系规范化、数据操纵答案:B4.SQL语言的数据操纵语句包括SELECT,INSERT,UPDATE和DELETE等。
其中最重要的,也是使用最频繁的语句是。
A.SELECT B.INSERT C.UPDA TE D.DELETE答案:A5.SQL语言具有两种使用方式,分别称为交互式SQL和。
A.提示式SQL B.多用户SQL C.嵌入式SQL D.解释式SQL答案:C6.SQL语言中,实现数据检索的语句是。
A.SELECT B.INSERTC.UPDATE D.DELETE答案:A7.下列SQL语句中,修改表结构的是。
A.ALTER B.CREATEC.UPDATE D.INSERT答案:A第8到第11题基于这样的三个表即学生表S、课程表C和学生选课表SC,它们的结构如下:S(S#,SN,SEX,AGE,DEPT)C(C#,CN)SC(S#,C#,GRADE)其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩。
8.检索所有比“王华”年龄大的学生姓名、年龄和性别。
正确的SELECT语句是。
A.SELECT SN,AGE,SEX FROM SWHERE AGE>(SELECT AGE FROM SWHERE SN=’王华’)B.SELECT SN,AGE,SEX FROM SWHERE SN=’王华’C.SELECT SN,AGE,SEX FROM SWHERE AGE>(SELECT AGEWHERE SN=’王华’)D.SELECT SN,AGE,SEX FROM SWHERE AGE>王华.AGE答案:A9.检索选修课程“C2”的学生中成绩最高的学生的学号。
SQL复习题(附部分答案)
SQL复习题(附部分答案)⼀、单选题1.根据关系数据基于的数据模型——关系模型的特征判断下列正确的⼀项:(___)A.只存在⼀对多的实体关系,以图形⽅式来表⽰。
B.以⼆维表格结构来保存数据,在关系表中不允许有重复⾏存在。
C.能体现⼀对多、多对多的关系,但不能体现⼀对⼀的关系。
D.关系模型数据库是数据库发展的最初阶段。
答案[B]2、在“连接”组中有两种连接认证⽅式,其中在(___)⽅式下,需要客户端应⽤程序连接时提供登录时需要的⽤户标识和密码。
A、Windows⾝份验证B、SQL Server ⾝份验证C、以超级⽤户⾝份登录时D、其他⽅式登录时答案[B]3、关系数据库中,主键是(___),当运⽤Transact-SQL语句创建主键时,可以是(__)。
⑴ A、为标识表中唯⼀的实体 B、创建唯⼀的索引,允许空值C、只允许以表中第⼀字段建⽴D、允许有多个主键的⑵ A、create table table1(column1 char(13) not null primary key,column2 int not on primary key;B、alter table table1 with nocheck addconstraint [PK_table1] primary key nonclustered ( column1) on primary;C、alter table table1 column1 primary key ;答案[ A C]4、视图是⼀种常⽤的数据对象,可以简化数据库操作,当使⽤多个数据表来建⽴视图时,不允许在该语句中包括(___)等关键字。
A、ORDER BY,COMPUTEB、ORDER BY,COMPUTE,COMPUTR BYC、ORDER BY,COMPUTE BY,GROUP BYD、GROUP BY,COMPUTE BY答案[B ]5、在Transact-SQL语法中,SELECT语句的完整语法较复杂,但⾄少包括的部分(_1_),使⽤关键字(_2_)可以把重复⾏屏蔽,将多个查询结果返回⼀个结果集合的运算符是(_3__),如果在SELECT语句中使⽤聚合函数时,可以在后⾯使⽤⑴ A、SELECT,INTO B、SELECT,FROMC、SELECT,GROUPD、仅SELECT⑵ A、DISTINCT B、UNION C、ALL D、TOP⑶ A、JOIN B、UNION C、INTO D、LIKE⑷ A、GROUP BY B、COMPUTE BY C、HAVING D、COMPUTE 答案[B A B A ]6、SQL Server 2008是⼀个()的数据库系统。
(完整版)SQL复习题(附部分答案)
一、单选题1.根据关系数据基于的数据模型——关系模型的特征判断下列正确的一项:(___)A.只存在一对多的实体关系,以图形方式来表示。
B.以二维表格结构来保存数据,在关系表中不允许有重复行存在。
C.能体现一对多、多对多的关系,但不能体现一对一的关系。
D.关系模型数据库是数据库发展的最初阶段。
答案[B]2、在“连接”组中有两种连接认证方式,其中在(___)方式下,需要客户端应用程序连接时提供登录时需要的用户标识和密码。
A、Windows身份验证B、SQL Server 身份验证C、以超级用户身份登录时D、其他方式登录时答案[B]3、关系数据库中,主键是(___),当运用Transact-SQL语句创建主键时,可以是(__)。
⑴ A、为标识表中唯一的实体 B、创建唯一的索引,允许空值C、只允许以表中第一字段建立D、允许有多个主键的⑵ A、create table table1(column1 char(13) not null primary key,column2 int not on primary key;B、alter table table1 with nocheck addconstraint [PK_table1] primary key nonclustered ( column1) on primary;C、alter table table1 column1 primary key ;答案[ A C]4、视图是一种常用的数据对象,可以简化数据库操作,当使用多个数据表来建立视图时,不允许在该语句中包括(___)等关键字。
A、ORDER BY,COMPUTEB、ORDER BY,COMPUTE,COMPUTR BYC、ORDER BY,COMPUTE BY,GROUP BYD、GROUP BY,COMPUTE BY答案[B ]5、在Transact-SQL语法中,SELECT语句的完整语法较复杂,但至少包括的部分(_1_),使用关键字(_2_)可以把重复行屏蔽,将多个查询结果返回一个结果集合的运算符是(_3__),如果在SELECT语句中使用聚合函数时,可以在后面使用(_4_)。
SQL语言习题参考答案(新)
第3章 SQL语言习题参考答案1.试述SQL语言的特点。
(85页)答:综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提供两种使用方式、语言简捷,易学易用。
2.试述SQL的定义功能。
(87页)答:SQL的数据定义功能包括定义表、定义视图和定义索引3.用SQL语句建立第二章习题5中的四个表。
S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY);供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成:CREATE TABLE S(Sno C(2) UNIQUE,Sname C(6) ,Status N(2),City C(4))零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成:CREATE TABLE P(Pno C(2) UNIQUE,Pname C(6),COLOR C(2),WEIGHT I(2))工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、所在城市(CITY)组成:CREATE TABLE J(Jno C(2) UNlQUE,JNAME C(8),CITY C(4))供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成:CREATE TABLE SPJ(Sno C(2),Pno C(2),JNO C(2),QTY N(2))4.针对上题中建立的四个表试用SQL语言完成第二章习题5中的查询:(1)求供应工程J1零件的供应商号码SNO:SELECT DIST SNO FROM SPJ WHERE JNO=’J1’(2)求供应工程J1零件P1的供应商号码SNO:SELECT DIST SNO FROM SPJ WHERE JNO='J1' AND PNO='P1' (3)求供应工程J1零件为红色的供应商号码SNO:SELECT SNO FROM SPJ,P WHERE JNO='J1' AND = AND COLOR='红' (4)求没有使用天津供应商生产的红色零件的工程号JNO:SELECT DIST JNO FROM SPJ WHERE JNO NOT IN (SELE JNO FROM SPJ,P,S WHERE ='天津' AND COLOR='红' AND = AND =。
SQL_Server复习题汇总带答案
SQL Server复习题一、选择题1、数据库系统的主要特征是()A、数据的冗余度小B、数据的结构化C、数据独立性高D、数据可以共享2、下面不属于关系数据库管理系统的是( B )A、OracleB、IMSC、SQL ServerD、DB23、数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是(A)。
A、DBS包括DB和DBMSB、DBMS包括DB和DBSC、DB包括DBS和DBMSD、DBS就是DB,也就是DBMS4、(C)是数据库系统的核心,它负责数据库的配置、存取、管理和维护等工作。
A、操作系统B、关系模型C、数据库管理系统D、数据库5、下列四项说法中不正确的是(C ) 。
A、数据库减少了数据冗余B、数据库中的数据可以共享C、数据库避免了一切数据的重复D、数据库具有较高的数据独立性6、下列特点中哪个不是数据库系统阶段的特点( B)。
A.数据共享B.数据冗余大C.完善的数据控制D.数据和程序相互独立7、数据库设计中概念模型设计阶段的主要描述工具是(C)。
A. 数据字典B. 流程图C. E-R图D.二维表格8、关系模型的基本数据结构是(B)A、树B、二维表C、图D、二叉树9、将E-R模型转换成关系模型的过程,属于数据库设计的( C)阶段。
A、需求分析B、概念设计C、逻辑设计D、物理设计10、在E-R模型中,实体间的联系用(C)表示A、矩形B、直线C、菱形D、椭圆11、为了防止多个用户对数据库的同一数据进行非法存取操作,DBMS必须提供(A).A、安全性保护B、完整性保护C、故障恢复D、并发控制12、按照数据模型分类,数据库管理系统可分为(C)。
A.关系型,概念型,网状B.模式,概念模式,外模式C.关系型,层次型,网状模型D.SQL Server,oracle,DB213、SQL Server安装程序创建4个系统数据库,下列哪个不是系统数据库(C)。
A. masterB. modelC. AdventureWorksD. msdb14、SQL server数据库文件有三类,其中主数据文件的后缀为(D)A、NDFB、LDFC、MDFD、IDF15、SQL server 数据库文件有3类,其中日志文件的后缀为(D)。
SQL数据库复习资料操作题复习(带答案)
使用T-SQL语句完成下列题目,保存所有SQL语句为一个脚本文件,文件名为学号姓名.sql,SQL语句前加上题号。
(共60分)一、创建数据库创建一个数据库,数据库名为student,主数据文件的逻辑名为student_data,物理名称为student_data.mdf,存放在D盘根目录下,初始大小为10MB,最大可增长到50MB,增长方式是按5%比例增长;日志文件的逻辑名称为student_log,物理名称为student_log.ldf,存放在D盘根目录下,初始大小为2MB,最大可增长到5MB,按1MB 增长。
create database studenton primary(name=student_data,filename='D:\student_data.mdf',size=10MB,maxsize=50MB,filegrowth=5%)log on(name=student_log,filename='D:\student_log.ldf',size=2MB,maxsize=5MB,filegrowth=1MB)二、创建表create table 学生(学号char(8) primary key,姓名char(20) not null,性别char(2) not null check(性别in('男','女')),出生日期datetime null)use studentcreate table 成绩(学号char(8),课程名varchar(30),成绩real null check(成绩between 0 and 100)primary key(学号,课程名),foreign key (学号) references 学生(学号))3、在gxc数据库中创建商品表,表名:sp。
结构如下:use gxcCreate table sp(bh char(20) primary key,mc varchar(50) not null,xkc real,sj money)4、在gxc数据库中创建供应表,表名:gy。
SQL数据库技术与应用期末复习
《SQL Server数据库技术与应用》期末复习一、单项选择题(每小题2分,共20分)1.“借书日期必须在还书日期之前”这种约束属于数据库的()功能。
A.恢复B.并发控制C.完整性D.安全性C.完整性2.在数据中,产生数据不一致的根本原因是()。
A.没有严格保护数据B.数据存储量太大C.数据间联系弱D.数据冗余D.数据冗余3.次数据文件用于存储不能存在主数据文件中的数据,默认扩展名为()。
A..ndf B..mdf C..log D..datA..ndf4、若要求查找‘’姓学生的学生号和,正确的SQL语句是( B )。
A. SELECT S#,SNAME FROM S WHERE SNAME=’%’B. SELECT S#,SNAME FROM S WHERE SNAME LIKE ’%’C. SELECT S#,SNAME FROM S WHERE SNAME=’%%’D.SELECT S#,SNAME FROM S WHERE SNAME LIKE ’%%’5.通过CREATE TABLE语句或者其他方法创建了一个表后,可以使用()语句在表中添加记录。
A.DELETE B.INSERT C.UPDATE D.INSEATERB.INSERT6.在关系数据库系统中,一个关系就是()。
A.一二维表B.一条记录C.一个关系数据库D.一个关系代数运算A.一二维表7.语句SELECT ,性别,出生日期FROM student_info返回()列。
A.1 B. 2 C.3 D.4C.38.语句SELECT 1.2*0.5的结果是()。
A.NULL B.1 C.0 D.0.6D.0.69.在关系数据库系统中,为了简化用户的查询操作,而又不增加数据的存储空间,常用的方法是创建(c )。
A.另一个表B.游标C.视图D.索引5.一个查询的结果成为另一个查询的条件,这种查询被称为()。
A.连接查询B.查询C.自查询D.子查询D.子查询10.为了对表中的各行进行快速访问,应对此表建立()。
SQL复习题答案
SQL Server数据库应用管理-习题集说明:本习题集所涉及的数据库,名为Student,其数据表有3个,分别是学生(学号,姓名,性别,年龄),课程(课号,课名,学分),选修(学号,课号,成绩)。
一、单项选择题1.下列属于SQL Server系统数据库的是。
A.master B.SysbaseC.student D.Database2.SQL Server中,数据库主数据文件扩展名为。
A.ldf B.mdfC.ndf D.dbf3.SQL Server中,索引类型按结构划分,包括。
A.聚集索引和非聚集索引B.主索引和次索引C.单索引和复合索引D.内索引和外索引4.SQL Server的数据定义语句是。
定义:创建A.CREATE,DROP,ALTERB.INSERT,UPDATE,DELETEC.SELECT,DELETE,UPDATED.CREATE,GRANT,INSERT5.下面的描述正确的是。
A.每个数据文件中可以有多个主数据文件B.只允许有一个次数据文件。
C.一个数据库有主数据库文件即可。
D.一个数据库至少由一个主数据文件和一个日志文件组成。
6.下面字符串能与通配符表达式ABC%a 进行匹配的是。
A.BCDEF B.A_BCD C.ABCDa D.ACBDE 7.下列属于数据库管理系统的是。
A.SQL Server 2005B.ExcelC.Windows 2000D.IE68.实体完整性要求主属性不能取空值,这一点通常是通过实现。
A.定义外部键来保证B.定义主键来保证C.用户定义的完整性来保证D.关系系统自动保证Server的数据操纵命令是。
A.SELECT,INSERT,UPDATE,DELETEB.CREATE,INSERT,UPDATE,DELETEC.GRANT,CREATE,REVOKED.SELECT,CREATE,DROP,ALTER10.下面的描述错误的是。
A. 每个数据文件中有且只有一个主数据文件B.可以有多个次数据文件。
(完整版)sql练习题+答案
(一) 新建以下几个表student(学生表):其中约束如下:(1)学号不能存在相同的(2)名字为非空(3)性别的值只能是’男’或’女’(4)系包括这几个:信息系,计算机科学系,数学系,管理系,中文系,外语系,法学系(5)出生日期为日期格式(6)年龄为数值型,且在0~100之间cs(成绩表):其中约束如下:(1)sno和cno分别参照student和course表中的sno,cno的字段(2)cj(成绩)只能在0〜100之间,可以不输入值create table cs (sno smallint not null referencesstudent ( sno ), ----定义成外键cno smallint not null referencescourse ( cno ), ----定义成外键cj smallint constraint e check (cj between0 and 100 ),---- 检查约束一—j(成绩)只能在~100之间,可以不输入值constraint f primary key ( sno , cno )---- 定义学生学号和课程号为sc表的主键)course(课程表)其约束如下:(1)课程号(cno)不能有重复的(2)课程名(cname非空(三)针对学生课程数据库查询(1)查询全体学生的学号与姓名。
Select sno , sname from student(2)查询全体学生的姓名、学号、所在系,并用别名显示出结果。
(3)查询全体学生的详细记录。
select * from student(4)查全体学生的姓名及其出生年份。
select sname , birth from student(5)查询学校中有哪些系。
select distinct dept from student(6)查询选修了课程的学生学号。
select sno from cs where eno is not null(7)查询所有年龄在20岁以下的学生姓名及其年龄。
SQL数据库期末复习题答案-子良
SQL数据库期末复习题答案-子良学生期末综合练习题班级:14电商2班序号:25号姓名:莫子良一、选择题:(1) 下面是创建表的命令:create table 客户信息(编号Int Primary key,姓名varchar(10) Not NULL ,)关于Primary key的描述,那个是正确的(D)A、指定惟一键B、指定检查约束C、指定标识D、指定主键(2) 下面哪个约束,具有自动地生成字段值的是(D)A、Identity标识B、外键约束C、惟一键约束D、主键约束(3) 下面是创建表的命令:create table 客户信息(编号Int Primary key,姓名varchar(10) UNIQUE ,)关于UNIQUE的描述,那个是正确的(A)A、指定惟一键B、指定检查约束D、指定主键(4) 下面的关于约束的说法,哪个是不正确(D)A、主键、标识列是保证实体完整性。
B、通过CHECK约束、规则、默认值和非空属性可以保证域完整性。
C、参照完整性定义了同一个关系数据库中,不同表中列之间的关系。
D、主键列不能为空值,并且一个表可以有多个主键。
(5) 下面是创建表的命令:create table 客户信息(编号Int Primary key,姓名varchar(10) Not NULL ,工作时间DateTime default getdate())关于default的描述,那个是正确的(C)A、指定惟一键B、指定标识C、指定默认值D、指定主键(6) 下面是创建表的命令:create table 客户信息(编号Int Primary key Identity(1,1),姓名varchar(10) Not NULL ,)关于Identity的描述,那个是正确的(C)A、指定惟一键B、指定检查约束D、指定主键(7) 下面哪个约束,可以让字段能为空的是(C)A、Identity标识B、外键约束C、惟一键约束D、主键约束(8) 下面的说法,哪个是不正确的(C)A、一个表中只能定义一个主键B、每个表可以有多个惟一键C、每个表中,可以定义多个主键D、外键列可以由一列或多列组成(9) 关于SQL Server的安全模型,下面说法不正确的是(A)A、用户只要登录到SQL Server服务器实例,就可以访问数据库了B、S QL Server有混合身份验证和仅windows两种验证模式C、一个登录名要访问哪个数据库,需要将登录名映射到该数据库中D、一个登录名可以与多个数据库建立映射(10) 下面的SQL语句中,完全正确的是:(C)A、Declare @dispStr Varchar(20)='这是一个局部变量'Print @dispStrB、Declare @dispStr Varchar(20),@numInt Intset @dispStr='这是一个局部变量',@numInt=6C、Declare @dispStr Varchar(20),@num Int=6set @dispStr='这是一个局部变量'Print @dispStrD、Declare @dispStr Varchar(20),@numInt IntSelect @dispStr='这是一个局部变量',@numInt=6二、判断下列语句是否正确1)“南京大学”是SQL中的字符串常量答:不是,“”中的常量不属于字符串常量,应使用‘’号2)‘328.59’是SQL中的实型常量。
第三章 SQL语言练习题和答案
第三章SQL语言一、选择题1. SQL语言是(B )的语言,容易学习。
A.过程化B. 非过程化C.格式化D. 导航式2. SQL语言的数据操纵语句包括SELECT、INSERT、UPDATE、DELETE等。
其中最重要的,也是使用最频繁的语句是(A)。
A. SELECTB. INSERTC. UPDATED. DELETE3. 在视图上不能完成的操作是()。
A. 更新视图B. 查询C. 在视图上定义新的表D. 在视图上定义新的视图4. SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,CREATE、DROP、ALTER语句是实现哪种功能()。
A. 数据查询B. 数据操纵C. 数据定义D. 数据控制5. SQL语言中,删除一个视图的命令是()。
A.DELETEB.DROPC.CLEARD.REMOVE6. 在SQL语言中的视图VIEW是数据库的()。
A. 外模式B. 模式C. 内模式D. 存储模式7. 下列的SQL语句中,()不是数据定义语句。
A. CREATE TABLEB. DROP VIEWC. CREATE VIEWD. GRANT8. 若要撤销数据库中已经存在的表S,可用()。
A. DELETE TABLE SB. DELETE SC. DROP TABLE SD. DROP S9. 若要在基本表S中增加一列CN(课程名),可用()。
A.ADD TABLE S(CN CHAR(8))B.ADD TABLE S ALTER(CN CHAR(8))C.ALTER TABLE S ADD(CN CHAR(8))D.ALTER TABLE S (ADD CN CHAR(8))10. 学生关系模式S(S#,Sname,Sex,Age),S的属性分别表示学生的学号、姓名、性别、年龄。
要在表S中删除一个属性“年龄”,可选用的SQL语句是()。
A. DELETE Age from SB. ALTER TABLE S DROP AgeC. UPDATE S AgeD. ALTER TABLE S …Age‟11. 有关系S(S#,SNAME,SAGE),C(C#,CNAME),SC(S#,C#,GRADE)。
结构化查询语言SQL习题与答案
结构化查询语⾔SQL习题与答案结构化查询语⾔SQL习题与答案 篇⼀:结构化查询语⾔SQL习题与答案 ⼀、选择题 1. 在SQL包含的功能中,最重要的功能是_______。
A) 数据查询 B) 数据操纵 C) 数据定义 D) 数据控制 2. 使⽤SQL语⾔有两种⽅式,它们是_______。
A) 菜单式和交互式B) 嵌⼊式和程序式 C) 交互式和嵌⼊式D) 命令式和解释式 3. SQL的全部功能可以⽤9个动词概括,其中动词INSERT是属于下列______功能。
A) 数据查询 B) 数据操纵 C) 数据定义 D) 数据控制 4. SQL语⾔⽀持数据库的三级模式结构,其中模式对应于______。
A) 存储⽂件 B) 视图 C) 基本表 D) 视图和基本表 5. 在创建数据表时,可以给字段规定NULL或NOT NULL值,NULL值的含义是______。
A) 0B) 空格 C) NULL D) 不确定 6. 在SQL的ALTER语句中,⽤于删除字段的⼦句是______。
A) ALTER B) DELETE C) DROP D) MODIFY 7. SQL中的INSERT语句可以⽤于______。
A) 插⼊⼀条记录 B) 插⼊⼀个字段 C) 插⼊⼀个索引 D) 插⼊⼀个表 8. 下列描述错误的是______。
A)⽤INSERT-SQL语句可以插⼊⼀条记录 B)⽤INSERT-SQL语句可以插⼊多条记录 C)使⽤INSERT-SQL语句可以插⼊记录的部分数据 D)使⽤INSERT-SQL语句插⼊记录时列名的排列顺序必须与表定义时的顺 序⼀致 9. INSERT-SQL语句中所使⽤的数据不能来⾃于______。
A) 数组 B) 变量 C) 查询 D) 索引 10. SQL中的UPDATE语句可以⽤于______。
A) 更新数据表的结构 B) 更新数据表的值 C) 更新索引D) 更新查询 11. 下列描述错误的是______。
sql经典练习题库(附答案)
SQL练习题库表结构Student(S#,Sname,Sage,Ssex) 学生表Course(C#,Cname,T#) 课程表SC(S#,C#,score) 成绩表Teacher(T#,Tname) 教师表试题:1、查询“0001”课程比“C002”课程成绩高的所有学生的学号;Select s# from scWhere c#='0001' and score>any(select score from sc c#='0002')2、查询平均成绩大于60分的同学的学号和平均成绩;select s#,avg(score) from SCgroup by s#having avg(score)>603、查询所有同学的学号、姓名、选课数、总成绩;select student.s#,student.sname,count(sc.c#)as 选课数,sum(score)总成绩from student,scwhere student.s#=sc.s#group by student.s#,student.sname4、查询姓“张”的老师的个数;select count(*)人数from teacherwhere tname like'张%'5、查询没学过“叶平”老师课的同学的学号、姓名;select student.s#,student.sname from student,course,teacher,scwhere student.s#=sc.s# and course.t#=teacher.t# and teacher.t# not in(select t# from teacher where tname='张丽芬') group by student.s#,student.sname6、查询学过“0001”并且也学过编号“0002”课程的同学的学号、姓名;select sc.s#,sname from sc,studentwhere sc.c# = '0001' and student.s# = sc.s# and sc.s# in (select s# from sc where sc.c# = '0002')--并(两表值)select student.s#,student.sname from student,scwhere student.s#=sc.s# and sc.c#='0001'unionselect student.s#,student.sname from student,scwhere student.s#=sc.s# and sc.c#='0002'--交(有相同值)select student.s#,student.sname from student,scwhere student.s#=sc.s# and sc.c#='0001'intersectselect student.s#,student.sname from student,scwhere student.s#=sc.s# and sc.c#='0002'--差(不同值)select student.s#,student.sname from student,scwhere student.s#=sc.s# and sc.c#='0001'exceptselect student.s#,student.sname from student,scwhere student.s#=sc.s# and sc.c#='0002'7、查询学过“叶平”老师所教的所有课的同学的学号、姓名;select student.s#,student.sname from student,course,teacher,scwhere student.s#=sc.s# and course.t#=teacher.t# and teacher.t# in(select t# from teacher where tname='张丽芬')group by student.s#,student.sname8、查询课程编号“001”的成绩比课程编号“002”课程低的所有同学的学号、姓名;select student.s#,sname,score from student,scwhere student.s#=sc.s# and score in(( select score from sc where c#='0001' )<all( select score from sc where c#='0002' )) 9、查询所有课程成绩小于60分的同学的学号、姓名;select student.s#,sname from studentwhere s# in(select s# from sc where score<60)10、查询没有学全所有课的同学的学号、姓名;select student.s#,student.sname from student,scwhere student.s#=sc.s#group by student.s#,student.snamehaving count(c#)<(select count(c#) from course)11、查询至少有一门课与学号为“1001”的同学所学相同的同学的学号和姓名;select student.s#,student.sname from student,scwhere student.s#=sc.s# and c#=any(select c# from scwhere s#='1001')group by student.s#,student.sname12、查询至少学过学号为“0001”同学所有一门课的其他同学学号和姓名;Select sc.s#,sname from sc inner join student on sc.s#=student.s#Where c# in (select c# from sc where s#=’0001’)13、把“SC”表中“赵雁南”老师教的课的成绩都更改为此课程的平均成绩;update scset score=(select avg(sc.score) from sc,teacher,coursewhere sc.c#=course.c# and course.t#=teacher.t# and teacher.tname='赵雁南')where sc.c#=(select c# from course,teacher where course.t#=teacher.t# and tname='赵雁南' )14、查询和“1002”号的同学学习的课程完全相同的其他同学学号和姓名;select student.s#,sname from student,scwhere student.s#=sc.s# and sc.c#=all(select c# from sc where s#='1005') and student.s#<>'1005'15、删除学习“朱玉文”老师课的SC表记录;delete from scwhere c# in(select c# from sc where c# in (select c# from course,teacher where teacher.t#=course.t# and teacher.tname='朱玉文' ) )16、向SC表中插入一些记录,这些记录要求符合以下条件:没有上过编号“0002”课程的同学学号、号课的平均成绩;insert into scvaluesselect s# from sc where s# not in (select s# from sc where c#='0002'select avg(score) as 平均成绩from sc where c#='0002'17、按平均成绩从高到低显示所有学生的“数据库”、“企业管理”、“英语”三门的课程成绩,按如下形式显示:学生ID,,数据库,企业管理,英语,有效课程数,有效平均分select sc.s#,ame,sc.score,avg(score)as 平均成绩from sc inner join course on sc.c#=course.c#where sc.c# in(select c# from course where cname=any(select cname from course where cname in('计算机基础','Oracle','软件工程')))group by sc.s#,ame,sc.scoreorder by avg(score) descSELECT S# as 学生ID,(SELECT score FROM SC WHERE SC.S#=t.S# AND C#='0001') AS 计算机基础,(SELECT score FROM SC WHERE SC.S#=t.S# AND C#='0002') AS Oracle,(SELECT score FROM SC WHERE SC.S#=t.S# AND C#='0011') AS 软件工程,COUNT(*) AS 有效课程数, AVG(t.score) AS 平均成绩FROM sc AS tGROUP BY S#ORDER BY avg(t.score) desc18、查询各科成绩最高和最低的分:以如下形式显示:课程ID,最高分,最低分select c# 课程ID,max(score) 最高分,min(score) 最低分from scgroup by c#19、按各科平均成绩从低到高和及格率的百分数从高到低顺序select c#, avg(score) from scwhere score>60group by c#20、查询如下课程平均成绩和及格率的百分数(用"1行"显示): 企业管理(),马克思(),OO&UML (),数据库()21、查询不同老师所教不同课程平均分从高到低显示select course.t#,avg(sc.score) as 平均分from sc,coursewhere sc.c#=course.c#group by course.t#order by avg(sc.score) desc22、查询如下课程成绩第3 名到第6 名的学生成绩单:企业管理,马克思,UML,数据库[学生ID],[学生姓名],企业管理,马克思,UML,数据库,平均成绩select student.s#,student.sname,sc.score,ame from student inner join sc on student.s#=sc.s#inner join course on sc.c#=course.c#where ame in('oracle','电路分析','计算机基础')order by ame,sc.score desc23、统计列印各科成绩,各分数段人数:课程ID,课程名称,[100-85],[85-70],[70-60],[ <60]select sc.c#,ame,count(*)人数from sc,coursewhere course.c#=sc.c#group by sc.c#,ame24、查询学生平均成绩及其名次select sc.s#,avg(score) from scgroup by sc.s#order by avg(score) desc25、查询各科成绩前三名的记录考虑成绩并列情况select s#,c# ,score from scwhere score in (select distinct top 3 score from scgroup by c#,score)order by score desc26、查询每门课程被选修的学生数select c# as 课程号,count(c#)as 选修人数from scgroup by c#order by count(c#) desc27、查询出只选修了一门课程的全部学生的学号和姓名select sc.s#,student.sname from sc inner join student on student.s#=sc.s#group by sc.s#,student.snamehaving count(c#)=128、查询男生、女生人数select ssex, count(*) as 总人数from studentgroup by ssex29、查询姓“张”的学生名单select sname from studentwhere sname like '张%'30、查询同名同性学生名单,并统计同名人数select ssex,count(*) from studentgroup by ssex31、同年出生的学生名单(注:Student表中Sage列的类型是datetime)32、查询每门课程的平均成绩,结果按平均成绩升序排列,平均成绩相同时,按课程号降序排列select c#,avg(score)平均成绩from scgroup by c#order by avg(score) asc33、查询平均成绩大于的所有学生的学号、姓名和平均成绩select top 1 student.s#,student.sname,avg(score)平均成绩from student inner join sc on student.s#=sc.s#group by student.s#,student.snameorder by avg(score) desc34、查询课程名称为“数据库”,且分数低于80的学生姓名和分数select student.sname,sc.score from sc,student,coursewhere student.s#=sc.s# and sc.c#=course.c# and ame='计算机基础' and sc.score<80group by student.sname,sc.score35、查询所有学生的选课情况;select student.s#,sname,c# from student left join sc on student.s#=sc.s#36、查询任何一门课程成绩在70分以上的姓名、课程名称和分数;select student.sname,ame,sc.score from student,sc,coursewhere student.s#=sc.s# and sc.c#=course.c# and sc.score>70order by score desc37、查询不及格的课程,并按课程号从大到小排列select c#,score from scwhere score<60order by c#38、查询课程编号为0001且课程成绩在70分以上的学生的学号和姓名;select student.s#,sname from sc,studentwhere c#='0001' and score>70 and student.s#=sc.s#39、求选了课程的学生人数select count(s#)人数from scwhere sc.score<>040、查询选修“oracle”课程的学生中,成绩最高的学生姓名及其成绩select top 1 student.sname,max(sc.score)成绩最高from student inner join sc on student.s#=sc.s# inner join course on sc.c#=course.c#where ame='oracle'group by student.snameorder by max(sc.score) desc41、查询各个课程及相应的选修人数select ame,count(sc.c#) as 选修人数from sc inner join course on sc.c#=course.c#group by ameorder by count(sc.c#) desc,ame asc42、查询不同课程成绩相同的学生的学号、课程号、学生成绩43、查询每门功成绩最好的前两名SELECT t1.S# as 学生ID,t1.C# as 课程ID,Score as 分数FROM SC t1WHERE score IN (SELECT TOP 2 score FROM SCWHERE t1.C#= C#ORDER BY score DESC)ORDER BY t1.C#44、统计每门课程的学生选修人数(超过人的课程才统计)。
SQL复习题(附部分答案)
语句。
(A)保存 (B)编写 (C)解释 (D)编译
答案[ D]
29、数据管理发展的三个阶段不包括(
)。
(A)人工管理阶段 (B)文件管理阶段
(C)数据库管理阶段 (D)智能管理阶段
答案[ D]
30、SQL 语言按照用途可以分为三类,不包括下面选项中的( )。
(A)DML (B)DCL (C)DQL (D)DDL
B.UPDATE,INSERT
C、DELETE,UPDATE
D.CREATE,INSERT INTO
答案[ A]
47、创建表的命令是( )。
A、 Create database 表名
B.Create VIEW 表名
C、 Create TABLE 表名
D.Alter TABLE 表名
答案[ C]
48、在 Transact-SQL 语法中,SELECT 语句的完整语法较复杂,但至少包括的部分
答案[ D]
19、 聚合函数的返回值是( )。
A、一个标量值 B、一组值 C、表达式 D、表
答案[ A]
20、关于主键描述正确的是:(
)
(A)包含一列
(B)包含两列
(C)包含一列或者多列 (D)以上都不正确
答案[ ]
22、在 SELECT 语句的 WHERE 子句的条件表达式中,可以匹配 0 个到多个字符的
(C).mdf (D).idf
答案[B ]
27、表示职称为副教授同时性别为男的表达式为(
)
A.职称=‘副教授' OR 性别=‘男'
B.职称=‘副教授' AND 性别=’男'
C.BETWEEN‘副教授' AND ’男'
(完整版)第3章SQL语言习题参考答案(新)
第3章 SQL语言习题参考答案1.试述SQL语言的特点。
(85页)答:综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提供两种使用方式、语言简捷,易学易用。
2.试述SQL的定义功能。
(87页)答:SQL的数据定义功能包括定义表、定义视图和定义索引3.用SQL语句建立第二章习题5中的四个表。
S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY);供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成:CREATE TABLE S(Sno C(2) UNIQUE,Sname C(6) ,Status N(2),City C(4))零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成:CREATE TABLE P(Pno C(2) UNIQUE,Pname C(6),COLOR C(2), WEIGHT I(2))工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、所在城市(CITY)组成:CREATE TABLE J(Jno C(2) UNlQUE,JNAME C(8),CITY C(4))供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成:CREATE TABLE SPJ(Sno C(2),Pno C(2),JNO C(2),QTY N(2))4.针对上题中建立的四个表试用SQL语言完成第二章习题5中的查询:(1)求供应工程J1零件的供应商号码SNO:SELECT DIST SNO FROM SPJ WHERE JNO=’J1’(2)求供应工程J1零件P1的供应商号码SNO:SELECT DIST SNO FROM SPJ WHERE JNO='J1' AND PNO='P1' (3)求供应工程J1零件为红色的供应商号码SNO:SELECT SNO FROM SPJ,P WHERE JNO='J1' AND SPJ.PNO=P.PNO AND COLOR='红'(4)求没有使用天津供应商生产的红色零件的工程号JNO:SELECT DIST JNO FROM SPJ WHERE JNO NOT IN (SELE JNO FROM SPJ,P,S WHERE S.CITY='天津' AND COLOR='红' AND S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO)。
SQL课后练习题(1-9章答案)
第一章1、数据完整性是指( D )A.数据库存中的数据不存在重复B.数据库中所有的数据格式是一样的C.所有的数据全部保存在数据库中D.数据库中的数据能够正确反映情况2、SQL中pubs数据库属于(A )A.用户数据库B.系统数据库C.数据库模板D.数据库管理系统3、数据冗余指的是( D )A.数据与数据之间没有联系B.数据有丢失C.数据量太大D.存在重复的数据4、SQL Server数据库的主数据文件的扩展名为( B )A. .sqlB. .mdfC. .mdbD. .ldf5、下列关于关系数据库叙述错误的是(B )A.关系数据库的结构一般保持不变,但也可根据需要进行改变B.一个数据表组成一个关系数据库,多种不同数据则需要创建多个数据库C. 关系数据库表中的所有记录的关键字字段的值互不相同D. 关系数据库表中的外部关键字不能用于区别该表中的记录6、创建数据库时,需要指定( C )属性。
A.数据库初始大小B.数据库的存放位置C.数据库的物理名和逻辑名D.数据库的访问权限7、以下说法正确的是( A )A.通过SQL Server服务器对SQL Server的启动、停止和通过服务管理器对SQL Server的启动、停止是同等功效B.必须先启动服务管理器中的SQL Server服务之后才能通过SQL Server服务管理器启动SQL ServerC.必须先通过SQL Server服务管理器启动SQL Server之后才能启动服务管理器中的SQL Server服务D.只能通过服务管理器对SQL S erver进行启动和停止8、SQL Server提供的4个系统数据库,以下说法正确的是( D )A.tempdb数据库是一个空数据库,完全可以删除B.adventure works是用来做模板的一个数据库C.msdb数据库是用来做例子的数据库D.创建新的空白数据库时,将使用Model数据库所规定的默认值9、以下说法错误的是(C)A.数据完整性是指存储在数据库中数据的准确性B.SQL Server是一个DBMSC.ERP、CRM、MIS等都是DBMSD.设计数据库时允许必要的冗余第二章1、创建银行的贷款情况表时,“还款日期”默认为当天,且必须晚于“借款日期”,应采用(A)约束。
sql数据库练习题参考答案
第1章数据库基础练习题一、单项选择题1.C 2.A 3.C 4.D 5.D6.B 7.A 8.B 9.B 10.D11.C 12.A 13.C 14.B 15.A16.B 17.A 18.D 19.B 20.B21.A; D 22.A 23.C 24.D 25.B26.B 27.B 28.D 29.B 30.B二、填空题1.概念;数据2.属性3.码4.一对一联系;一对多(或多对一)联系;多对多联系5.候选码6.候选码7.关系名(属性1,属性2,…,属性n)8.关系数据结构;关系操作集合;关系完整性约束9.实体;参照;用户定义的;实体;参照10.空值11.需求分析阶段;概念结构设计阶段;逻辑结构设计阶段;物理结构设计阶段;数据库实施阶段;数据库运行和维护阶段12.准确了解并分析用户对系统的要求,尤其是用户的信息要求、处理要求、安全性与完整性要求,确定所要开发的应用系统的目标,产生用户和设计者都能接受的需求说明书,做为下一步数据库概念结构设计的依据。
13.将需求分析得到的用户需求抽象为信息结构即概念模型。
14.将概念结构进一步转化为某一DBMS支持的数据模型,并对其进行优化。
15.为逻辑数据模型选取一个最适合应用环境的物理结构,包括数据库在物理设备上的存储结构和存取方法。
三、指出以下各缩写的英文意思和中文意思1.DB:Database2.DBMS:Database Management System3.RDBMS:4.DBS:Database System5.DBA:Database Administrator6.NF:Normal Form7.DDL:Data Definition Language 四、按题目要求回答问题3.答:(1)关系R是2NF。
因为R的候选码为课程名,而课程名→教师名,教师名→教师地址,所以课程名→教师地址,即存在非主属性教师地址对候选码课程名的传递函数依赖,因此R不是3NF。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQL Server数据库应用管理-习题集说明:本习题集所涉及的数据库,名为Student,其数据表有3个,分别是学生(学号,姓名,性别,年龄),课程(课号,课名,学分),选修(学号,课号,成绩)。
一、单项选择题1 .下列属于SQL Serve系统数据库的是A. master B.Sysbase2.3.4.5.A.B .C.D.6.A.7.A. B . C.studentD. Database SQL Server中,数据库主数据文件扩展名为A.IdfC. ndfB. mdfD. dbfSQL Server中,索引类型按结构划分,包括A.聚集索引和非聚集索引C•单索引和复合索引SQL Server的数据定义语句是。
定义:创建A.B .C.D.B.主索引和次索引D.内索引和外索引CREATE DROP ALTERINSERT UPDATE DELETESELECT DELETE UP DATECREATE GRANT INSERTF面的描述正确的是每个数据文件中可以有多个主数据文件只允许有一个次数据文件。
一个数据库有主数据库文件即可。
一个数据库至少由一个主数据文件和一个日志文件组成。
F面字符串能与通配符表达式ABC%a进行匹配的是BCDEF B. A_BCD C. ABCDa下列属于数据库管理系统的是SQL Server2005ExcelD. ACBDE10. 下面的描述错误的是A. 每个数据文件中有且只有一个主数据文件B. 可以有多个次数据文件。
C. 一个数据库有主数据库文件即可。
D. —个数据库至少由主数据文件和日志文件组成。
11. 对于查询语句的结果,有时会出现重复的数据行,可以使用以下哪个关键字可消去重复记录行。
A. OnlyD. Order by12. 下列说法中正确的是SQL 中只有局部变量先声明后使用;全局变量是由系统提供的用户不能自己建立。
13. 下面对索引的相关描述正确的是: A. 经常被查询的列不适合建索引。
C. Windows 2000D . IE6 8实体完整性要求主属性不能取空值,这一点通常是通过 实现。
A .定义外部键来保证 B.定义主键来保证 C.用户定义的完整性来保证 D .关系系统自动保证 Server 的数据操纵命令是A . SELECT INSERT UPDATE DELETEB .CREATE INSERT UPDATE DELETE C .GRANT CREATE REVOKE D . SELECT CREATE DROP ALTER B. SelectC. Dist inctA . SQL 中局部变量可以不声明就使用 B. SQL 中全局变量必须先声明再使用 C. SQL 中所有变量都必须先声明后使用D .B.列值唯一的列适合建索引。
C.有很多重复值的列适合建索引。
D.是外键或主键的列不适合建索引。
14.下列说法中正确的是A.SQL中局部变量可以不声明就使用B.SQL中全局变量必须先声明再使用C.SQL中所有变量都必须先声明后使用D.SQL中只有局部变量先声明后使用;全局变量是由系统提供的用户不能自己建立。
15.E-R模型的三要素是__cA.实体、属性、实体集B.实体、键、联系C.实体、属性、联系D.实体、域、候选键Server系统数据库不包括A. masterB. tempdbC. studentD. modelServer中,数据库日志文件扩展名为A. ldfB. mdfC. ndfD. dbfServer中,索引类型包括A.聚集索引和非聚集索引B.主索引和次索引C•单索引和复合索引D.内索引和外索引19. SQL语言中行注释的符号为A. < >B. /* */C.D. /-20.参加自然联接”运算的两个关系A.至少存在一个相同属性名B.可不存在任何相同属性名c.不可存在多个相同属性名D.所有属性名必须完全相同21.下面标志符合法的是A. triggerlB. 123_aC. @abcD. ABC_[1]22.创建数据库语句A.Create DatabaseB.Delete DatabaseC.Set DatabaseD.Create Table23.实体完整性要求主属性不能取空值,这一点通常是通过A.定义外部键来保证B.定义主键来保证C•用户定义的完整性来保证D.关系系统自动保证24我们使用的SQL Server 2005它是一个A.数据库B.数据库系统C.数据库管理系统D.数据库文件25.在SQL Server中,每个表上能创建个非聚簇索引。
A. 1B. 3C.249D. 25526.所谓概念模型,指的是A .客观存在的事物及其相互联系B.将信息世界中的信息数据化C实体模型在计算机中的数据化表示D.现实世界到机器世界的一个中间层次,即信息世界27. 备份数据库Mydb的语句为A. RESTORE DATABASE MydbB. BACKU P DATABASE MydbC. EXEC DATEBASE MydbD. UP DATE DATABASE Mydb28.下列不是数据库对象的是表存储过程触发器视图规则默认索引B. /* */C. /-D . 30.假如采用关系数据库系统来实现应用,在数据库设计的(将E-R 模型转换为关系数据模型。
A.概念设计 C.逻辑设计B.物理设计 D.运行阶段二、填空题1. SQL Server 中的变量分为两种,全局变量和局部变量,其中全局变量的名称以@@字符开始,由系统定义和维护。
局部变量以 @ 字符开始,由用户自己定义和赋值。
2. 在查询分析器中,使用 Create Database 命令创建数据库,使用 Database 命令修改数据库,使用 drop database 删除数据库。
3.—个脚本可以包含一个或多个批,脚本中的go 命令标志一个批的结束。
4.SQL Server2005中数据库文件有 mdf 主数据库文件、ndf 次数据库文件 、 Ldf 日志数据库文件 。
5.SQL Server 主要提供了两种机制来强制业务规则和数据完整性,是:一约束: _差异数据库备份Alter 7.SQL Server 2005l 勺安全级别分为 身份验证阶段和权限认证阶段两个层 次。
8. 关系的完整性包括 实体完整性、 域值完整性 自定义完整性 。
参照完整性 用户A. 表B. 触发器C. 视图D. 用户权限29.块注释的符号为 A .9. 在一个表上能创建_1_个聚集索引,249 个非聚簇索引。
10.数据库系统一般由数据库,操作系统,数据库管理系统及开发工具数据库应用程序,数据库管理员和用户组成。
简答题:最常见的数据库对象:表存储过程触发器视图规则默认索引视图的作用 P166集中简化和定制显示数据库中的数据信息.为用户以多种角度观察数据库中的数据提供方便为了屏蔽数据的复杂性,简化用户对数据的操作或者控制用户访问数据.对数据提供安全保护索引的作用 P178类似书本的目录,用来提高查找信息的速度索引的原则 P180主键列上一定要建立索引外键列可以建索引在经常查询的字段上最好建立索引对于很少涉及的列.重复值比较多的列不要建索引对于定义为txt,image和bit数据类型的列上不要建立索引简单的编程创建和定义触发器P257 create triggeruse stude nt gocreate trigger banji on 班级for delete as declare @ba nji char(9)select @banji =班级代码from deletedif exists (select * from 学生where 班级代码=@banji) beginprint '无法删除’rollback transaction end go创建学生表 包括姓名 性别 学号 年龄 并设置合适的数据类型use student gocreate table 学生 (学号 char(12) primary key, 姓名 varchar(8), 性别 char(2), 出生日期 入学时间 班级代码)Go将学生表中张三的年龄改成 20 use student goupdate 学生set 年龄 =20 where 姓名 = '张三 ' go查询比张三大的所有同学的姓名 按年龄降序排序use student go Select 姓名 From 学生Where 出生日期 < any(select 出生日期 from 学生 where 姓名 = '张三 ' ) Order by 出生日期 desc go查询已选修数据库的学生的人数Select count(*) AS 学生人数 Form 选修 Where 课名 = 数据库 And 选修.课号 =学生 .课号use student go Select count(*) From 课程注册Where 课程号 in (select 课程号 from 课程 where 课程名称 = 'SQL Server 2005') go大题 :datetime,datetime,char(9) references 班级 (班级代码 )1编写存储过程use stude nt gocreate proc cc_bjmc asselect班级名称from 班级where系部代码=(select系部代码from系部where系部名称='计算机系')go结构:create proc存储过程名称As(对象)2写一个多语句表值函数第十章P215例题33 32 通过输入的课程名称返回选修该课程的学生姓名和成绩createfunction. chengji (@inputkc as char(20)).returns, @chji table(课程名称char(20),姓名char(8),成绩tinyint) asbeginin sert @chjiselect c.课程名称,s姓名,k.成绩from 学生as s inn er join 课程注册as k on s学号=k.学号inn er join 课程as c on c.课程号=k.课程号and c.课程名称=@inputkc return 一end go3使用游标声明游标打开游标提取数据关闭游标释放游标P229use stude nt godeclare a cursor SCROLL dynamicfor select * from 课程备份--声明游标 a open a --打开游标fetch first from a --提取第一条数据delete from课程备份--删除游标所在行记录where current of a fetch next from a --提取下一行数据 --修改数据 update 课程备份 set where current of a 课程名称 ='23' fetch last from a update 课程备份 set where current 课程名称 ='45' close adeallocate a of a --关闭游标 --删除游标 go select * from 课程备份 go 创建一张 ”人事信息 ”表 ,表中包含职工编号 时根据需要定义约束 . .职工名称 .性别 .出生日期 .系部代码 .联系电话 .在创建 use student go create table 人事信息 (职工编号 char (12) not null primary key, 职工姓名 char(8) not null unique , 性别char(2) not null default '男', 出生日期 系部代码 --主键约束 --唯一约束 --默认约束 --检查约束 联系电话 datetime not null check(岀生日期 char(2) not null foreign key(系部代码)references 系部(系部代码), --外键约束 char(15)>'01/01/1950' ), go。