SQL server 2005 上机练习

合集下载

SQL_server_2005练习题,有答案

SQL_server_2005练习题,有答案

对以下题目请选择正确答案(每道题目有一个或多个正确的答案)。

针对每一道题目,所有答案都选对,则该题得分,否则不得分。

1. 数据库设计的最终目标不包括()。

(选择两项)BDA. 高效B. 满足范式要求C. 安全D. 表现设计者的技术实力E. 易用F. 便于将来扩展功能和容量2. 有关数据冗余说法错误的是()。

(选择一项)CA. 数据库中,数据存在副本的现象,就是数据冗余。

B. 通过分类存储,可以有效减少数据冗余,但是会增加数据查找的复杂性。

C. 在数据库设计阶段,一定要尽最大可能避免数据冗余,最好做到无数据冗余。

D. 数据冗余通常是由于数据库设计引起的。

3. 用于表示数据库实体之间的关系图是()。

AA. 实体关系图B. 数据模型图C. 实体分类图D. 以上都不是4. 假定有一个用户表,表中包含字段:userid (int)、username (varchar)、password(varchar)等,该表需要设置主键,以下说法正确的是()。

(选择两项)ABA. 如果不能有同时重复的username和password,那么username和password可以组合在一起作为主键。

B. 此表设计主键时,根据选择主键的最小性原则,最好采用userid作为主键。

C. 此表设计主键时,根据选择主键的最小性原则,最好采用username和password作为组合键。

D. 如果采用userid作为主键,那么在userid列输入的数值,允许为空。

5. 语句alter table userinfo add constraint uq_userid unique(userid)执行成功后,为userinfo表的()字段添加了()约束。

BA. userid 主键B. userid 唯一C. uq_userid 外键D. uq_userid 检查6. 运行如下T-SQL,结果返回包含()的记录集。

Acreate table scores(scoreid int identity(1,2),score numeric(4,2) not null,courseid int)insert int scores values(90.5,null);insert into scores values(78.234,2);select * from scores;A. 1 90.50 NULL3 78.23 2B. 1 78.23 2C. 1 90.50D. 1 90.502 78.23 27. 关于子查询,以下说法正确的是()。

SQL--Server-2005上机实验

SQL--Server-2005上机实验

SQL Server 2005实验报告学院: XXXX专业班级: XXXXXX姓号: XX学号: XXXXX实验一 SQL Server 2005环境1.目的与要求(1)掌握SQL Server Management对象资源管理器的使用方法;(2)掌握SQL Server Management查询分析器的使用方法;(3)对数据库及其对象有一个基本了解。

2.实验准备(1)了解SQL Server 2005各种版本安装的软、硬件要求;(2)了解SQL Server 2005支持的身份验证模式;(3)对数据库、表及其他数据库对象有一个基本了解。

3.实验内容(1)SQL Server 2005的安装。

检查软、硬件配置是否达到SQL Server 2005的安装要求,参照第一章内容安装SQL Server 2005,熟悉SQL Server 2005的安装方法。

(2)对象资源管理器的使用。

①进入SQL Server Management Studio。

单击“开始”,选择“程序”,选择“Microsoft SQL Server 2005”,单击“SQL Server Management Studio”,打开“连接到服务器”窗口如图所示在打开的“连接到服务器”窗口中使用系统默认设置连接服务器,单击“连接”按钮,系统显示“SQL Server Management Studio”窗口。

在 SQL Server Management Studio窗口中,左边是对象资源管理器,它以目录树的形式组织对象。

右边死操作界面,如“查询分析器”窗口,“表设计器”窗口等。

②了解系统数据库和数据库的对象。

在SQL Server 2005安装后,系统生成了4个数据库:master、model、msdb和tempdb。

在对象资源管理器中单击系统数据库,右边显示4个数据库,如图所示选择系统数据库master,观察SQL Server 2005对象资源管理器中数据库对象的组织方式。

sql server 2005教材思考与练习答案(1-9)

sql server 2005教材思考与练习答案(1-9)

