1、3学会在企业管理器中创建数据库和表;4学会使用TSQL语句创建数据库和表;5学会在企业管理器中对数据表进行插入、修改、删除数据操作;6学会使用T-SQL对数据表进行插入、修改、删除数据操作;(二) 实验内容1企业管理器访问数据库,查询分析器的使用;2在企业管理器中创建、删除数据库和表; 3使用T-SQL语句创建数据库和表;4在企业管理器中对数据表进行插入、修改、删除数据操作;5使用T-SQL进行上述操作。(三) 实验要求1掌握在企业管理器中创建、修改、删除数据库和表;2掌握查询分析器,使用TSQL语句创建、修改、删除数据库和表。1掌握SELECT语句的基本语法;2掌握子查询的表示;3掌握连接查
2、询的表示;4掌握数据汇总的方法;5掌握SELECT语句的GROUP BY子句的作用和使用方法;6掌握SELECT语句的ORDER BY子句的作用和使用方法。1SELECT语句的基本使用;2子查询的使用,连接查询的使用,数据汇总,Group By、Order By子句的使用。1掌握数据库查询的基本的常用语句的使用方法;2掌握数据库查询中的分组、排序等语句的使用方法。1学会使用企业管理器建立视图,应用视图插入、删除、修改数据;2掌握存储过程的使用方法;3掌握触发器的使用方法。1视图插入、删除、修改数据;2创建存储过程,调用存储过程;3创建触发器。1利用所创建的数据库和数据表,综合应用视图、存储过程
3、、触发器等知识完善数据库;2掌握应用更新视图数据可以修改基本表数据的方法;3熟练掌握添加、修改、删除记录的存储过程的定义及调用;4掌握通过触发器来实现数据的参照完整性。四、考核方式实验的考核方式: 根据实验预习情况、实验出勤情况、原型系统效果验收和实验报告的完成情况确定最终的实验成绩,实验成绩占课程总成绩的20%。实验成绩按百分制。实验预习情况:A 实验出勤情况:B 原型系统效果验收和实验报告:C实验成绩=A*20%+B*20%+C*60%五、建议教材与教学参考书1、建议教材1郑阿奇SQL Server实用教程第二版北京:电子工业出版社20052 张丽霞数据库应用实验指导书自编20052、教学
4、参考书1李存斌数据库应用技术-SQL Server 2000简明教程北京:中国水利水电出版社.2001 2钱雪忠,罗海驰,程建敏.SQL SERVER 2005实用技术及案例系统开发.第一版.北京:清华大学出版社.2007 3李春葆,曾惠.SQL SERVER 2000应用系统开发教程第一版.北京:清华大学出版社2005 4 李春葆,曾惠SQL SERVER 2000学习与上机实验指导第一版.北京:清华大学出版社20055李存斌.数据库应用技术-SQL Server 2000简明教程.第一版.北京:中国水利水电出版社.2002六、编制说明编制者:数据库课程组 组长:郭琳执笔人:云静 编制时间:
5、2013年8月一、实验目的二、实验内容 1实验题目(1) 创建用于企业管理的员工管理数据库,数据库名为YGGL,包含员工的信息、部门信息以及员工的薪水信息。数据库YGGL包含下列3个表。 (1)Employees:员工自然信息表。 (2)Departments:部门信息表。 (3)Salary:员工薪水情况表。 各表的结构分别如表T21,表T22,表T23所示。表T21 Employees表结构 列 名 数据类型 长度 是否允许为空值 说 明 EmployeelDChar 6员工编号,主键 Name 10姓名 BirthdayDatetime 8出生日期 SexBit 1性别 Address
6、20地址 Zip邮编PhoneNumber电话号码 EmailAddress 30电子邮件地址 DepartmentlD 3员工部门号,外键表T22 Departments表结构 字符型(char) 部门编号,主键 DepartmentName 部门名 Note 文本(text) 16 备注表T23 Salary表结构 EmployeeID 字符犁(char) 员工编号,主键 InCome 浮点型(float) 收入 OutCome 支出实验步骤 1在企业管理器中创建数据库YGGL 要求:数据库YGGL初始大小为10MB,最大大小为50MB,数据库自动增长,增长方式是按5比例增长;日志文件初始
7、为2MB,最大可增长到5MB(默认为不限制),按1MB增长(默认是按5比例增长)。数据库的逻辑文件名和物理文件名均采用默认值,分别为 YGGL_data和e:sqldataMSSQLDataYGGLmdf,其中e:sqldataMSSQL为SQL Server的系统安装目录;事务日志的逻辑文件名和物理文件名也均采用默认值分别为YGGLLOG和 e:sqldataMSSQLDataYGGL_Log1df。 以系统管理员Administrator是被授权使用CREATE DATABASE语句的用户登录SQL Server服务器,启动企业管理器一在服务器上单击鼠标右键一新建数据库一输入数据库名“YG
8、GL”一选择“数据文件”选项卡一设置增长方式和增长比例一选择“事务口志”选项卡一设置增长方式和增长比例。 注意:在“数据文件”选项卡和“事务曰志”选项卡中可以分别指定数据库文件和曰志文件的物理路径等特性。2在企业管理器中删除创建的YGGL数据库在企业管理器中选择数据库YGGL一在YGGL上单击鼠标右键一删除。3使用TSQL语句创建数据库YGGL按照实验步骤1中的要求创建数据库YGGL。启动查询分析器一在“查询”窗口中输入以下TSQL语句: CREATE DAIABASE YGGL ON( NAME=YGGL_Data, FILENAME=e:ksqldataMSSQLDataYGGLmdf,
9、SIZE=10MB, 、 MAXSIZE=50MB,FILEGROWTH=5) LOGON( NAME=YGGL_Log,sqldataMSSQLDataYGGL_Log1df, SIZE=2MB, MAXSIZE=5MB,FILEGROWTH=1MB) G0单击快捷工具栏的执行图标,执行上述语句,并在企业管理器中查看执行结果。4在企业管理器中分别创建表Employees,Departments和Salary 在企业管理器中选择数据库YGGL一在YGGL上单击鼠标右键一新建一表一输入 Employees表各字段信息一单击保存图标一输入表名Employees,即创建厂表Employees。按同样
10、的操作过程创建表Departments和Salary。 、5在企业管理器中删除创建的Employees,Departments和Salary表 在企业管理器中选择数据库YGGL的表Employees在Employees上单击鼠标右键一删除,即删除了表Employees。按同样的操作过程删除表Departments和Salary。6使用TSQL语句创建表Employees,Departments和Salary 启动查询分析器一.在“查询”窗口中输入以下TSQL语句: USE YGGL CREATE TABLE Employees ( EmployeeID char(6)NOT NULL, Nam
11、e char(10)NOT NULL, Birthday datetime NOT NULL, Sex bit NOT NULL, ddress char(20)NOT NULL, Zip char(6)NULL, PhoneNumber char(12)NULL, EmailAddree char(20)NULL, DepartmentlD char(3)NOT NULL ) GO 单击快捷工具栏的执行图标,执行上述语句,即可创建表Employees。按同样的操作过程创建表Departments和Salary,并在企业管理器中查看结果。2.实验题目(2) 分别使用企业管理器和TSQL语句,向
12、在以下实验步骤1建立的数据库YGGL的3个表Employees,Departments和Salary中插入多行数据记录,然后修改和删除一些记录。使用 TSQL进行有限制的修改和删除。 实验准备 、 首先了解对表数据的插入、删除、修改都属于表数据的更新操作。对表数据的操作可以在企业管理器中进行,也可以由T-SQL语句实现。 其次要掌握T-SQL中用于对表数据进行插入、修改和删除的命令分别是INSERT, UPDATE和DELETE(或TRANCATE TABLE)。 要特别注意在执行插入、删除、修改等数据更新操作时,必须保证数据完整性。 此外,还要了解使用T-SQL语句在对表数据进行插入、修改及
13、删除时,比在企业管理器中操作表数据更为灵活,功能更强大。1 在企业管理器中向数据库YGGL表加入数据2 (1)在企业管理器中向表Employees中加入如表T31所示的记录。表T31数据记录 在企业管理器中选择表Employees在其上单击鼠标右键一选择“返回所有行”一逐字段输入各记录值,输入完后,关闭表窗口。 (2)在企业管理器向表Departments中插入如表T32所示的数据记录。表T32数据记录(3)在企业管理器中向表Salary中插入如表T33所示的数据记录。表T33数据记录 2在企业管理器中修改数据库YGGL表数据 (1)在企业管理器中删除表Employees的第2,8行和Sala
14、ry的第2,11行。注意进行删除操作时,作为两表主键的EmployeeID的值,以保持数据完整性。在企业管理器中选择表Employees在其上单击鼠标右键一选择要删除的行一单击鼠标右键一删除一关闭表窗口。 (2)企业管理器中删除表Departments的第2行,同时也要删除表Employees的第2行。操作方法同(1)。 (3)在企业管理器中将表Employees中编号为020018的记录的部门号改为4。 在企业管理器中选择表Employees在其上单击鼠标右键一选择“返回所有行”一将光标定位至编号为020018的记录的DepartmentID字段,将值1改为4。3.使用T-SQL命令修改数据
15、库YGGL表数据 (1)使用T-SQL命令分别向YGGL数据库Employees,Departments和Salary表中插入1行记录。 启动查询分析器一 INSERT INTO Employees VALUES(011112,罗林,1973-5-3,1,解放路100号,210002,4055663,NULL,5) GO INSERT INTO Departments VALUES(2,人资源部,NULL) Go INSERT INTO Salary VALUES(011112,120009,50) 单击快捷工具栏的执行图标,执行上述语句。在企业管理器中分别打开YGGL数据库Employees
16、,Departments和Salary表,观察数据变化。 (2)使用TSQL命令修改表Salary中的某个记录的字段值。 启动查询分析器一在“查询”窗口中输入以下TSQL语句: UPDATE Salary SET income=2890 WHERE EmployeelD=t011112 单击快捷工具栏的执行图标,执行上述语句,将编号为011112的职工收入改为2890。在企业管理器中分别打开YGGL数据库Salary表,观察数据变化。 (3)修改表Employees和Departments的记录值,仍要注意完整性。 操作过程同(2)。 (4)使用TSQL命令修改表Salary中的所有记录的字段
17、值。“查询”窗口中输入以下 TSQL语句: SET InCome=InCome+100单击快捷工具栏的执行图标,执行上述语句,将所有职工的收入增加100。可见,使用TSQL语句操作表数据比在企业管理器中操作表数据更为灵活。输入以下TSQL语句,观察数据变化。 SELECT * FROM Salary (5)使用TRANCATE TABLE语句删除表中所有行。在“查询”窗口中输入以下 TSQL语句: TRANCATE TABLE Salary 单击快捷工具栏的执行图标,执行上述语句,将删除Salary表中的所有行。实验时一般不轻易做这个操作,因为后面实验还要用到这些数据。如要试验该命令的效果,可
18、建一个临时表,输入少量数据后进行。 1SELECT语句的基本使用 (1)对于实验1给出的数据库表结构,查询每个雇员的所有数据。 在查询分析器的窗口输入如下的语句并执行: SEIECT * FROM Employees GO 【思考与练习】 用SELECT语句查询Departments和Salary表的所有记录。 (2)查询每个雇员的地址和电话。 SELECT Address,PhoneNumber FROM Employees 用SELECT语句查询Departments和Salary表的一列或若干列。 (3)查询EmployeeID为000001的雇员的地址和电话。 USE YGGL SEL
19、ECT Address,PhoneNumber 7 WHERE EmployeelD=000001 用SELECT语句查询Departments和Salary表中满足指定条件的1列或若干列。 (4)查询Employees表中女雇员的地址和电话,使用AS子句将结果中各列的标题分别指定为地址、电话。 SELECT Address AS地址PhoneNumber AS电话 FROM Employees WHERE sex=0Go注意:使用AS子句可指定目标列的标题。(1) 计算每个雇员的实际收入。在查询分析器的窗口输入如下的语句并执行: SELECT EmployeelD,实际收入=InComeOu
20、tComeFROM Salary (2) 找出所有姓王的雇员的部门号。 SELECT DepartmentIDWHERE name LIKE王【思考与练习】找出所有其地址中含有中山”的雇员的号码及部门号。(3) 找出所有收入在20003000元之间的雇员号码。 SELECT EmployeelDFROM SalaryWHERE InCome BETWEEN 2000 AND 3000 找出所有在部门1或2工作的雇员的号码。在SELECT语句中LIKE、BETWEENAND,,IN,NOT及CONTAIN谓词的作用。3 子查询的使用(1)查找在财务部工作的雇员的情况。USE YGGL SELEC
21、T * FROM Employees WHERE DepartmentlD= 。 (SELECT DepartmentlD FROM DepartmentsWHERE DepartmentName=财务部) GO【思考与练习】用子查询的方法查找所有收入在2500元以下的雇员的情况。(2)查找财务部年龄不低于研发部雇员年龄的雇员的姓名。SELECT Name WHERE DepartmentID IN (SELECT DepartmentID FROM Departments WHERE DepartmentName财务部) AND Birthday!ALL(SELECT Birthday WH
22、ERE DepartmentlD IN (SELECT DepartmentlD WHERE DepartmentName=研发部) GO 用子查询的方法查找研发部比所有财务部雇员收入都高的雇员的姓名。(3)查找比所有财务部的雇员收入都高的雇员的姓名。 SELECT Name WHERE EmployeeID IN (SELECT EmployeelD FROM Salary WHERE InCome ALL ( SELECT InCome FROM Salary WHERE EmployeelD IN (SELECT EmployeelD WHERE DepartmentlD=WHERE D
23、epartmentName=财务部) 用子查询的方法查找所有年龄比研发部雇员年龄都大的雇员的姓名。3连接查询的使用(1) 查询每个雇员的情况以及其薪水的情况。SELECT Emploees.*,Salary* FROM Employees,Salary WHERE ElmployeesEmployeelD=SalaryEmployeelD 【思考与练习】查询每个雇员的情况以及其工作部门的情况。(2) 查找财务部收入在2200元以上的雇员姓名及其薪水详情。USE YGGLSELECT Name,InCome,OutCome FROM Employees,Salary,Departments WHERE EmployeesEmployeelD=SalaryEmployeelD AND EmployeesDepartmentlD=DepartmentsDepartmentlD AND DepartmentName=财务部AND InCome2000 【思考与练习】查询研发部在1966年以前出生的雇员姓名及其薪水详情。4 数据汇总(1)求财务部雇员的平均收入。SELECT AVG(InCome)AS 财务部平均收入 FROM
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1