sql复习资料整理(共6页).doc
精选优质文档-倾情为你奉上一、 选择题1. 只有_B_才能作为文件组的成员。A)日志文件 B) 数据文件C)索引文件 D)备份文件 2. 下列对象的部分限定名中合法的是_D_。A)server.database.objectB)server. owner.database. object C)server.owner.objectD)database.owner. object3. 下列_D_不属于SQL Server 2000在安装时创建的系统数据库。A)masterB)modelC)msdbD)northwind4. SQL Server 2000支持的整数型数据类型包括bigint、int、smallint、tinyint,其中int的数值范围为_B_。A)-263到263-1B)-231到231-1 C)-215到215-1D)0到255 5. 假设表中某列的数据类型为varchar(10) ,而输入的字符串为“abcd3456”,则存储的是_B_。A)ahng3456,共8字节 B)ahng3456和2个空格C)ahng3456和4个空格D)ahng3456和8个空格6. 以下_C_不属于数据库对象A)表 B)索引 C)存储过程 D)触发器7. 在SQL Server 2000中,一个表可最多创建_A_个列。A)1024 B)10亿 C)8092D)2568. 对于新创建的数据库,系统对数据文件初始大小的默认值为_A_,最大大小不限制但受硬盘空间的限制,允许按_A_比例自动增长。A)1MB B)2MBC)0.5MBD)任意9. A)10% B)20%C)1MBD)2MB10. TRUNCATE TABLE命令可以删除_B_,但表的结构及其列、约束、索引等保持不变。A) 当前记录B) 所有记录 C) 指定记录D) 根据条件删除记录11. 假设表中某列的数据类型为nchar(10) ,输入的字符串为“abcd”,则存储的是_D_。A)abcd,共8字节 B)abcd,共4字节C)abcd和6个空格, 共10字节D)abcd和6个空格, 共20字节12. 假设表中某列的数据类型为nvarchar(10) ,输入的字符串为“abcd”,则存储的是_A_。A)abcd,共8字节 B)abcd,共4字节C)abcd和6个空格, 共10字节D)abcd和6个空格, 共20字节13_B_是DDL(数据定义语言)语句。A)delete B) CREATE TABLE C) selectD)insert 14_C_称为复合索引A)两列组成的索引 B)两列以上组成的索引C)两列或两列以上组成的索引D)一列组成的索引15_ab%表示 b BA)包含ab的字符串 B)第2个字符是a、或b的字符串C)第2个字符是a、或b的字符串,字符串长度一定大于2D) 第2,3个字符是ab的字符串二、数据库设计在开发一个简单的成绩管理系统中,需要对数据库进行设计,假设有职工、部门和工资三个实体,请对每个实体设置适当的属性,完成数据库的设计。要求: 1画出E-R图2设计出逻辑数据库表职工号姓名生日住址性别部门代号部门名称部门代号部门领导 职工号工资3写出创建你设计的数据库表的SQL语句create table 职工(职工号 char(6)not null primary key,姓名 nchar(4) not null,生日 datetime null,住址 nvarchar(50) null,性别 nchar(1) not null,部门代号 char(3) not null foreign key references 部门(部门代号)create table 部门(部门名称 nchar(8) not null,部门代号 char(3) primary key,部门领导 nchar(4) not null)create table 工资(职工号 char(6) not null foreign key references 职工(职工号), 工资 decimal(6,2)三、操作题(用SQL语句完成下列操作)1. 创建数据库MYDB,数据文件的逻辑文件名和物理文件名分别为MYDATA 和d:MYDATA.MDF,初始大小为3兆,最大为100兆,增长方式为1兆;日志文件的逻辑文件名和物理文件名分别为MYlog 和d:MYlog.LDF,初始大小为2兆,最大为100兆,增长方式为10%Create database MYDBon(name='MYDATA',Filename='d:MYDATA.MDF',Size=3MB,Maxsize=100MB,Filegrowth=1MB)Log on(name='MYLog',Filename='d:MYlog.LDF',Size=2MB,Maxsize=100MB,Filegrowth=10%)2. 按照所给信息创建学生和成绩表,然后向每个表中添加一条记录;表名字段名数据类型空值说明学生学号Char(6)否主键姓名Char(8)否地址nvarchar(50)是成绩学号Char(6)否主键,外键科目Char(18)否主键成绩int否默认值为0create table 学生(学号 char(6) not null primary key, 姓名 char(8) not null ,地址 nvarchar(50) null)create table 成绩(学号 char(6) not null foreign key references 学生(学号),科目 char(18) ,成绩 int not null default 0,primary key (学号,科目),)3. 现有学生与成绩表的结构及数据 学生: 成绩:学号姓名性别出生年月地址101张三男1976/06/09中山路10号102王雨女1975/11/19阜新路25号. . . . . . . . . . . 学号科目成绩101物理80101化学90. . . . . . .a) 列出学生成绩单,包括姓名,科目和成绩select 姓名,科目,成绩 from 学生 join 成绩 on 学生.学号=成绩.学号b) 列出科目平均成绩大于80的科目平均成绩,包括科目,平均成绩select 科目,avg(成绩)as 平均成绩 from 成绩 group by 科目 having avg(成绩)>80c) 把学号为101的物理成绩增加10分update 成绩set 成绩=成绩+10where 学号=101 and 科目='物理'd) 列出地址中包含中山学生的姓名和地址 select 姓名,地址 from 学生 where 姓名 like'%中山%'e) 创建补考表,并把所有成绩小于60的存到补考表中,包括学号,科目和成绩列;select 学生.学号,成绩.科目,成绩.成绩 into 补考 from 学生 join 成绩 on 学生.学号=成绩.学号 where 成绩<604. 根据第3题中的表,创建试图不及格成绩单,包含所有成绩小于60的记录,包括姓名,科目和成绩列 ;create view 不及格成绩单 asselect 学生.学号,成绩.科目,成绩.成绩 from 学生 join 成绩 on 学生.学号=成绩.学号 where 成绩<605. 根据第3题中的表,创建存储过程P1,该存储过程输出学生表中的男生人数和女生人数;create procedure P1as select 性别,count(*) as 人数 from 学生 group by 性别专心-专注-专业