Sql server 2005程序设计与管理基础同步实训教程思考与练习答案第一章一、填空题1.身份验证权限验证2. sa3. C/S4. 关系第二章一、填空题1. 数据文件事务日志文件2. 主文件组用户自定义文件组3. master model tempdb msdb4. DA TABASE5. ALTER6. DROP二、选择题1. B2. D3.C4. B5. C6. A7. C8. B9. A10.C 11. A四、实践操作题1.—创建员工管理数据库CREATE DATABASE employee_manageON PRIMARY(NAME=employee_data,FILENAME='e:\employ\employee_data.mdf',SIZE=4MB,FILEGROWTH=1MB)LOG ON(NAME=employee_log,FILENAME='e:\employ\employee_log.ldf',SIZE=1MB,FILEGROWTH=15%)GO2. --修改员工管理数据库ALTER DATABASE employee_manageADD FILE(NAME=employee_data2,FILENAME='e:\employ\employee_manag2.ndf', SIZE=2MB,FILEGROWTH=10%,MAXSIZE=50MB)GO第三章一、填空题1. TABLE2. IDENTITY3. sp_help4. 单用户single user5. 1bit 0,1,null二、选择题1. B2. D3.B4. C5. B四、实践操作题USE employee_manageGO--创建部门信息表结构CREATE TABLE depart(depart_id char(3) PRIMARY KEY,depart_name nvarchar(20) NOT NULL,note nvarchar(50))GO--创建员工信息表结构CREATE TABLE empl(empl_id char(4) PRIMARY KEY,empl_name varchar(10) NOT NULL,sex char(2),birth datetime,duty varchar(20),depart_id char(3))GO--创建请假信息表结构CREATE TABLE leave(cq_id int IDENTITY(1,1) PRIMARY KEY, empl_id char(4) NOT NULL,cq_date datetime,leave_id char(2) NOT NULL,leave_reasom nvarchar(100))GO--创建请假类型表结构CREATE TABLE leaveType(leave_id char(2) PRIMARY KEY,leave_name varchar(20) NOT NULL)GO第四章一、填空题1. from2. <> !=3. ‘s%’‘_s’4. asc desc5. A VG MAX二、选择题1. A2.D3. A4. C5. C6. A7. A8. C9. C 10. A四、实践操作题--1.录入数据表记录--录入部门信息表记录INSERT INTO departV ALUES('001','基础教研室',NULL)GOINSERT INTO departV ALUES('002','专业教研室',NULL)GOINSERT INTO departV ALUES('003','教务科',NULL)GO--录入员工信息表记录INSERT INTO emplV ALUES('0101','王林','男','1956-1-23','院长',NULL)GOINSERT INTO emplV ALUES('0102','袁媛','女','1980-3-15','管理人员','003')GOINSERT INTO emplV ALUES('0201','李敏','女','1966-7-11','教研室主任','001')GOINSERT INTO emplV ALUES('0202','张天一','男','1979-9-11',NULL,'002')GOINSERT INTO emplV ALUES('0203','叶华','女','1982-8-15',NULL,'002')GOINSERT INTO emplV ALUES('0204','朱俊','男','1981-4-13',NULL,'001')GOINSERT INTO emplV ALUES('0205','马涛','男','1971-8-25','教研室主任','002')GOINSERT INTO emplV ALUES('0206','陈琳琳','女','1981-6-19',NULL,'001')GO--录入请假类型表记录INSERT INTO leaveT ypeV ALUES('01','事假')GOINSERT INTO leaveT ypeV ALUES('02','病假')GOINSERT INTO leaveT ypeV ALUES('03','缺假')GOINSERT INTO leaveT ypeV ALUES('04','公假')GO--录入请假信息表记录INSERT INTO leaveV ALUES('0202','2009-3-12','01',NULL) GOINSERT INTO leaveV ALUES('0205','2009-3-18','04','出差天') GOINSERT INTO leaveV ALUES('0202','2009-3-25','01','病假天') GOINSERT INTO leaveV ALUES('0203','2009-3-27','01','病假半天') GOINSERT INTO leaveV ALUES('0204','2009-4-10','03','缺勤天') GOINSERT INTO leaveV ALUES('0202','2009-4-22','02',NULL) GOINSERT INTO leaveV ALUES('0206','2009-3-16','01',NULL) GOINSERT INTO leaveV ALUES('0203','2009-4-15','03','缺勤半天') GOINSERT INTO leaveV ALUES('0204','2009-4-9','02',NULL)GOINSERT INTO leaveV ALUES('0202','2009-4-27','02',NULL) GO--2.修改表结构ALTER TABLE LEA VEADD status varchar(20)GO--3.修改请假信息表记录UPDA TE leaveSET status='已登记'WHERE month(cq_date)=3GOUPDA TE leaveSET status='未登记'WHERE month(cq_date)=4GO--4.查询部门编号为的所有员工的信息SELECT*FROM emplWHERE depart_id='002'GO--5.查询年以后出生的所有员工的信息SELECT*FROM emplWHERE birth>='1980-1-1'GO--6.查询月份请事假的考勤记录信息SELECT*FROM leaveWHERE leave_id='01'AND month(cq_date)=3 GO--7.统计各请假类型的请假人数信息SELECT leave_id 请假类型,count(*)请假人数FROM leaveGROUP BY leave_idGO--8.按员工统计其请假次数SELECT empl_id 员工编号,count(*)请假次数FROM leaveGROUP BY empl_idGO--9.统计员工中的男、女人数SELECT sex 性别,count(*)人数FROM emplGROUP BY sexGO第五章一、填空题1. 逗号JOIN2. INNER JOIN OUTER JOIN CROSS JOIN3. UNION 列数4. 左外连接右外连接全外连接5. EXISTS二、选择题1. A2. D3. A4. A、B5. A、C6. D四、实践操作题--1.查询各员工的基本信息及相应的部门信息SELECT e.*,d.*FROM empl e JOIN depart dON e.depart_id=d.depart_idGO--2.查询所有请假人员的姓名、所属部门、请假日期、请假类型名称SELECT empl_name,depart_name,cq_date,leave_nameFROM empl e JOIN depart dON e.depart_id=d.depart_idJOIN leave l ON l.empl_id=e.empl_idJOIN leaveType lt ON l.leave_id=lt.leave_idGO--3.查询出未请过假的员工的员工编号、姓名、部门名称SELECT empl_id,empl_name,depart_nameFROM empl e JOIN depart dON e.depart_id=d.depart_idWHERE empl_id NOT IN(SELECT empl_id FROM leave)GO--4.查询出各部门的请假人数SELECT depart_name 部门名称,count(*)请假次数FROM empl e JOIN depart dON e.depart_id=d.depart_idJOIN leave l ON l.empl_id=e.empl_idGROUP BY depart_name第六章一、填空题1. 主键约束非空约束2. 实体完整性域完整性参照完整性3. CREATE RULE4. sp_bindefault5. 唯一约束二、选择题1. D2. A3. D4. B5. A四、实践操作题--1.设置部门信息表的部门名称为唯一约束ALTER TABLE departADD CONSTRAINT uq_bmmc UNIQUE(depart_name)GO--2.设置员工信息表的所属部门列为外键约束ALTER TABLE emplADD CONSTRAINT fk_ssbm FOREIGN KEY(depart_id) REFERENCES depart(depart_id)GO--3.设置请假信息表的员工编号列为外键约束ALTER TABLE leaveADD CONSTRAINT fk_ygbh FOREIGN KEY(empl_id) REFERENCES empl(empl_id)GO--4.设置请假信息表的请假类型列为外键约束ALTER TABLE leaveADD CONSTRAINT fk_qjlx FOREIGN KEY(leave_id) REFERENCES leaveType(leave_id)GO--5.设置请假信息表的请假日期列为检查约束ALTER TABLE leaveADD CONSTRAINT ck_qjrq CHECK(cq_date<getdate())GO--6.设置员工信息表的性别列为检查约束ALTER TABLE emplADD CONSTRAINT ck_xb CHECK(sex IN('男','女'))GO--7.设置请假信息表的请假日期列为默认约束ALTER TABLE leaveADD CONSTRAINT df_qjrq DEFAULT getdate()FOR cq_date GO第七章一、填空题1. 视图2. 基本表3. sp_help sp_helptext4. WITH ENCRYPTION5. CREATE VIEW二、选择题1. C2. D3. A4. B四、实践操作题--1.创建视图,查询所有员工的基本信息及相应的部门信息CREATE VIEW v_emplDepartASSELECT e.*,depart_name,noteFROM empl e JOIN depart dON e.depart_id=d.depart_idGO--2.创建视图,查询请假人员的基本信息及请假的详细信息CREATE VIEW v_emplLeaveASSELECT e.*,cq_id,cq_date,leave_id,leave_reasom,statusFROM empl e JOIN leave lON l.empl_id=e.empl_idGO--3.创建视图,查询所有员工的基本信息及请假的详细信息CREATE VIEW v_allEmplLeaveASSELECT e.*,cq_id,cq_date,leave_id,leave_reasom,statusFROM empl e LEFT JOIN leave lON l.empl_id=e.empl_id--4.创建视图,查询出各部门的所有员工的基本信息及请假的详细信息CREATE VIEW v_allDepartEmplLeaveASSELECT depart_name,e.*,cq_id,cq_date,leave_reasom,statusFROM empl e JOIN depart dON e.depart_id=d.depart_idLEFT JOIN leave l ON l.empl_id=e.empl_idGO--5.使用视图v_emplDepart,查询出部门WEI 001的所有员工的信息SELECT*FROM v_emplDepartWHERE depart_id='001'GO--6.使用视图v_emplDepart,统计出各部门员工的人数SELECT depart_id,count(*)部门人数FROM v_emplDepartGROUP BY depart_idGO--6.使用视图v_emplLeave,统计出各请假类型员工的人数SELECT leave_id,count(*)请假人数FROM v_emplLeaveGROUP BY leave_idGO--7.使用视图v_allDepartEmplLeave,统计出各部门员工的请假次数SELECT depart_name,count(*)请假次数FROM v_allDepartEmplLeaveGROUP BY depart_nameGO第八章一、填空题1. 数据定义语言2. 局部变量全局变量3. @@4. DECLARE5. +二、选择题1. B2. D3. C4. B5. D第九章一、填空题1. master sp_2. 输入参数输出参数3. OUTPUT4. SP_HELPTEXT5. WITH RECOMPILE二、选择题1. D2. A四、实践操作题--1.建立一个存储过程,查询某班的所有学生的基本信息。

