APP下载

SQL Server数据库应用技术实验项目探析

2014-07-09夏海静

科技视界 2014年3期
关键词:触发器数据库

夏海静

【摘 要】本文阐述了SQL Server数据库应用技术课程的地位,分析了SQL Server数据库应用技术教学中实验环节存在的问题,并探讨解决方案,分析并设计了实用的实验项目,为SQL Server数据库应用技术的教学改革进行了一些有益的尝试.

【关键词】数据库;实验项目;存储过程;触发器

0 概述

数据库技术自20世纪60年代产生以来,无论是理论还是应用都已变得相当重要和成熟,成为计算机领域发展最快的学科方向之一,也是应用很广、实用性很强的一门技术。

各大学的计算机专业、信息管理专业以及相关专业都开设了《数据库技术及应用》这门课程,是计算机科学与技术专业的核心必修课,也是相关信息和管理类专业的重要课程。在信息时代,数据库技术已成为软件系统的核心。

我校自从设置计算机专业,一直开设着《SQL Server数据库应用技术》这门课程。计算机科学技术为本科专业,学生们的先修课程为《数据库系统概论》,学生们有了一定的理论基础,《SQL Server数据库应用技术》课程的主要目的在于实践和应用。

1 实验题目分析与设计

1.1 实验现状分析

在实验项目方面,从多年带毕业论文的情况看,毕业生使用SQL Server只会做一个数据库,添加几张表,而对于SQL Server的存储过程、触发器等重要资源从来不用或者是不会用。以往的实验项目都是教材自带,这些项目只是流于形式,实质性的操作不多,致使学生上机无所事事,平时不加强练习,做毕业设计和专业作品时学生才醒悟,以前真该多学点本领。因此,需加强实验项目,改进实验内容。

根据课程实用性很强的特点,通过实践教学,培养学生的实践动手能力,为学生的后续实践活动,今后从事专业技术和科研工作打下良好基础。根据本校定位和人才培养方案,选取适合自己学生的教材,编写适合自己学生的实验项目,包括基础实验和综合实验。

1.2 合理设计上机实验,编写典型实验项目

每一章中都设计典型的、能充分体现所学知识点的上机实验题目。课程即将结束时,应该给学生实际演示一些项目,例如用ASP做的系统项目,让学生能看到它的底层设计,让学生真正明白编程语言与SQL Server之间的关系,为将来的专业作品和毕业设计做准备。由于编程开发工具ASP在本门课程之前,学生具备了一定的编程能力,所以结课之前,可以让学生做成一个完整的系统项目,前台开发工具任选,但是后台需链接SQL Server数据库,并且要用到所学的大部分数据库对象,例如表、视图、完整性约束、存储过程、触发器、角色等。

一定要让学生明白,平时学习、练习的这些实验项目实用性很强,以后肯定要用,尤其最后一年毕业,要大量用到SQL Server,不要到时悔之晚矣。根据课程实用性很强的特点,通过实践教学,培养学生的实践动手能力,为学生的后续实践活动,今后从事专业技术和科研工作打下良好基础。

以下为设计的实验项目:

1)对student数据库进行如下操作

分离数据库,看看资源管理器中还有文件吗;附加数据库;收缩数据库;删除数据库;给数据库改名。

2)在d盘创建文件夹“SQL Server2000数据库”,在此文件夹中创建数据库mydb。

方法1是在企业管理器中;方法2是在查询分析器中使用T-SQL语句。

3)对三个表进行操作

(1)在学生表中添加字段、性别 默认值男;年龄 要求年龄在18-30之间;身高 decimal;再往表中输入两条记录。

(2)分别在三个表的设计器窗口中,查看三个表的主键和外键;查看三个表的关系;

(3)给学生表创建索引、索引字段为学号,簇索引;索引字段为姓名,唯一索引;

查看学生表的记录按哪个字段排序;把姓名设置为簇索引;再查看学生表的记录按哪个字段排序;

(4)创建数据表tmp、is_row uniqueidentifier;id int 设置为标识种子,基数为1,递增量为2;位:bit数据类型。

(5)删除tmp。

4)在pubs数据库中进行操作

创建关系图;设置索引。

5)T-SQL语言实验

(1)查询学生表的所有信息;查询学生表中的男生的信息; 查询学生表中所有学生的姓名和出生日期;查询学生表中的人数,并把结果保存到新表newtable中。

(2)查询LessonTable中的所有信息,并按照课程名升序排列。

(3)查询LessonSelectTable中12001课程的平均分。

(4)查询学生表中所有姓王的学生。

(5)查询学生表中男女生各多少人?

(6)查询学生表中各班有多少人?

(7)查询学生表中的姓名和年龄两列。

6)索引和视图的实验

(1)为StudentTable的StudentName创建惟一索引。

(2)创建视图StudentView,通过该视图只能看到学生姓名和生源地,并且用中文字段名替代基础表中的英文字段名。保存为文件名StudentView.sql。

(3)创建视图LessonView,通过该视图可以

查询LessonTable和LessonSelectTable中每门课的平均成绩(要求该视图中包含课程名和平均成绩两列)。保存为文件名LessonView.sql。

(4)创建视图DepartLessonView,通过该视图可以在DepartmentTable和LessonTable中查询每个系的开课情况(要求该视图中包含系名和课程名两列)。保存为文件名DeLessonView.sql。

7)存储过程和触发器的实验

(1)创建不带参数的简单存储过程procstu,通过该存储过程只能看到学生表的姓名、性别、出生日期、籍贯。执行该存储过程。代码保存为文件名procstu.sql。

(2)创建一个带有输入参数的存储过程procdep,通过该存储过程根据给定的系名称,可以查询到该系的学生的情况(学号、姓名、性别、出生日期、系编号、系名称)

(3)在职工和部门表的基础上创建存储过程procfind,实现如下功能、给定一个部门名称,得到该部门职工的编号、姓名、出生日期、工资。(该存储过程带有一个输入参数)

(4)在职工表的基础上创建存储过程procdep,实现如下功能、得到Memo为“打字员”的职工的基本信息。(本题为简单的存储过程,不带输入参数)

(5)创建带有一个输入参数和一个输出参数的存储过程(stu),给定一个学号,得到学生姓名。保存为stu.sql。执行该存储过程,保存为stua.sql。

(6)创建带有一个输入参数和一个输出参数的存储过程(countnum),给定一个系的名称,得到该系的学生人数。保存为countnum.sql。执行该存储过程,保存为countnuma.sql。

(7)创建一个带有返回值的存储过程(less),给定一个课程名称,看是否存在该门课程,存在则显示“存在该门课程”,否则显示“不存在该门课程”。保存为less.sql。执行该存储过程,保存为lessa.sql。

2 总结

通过分析教学实验环节现状和存在的问题,根据多年经验和研究课题,设计编写自己的实验项目,包括基础实验和综合实验,教师积极申请跟课程相关的科研课题,为课程提供宝贵的、实用的项目素材,增强学生对实际项目的感性认识,为SQL Server数据库应用技术的教学改革进行了一些有益的尝试。

[责任编辑:杨玉洁]

猜你喜欢

触发器数据库
主从JK触发器逻辑功能分析
使用触发器,强化安全性
几种常见触发器工作方式的讨论
对触发器逻辑功能转换的分析
触发器逻辑功能转换的两种方法
巧妙应用SQL Server触发器