数据库实训

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

数据库实训报告

学校:计算机工程系

班级:软件1511

学号:1230505151127

姓名:耿露露

页脚内容1

数据库维护实习

实习名称:使用SQL Server 2000对NIT考试成绩进行管理。

目的要求:通过对NIT考试成绩的管理,要求考生掌握SQL Server 2000的应用,包括数据库的创建、表的创建、视图的创建、数据的查询、数据的导入/导出、数据的复制和备份、T-SQL 编程、创建存储过程、创建触发器、SQL Server 2000安全管理等。

实习内容:

1.建立数据库、导入数据

(1)在D盘新建文件夹<班级_学号>。

(2)注册数据库服务器。

页脚内容2

(3)使用SQL-EM创建数据库<班级_学号>,将数据文件、事务日志文件设置在D盘文件夹<班级_学号>。

(4)将给定的Excel数据nit.xls,导入到自己所创建的库中,并将表命名为<班级_学号_nit>。

页脚内容3

(5)修改表<班级_学号_nit>的结构为:姓名char(8),拼音(18),性别char(2),证件号char(18),报名点名称char(30),报名点编号char(10),学员编号char(18),报考科目ID char(4),报考科目名称char(40),报名日期datetime,成绩int。

页脚内容4

2.建立表及表间关系

(1)将表<班级_学号_nit>分解如下3个表。

考生表:<班级_学号_ks>,结构为:证件号char(18),姓名char(8),性别char(2),报名点编号char(10)。主键为证件号。

页脚内容5

科目表:<班级_学号_km>,结构为:科目编号char(4),科目名称char(40)。主键为科目编号。

页脚内容6

成绩表:<班级_学号_cj>,结构为:证件号char(18),科目编号char(4),报名日期datetime,成绩int。主键为证件号、科目编号。指定证件号为外键,参照考生表的证件号。指定科目编号为外键,参照科目表的科目编号。

(2)使用企业管理器创建上述3个表。

页脚内容7

(3)使用SQL语句将表<班级_学号_nit>中数据插入到上述3个表中。

页脚内容8

页脚内容9

页脚内容10

3.数据检索

(1)检索所有考生的姓名、证件号。

页脚内容11

(2)检索所有考生成绩。

页脚内容12

(3)检索至少报考一个科目的女考生的姓名。

页脚内容13

(4)检索证件号为610303************的考生没有报考的科目。

页脚内容14

(5)检索至少报考2个科目的考生。

页脚内容15

(6)检索全部考生都报考的科目的科目编号、科目名称。

页脚内容16

页脚内容17

(7)检索所有姓张的考生的姓名和性别。

页脚内容18

(8)统计报考科目编号为1012科目的考生的平均成绩。

页脚内容19

(9)统计每个科目的考生人数、平均成绩。

页脚内容20

(10)统计每个科目及格的人数。

页脚内容21

(11)检索年龄大于20岁的男考生的平均年龄。

页脚内容22

(12)检索年龄大于20岁的男生的姓名、年龄。

页脚内容23

(13)统计年龄大于女考生平均年龄的男考生的姓名和年龄。

(14)统计年龄大于所有女考生年龄的男考生的姓名和年龄。

页脚内容24

4.Transact-SQL

(1)启动查询管理器

(2)用Transact-SQL语言编写程序,统计每个科目的考生人数,及格人数,不及格人数

页脚内容25

(3)用Transact-SQL语言编写程序,在考生表中修改科目编号为1011考生的成绩,如成绩不及格时成绩提高5%,若及格时成绩提高3%

页脚内容26

5创建视图

(1)在考生表上创建视图V_<班级_学号_ks>,包括证件号,姓名,性别,年龄,报名点编号char(10).

页脚内容27

(2)在视图V_<班级_学号_ks>上,将实习内容检索数据中(11)~(14)题分别创建视图,视图名要求为V_<班级_学号>_<题号>。

页脚内容28

页脚内容29

页脚内容30

6. 创建存储过程和触发器

(1) 使用SQL-EM 在数据库<班级_学号>中创建统计考生报考模块数的统计表,表名要求为<班级>_<学号>_n,包含列:科目编号、char(4),总人数、smallint,男考生、smallint,女考生、smallint。主键为科目编号。其中,总人数字段用于统计报考该模块的考生总人数,男生字段用于统计报考该模块的男考生总人数,女考生字段用于统计报考该模块的女考生总人数。

页脚内容31

(2) 实用SQL-EM编写一个存储过程,存储过程名要求为:<班级>_<学号>_total,用于有成绩表统计出数据插入数据统计表,并执行该存储过程。

页脚内容32

(3)使用SQL-EM在成绩表上创建insert、delete 以及update 触发器,用于维护成绩表与统计表间数据的一致性。

页脚内容33

页脚内容34

页脚内容35

(4)编写存储过程ks_insert,插入考生的成绩信息,要求该存储过程有两个参数@证件号、@科目编号分别表示证件号、科目编号,并要求具有错误的捕获和处理能力。

页脚内容36

相关文档
最新文档