Sqlserver2005数据库练习题(1)

Sqlserver2005数据库练习题(1)

Sqlserver2005数据库练习题第1章数据库技术基础1.简述数据库、数据库管理系统、数据库系统的含义?2.简述数据库、数据库管理系统、数据库系统之间的联系?3.简单描述层次模型、网状模型、关系模型的含义?4.简述一个学生都包含哪些属性?5.对于一个学生表来说学生姓名是否可以作为主键,为什么?6.描述你所在的班级都有哪些实体?第2章安装Sql Server 2005与服务器管理1.安装sqlserver 2005需要计算机的最低配置是什么?2.x86操作系统是什么概念?3.x64操作系统是什么概念?4.安装数据库时应该选择什么样的操作系统?5.开始安装时需要有哪些准备工作?6.开始安装界面中的其他信息是什么意思?7.用户许可协议必须为接受么?8.用户许可协议是否可以打印?9.系统配置界面中需要检查哪些项?10.详细信息中哪些项要求必须安装成功才能进行下一步的操作?+目录指的是什么?12.iis功能要求指的是什么?13.mdac版本的最低要求是什么?14.实例名中的默认实例是什么含义?15.实例名中的命名实例是什么含义?16.服务器名指的是什么?17.服务帐户中使用内置系统帐户是什么含义?18.服务帐户中使用域帐户是什么含义?19.安装结束时启动服务包括什么?20.sqlserver2005提供的服务有哪些?21.安装结束后,哪些服务要求必须启动?22.ms sqlserver是什么服务?23.sql server agent是什么服务?24.sql server analysis services是什么服务?25.sql server browser是什么服务?26.如何对服务进行启动、暂停和停止操作?27.启动数据库时需要做什么工作?28.如何注册数据库?29.如何删除注册的服务?30.如何更改数据库的登陆模式?31.在同一台计算机中再次安装数据库时会出现什么情况?32.如何使用数据库的对象浏览器?在网络机顶盒的主页,用遥控器选择左下方的有人民币符号的红色图标,登陆淘宝账户,先领取2张25元的红包;2、领取红包成功后,点击使用红包,然后进入聚划算、天猫或直接水电煤缴费;3、本人实际操作,在网络机顶盒的使用红包页面,进入聚划算,选择了一款商品,按屏幕提示,点击遥控键OK键购买,确认收货地址,付款时选择右边的快捷支付;4、出现支付宝账号认证界面,输入支付宝支付密码认证身份;5、通过认证后,在最终付款确认页面,会显示支付宝余额及红包金额勾选项,默认为已选择,点击付款即可;第3章管理Sql Server 2005数据库1.数据库中的系统数据库包含哪些?2.数据库中的示例数据库包含哪些?3.系统数据库的作用分别是什么?4.示例数据库的作用分别是什么?5.数据库的关键信息存放在哪个库中?6.创建用户数据库之前应该首先备份哪个数据库?7.创建数据库的方式分为哪几种?8.数据库下面都包含哪些对象?9.使用sql语句创建数据库的关键字是什么?10.数据库包含几个文件?11.数据库文件的作用分别是什么?12.数据库文件的扩展名分别是什么?13.文件组的作用是什么?14.如果创建数据库不指明文件组,默认文件组是什么?15.创建数据库时指明每次文件增长大小是什么含义?16.创建数据库时指明文件的初始大小是什么含义?17.日志文件和主文件是否可以不在一个存放目录?日志文件适合存放在什么样的硬盘环境下?18.数据文件的组成单位是什么,具体含义?19.若一个数据库文件已经创建,是否可以对它修改,如何修改?20.使用create database命令创建数据库的初始大小是多少?默认路径是什么?21.如何使用命令查看已创建的数据库信息?22.如何缩减数据库容量?23.使用什么关键字可以在查询分析器中打开刚刚创建的数据库?24.数据库的单用户和多用户状态是什么含义?25.如何在查询分析器中将数据库更名?26.创建一个名为mydata的用户数据库,其数据文件的初始大小为12M,无最大限制,以12%的速度增长,日志文件的初始大小为2M,最大10M,以1M的速度增长。

