选择题
1. 取出关系中的某些列,并消去重复的元组的关系运算称为(投影运算)。
2. 在学生数据库中,用SQL语句列出所有女生的姓名,应该对学生关系进行(选择和投影)操作。
3. 公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从职员到部门的联系类型是(多对一)。
4. 在一个关系中,不能有相同的(属性)。
5. (数据库管理系统)是位于用户与操作系统之间的一层数据管理软件。
6. 数据库系统不仅包括数据库本身,还要包括相应的硬件,软件和(各类相关人员)。
7. SQL语言属于(据有关系代数和关系演算双重特点的语言)。 8. SQL Server采用的体系结构是(单进程、多线程)。 9. SQL语言是(结构化查询语言)。 10.SQL语言最主要功能是(数据查询)。
11.SQL Server2005在安装之前,应注意的事项是(SQL Server2005在安装之前,必须在操作系统级启用TCP/IP)。
12.下列关于身份验证模式叙述正确的是(只有Windows的当前用户才可选择Windows身份验证模式)。
13.在连接SQL Server时需要提供用户名和密码的身份验证模式是(SQL Server身份验证)。
14.在连接到数据库引擎时,有两种连接认证方式,其中在(SQL Server身份验证)方式下,需要客户端提供登录时需要的用户名和密码。
15.下列(pubs)不是SQL Server2005的系统数据库。 16.关于数据库事务日志文件叙述错误的是(如果未指定事务日志文件的增长量,则文件大小保持不变)。
17.每个数据库有且只能有一个(主数据文件)。
18.下面(队列、约束)不是SQL Server2005数据库对象。 19.如果数据库中的数据量非常大,除了将数据存储在主数据文件中,还可以将一部分数据存储在(次数据文件)。
20.用以交互地设计和测试T-SQL语句的是(查询命令窗口)。 21.主数据库文件的默认扩展名是(mdf)。 22.事务日志文件的默认扩展名是(LDF)。
23.关于下面创建数据库的命令,不正确的描述是(日志文件可有可无)。
24.关于下面创建数据库的脚本,不正确的描述是(数据文件的初始大小为3KB)。
25.关系数据库要求:为了维护数据的完整性,表中的记录不能重复,因此在创建数据表时,可使用(primary key)关键字创建主键。
26.所谓空值就是(未知的值)。
27.实体完整性要求主属性不能取空值,这一句可以通过(定义主码)来保证。
28.主键约束用来强制数据的(实体)完整性。
29.当两个表建立参照约束以后,主键表将会约束外键表数据的(新增和修改),外键表也会约束主键表的(删除)。
30.下面建立数据库的命令将(会创建一个数据库,数据存储在文件dev1中,日志存储在文件MyDd-log.ldf中)。
31.下面可以创建主键的语句是(alter table table1 with nocheck
add
constraint[PK-table1]primary
key
nonclustered(column1)on‘primary’)。
33.为存储组织中不同部门的材料,创建以下Department表。你需修改此表结构使得cDepartmentCode属性实施实体完整性检查。你应采取以下动作中的哪一个?(修改表结构,对cDepartmentCode属性加入主键约束)
34.关系数据库中,主键的建立方法有(三)种。
35.数据库中每个表格中每一条记录的timestamp字段数据都是
(惟一的)。
36.text字段专用于存储(character)类型的数据。 37.imag字段专用于存储(binary)类型的数据。
38.库创建以后,就不能在对象资源管理器中修改数据库名称,必须使用系统存储过程(sp-renamedb)进行修改,删除数据库则用(drop database)语句,压缩数据库要用(dbcc shannk database)语句。
39.已知“学生”表的“班级”列与“班级”表的“班级编号”列是相同数据类型,现在为“学生”表增加“班级编号”参照约束,正确的语句是
(ALTER TABLE 学生 ADD
CONSTRAINT BJ FOREIGN KEY(班级)REFERENCES 班级(班级编号))
40.假定已通过命令CREATE TABLE 供应商(供应商号 CHAR(2),供应商名 CHAR(12),地址 CHAR(4))建了表,现将“供应商号”列改为不允许为空,正确的语句是(ALTER TABLE供应商ALTER COLUMN 供应商号CHAR(2)NOT NULL)41.假定已通过命令CREATE TABLE 供应商(供应商号 CHAR(2)NOT NULL,供应商名 CHAR(12),地址 CHAR(4))建了表,现将“供应商号”列设置为主键列,正确的语句是(ALTER TABLE供应商ADD CONSTRAINT GYS PRIMARY KEY(供应商号))
42.在SQL语言中删除数据表的命令为(DROP TABLE)。 45.下列哪个不是SQL Server数据约束类型(外关键字约束,条件约束)。
46.下列语句哪一个短语有错误(where grade=null)
47.下列SQL语句正确的是(select列from表1 cross join表2 on 表1列=表2列)
48.检查序列号Prono为空的所有记录(select*from Tab-ProInfor where Prono is null)
49.一个电视经销商在表Tvtype中维护库存的Tvs信息,下述哪
条语句能显示价格最昂贵的三种电视机的信息(select top 3 cDiscnption from Tvtype order by iprice desc)
50.SQL语句(SELECT*FROM 产品 WHERE 价格>(SELECT 价格 FROM 产品 WHERE 产品名称=“海天酱油”))从“产品”表里查询出价格高于产品名称为“海天酱油”的产品记录。
51.有一张销售表,具有字段:salepersunID(销售文员ID),regionID(地区ID),orderamunt(销售总额),用户除了想看看所有销售总额之和,还想看看地区销售总额,请问下面哪一项可以实现这一愿望?
(SELECT salepersonID,regionID,orderamount FROM orders
OREDR BY Regionld COMPUTE SUM(orderamount)BY regionID
COMPUTE SUM(orderamount))
52.可找出销售量最高的前5名销售的命令是(SELECT TOP 5 OrderAmount,SalesmanID FROM orders ORDER BY OrderAmount DESC)。
53.查询统计一个数据表中的记录数,可以用(COUNT)函数。 54.聚合函数的返回值是(一个标量值)。
55.在SELECT语句中,使用关键字(DISTINCT)可以把重复行屏蔽。
56.在SELECT语句中,将多个查询结果返回一个结果集合的运算符是(UNION)。
57.在SELECT语句中,使用聚合函数时经常在语句后面使用(GROUP BY)。
58.下面(CONVERT)不是SQL Server数据库中的聚合函数。 59.SQL语句允许使用通配符进行字符串匹配的操作,其中‘0/0’可以表示(以上都可以)。
60.关于子查询的描述不正确的是(用EXISTS(或NOT EXISTS)关键字引入的子查询返回的查询结果是结果集,由零个或多个记录构
成)。
61.通配符“-”(单个任意的字符)。
63.使用通配符表示以M开头,第二个字符是K或P的所有字符串,正确的是(M[KP]0/0)。
64.使用通配符表示以M开头,第二个字符是K到P得任一字符的字符串,正确的是(M[K-P]0/0)。
65.使用通配符表示以M开头,第二个字符不是K和P的所有字符串,正确的是(M[∧KP]0/0)。
66.SQL语句中,如果想要一次插入多条记录,必须在语句中使用(Insert...Select)语句。
67.SQL语句中,可以使用(Insert)语句一次插入(一)条记录,如果想要一次插入多条记录,必须在语句中使用(Select)语句。
68.Select语句除了用于查询外,还有其他作用,主要表现在(排序,索引,删除)等。
69.在SQL Server的数据访问中,默认结果集的传递特征是(结果被缓存)。
70.SQL语句中视图对应数据库系统三级模式结构中的(外模式)。 72.建立数据库三级模式的功能由SQL语句的(数据定义功能)完成。
73.为了对某表中的各行进行快速访问,应对此表建立(索引)。 74.为数据表创建索引的目的是(提高检索的性能)。
75.在(聚集索引)索引中,标中各行的物理顺序与键值的逻辑顺序相同。
76.UNIQUE约束和主键约束也是(实体完整性)的体现。 77.默认情况下,为(PRIMARY KEY)约束建立的索引是聚集索引。
78.创建聚集索引一般选择(主键列)。
79.用(CREATE UNIQUE INDEX)命令可建立唯一索引。 80.一个表最多只能包含(1)个聚集索引。
81.如果数据表创建了唯一索引后,SQL Server将禁止(INSERT
语句或UPDATE)语句向表中添加重复的记录。
82.在employee表的firetname字段上建立的非聚集索引的物理效果是(在行存储上是没有影响的)。
84.下面T-SQL语句,(Sp-helpindex table-name)用于查看在某个表的某些列上创建的索引信息。
85.为数据库中一个或多个表中的数据提供另一种查看方式的逻辑表被称为(视图)。
86.数据库中只存放视图的(定义)。
87.下面关于视图的表述不正确的是(视图一经定义以后,就可以像基本表一样被查询、修改、删除和更新)。
88.视图的优点之一是(提高数据的逻辑独立性)。 89.当修改基表数据时,视图(可以看到修改结果)。
90.SQL Server在(syscommeats)系统表中存储创建了视图的CREATE VIEW语句文本,并且使用(With encryption)选项可以对存储时的CREATE VIEW语句文本进行加密。
91.下面关于SQL的变量的描述,不正确的是(不能用SELECT语句给变量赋值)。
92.下面程序的运行结果为(执行SQL语句块,@var1的值大于@var2的值)。
93.如果当前日期为2003/9/17,下面(DATEPART(day,GETDATE()))函数返回17。
94.下面T-SQL代码运行完的结果是(x still less than 3)。 96.SQL Server中实现从一个查询或过程中无条件退出的语句是(RETURN)。
97.停止本次循环进入后面的循环用(CONTINUE)。 98.创建用户自定义函数的命令是(CREATE FUNCTION)。 99.声明游标的命令是(DECLARE CURSOR)。 100.打开一个游标用(OPEN)。
101.从游标中读取数据的命令是(FETCH)。 102.游标关闭后不能对其进行的操作是(以上都是)。
103.释放与游标关联的所有数据结构的语句用(DEALLCATE)。 104.用于关闭游标并释放所有用于缓存的内存扥命令是(CLOSE)。
105.关闭游标使用(close cursor)命令。
106.下面哪个不是操作游标的标准步骤(修改游标属性) 110.假设你是一家进口商的数据库管理员,你正在创建一个存储订单信息的数据库。订单将会在一个chent/server 应用系统中录入,每次一个新的订单录入时,必须分配一个唯一的订单编号,订单编号必须以升序分配,每天平均有10000个订单被录入。你创建了一个新的名为Orders的表,并在这个表里添加了一个OrderNumber列。接下来你该做什么?(设置这个列的数据类型为int,并为这个列设置IDENTITY属性)
111.修改存储过程使用的命令短语是(ALTER PROCEDURE)。 112.当对表进行(INSERT)等操作时,DML触发器将可能根据表发生操作的情况而自动将出发运行。
114.创建触发器的命令是(CREATE TRIGGER)。
115.下面关于触发器的描述不正确的是(当从包含触发器的表中删除数据的时候,DELETE触发器被激发,同时删除的数据被放置到inserted表中)。
116.建立一个student表包含一个Sex列,使用下列哪一种方法能保证Sex列中输入值只能是‘M’或‘F’?(对Sex列添加一个CHECK约束)。
117.备份的主要技术是(日志文件和数据转储)。 118.防止数据库出现意外的有效方法是(备份)。 119.备份常称为(dump)。 120.恢复常称为(load)。
121.总是具有备份和恢复数据库的权限的是(dbo)。
122.可以通过还原数据库只用一步即完成从数据库备份重新创建整个数据库的方式是(数据库备份)。
124.只备份自上次数据库备份后发生更改的数据的方式是(差异
备份)。
125.对数据库进行完全备份时用的命令是(BACKUP DATABASE)。
126.备份一个事务日志用命令(BACKUP LOG)。
127.关于完全恢复模型,正确的描述是(完全恢复模型使用数据库备份和事务日志备份,提供对媒体故障的完全防范)。
128.关于大容量日志记录恢复模型,正确的描述是(大容量日志记录恢复模型对某些大规模或大容量复制操作提供最佳性能和最少的日志使用空间)。
129.关于检查点,正确的描述是(SQL Server系统定期或不定期将所有脏日志和数据库页刷新到磁盘)。
130.还原整个由BACKUP备份的数据库用命令(RESTORE DATABASE)。
131.还原事务日志用命令(RESTORE LOG)。
132.基于简单恢复模型的备份策略必须包括(数据库完全备份)。 133.在SQL Server的配置或其他包含的数据库被改变以后,都应该备份的数据库是(master)。
134.通过使用文件组,可以(提高数据库备份与恢复的效率)。 135.开放数据库连接是(ODBC)。
136.在对象层次结构中,数据源直接从属于对象(数据库)。 139.在添加数据源后,SQL Server读取相关数据库中的信息可以通过(ODBC)。
140.对于不同的数据库,若要让SQL Server能够识别和使用,就必须进行数据源的(转换)。
141.服务器角色是一些系统定义好操作权限的用户组,其中的成员是(登陆账号)。
142.SQL Server的登录账户信息保存在(master)数据库中。 143.服务器所有的登录账号都保存在(syslogms)表中。 144.用T-SQL语句创建SQL Server账号,需要使用系统存储过程(sp-addlogm)。
145.如果要恢复暂时被禁止的一个Windows 2000账号可以使用系统存储过程(sp-grantaccess)。
146.如果要暂时禁止一个Windows 2000账号可以使用系统存储过程(sp-denyaccess)。
147.对于永远禁止访问SQL Server的用户,要删除其登陆账号可以使用系统存储过程(sp-droptogn)。
148.服务器角色是一些系统定义好操作权限的用户组,其中的成员是(登陆账号)。
149.使用T-SQL语句更改服务器角色的成员时,如果将一个账号加入一个服务器角色,可以使用系统存储过程(sp-addsrvrolemember)。
150.使用T-SQL语句更改服务器角色时,如果将一个账号从一个服务器角色中删除,可以使用系统存储过程(sp-dropsrvrolemember)。
151.返回服务器角色的列表使用系统存储过程(sp-help srvrole)。
152.返回指定的服务器角色的信息使用系统存储过程(sp-help srvrolemember)。
153.返回应用于一个服务器角色的权限使用系统存储过程(sp-srvrolepermission)。
154.dbo代表的是(数据库拥有者)。
155.在master和tempdb中,guest不能被(删除)。 156.使用T-SQL语句添加数据库用户需要使用系统存储过程(sp-grantadbaccess)。
158.固定那个数据库角色不能被(以上都是)。
159.使用T-SQL语句删除用户自定义角色使用系统存储过程(sp-droprole)。
160.与权限管理相关的T-SQL语句有(以上都是)。 161.SQL Server2005中的权限有(以上都是)。 162.可以改变账户或角色权限的语句有(以上都是)。
164.用户对数据库中的表、存储过程、视图等对象的操作权限属于(对象权限)。
165.是否可以执行存储过程属于(对象权限)。 166.对视图是否可以执行DISERT属于(对象权限)。 167.是否可以执行一些数据定义语句属于(语句权限)。 168.系统预定义的服务器角色或数据库拥有者和数据库对象拥有者所拥有的权限属于(隐含权限)。
170.是否可以执行BACKUP LOG属于(语句权限)。 171.对象的列可以执行UPDATE属于(对象权限)。 172.对存储过程不可以执行EXECUTE属于(对象权限)。 173.关于权限的信息存于系统表(sysprotects)。
174.使用T-SQL语句创建应用程序角色,需要调用系统存储过程(sp-addapprole)。
176.激活应用程序角色,需要调用系统存储过程(sp-droprolemember)。
177.修改应用程序角色的口令使用系统存储过程(sp-approlepassword)。
178.使用T-SQL语句删除应用程序角色,需要调用系统存储过程(sp-dropapprole)。
180.在SQL语言中授给用户权限的操作是通过(GRANT)语句实现的。
181.SQL语言的GRANT REVOKE语句主要用来维护数据库的(安全性)。
182.事务有多个性质,其中不包括(不可撤销)。 183.用户定义的事务属于(显式事务)。
184.分析下面的表定义,执行以上语句后,再执行下面的语句会发生(该批处理结束后,表内空无一行)。185.在进入一个事务之前,@@rancount的值是多少?(0)
186.与更新锁兼容的是(共享锁)。 187.系统死锁属于(事务故障)。
188.下述哪一条是并发控制的主要方法(封锁)。
189.客户/服务器结构与其他数据库体系结构的根本区别在于(DBMS和应用分开)。
190.Security Manager客户端应用程序与SQL Server连接要借助于(Net-Library)。
191.装有自动安排任务和警告的任务安排和错误处理命令的数据库是(mrdb)。
192.维护任务产生的结果可以作为报告写到(以上都是)。 193.通常基本功能脚本是一个待批处理SQL语句的(sql)文件。 194.存储在数据库中的数据的准确性属于(数据完整性)。 5.数据库管理员希望对数据库进行数据优化,以下操作中行之有效的方法为(AB)
A.将数据库的数据库文件和日志文件分别放在不同的磁盘上 B.在数据库服务器上尽量不要安装其他无关服务 C.一个表中的数据行过多时,将其划分为2个或多个表 D.将数据库涉及到的所有文件单独放在一个磁盘区上俱用户访问 6.下面建立数据库的命令将(BC)
Create database MyDd on(name=devl,filename=‘c:\\mssql2005\\devl’,size=10)
A.会产生一个错误,因为没有指定一个日志文件 B.会创建一个数据库,主要数据文件名是devl
C.会创建一个数据库,数据存储在文件devl中,日志存储在文件MyDd_log.ldf中
D.会产生一个错误,因为没有为文件名指定扩展名Mdf 7.下面(ACD)是SQL.Server2005数据库对象 A.表、视图 B.队列约束 C.索引、存储过程 D.触发器、约束
8.下列(ABD)是SQL.Server2005的系统数据库
A.master B.msdb C.pubs D.model
9.关于Timestamp数据库的正确描述是(ABD) A.与时间和日期无关
B.他的值是二进制值,表明数据库中记录的修改发生的准确时间 C.数据类型是日期时间型。它记载数据库中记录的修改发生的准确时间
D.每个数据库都有一个计数器,Timestamp与该计数器紧密联系在一起
10.(ABC)数据类型的列不能作为索引页 A.ntext B.text C.unage D.varchar
11.在(AC)命令中建立的索引不能用DROP INDEX命令删除,只能用ALTER TABLE命令修改
A.CREATE TABLE B.CREATE DA TABASE C.ALTER TABLE D.CREATE VIEW
12.已知学生表的班级列与班级表的班级编号列是相同数据类型,现为学生表增加班级编号参照约束,正确的语句是(BD)
A.ALTER TABLE学生ALTER COLUMN班级CONSTRAINT BJ REFERENCES 班级(班级编号)
B. ALTER TABLE学生ADD CONSTRAINT BJ FOREIGN KEY(班级) REFERENCES 班级(班级编号)
C. ALTER TABLE学生ADD COLUMN(班级) CONSTRAINT BJ FOREIGN KEY REFERENCES 班级(班级编号)
D.ALTER TABLE学生ADD FOREIGN KEY(班级) REFERENCES 班级(班级编号)
13.假定已通过命令CREATE TABLE 供应商(供应编号CHAR(2) NOT NULL)供应商名CHAR(12)地址CHAR(4) 建了表,现将‘供应商号’列设置为主键列,正确的语句是(BC)
A.ALTER TABLE供应商ALTER COLUMN 供应商号PRIMARY KEY B.ALTER TABLE供应商ADD CONSTRAINT GYS PRIMARY KEY(供应商号)
C.ALTER TABLE供应商ADD PRIMARY KEY(供应商号) D. .ALTER TABLE供应商PRIMARY KEY(供应商号) 14.下列哪些是SQLserver数据约束类型(ACD) A.主关键字约束,默认约束 B.外关键字约束,条件约束 C.唯一性约束,默认约束 D.检查约束,外关键字约束
15.在Transact-SQL语法中,select语句的完整语法较复杂,但至少必须包括(AC)
A.select B.into C.from D.where
16.下列语句中正确的短语有(ABD) A.select B.from sc
C.where grade=null D.order by sno
17.Select语句除了用于查询外,还有其他作用,主要表现在(BCD)等
A.索引 B.排序
C.汇总 D.建立新表
18.下面(ABD)是SQL server数据库中的聚合函数 A.COUNT B.SUM和A VG C.CONVERT D.MAX和MIN
19.使用子查询时受一定的限制,下列叙述语句中正确的是(BC) A.子查询的选择列表中允许出现text数据类型
B.包括GROUP BY 的子查询不能使用DISTINCT关键字 C.如果外层查询的where子句包括某个列名,则该子句必须与子查询选择列表中的该列在连接上兼容
D.可以指定COMPUTE和INTO子句
20.想得到在products表中最贵的产品名称和价格应该使用的正确查询是(BCE)
A.select top 1 productname,Unitprice From products ORDER BY Unitprice
B.select productname,MAX(Unitprice)From products C.select top 1 productname,Unitprice From products ORDER BY Unitprice DESC
D.select productname,MAX(Unitprice)From products GROUP BY productname
E.select productname Unitprice From products WHERE Unitprice=(SELECT MAX(Unitprice)From products)
21.当你执行下面的SQL语句时,会发生(BC) Select au_id,sum(royaltyper) from titleauthor
Group by au_id title_id order by title_id,au_id compute avg(royaltyper)by title_id
A. 该语句有语法错误
B. 对每个au_id和title_id的组合会有一行
C. 每次title_id改变时会有一行,显示每个在该title_id上工作的作者的royaltyper的平均值
D. 最后会显示出所有title_id的和,以及平均值 22.通配符“%”(ABD) A.匹配任意个任意的字符 B.也可匹配0个字符 C.匹配单个任意的字符 D.匹配一个或多个任意的字符 23.关于子查询的正确描述是(ABD)
A.用IN(或NOTIN)引用的子查询返回的查询结果是一列0个值或多个值。子查询返回结果之后,外部查询可以使用这些结果
B.子查询可由一个比较运算符引入,比较运算符可以是=、<>、>、<、>=、<=、!>、!<等
C.用EXIST或NOT EXIST关键字引入的子查询返回的查询结果是结果集,由0个或多个记录构成
D. 用EXIST或NOT EXIST关键字引入一个子查询时,子查询实际上不产生任何数据,它只返回TRUE或FALSE 值
24.关于GROUP BY子句,正确的描述是(ABCD)
A. GROUP BY子句中的列名必须是原表中的列名,不能是联名 B.当select子句中有聚合函数列时,GROUP BY子句实现分组统计
C.当select子句中同时有字段名和聚合函数列时,必须使用GROUP BY子句
D.当select子句中出现的列名必须出现在GROUP BY 子句中,或聚合函数中
25.关于group by子句中,正确的描述是(ABD)
A.group by 子句中的列名必须是原表中的列名,不能是别名 B.当select子句中同事有字段名和聚合函数列时,必须使用group by子句
C.在select子句中出现的别名不一定出现在group by 子句中、
或聚合函数中
D. group by 子句中出现的别名不一定出现在select子句中 26.关于group by 子句正确的描述是(BCD) A. group by 子句中出现的别名一定出现在select子句中 B. group by 子句中的列名必须是原表中的列名,不能是别名 C.当select子句中同事有字段名和聚合函数列时,必须使用group by子句
D..在select子句中出现的列名必须出现在group by 子句中、或聚合函数中
27. 关于group by 子句正确的描述是(BD)
A. group by 子句中的列名可以是原表中的列名,也可以是列的别名
B. 当select子句中同事有字段名和聚合函数列时,必须使用group by子句
C. 在select子句中出现的别名不一定出现在group by 子句中、或聚合函数中
D. group by 子句中出现的别名不一定出现在select子句中 28.关于having子句,正确的描述是(ABD)
A.HA VING应与group by配对使用,否则没必要使用 B.having中可以包含聚合函数
C.having中非聚合函数的字段名,不能出现在group by中 D.select列表中命名的别名,不能在having中使用 30. 关于having子句,正确的描述是(BCD)
A. HA VING必须与group by配对使用,否则没必要使用 B. having中可以包含聚合函数
C. having中非聚合函数的字段名,必须出现在group by中 D. select列表中命名的别名,不能在having中使用 31.关于having子句,正确的描述是(ABC)
A. HA VING应与group by配对使用,否则没必要使用 B. having中可以包含聚合函数
C. having中非聚合函数的字段名,必须出现在group by中 D. select列表中命名的别名,可以在having中使用 32.关于having子句,正确的描述是(ACD)
A. HA VING应与group by配对使用,否则没必要使用 B. having中不能包含聚合函数
C. having中非聚合函数的字段名,必须出现在group by中 D. select列表中命名的别名,不能在having中使用 33. 关于having子句,正确的描述是(BC)
A. HA VING必须与group by配对使用,不能单独使用 B. having中可以包含聚合函数
C. having中非聚合函数的字段名,必须出现在group by中 D. select列表中命名的别名,可以在having中使用
34.检索出所有学生所有课程的考试成绩,正确的命令是(BCD) A.select学生,学号,姓名,课程名称,分数from 学生,成绩,课程ON 成绩课程编号=课程课程编号ON 学生学号=成绩学号
B.select学生,学号,姓名,课程名称,分数from 学生inner join成绩ON 学生学号=成绩学号inner join 课程on 成绩课程编号=课程课程编号
C. select学生,学号,姓名,课程名称,分数from 学生corss join 成绩cross join 课程where 学生学号=成绩学号and 成绩课程编号=课程课程编号
D. select学生,学号,姓名,课程名称,分数from 学生,成绩,课程where 学生学号=成绩学号and成绩课程编号=课程课程编号
35. 检索出所有学生所有课程的考试成绩,正确的命令是(CD) A. select学生,学号,姓名,课程名称,分数from学生,成绩,课程on 成绩课程编号=课程ON 学生学号=成绩学号
B.select学生,学号,姓名,课程名称,分数from 学生inner join成绩inner join 课程on学生学号=成绩学号on 成绩课程编号=课程课程编号
C. select学生,学号,姓名,课程名称,分数from 学生corss
join 成绩cross join 课程where 学生学号=成绩学号and 成绩课程编号=课程课程编号
D. select学生,学号,姓名,课程名称,分数from 学生,成绩,课程where 学生学号=成绩学号and成绩课程编号=课程课程编号
37. 检索出所有学生所有课程的考试成绩,正确的命令是(BD) A. select学生,学号,姓名,课程名称,分数from学生,成绩,课程on 成绩课程编号=课程ON 学生学号=成绩学号
B. select学生,学号,姓名,课程名称,分数from 学生inner join成绩ON 学生学号=成绩学号inner join 课程on 成绩课程编号=课程课程编号
C. select学生,学号,姓名,课程名称,分数from 学生cross join 成绩on 学生学号=成绩学号cross join课程on 成绩课程编号=课程课程编号
D. select学生,学号,姓名,课程名称,分数from 学生,成绩,课程where 学生学号=成绩学号and成绩课程编号=课程课程编号
(BCD)38.用下面的命令 CREATE TABLE NULLDEFAULT (ID SMALLNT IDENTITY(1,2)), XM CHAR(8)NOT NULL, XB CHAR(2)DEFAULT‘男’, NL TINYINT,
MZ CHAR(10)NOT NULL DEFAULT‘汉族’) 创建了表之后,下面可执行的命令有_____
B.INSERT NULLDEFAULT(XM,MZ)values(‘张三’‘回族’) C.INSERT NULLDEFAULT(XM)values(‘张三’)
D.INSERT NULLDEFAULT values(‘张三’‘女’‘30’‘回族’)
(AD)40.用下面的命令
CREATE TABLE NULLDEFAULT (ID SMALLNT IDENTITY(1,2)),
XM CHAR(8)NOT NULL, XB CHAR(2)DEFAULT‘男’)
创建了表之后,下面可执行的命令有_____ A.INSERT
NULLDEFAULT
values(‘
张
三
’
,
NULL,DEFAULT‘蒙古族’)
D.INSERT NULLDEFAULT values(‘张三’,‘女’,30,‘回族’)
(ABCD)41.主键约束的用途是_____ A.保证数据库表中记录的唯一性 B.提高数据库查询的性能 C.减少数据更新时的不一致性 D.保证表的实体完整性
(ABD)42.下面关于视图的正确描述是_____
A.视图是一个虚表,即视图只是保存在数据库中的SELECT查询 B.修改和删除数据时若涉及到视图的多个基本表时,可能会影响多个基本表
D.视图的创建可使用命令CREAT VIEW,查看视图可使用系统存储过程Sq_helptext
(ACD)44.SQL Server中索引的类型有_____ A.唯一索引和非唯一索引 C.聚集索引和非聚集索引 D.单列索引和复合索引
(AD)45.SQL Server提供的注释类型有_____
A.单行注释以“--”开头 D.单行注释以“/*”开头,以“*/”结束 (ABD)46.下面关于SQL Server数据库中变量的描述,正确的是_____
A.SQL Server中变量可分为全局变量和局部变量 B.全局变量钱加个“@”符号区别于局部变量
D.在批处理或存储过程中使用DECLARE语句声明局部变量 (AB)47.在变量都已定义的前提下,正确的语句是_____
A.SELECT@XYZ=分数,@ABC=学号FROM成绩
B.SELECT@XYZ=200,@ABC='20060109JHY' (ABD)48.下面的T-SQL语句中,能对变量进行赋值的是_____
A.DECLARE @V AR1 INT,@V AR2 MONEY SELECT @V AR1=100,V AR2=$2 21
B.DECLARE @V AR1 INT,@V AR2 MONEY SELECT @V AR1=$200 20,@VAR2=100
D.DECLARE @V AR1 INT,@V AR2 MONEY SET @V AR1=100,SET @V AR2=$2 2
(BD)49.使用FETCH命令读取游标数据时,可以使用_____指定需读取的行。
B.FIRST D.NEXT
(ACD)50.下面哪些是操作游标的标准步骤_____
A.声明游标,打开游标 C.读取游标中的数据 D.关闭和释放游标 51.以下关于创建存储过程的叙述,正确的是_____ A.不能在存储过程中使用CREATE VIEW命令
B.在存储过程中局部变量的最大数目仅受可用内存的限制 C.在后台运行,其主要功能是对数据库操作 D.可以接收参数 E.可以输出参数
F.可以在一个存储过程内调用其它存储过程 G.存储在服务器上的数据库中,创建时进行编译 (ABD)52.对于下面创建存储过程 CREATE PROCEDURE Myp1@p Int As
SELECT studentname,age from students where age=@p 假如要在student表中查找年龄是20岁的学生,可以正确调用这个存储过程的命令是_____
A.EXEC Mypl @p=…20' B.EXEC Mypl @p=20
C.EXEC Mypl @p=“20” (CD)54.创建过程如下: create
procedure
dis_num@dis_no
,
@dis_name
char(20)output as
select@dis_name=boss_name from distributors where distri_num=@dis_no
执行存储过程的正确方法是_____
C.declare@boss_name char(20) exec dis_num‘258’,@boss_name output print@boss_name
D.declare@boss_name char(20) exec dis_num 258,@boss_name output print@boss_name
55 假设以创建存储过程如下AC
Create procedure jso @p1 int ,@p2 char(8)output as Select @p2=姓名from 学生where已修学分=@p1 Go
下面可以正确执行该存储过程的方法是 A declare @p2 char(8) execute jso 456,@p2 output print @p2
B execute jso ?456?,@p2 output print @p2
C declare @p2 char(8)
execute jso …456?,@p2 output print @p2
D declare @p4 char(8) execute jso 456,@p2 output print @p2
56 在T-SQL中,常用来显示有关数据库和数据库参数的信息的系统的存储过程为 D
A sp_dropdb
B sp_adddb C sp_setdb D sp_helpdb
57 下面是触发器的面熟,其中正确的是ABCD A 不能被直接调用 B 不允许使用输入参数 C 只能由对该表的操作激活 D 可以修改其他表中的数据
58 下面关于触发器的正确描述的是CD
A 当试图从触发器所定义的目标表中删除数据的时候,delete 触发器被激活,同时需要删除被放置到inserted表中
B 当试图插入数据导出发起所定义的目标表中,insert触发器被激活,同时,需要插入到目标表中的数据被放置到deleted表中
C 每张表(试图)最多只有3种激活触发器的操作
D 触发器中有两个逻辑表,其中一个逻辑表命名为deleted,另一个命名为inserted
60 SQL server2005支持的触发器的类型为AC A
.AFTER
B.BEFORE
C.INSTEAD
OF
http://www..com/doc/6d6007720.html,ST
61 sql server2005备份系统数据库,主要指备份ABC A master B.msdb C.model D.tempdb E.northwind F.pubs
62.备份设备分为AC A.命名备份设备 B.实例备份设备 C.临时备份设备 D.永久备份设备
63 SQL Server2005中数据库的恢复模型有ABC
A.简单恢复 B.完全恢复
C.大容量日志记录恢复 D.差异恢复 E.增量恢复
65.关于检查点,正确的描述是ABCD A 强制将当前数据库的所有脏页写到磁盘上
B.自动检查点的时间间隔给予日志内的记录数而非时间 C.检查点从当前数据库的高速缓冲存储器中刷新数据和日志页,以尽量减少在恢复是必须前滚的修改量
D.检查点最大限度的减少数据库完全恢复时所必须执行的日志部分
66.关于简单恢复模型,正确的描述是BD
A.简单恢复模型使用数据库备份和事务日志备份,提供对媒体故障的完全防范
B. 使用简单恢复模型可以将数据库恢复到上次备份的即时点 C.简单恢复模型对某些大规模或大容量复制操作提供最佳性能和最少的日志使用空间
D.使用简单恢复模型一般无法将数据库还原到故障点或特定的即时点
67.关于大荣来那个日志记录恢复模型,正确的描述是BC A.大容量日志记录恢复模型使用数据库备份和事务日志备份,提供对媒体馆长的完全防范
B.在大容量日志记录恢复模型中,sql只记录大规模或大容量复制操作的最小日志,而且无法逐个控制这些操作
C.大容量日志恢复模型对某些大规模或大容量复制操作提供最佳性能和最少日志使用空间
D.在大容量日志记录恢复模型,sql记录大规模或大容量复制操作的完整日志
68 关于完全恢复模型,正确的描述是AD
A 完全恢复模型使用数据库备份和事务日志备份,提供对媒体故障的完全防范
B 在完全恢复模型中,SQL只记录大规模或大容量复制操作的最小日志
C 完全恢复模型对某些大规模或大容量复制操作提供最佳性能和最少日志的使用空间
D在完全恢复模型中,SQL记录大规模或大容量复制操作的日志 69.SQL备份的方式包括ABDE A完全数据库备份 B.差异备份 C.快照备份
D.日志备份E文件\\文件组备份
70.基于简单恢复模型的备份策略包括AC A.数据库完全备份 B.事务日志备份 C.差异备份 D.文件\\文件组备份
71.基于完全恢复模型的备份策略包括ABC A.数据库完全备份 B 事务日志备份 C差异备份 D.文件\\文件组备份
72.基于完全恢复模型备份策略必须包括AB A.数据库完全备份B事务日志备份 C.差异备份 D.文件\\文件组备份
74.基于大容量日志记录恢复模型备份策略包括ABCD A.数据库完全备份B事务日志备份 C.差异备份 D.文件\\文件组备份
75.基于大容量日志记录恢复模型备份策略必须包括AB A.数据库完全备份B事务日志备份 C.差异备份 D.文件\\文件组备份
95.一个显式事务由BEGIN TRANSACTION开始,至BD A, END B, COMMIT C, BOTTOM D,ROLLBACK
96.假定ABC是事务名,下面正确的语句有:ACD
A,BEGIN TRANSACTION ABC B,GOAHEAD TRACSACTION ABC
C,COMMTT ABC D, ROLLBACK ABC 97.数据库中的故障类型有:ACD
A事物内部故障B事务外部故障C系统故障D介质故障 E.DBMS故障 F 计算机病毒 98.执行命令REPEATABLE READ
后可避免ABC
A丢失数据B脏数据C不可重复读取D幻影数据 99.锁的模式包括ABCD
A共享锁B更新锁C意向锁D构架锁 100.不可排他锁能避免BD
A丢失事务B脏数据C不可重复读取D幻影数据 101.什么方法是可以将死锁减至最小?ABC A实用低隔离级别B按统一顺序访问对象 C避免事务中的用户交互 102.数据仓库的基本特征BCD
A适用于OLTP B数据仓库是集成的C数据仓库是不可更新的 D数据仓库是随时间变化的E面向主题
103.维护任务产生的结过可以作为报告写到ACD
A文本文件B备份文件 C .HTML文件 D sysdbmaintplan_history表
填空题:
1、安装SQL Server以前,必须在操作系统启用TCP/IP协议 2、实例是关系数据库的引擎,SQL Server2005的工作单元。每一个实例都由系统数据库和用户数据库组成,拥有
独立的管理和运行环境
3、SQL Server2005支持在同一台服务器上安装多个实例
SET TRANSACTION ISOLATION LEVEL
4、SQL Server2005支持在同一台服务器上安装一个默认实例 5、命名实例的名称是在SQL的安装过程中命名的
6、默认实例仅由运行该实例的计算机在网络的名称唯一标识 7、Tempdb数据库保存所有的临时表和临时存储过程。它还满足任何其它的临时存储要求,临时表和存储过程在连
接断开时自动除去
8、Master数据库记录SQL Server系统的所有系统级别信息,它记录所有的登陆账户和系统配置设置
9、Model数据库用作在系统上创建的所有数据库的模板 10、如果应用程序在请求连接SQL Server2005时指定了计算机名,SQL Server2005客户端组件将尝试连接这台
计算机上的默认实例
11、用命令“CREATE DATABASE<数据库名称>”在创建数据库的时候,系统会在硬盘上建立两个文件,一个
是数据文件,其扩展名是MDF,另一个是事务日志文件,其扩展名是LDF
12、SQL Server主数据文件,次数据文件和事务日志文件默认的扩展名分别为MDF,NDF,LDF
13、创建数据库时,默认是将数据文件存放在Primary文件组中 14、整型数据有四种类型:bigint,int,smallint与tinyint 15、下面的命令创建一个简单的员工信息表,要求员工编号为标识列,标量种子为1001,标量增量为2。请完
善该命令:
CREATE TABLE 员工信息(员工编号INT IDENTITY 员工姓名NV ARCHAR(10))
16、比bigint能表示的有效整数位更多的数据类型是[30]Decimal和Numeric
17、在CREATE TABLE 命令中,如果不为字段指定NULL和NOT NULL,则默认为NULL
18、当在一个已经放了数据的表上增加主键时,SQL Server会自
动对表中的数据进行检查,以确保这些数据能
够满足主键约束的要求,问:主键约束满足无空值和无重复值两个要求
19、数据完整性可分为实体完整性、域完整性、引用完整性和用户自定义完整性
20、通过外间约束可以相关联的两个表建立联系,实现数据的引用完整性
21、创建好的规则必须绑定到列或用户自定义的数据类型上才能起作用
22、在统计查询操作中,Compute By必须与OrderBy子句一起使用,而且Compute By子句中的统计列名列表
也必须与之相同
23、计算字段累加和的函数是:SUM,统计项目数的函数是:COUNT
24、SQL Server中索引类型包括的类型分别是唯一索引,主键索引和聚集索引
25、SQL Server中索引的三种类型是唯一索引和非唯一索引、聚集索引和非聚集索引、单列索引和复活索引
26、在Create Index语句中创建唯一索引时要用Unique选项,建立族索引用Clustered选项,建立非族索引时
引用NONClustered
27、在CREATE TABLE和ALTER TABLE命令中建立的索引不能用DROP INDEX命令删除,只能用ALTER
TABLE命令修改
28、删除表命令是:DROP TABLE 29、删除视图的SQL命令是DROP VIEW
30、语句PRINT REVERSE(54326)+2输出的结果是62347 31、使用游标之前,需要先使用DECLARE命令声明游标,接着使用OPEN命令打开游标,然后才可使用FETCH
命令读取结果集中的数据,使用完之后,需使用CLOSE命令关闭
游标,最后使用DEALLOCATE命令释放游标
32、下面的语句创建一个存储过程,过程名为JS,有一个字符型、长度为6的输入参数@XH。请完善该语句
CREATE PROCEDURE JS@XH CHAR(6)AS SELECT*FROM 成绩WHERE 学号=@XH
33、在SQL Server中执行存储过程是使用Execute语句,如果使用With Recompile选项将要求系统重新编译该
存储过程
34、根据引起触发的操作类型,SQL Server中的触发器可分为Insert触发器、Update触发器、Delete触发器等
三种,分别由INSERT语句、UPDA TE语句、DELETE语句 35、触发触发器的三个操作是INSERT、DELETE、UPDA TE 36、触发器是在T-SQL语句执行之后触发运行的
37、触发器被触发时,全自动产生保存在RAM中的逻辑表。INSERT触发器执行时,会自动向逻辑表INSERTED
中添加新纪录;DELETE触发器执行时,会将删除的记录自动添加到逻辑表DELETED中
38、用INSTEAD OF可以指定执行触发器而不执行引起触发的SQL语句
39、SQL Server2005有三种恢复模型,每个数据库选择三种恢复模型中的一种,以确定备份数据库的备份方式,
这三种恢复模型是:简单恢复模型,完全恢复模型,大容量日志记录恢复模型
40、触发器可以实现比CHECK约束更为复杂的数据完整性约束 41、在对象资源管理器中,打开某个数据库“属性”对话的“选项”卡可选择恢复模型
42、SQL Server提供四种备份和恢复的方式:完整数据库备份、差异备份、日志备份和文件或文件组备份
43、复制一般包括以下几个阶段:配置发布和分发,生成和应用初始快照、修改复制数据,同步和传播数据
44、复制过程中各代理程序的调度由SQL Server Agent服务管理
45、由于复制操作跨越多个服务器传输数据,所以SQL Server Agent服务的启动帐号应使用域用户帐号
46、使用复制可以将数据通过局域网、Internet分发给多个远程服务器站点还可将多个用户和站点的数据进行
合并
47、分发代理程序与快照复制和事务复制一起使用
48、分发服务器配置完成后,系统在分发服务器上创建distribution系统数据库(默认名称)、复制文件夹、复
制监视器
49、SQL Server的安全模型分为三层结构,依次是服务器安全管理、数据库安全管理、对象安全管理
50、SQL Server2005的安全机制分为四层结构,依次是操作系统的安全、SQL Server的安全、数据库的安全、
数据库对象的安全
51、更改Microsoft SQL Server登陆的密码命令是Sp_password,举例说明其语法格式:sp_password“12345”,
“54321”,“abc”
52、事务可以用于确保数据能够正确地被修改,事务有四个特性,分别是原子性,隔离性,持久性,一致性
53、一个显示事务由BEGIN TRANSACTION开始,至COMMIT或ROLLBACK结束
54、如果对数据库的并发操作不加以控制,则会带来四类问题:丢失更新,脏数据,不可重复读,幻影数据
55、在查询时,如果需要将共享锁保留到事务完成,而不是在相应的表、行或数据页不再需要时就立即释放锁,
可在SELECT语句中使用WITH(HOLDLOCK)
56、SQL语言的使用方式有两种,一种是交互式,另一种是嵌入式
四、判断题
1、(√)每个SQL Server实例都有一个SQL Server服务 2、(×)一台服务器上的所有SQL Server实例共有一个SQL Server代理服务
3、(√)SQL Server代理服务依赖于SQL Server服务,只有自动启动SQL Server才能自动启动SQL Server代理服务
4、(√)安装SQL Server以前,必须在操作系统级启用TCP/IP 5、(√)在Transact-SQL语句中,对不符合所有标识符规则的标识符必须进行分隔
6、()数据库创建以后,就不能在对象资源管理器中修改数据库的名称
7、(√)数据库创建以后,可以在对象资源管理器中修改数据库的名称
8、(√)一个数据库中最多只能有一个主键 9、(×)一个数据库中可以有多个主键
10、(√)Timestamp数据类型与时间和日期无关,它的前提是二进制值,表明数据库中记录的修改发生的相对顺序
11、(×)Timestamo数据类型是日期时间型,它记载数据库中记录的修改发生的准确时间
12、(×)默认值绑定到列上后,该列上的数据将保持固定不变 13、(√)通过系统存储过程sp_dboption可以设置数据库的选项
14、(×)域完整性又称为引用完整性
15、(√)在Select语句中使用Top n关键字,将会返回查询结果集中的前n条记录
16、(×)在Select语句的WHERE子句中,完全可以用IN子查询来代替OR逻辑表达式
17、(×)Exists子句可以返回子查询数据集
18、(×)Select Nat_no,Nat_name,Sum(Nat_nums)From Tbl_Matt Group By Nat_no是否正确
19、(×)在SELECT命令中,用ORDER BY对源表中的记录进行排序,其排序方式有ASC和DESC
20、(√)使用UNION组合两个查询的结果集的基本规则是:所有查询中的列数和列的顺序必须相同,且数据类型必须兼容
21、(√)在SELECT命令中,用ORDER BY对查询结果进行排序,其排序方式有ASC和DESC
22、(×)在SELECT命令中,ALL可以与WITH同时使用 23、(√)在SELECT命令中,ALL不能与WITH同时使用 26、(√)在SELECT命令中,CUBE是ROLLUP的扩展 27、(×)在SELECT命令中,ROLLUP比CUBE显示出更多的统计行
28、(√)在SELECT命令中,CUBE比ROLLUP显示出更多的统计行
29、(√)通配符“_”匹配任意个任意的字符
30、(×)通配符“_”匹配单个任意的字符或零个字符 31、(√)通配符“%”匹配任意个任意的字符 32、(√)通配符“%”匹配单个任意的字符或零个字符 33、(√)在CREATE INDEX语句中,使用CLUSTERED来建立聚集引
34、(×)在CREATE INDEX语句中,PRIMARY KEY来建立索引
35、(√)创建聚集索引时,表中各行被物理排序 36、(√)一个表中只能建立一个聚集索引
37、(×)使用视图不会对数据库的安全有任何的帮助
39、(×)因为通过视图可以插入、修改或删除数据,因此视图也是一个实在表,SQL Server将它保存在syscommens 系统表中
40、(√)在Transact-SQL语句中,对不符合所有标识符规则的标识符必须进行分隔
41、(√)通配符“_”表示某单个字符
42、(√)每个存储过程向调用方返回一个整数返回代码。如果
存储过程没有显示设置返回代码的值,则返回代码0表示成功
43、(×)所有存储过程都是存储在master数据库中 43、(×)存储过程是存储在表中 43、(√)存储过程是存储在数据库中
44、(×)在SQL Server2005中,触发器的执行是在数据的插入、更新或删除之前执行的
43、(√)DML触发器必须依附于某一个表(触发器必须被包括在某一个表中)
43、(×)DDL触发器必须依附于某一个表(触发器必须被包括在某一个表中)
43、(√)激活DML触发器的操作:可以是INSERT、DELETE、UPDA TE之一
43、(×)激活DML触发器的操作:可以是SELECT、INSERT、DELETE、UPDATE之一
45、(×)触发器可以被直接调用,也可由对该表的操作激活 46、(×)在SQL Server中,INSTEAD OF触发器的执行是在数据的插入、更新或删除之前执行的
47、(√)可以为同一表的同一操作定义多个AFTER触发器,并可定义执行顺序
41、(×)SQL Server对数据库的更新首先写到事务日志,然后再应用到数据库
48、(×)SQL Server对数据库的更新首先写到数据库,然后再写入事务日志
49、(√)在检查点处,SQL Server确保所有已修改的事务日志记录和数据库页都写入磁盘
50、(√)检查点强制所有修改的页写入磁盘 51、(×)检查点只强制所有数据库页写入磁盘
52、(×)SQL Server系统对被修改过的数据缓冲区中的内容立即写入磁盘
54、(√)发布服务器与分发服务器可共用一台物理服务器
55、(√)快照代理程序与所有复制类型一起使用
56、(√)队列读取器代理程序与快照复制或事务复制一起使用 57、(√)当登录到WINDOWS的用户与SQL Server联接时,用户不用提供SQL Server帐号,这种认证模式就是WINDOWS认证机制
58、(√)不能发出一个COMMIT之后使用ROLLBACK 59、(√)Truncate Table语句可以删除数据表中所有的数据,并且系统不写进日志
60、(×)在并发控制中,锁定在较大的粒度可以增加并发但需要较大的系统开销
61、(√)在并发控制中,锁定在较小的粒度可以增加并发但需要较大的系统开销
62、(×)若要在客户端用Delphi访问SQL Server数据库,就必须在客户端安装SQL Server客户端工具
五、命令与程序
(一)使用T-SQL创建一个名为‘通讯录’的表,要求为: 编号(int 自动编号设为主键) 姓名(char(8))不可空 性别(char(2)默认值‘男’) 出生日期(datetime) 联系方式(char(16)) 备注(text null)
请根据要求填写以下空格,完善命令: create table 通讯录 (
编号int(IDENTITY(1,1))not null(_PRIMARY KEY_) 姓名char(8)(_NOT NULL_) 性别char(2)(_DEFAULT_) 出生日期(_Datetime_) 联系方式char(16),
备注(_Text_)null )on primary
(二)请使用Transact-SQL建立如下表: 表名:雇员基本信息表:
字段名数据类型宽度精度可空性要求 NO_ID CHAR 7 NOT NULL 设为主键 NAME CHAR 10 NOT NULL
SEX CHAR 2 NOT NULL 默认值为“男” AGE INT NOT NULL DEPT V ARCHAR 50 NULL PHONE V ARCHAR 20 NULL NOTES V ARCHAR 20 NULL CREATE TABLE 雇员基本信息表
(NO_ID char(7)not null primary key, NAME char(10)not null,
SEX char(2)not null default ?男?, AGE int not null
DEPT varchar(50)null, PHONE varchar(20)null, NOTES varchar(50)null, )
(三)已知学生数据库中存在这样的三张表, Student令:
1、将Student表Sno列改为不允许为空。
ALTER TABLE STUDENT ALTER COLUMN SNO CHAR(2) NOT NULL
2、将Student表Sno列设置为主键列
ALTER TABLE STUDENT ADD CONSTRAINT XH PRIMARY
(
Sno,Sname,S,Sage,Sdept
)
,Course
(Cno,Cname,Cpno,Ccredit),SC(Sno,Cno,Grade),按要求写命
KEY(SNO)
3、创建一个规则,规则名为RU_Student,要求将该规则绑定到表Student字段‘Sage’上,限制该字段的值为16-25。ALTER TABLE Student ADD CONSTRAINT RU_Student CHECK(Sage>=16 AND Sage<=25)
4、创建一个默认值,默认值名为DE_Course,要求将该默认值绑定到表Course的字段‘Ccredit’上,设置该字段的默认值为5。
ALTER TABLE Course ADD CONSTRAINT DE_Course DEFAULT 5 FOR Ccredit
5、查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列
SELECT Sno,Grade FROM SC WHERE Cno=?3? ORDER BY Grade DESC
6、查询选修了课程名为“信息系统”的学生学号和姓名(用嵌套查询完成)。
SELECT Sno,Sname FROM Student WHERE Sno IN (SELECT Sno FROM SC WHERE Cno=
(SELECT Cno FROM Course WHERE Cname=?信息系统?)) 7、查询每个学生的学号、姓名、选修的课程名及成绩
select A.Sno,Sname,Cname,Grade from SC a,Student b,Course c
where
A.Sno=B.Sno
AND
http://www..com/doc/6d6007720.html,o=http://www..com/doc/6d6007720.html,o order by A.Sno
8、求各个课程号及相应的选课人数
SELECT Cno,COUNT(*)AS RS FROM SC WHERE Grade>=60 GROUP BY Cno
9、查询了选修了3门以上课程的学生学号
SELECT Sno,COUNT(*) AS RS FROM SC WHERE Grade>=60 GROUP BY Sno HA VING COUNT(*)>=3
(四)已知“成绩”表有3个字段:学号C(6),课程编号C(8),分数DECIMAL(5,1)。现需要将分数转换为考试等级,转换规则如下:
分数等级 90~100 优秀 80~89 良好 70~79 一般 60~69 差 0~59 不及格
请补充下面的语句,使其将分数转换为等级 select 学号,课程编号as 课程, CASE ROUND(分数/10,0,1) WHEN 10 THEN …优秀? WHEN 9 THEN …优秀? WHEN 8 THEN …良好? WHEN 7 THEN …一般? WHEN 6 THEN …差? ELSE ?不及格? END as 成绩 from 成绩
(五)在“教学”数据库中已建立了如下的三个基本表 学生S(S#,SNAME,AGE,SEX) 学习SC(S#,C#,GRADE) 课程C(C#,CNAME,TEACHER)
1、检索LIU老师所授课程的课程号和课程名 SELECT C#,CNAME FROM C
WHERE TEACHER=?LIU?
2、检索年龄大于23岁的男学生的学号和姓名
SELECT S#,SNAME FROM S
3、检索至少选修LIU老师所授课程中一门课程的女学生姓名 SELECT SNAME FROM S
WHERE SEX=?F? AND S# IN(SELECT C# FROM C WHERE TEACHER=?LIU?)
4、检索W ANG同学不学的课程的课程号 SELECT C# FROM C
WHERE C#=NOT IN (SELECT C# FROM SC WHERE S# IN (SELECT S# FROM S
WHERE SNAME =?WANG?)) 5、检索至少选修两门课程的学生学号 SELECT DISTINCT X..SNO FROM SC X,SC Y WHERE
X.SNO=Y.SNO
http://www..com/doc/6d6007720.html,O
6、检索全部学生都选修的课程的课程号与课程名 SELECT C#,CNAME FROM C
WHERE NOT EXISTS (SELECT* FROM S
WHERE S#NOT IN (SELECT* FROM SC
AND
WHERE SC.C#=C.C#))
7、检索选修课程包含LIU老师所授课的学生学号 SELECT DISTINCT S# 8、统计有学生选修的课程门数 9、求选修C4课程的学生的平均年龄 SELECT A VG(AGE) FROM S,SC
WHERES.S#=SC.S# AND C#=?004?
10、求LIU老师所授课程的每门课程的学生平均成绩 SELECT CNAME,A VG(GRADE) FROM SC,C
WHERE SC.C#=C.C# AND TEACHER=?LIU? GROUP BY C#
11、统计每门课程的学生选修人数(超过10人的课程才统计)。要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列
SELECT DISTINCT C#,COUNT(S#) FROM SC GROUP BY C#
HA VING COUNT(S#)>10 ORDER BY 2 DESC.C# ASC
12、检索学号比WANG同学大,而年龄比他小的学生姓名 SELECT X SNAME FROM S AS X,S AS Y
WHERE Y SNAME=?WANG? AND X S#>Y S# AND X AGE(SELECT A VG(AGE)FROM S AS Y WHERE Y SEX=?
16、往基本表S中检索插入一个学生元祖(‘S9’,‘WU’,18)
INSERT INTOS(S#,SNAME,AGE)VALUES(‘S9’,‘WU’,18)
17、在基本表S中检索每一门课程成绩都大于等于80分的学生学号,姓名和性别,并把检索到的值送往另一个已存在的基本表STUDENT(S#,SANME,SEX)
18、在基本表SC中删除尚无成绩的选课元组 19、把W ANG同学的学习选课和成绩全部删除 20、把选修MATHS课不及格的成绩全改为空值 21、把低于总平均成绩的女同学成绩提高5% UPDA TE SC
SET GRADE =GRADE*1.05
WHERE GRADE<(SELECT A VG(GRADE)FROM SC)AND S# IN(SELECT S# FROM S WHERE SEX=?F?)22、在基本表SC中修改C4课程的成绩,若成绩小于等于75分时提高5%,若成绩大于75分时提高4%(用两个UPDA TE语句实现)
UPDA TE SC
SET GRADE =GRADE*1.05 WHERE C#=?C4?AND GRADE75 (六)现给出几个表的表名和表结构如下: 班级
列名数据类型允许空约束 班级编号Char(6)主键 班主任Char(8)√ 男生人数TINYINT √ 女生人数TINYINT √ 总人数√男生人数+女生人数 课程
列名数据类型允许空约束 课程编号Char(8)主键 课程名称Varchar(20) 学分DECIMAL(3,1) 1至8分 教材V ARCHAR(40) √
任课教师CHAR(8) √ 学生
列名数据类型允许空约束 学号Char(6) 主键 姓名Varchar(8) √
性别char(2) 只能是“男”或“女” 出生日期datetime not null 出生地varchar(10) √
入党日期datetime √入党日期在出生日期之后 班级CHAR(6) 引用“班级”表的“班级编号”字段
因篇幅问题不能全部显示,请点此查看更多更全内容