Sql_server2005实训

Sql_server2005实训

数据库应用基础A实训一、实训目的1、进一步明确数据库管理的主要功能。

2、进一步掌握SQL Server 2005数据库及其组成。

3、进一步熟悉主要数据库对象的操作。

4、提高应用SQL Server 2005数据库的能力。

5、提高T-SQL语句的编写能力。

二、实训内容(一)关系运算练习对于学生选课关系,其关系模式如下:学生(学号,姓名,年龄,所在系)课程(课程名,课程号,先行课)选课(学号,课程号,成绩)试用关系代数完成下列查询:①求成绩不及格的学生学号和姓名Π学号,姓名(δ成绩<60(学生∞选课))②求学过数据库课程的学生学号和姓名Π学号,姓名(δ课程名=‘数据库’(学生∞选课∞课程))③求数据库成绩不及格的学生学号和姓名Π学号,姓名(δ课程名=‘数据库’∧成绩<60(学生∞选课∞课程))④求学过数据库和数据结构课程的学生学号和姓名Π学号,姓名(δ课程名=‘数据库’(学生∞选课∞课程))∩Π学号,姓名(δ课程名=‘数据结构’(学生∞选课∞课程))⑤求学过数据库或数据结构课程的学生学号和姓名Π学号,姓名(δ课程名=‘数据库’(学生∞选课∞课程))∪Π学号,姓名(δ课程名=‘数据结构’(学生∞选课∞课程))⑥求没学过数据库课程的学生学号Π学号(学生)-Π学号(δ课程名=‘数据库’(选课∞课程))(二)E-R图设计1、有以下学校选课管理的信息系统开发需求:(1)学生查看成绩、查看课程和开课教师信息。

(2)学生选课。

(3)教师查看所开课的选课学生基本信息。

给出E-R图,然后给出关系模式。

2)关系模式学生(*学号,姓名,性别,&专业号)教师(*工号,姓名,性别,&系编号)课程(*课程号,课程名,课程性质(公共、专业),学分)学院(*学院编号,名称)系(*系编号,名称,&学院编号)专业(*编号,名称,&系编号)学生-课程(*&学号,*&课程号,考试成绩)教师-课程(*&工号,*&课程号,上课时间)注:*表示主码,&表示外码2、请设计一个连锁商店数据库,保存商店的信息,包括:商店编号,商店名称,电话。

SQL_SERVER_2005上机试卷

SQL_SERVER_2005上机试卷

SQL SERVER 2005上机操作题在硬盘D:上建立文件夹STUXXX其中xxxx为自己的学号,下面所建数据库及数据库备份都放到此文件夹下。

一、在当前服务器上创建数据库STUxxxx(其中xxxx为自己的学号)。

如:CREATE DA TABASEstu200800101。

数据库初始大小3M,最大值500M,文件增长率2%。

(5分)二、在STUxxxx数据库中使用SQL语句创建如下的表结构:1.学生情况表(XS)结构(5分)2.课程表(KC)结构(5分)3.学生与课程表(XS_KC)结构(5分)三、向数据库STUxxxx的XS表、KC表和XS_KC表中插入或修改成如下数据:学生情况表(XS)4分课程表(KC)3分学生与课程表(XS_KC)3分四、以下题目均在STUxxxx(学生管理)数据库中完成。

2*15=301.查询XS表中的学生数据来自哪些专业(使用DISTINCT子句消除结果集中的重复行)。

2.查询XS表中各个同学的姓名、专业名和总学分,只返回结果集的前5行。

3.查询XS表中每个学生的学号、姓名和年龄信息。

4.查询XS表中专业名为“计算机”或“电子”或“数学”的学生的情况。

5、查询选修了课程号为101的每个学生的姓名及成绩。

6、查询“计算机”专业且选修了“计算机基础”课程的学生的学号、姓名及成绩。

7、从XS表中查询学生的基本信息,要求按照总学分从高到低排序,学分相同时,按学号由低到高排序。

8、求选修了“101”课程的学生的平均成绩。

9、求选修了任意一门课程的学生的人数。

10、统计各个专业的学生数。

(按专业分组)11、将XS表中计算机专业的学生的总学分增加10分。

12、将XS1表中总学分小于10分的学生数据删除。

13、使用SQL语句创建视图V_SCORE2,显示计算机专业每个学生的学号、姓名、选修的课程名称及其成绩。

14、通过V_SCORE2查看计算机专业每门课程的平均成绩。

15、备份数据库STUxxxx到DISK上,设备逻辑名为STUBK,物理路径为D:\ STUxxxx五、数据库编程(4*10=40分)1、编程实现判断学号为4102101,103号课程的成绩等级,60分以下不及格,60-75分(含60分)为中,75-90之间为良好(含70分),90分为优秀。

SQLServer2005练习2

SQLServer2005练习2

1.考虑一个在线图书管理系统,图书管理员可以将图书信息录入到系统,图书分各种类别,读者可以下通过系统下借书单(含读者、下单日期、单据状态等信息)借书,一次可以借多本图书。

下单成功后到图书馆领书,图书管理员将你的借书单的状态标记为已领书,读者阅读完后到图书馆还书,图书管理员找到对应的借书单标记为已还书。

根据以上描述为系统设计E-R图并为系统设计出符合3NF表。

2.查询所有C语言成绩比其所在班级平均成绩高的学生3.查找C语言没有成绩的所有学生的信息(使用exists实现)4.用一条SQL语句查询出每门课都大于80分的学生姓名5.查询出所有同名的学生,列出姓名、班级6.假设每个学生每门课程都应该有成绩,查询出没有成绩的学生及其课程,列出姓名、班级名、课程、成绩7.行列转换8.本月的第一个星期一9.安全: 创建登录、创建用户、授权、删除登录、删除用户10.自己创建一个工资表,插入十条记录,然后利用游标来修改工资值:a)工资低于2000的,增加800b)工资在2000—3000的,增加500c)工资在3000—4000的,增加200d)工资高于4000的,减少10011.图书销售系统的三个表:图书、订单、订单项,如下:假设李四要购买2本Java、2本JSP,写一段代码保存该订单,参考步骤如下:启动事务保存订单记录保存订单项记录从客户的帐户中扣除所购买商品的金额,若金额不够,撤销前两步的操作扣除图书库存,若库存不够,撤销前面三步的操作提交事务12.写一个过程,计算某个月有多少天。

13.编写一个给所有员工加薪10%的过程,这之后,如果已经雇佣该雇员超过60个月,则给他额外加薪2000.18. 已知表数据:姓名金额日期张三100 1998/4/8张三10 1998/7/4里斯20.5 1999/8/9张三10 1999/8/7王五30.5 1998/1/1刘二22.5 2000/8/4里斯30 2001/8/9赵毅 2 2002/8/4王五14 2000/2/21张三52 1999/12/9王八33 2005/8/9刘二20 2007/8/9张三100 2007/10/21编写存储过程,统计所有人每一年的总金额,如:姓名1998年总金额1999年总金额。

Sql Server2005 试题

Sql Server2005 试题

一.单选题(每题3分,共30分)。

1、SQL Server 2005是一个()的数据库系统。

(A)网状型(B)层次型(C)关系型(D)以上都不是2、SQL Server的字符型数据类型主要包括()(A) int、money、char (B) char、varchar、text(C)datetime、binary、int (D) char、varchar、int3、关于主键描述正确的是:()(A)包含一列(B)包含两列(C)包含一列或者多列(D)以上都不正确4、对视图的描述错误的是:()(A)是一张虚拟的表(B)在存储视图时存储的是视图的定义(C)在存储视图时存储的是视图中的数据(D)可以像查询表一样来查询视图5、在SQL语句中,用来插入数据的命令是,用于更新的命令是。

()(A)INSERT,UPDATE (B)UPDATE,INSERT(C)DELETE,UPDATE (D)CREATE,INSERT6 、关系数据模型 ______ ()(A)只能表示实体间的 1 : 1 联系(B)只能表示实体间的 1 : n 联系(C)只能表示实体间的 m : n 联系(D)能表示实体间的上述 3 种联系7、DBMS是什么?()(A)操作系统(B)数据库管理系统(C)数据库(D)数据库管理员8、关于关系模型的特征判断,下列正确的一项:()(A)只存在一对多的实体关系,以图形方式来表示。

(B)以二维表格结构来保存数据,在关系表中不允许有重复行存在。

(C)能体现一对多、多对多的关系,但不能体现一对一的关系。

(D)关系模型数据库是数据库发展的最初阶段。

9、要删除视图myview,可以使用()语句。

(A) DROP myview (B)DROP TABLE myview(C) DROP INDEX myview (D)DROP VIEW myview10、在SQL Server 2005中,当数据表被修改时,系统将会自动执行的数据库对象是()(A)存储过程(B)触发器(C)视图(D)其他数据库对象二.填空题(每空2分,共30分)1 SQL Server 2005的文件包括: 数据文件和。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SQL SERVER 2005操作题一、在你的本机的服务器上创建数据库STUxx(其中xx为自己的学号后两位,其主数据文件逻辑名STU+2位学号_data,物理文件名test+2位学号_data.mdf,初始大小(设定为你学号最后一位数,如为0的设置为倒数第2位数)MB,最大尺寸为无限大,增长速度1MB;数据库日志文件逻辑名称为test+2位学号_log,物理文件名为test+2位学号_log.ldf,初始大小为1MB,最大尺寸为5MB,增长速度为10%。

)。

create database STU23on primary(name=STU23_data,filename='F:\胡顺芬\STU23\STU23_data.mdf',size=5mb,maxsize=unlimited,filegrowth=1mb)log on(name=test23_log,filename='F:\胡顺芬\STU23\test23_log.ldf',size=1mb,maxsize=5mb,filegrowth=10%)在STUxx数据库中使用SQL语句创建如下的表结构:1.学生情况表(XS_XX)结构列名数据类型长度可否为空默认值说明学号Char 12 否无主键姓名Char 8 否无性别Bit 否 1 男1,女0 出生日期smalldatetime 否无班级Char 5 是‘41021’学分Tinyint 是0备注Text 是无Use STU23CREATE TABLE SX_23(学号char(12)CONSTRAINT pk_xh PRIMARY KEY,姓名char(8)NOT NULL,性别bit NOT NULL default 1,出生日期smalldatetime NOT NULL,班级char(5)NULL,学分tinyint NULL,备注text NULL)GO2.课程表(KC_XX)结构列名数据类型长度可否为空默认值说明课程号Char 3 否无主键课程名Char 20 否无开课学期Tinyint 否 1 只能为1~8学时Tinyint 否无学分Tinyint 否0use STU23gocreate table KC_23(课程号char(3)constraint pk_zydm primary key,课程名char(20)not null,开课学期tinyint not null default 1,学时tinyint not null,学分tinyint not null default 0)Go3.学生与课程表(XS_KC_XX)结构列名数据类型长度可否为空默认值说明学号Char 12 否无外键(参照学生表中的学号)课程号Char 3 否无外键(参照课程表中的课程号)成绩Tinyint 是0 0≤成绩≤100学分Tinyint 是0use STU23gocreate table SX_KC_23(学号char(12)constraint pk_zyxdm references SX_23(学号),课程号char(3)constraint pk_bzxdm references KC_23(课程号),成绩tinyint default 0,学分tinyint default 0)go二、使用SQL语句对以上的表结构进行修改1.修改学生情况表的“出生日期”字段,使其数据类型改为datetime,且允许为空。

use STU23goALTER TABLE SX_23ALTER COLUMN出生日期datetimego2.删除学生与课程表中的“学分”字段。

3.修改学生情况表(XS_XX),删除“班级”字段,增加一“专业”字段(varchar(20), 默认值为“计算机”)€use STU23alter table SX_23add专业varchar(20)Go三、向数据库STUxx的XS_XX表、KC_XX表和XS_KC_XX表中插入或修改成如下数据:学生情况表(XS_XX)学号姓名性别出生日期专业总学分备注11004102101 王林 1 1983-1-23 计算机40 NULL11004102102 吴荣华0 1984-3-28 计算机44 NULL11004202103 张强 1 1981-11-19 电子NULL NULL11004202110 王向荣 1 1980-12-9 电子50 NULL11004202221 李丽0 1982-7-30 电子NULL NULL11004302101 刘明 1 1982-10-18 自控38 NULL11004402130 叶凡 1 1983-11-18 数学46 转专业学习学号姓名性别出生年月多媒体学号+40 NULLuse STU23goinsert sx_23(学号,姓名,性别,出生日期,专业,学分)values('11004102101','王林',1,'1983-1-23','计算机',40) goinsert sx_23(学号,姓名,性别,出生日期,专业,学分)values('11004102102','吴荣华',0,'1984-3-28','计算机',44) goinsert sx_23(学号,姓名,性别,出生日期,专业)values('11004202103','张强',1,'1981-11-19','电子')goinsert sx_23(学号,姓名,性别,出生日期,专业,学分)values('11004202110','王向荣',1,'1980-12-9','电子',50)goinsert sx_23(学号,姓名,性别,出生日期,专业)values('11004202221','李丽',0,'1982-7-30','电子')goinsert sx_23(学号,姓名,性别,出生日期,专业,学分)values('11004302101','刘明',1,'1982-10-18','自控',38)goinsert sx_23(学号,姓名,性别,出生日期,专业,学分,备注)values('11004402130','叶凡',1,'1983-11-18','数字',46,'转专业学习') goinsert sx_23(学号,姓名,性别,出生日期,专业,学分)values('120601303123','胡顺芬',0,'1993-12-2','电商',63)Go课程表(KC_XX)use STU23goinsert KC_23(课程号,课程名,开课学期,学时,学分)values('101','计算机基础','1','48',3) goinsert KC_23(课程号,课程名,开课学期,学时,学分)values('102','C语言','2','80',5)goinsert KC_23(课程号,课程名,开课学期,学时,学分)values('103','数据库','4','64',4)goinsert KC_23(课程号,课程名,开课学期,学时,学分)values('201','离散数学','6','64',4) goinsert KC_23(课程号,课程名,开课学期,学时,学分)values('202','计算机网络','7','64',4) goinsert KC_23(课程号,课程名,开课学期,学时,学分)values('301','软件工程','6','64',4) go学生与课程表(XS_KC_XX)学号课程号成绩11004102101 101 8011004102101 102 8911004102101 103 7811004102102 101 5711004102102 102 6711004202103 103 9011004202110 101 8511004202110 102 9111004202221 101 6911004402130 101 7811004402130 103 74学号学号+50use STU23goinsert SX_KC_23(学号,课程号,成绩)values('11004102101','101','80')goinsert SX_KC_23(学号,课程号,成绩)values('11004102101','102','89')goinsert SX_KC_23(学号,课程号,成绩)values('11004102101','103','78')goinsert SX_KC_23(学号,课程号,成绩)values('11004102102','101','57')goinsert SX_KC_23(学号,课程号,成绩)values('11004102102','102','67')goinsert SX_KC_23(学号,课程号,成绩)values('11004202103','103','90')goinsert SX_KC_23(学号,课程号,成绩)values('11004202110','101','85')goinsert SX_KC_23(学号,课程号,成绩)values('11004202110','102','91')goinsert SX_KC_23(学号,课程号,成绩)values('11004202221','101','69')goinsert SX_KC_23(学号,课程号,成绩)values('11004202130','101','78')goinsert SX_KC_23(学号,课程号,成绩)values('11004202130','103','74')goinsert SX_KC_223(学号,课程号,成绩)values('120601303123','301','73')go以下题目均在STUxxxx(学生管理)数据库中完成。

相关文档
最新文档