《数据库系统实验报告.docx》

1.实验一

        创建数据库和表以及

2.实验二

        数据库的查询

3.实验三

        视图、存储过程、触发器等的建立和维护

--------------------文档共60页

实验一

创建数据库和表以及表操作

预习报告成绩:         指导教师审核(签名):              月   日

预习报告

一.实验目的

1.了解SQL Server数据库的逻辑结构和物理结构,表的结构特点;

2.了解SQL Server的基本数据类型,空值概念;

3.学会在企业管理器中创建数据库和表;

4.学会使用T—SQL语句创建数据库和表;

5.学会在企业管理器中对数据表进行插入、修改、删除数据操作;

6.学会使用T-SQL对数据表进行插入、修改、删除数据操作;

二.实验内容

创建用于企业管理的员工管理数据库,数据库名为YGGL,包含员工的信息、部门信息以及员工的薪水信息。数据库YGGL包含下列3个表。

(1)Employees:员工自然信息表。

(2)Departments:部门信息表。

(3)Salary:员工薪水情况表。

各表的结构分别如表T2.1,表T2.2,表T2.3所示。

三.实验步骤

1.在对象资源管理器中创建数据库YGGL

要求:数据库YGGL初始大小为10MB,最大大小为50MB,数据库自动增长,增长方式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB(默认为不限制),按1MB增长(默认是按5%比例增长)。数据库的逻辑文件名和物理文件名均采用默认值,分别为 YGGL_data和e:\sql\data\MSSQL\Data\YGGL.mdf,其中e:\sql\data\MSSQL为SQL Server的系统安装目录;事务日志的逻辑文件名和物理文件名也均采用默认值分别为YGGL—LOG和 e:\sql\data\MSSQL\Data\YGGL_Log.1df。

以系统管理员Administrator是被授权使用CREATE DATABASE语句的用户登录SQL Server服务器,启动对象资源管理器一>在服务器上单击鼠标右键一>新建数据库一>输入数据库名“YGGL”一>选择“数据文件”选项卡一>设置增长方式和增长比例一>选择“事务口志”选项卡一设置增长方式和增长比例。

    注意:在“数据文件”选项卡和“事务曰志”选项卡中可以分别指定数据库文件和日志文件的物理路径等特性。

2.在对象资源管理器中删除创建的YGGL数据库

在对象资源管理器中选择数据库YGGL一>在YGGL上单击鼠标右键一删除。

3.使用T—SQL语句创建数据库YGGL

按照实验步骤1中的要求创建数据库YGGL。

启动查询分析器一>在“查询”窗口中输入以下T—SQL语句:

 CREATE  DAIABASE  YGGL

 ON

(    NAME=’YGGL_Data’,

    FILENAME=’e:\sql\data\MSSQL\Data\YGGL.mdf,

    SIZE=10MB,   

    MAXSIZE=50MB,

FILEGROWTH=5%)

 LOGON

(  NAME=’YGGL_Log’,

    FILENAME=’e:\sql\data\MSSQL\Data\YGGL_Log.ldf,

    SIZE=2MB,

    MAXSIZE=5MB,

FILEGROWTH=1MB)

G0

单击快捷工具栏的执行图标,执行上述语句,并在对象资源管理器中查看执行结果。

    

4.在对象资源管理器中分别创建表Employees,Departments和Salary

    在对象资源管理器中选择数据库YGGL一>在YGGL上单击鼠标右键一>新建一>表一>输入 Employees表各字段信息一>单击保存图标一>输入表名Employees,即创建厂表Employees。按同样的操作过程创建表Departments和Salary。

5.在对象资源管理器中删除创建的Employees,Departments和Salary表

    在对象资源管理器中选择数据库YGGL的表Employeesà在Employees上单击鼠标右键

一>删除,即删除了表Employees。按同样的操作过程删除表Departments和Salary。

6.使用T—SQL语句创建表Employees,Departments和Salary

    启动查询分析器,在“查询”窗口中输入以下T—SQL语句:

    创建表Employees

请写程序1

    单击快捷工具栏的执行图标,执行上述语句,即可创建表Employees。按同样的操作过程创建表Departments和Salary,并在对象资源管理器中查看结果。

2.实验题目(2)

    分别使用对象资源管理器和T—SQL语句,向在以下实验步骤1建立的数据库YGGL的3个表Employees,Departments和Salary中插入多行数据记录,然后修改和删除一些记录。使用 T—SQL进行有限制的修改和删除。

 实验准备:  

    首先了解对表数据的插入、删除、修改都属于表数据的更新操作。对表数据的操作可以在对象资源管理器中进行,也可以由T-SQL语句实现。

    其次要掌握T-SQL中用于对表数据进行插入、修改和删除的命令分别是INSERT, UPDATE和DELETE(或TRANCATE TABLE)。

    要特别注意在执行插入、删除、修改等数据更新操作时,必须保证数据完整性。

    此外,还要了解使用T-SQL语句在对表数据进行插入、修改及删除时,比在对象资源管理器中操作表数据更为灵活,功能更强大。

实验步骤:

在对象资源管理器中向数据库YGGL表加入数据

(1)在对象资源管理器中向表Employees中加入如表T3.1所示的记录。

在对象资源管理器中选择表Employeesà在其上单击鼠标右键一>选择“返回所有行”

一>逐字段输入各记录值,输入完后,关闭表窗口。

(2)在对象资源管理器向表Departments中插入如表T3.2所示的数据记录。

(3)在对象资源管理器中向表Salary中插入如表T3.3所示的数据记录。

2.在对象资源管理器中修改数据库YGGL表数据

(1)在对象资源管理器中删除表Employees的第2,8行和Salary的第2,11行。

注意进行删除操作时,作为两表主键的EmployeeID的值,以保持数据完整性。

在对象资源管理器中选择表Employees—>在其上单击鼠标右键一>选择“返回所有行”一>选择要删除的行一>单击鼠标右键一>删除一>关闭表窗口。

(2)对象资源管理器中删除表Departments的第2行,同时也要删除表Employees的第2行。操作方法同(1)。

(3)在对象资源管理器中将表Employees中编号为020018的记录的部门号改为4。

  在对象资源管理器中选择表Employeesà在其上单击鼠标右键一选择“返回所有行”一>将光标定位至编号为020018的记录的DepartmentID字段,将值1改为4。

3.使用T-SQL命令修改数据库YGGL表数据

   (1)使用T-SQL命令分别向YGGL数据库Employees,Departments和Salary表中插入1行记录, 三表记录分别是(’011112’,’罗林’,’1973-5-3’,1,’解放路100号’,210002,4055663,NULL,5), (‘2’,’人资源部’,NULL), (’011112’,1200.09,50)。启动查询分析器一>在“查询”窗口中输入以下T—SQL语句:

    USE YGGL

    INSERT INTO Employees

    VALUES(’011112’,’罗林’,’1973-5-3’,1,’解放路100号’,210002,4055663,NULL,5)

    GO

    请写程序2

    单击快捷工具栏的执行图标,执行上述语句。

    注意:在对象资源管理器中分别打开YGGL数据库Employees,Departments和Salary表,观察数据变化。

    

(2)使用T—SQL命令修改表Salary中的某个记录的字段值。

启动查询分析器一》在“查询”窗口中输入以下T—SQL语句:

    USE YGGL

    UPDATE Salary

      SET income=2890

    WHERE EmployeelD=’011112’

  Go

  单击快捷工具栏的执行图标,执行上述语句,将编号为011112的职工收入改为2890。

  注意:在对象资源管理器中分别打开YGGL数据库Salary表,观察数据变化。

  

(3)修改表Employees和Departments的记录值,仍要注意完整性。

  操作过程同(2)。

  

(4)使用T—SQL命令修改表Salary中的所有记录的字段值。

  启动查询分析器一>“查询”窗口中输入以下 T—SQL语句:

将所有职工的收入增加100

请写程序3

  

单击快捷工具栏的执行图标,执行上述语句,将所有职工的收入增加100。

可见,使用T—SQL语句操作表数据比在对象资源管理器中操作表数据更为灵活。

    注意:输入以下T—SQL语句,观察数据变化。

    SELECT * FROM Salary

    

(5)使用TRANCATE TABLE 或delete TABLE语句删除表中所有行。

    启动查询分析器一>在“查询”窗口中输入以下 T—SQL语句:

   将删除Salary表中的所有行。

请写程序4

    单击快捷工具栏的执行图标,执行上述语句,将删除Salary表中的所有行。

    注意:实验时一般不轻易做这个操作,因为后面实验还要用到这些数据。如要试验该命的效果,可建一个临时表,输入少量数据后进行。

实验报告成绩:         指导教师审核(签名):                    

实验报告

四.实验数据

1>

1.使用T-SQL语句创建数据库yggl

2.在资源管理器中创建表Employees

3. 在资源管理器中创建表Departments

4.在资源管理器中创建表Salary

2>

1.在对象资源管理器中向数据库yggl表加入数据

2.在对象资源管理器向表Departments中插入如表T3.2所示的数据记录。

3.在对象资源管理器中向表Salary中插入如表T3.3所示的数据记录。

3>在对象资源管理器中修改数据库YGGL表数据

 

(2)对象资源管理器中删除表Departments的第2行,同时也要删除表Employees的第

2行。操作方法同(1)。

 

(3)在对象资源管理器中将表Employees中编号为020018的记录的部门号改为4。

  在对象资源管理器中选择表Employeesà在其上单击鼠标右键一选择“返回所有行”一>将光标定位至编号为020018的记录的DepartmentID字段,将值1改为4。

4>使用T-SQL命令修改数据库YGGL表数据

 

(2)使用T—SQL命令修改表Salary中的某个记录的字段值。

启动查询分析器一》在“查询”窗口中输入以下T—SQL语句:

(4)使用T—SQL命令修改表Salary中的所有记录的字段值。

  启动查询分析器一>“查询”窗口中输入以下 T—SQL语句:

五.实验总结

了解SQL Server数据库的逻辑结构和物理结构,表的结构特点;

了解SQL Server的基本数据类型,空值概念;

学会在企业管理器中创建数据库和表;

学会使用T—SQL语句创建数据库和表;

学会在企业管理器中对数据表进行插入、修改、删除数据操作;

学会使用T-SQL对数据表进行插入、修改、删除数据操作;


 

实验二

数据库的查询

预习报告成绩:         指导教师审核(签名):              月   日

预习报告

  • 实验目的

1.掌握SELECT语句的基本语法;

2.掌握子查询的表示;

3.掌握连接查询的表示;

4.掌握数据汇总的方法;

5.掌握SELECT语句的GROUP BY子句的作用和使用方法;

6.掌握SELECT语句的ORDER BY子句的作用和使用方法。

  • 实验内容

1.SELECT语句的基本使用

 (1)对于实验1给出的数据库表结构,查询每个雇员的所有数据。

在查询分析器的窗口输入如下的语句并执行:

  【思考与练习】

  用SELECT语句查询Departments和Salary表的所有记录。

  

(2)查询每个雇员的地址和电话。

  USE YGGL

  SELECT Address,PhoneNumber

    FROM Employees

  GO

 【思考与练习】

  用SELECT语句查询Departments和Salary表的一列或若干列。

  

(3)查询EmployeeID为000001的雇员的地址和电话。

  在查询分析器的窗口输入如下的语句并执行:

请写程序5

  

  【思考与练习】

   用SELECT语句查询Departments和Salary表中满足指定条件的1列或若干列。

   

(4)查询Employees表中女雇员的地址和电话,使用AS子句将结果中各列的标题分别指定为地址、电话。

在查询分析器的窗口输入如下的语句并执行:

    USE YGGL

    SELECT Address AS地址.PhoneNumber AS电话

      FROM Employees

      WHERE sex=0

Go

注意:使用AS子句可指定目标列的标题。

计算每个雇员的实际收入。

在查询分析器的窗口输入如下的语句并执行:

请写程序6

 找出所有姓王的雇员的部门号。

在查询分析器的窗口输入如下的语句并执行:

请写程序7

【思考与练习】找出所有其地址中含有‘‘中山”的雇员的号码及部门号。

找出所有收入在2000~3000元之间的雇员号码。

在查询分析器的窗口输入如下的语句并执行:

    USE YGGL

    SELECT EmployeelD

FROM Salary

WHERE InCome BETWEEN 2000 AND 3000

    GO

    【思考与练习】

    找出所有在部门‘1’或‘2’工作的雇员的号码。

注意:在SELECT语句中LIKE、BETWEEN…AND,,IN,NOT及CONTAIN谓词的作用。

子查询的使用

(1)查找在财务部工作的雇员的情况。

在查询分析器的窗口输入如下的语句并执行:

请写程序8

【思考与练习】

用子查询的方法查找所有收入在2500元以下的雇员的情况。

(2)查找财务部年龄不低于研发部雇员年龄的雇员的姓名。

在查询分析器的窗口输入如下的语句并执行:

USE YGGL

SELECT Name

  FROM Employees

  WHERE DepartmentID IN

    (SELECT DepartmentID

       FROM Departments

       WHERE DepartmentName’财务部’)

    AND

    Birthday!>ALL(SELECT Birthday

                   FROM Employees

                   WHERE DepartmentlD IN

                   (SELECT DepartmentlD

                         FROM Departments

                         WHERE DepartmentName=’研发部’))

GO    

【思考与练习】

用子查询的方法查找研发部比所有财务部雇员收入都高的雇员的姓名。

(3)查找比所有财务部的雇员收入都高的雇员的姓名。

在查询分析器的窗口输入如下的语句并执行:

 USE YGGL

 SELECT Name

  FROM Employees

  WHERE EmployeeID IN

    (SELECT EmployeelD

        FROM Salary

        WHERE InCome>    .

        ALL ( SELECT InCome

               FROM Salary

                WHERE EmployeelD IN

                  (SELECT EmployeelD

                     FROM Employees

                     WHERE DepartmentlD=

                     (SELECT DepartmentlD

                       FROM Departments

WHERE DepartmentName=’财务部’))))

GO

【思考与练习】

用子查询的方法查找所有年龄比研发部雇员年龄都大的雇员的姓名。

3.连接查询的使用

查询每个雇员的情况以及其薪水的情况。

在查询分析器的窗口输入如下的语句并执行:

USE YGGL

SELECT Emploees.*,Salary.*

  FROM Employees,Salary

  WHERE Elmployees.EmployeelD=Salary.EmployeelD

GO

【思考与练习】查询每个雇员的情况以及其工作部门的情况。

查找财务部收入在2200元以上的雇员姓名及其薪水详情。

在查询分析器的窗口输入如下的语句并执行:

请写程序9

【思考与练习】查询研发部在1966年以前出生的雇员姓名及其薪水详情。

数据汇总

(1)求财务部雇员的平均收入。

在查询分析器的窗口输入如下的语句并执行:

请写程序10

【思考与练习】查询财务部雇员的最高和最低收入。

求财务部雇员的平均实际收入。

在查询分析器的窗口输入如下的语句并执行:

USE YGGL

 SELECT AVG(1nCome-OutCome)AS‘财务部平均实际收入’

  FROM Salary

  WHERE EmployeelD IN

    (SELECT EmployeeID

        FROM Employees

        WHERE DepartanentlD =

          (SELECT DepartmentlD

              FROM Departments

WHERE DepamnentName=’财务部’))

 GO

【思考与练习】

查询财务部雇员的最高和最低实际收入。

求财务部雇员的总人数。

在查询分析器的窗口输入如下的语句并执行:

 USE YGGL

 SELECT COUNT(EmployeelD)

    FROM Employees

    WHERE DepartmentlD=

    (SELECT DepartmentlD

 FROM Departments

WHERE DepartmentName=’财务部’)

GO

【思考与练习】统计财务部收入在2500元以上雇员的人数。

GROUP BY,ORDER BY子句的使用

(1)求各部门的雇员数。

在查询分析器的窗口输入如下的语句并执行:

请写程序11

【思考与练习】统计各部门收入在2000元以上雇员的人数。

(2)将各雇员的情况按收入由低到高排列。

在查询分析器的窗口输入如下的语句并执行:

请写程序12

【思考与练习】将各雇员的情况按出生时间先后排列。

实验报告成绩:         指导教师审核(签名):                    

实验报告

  • 实验数据

Select语句的基本使用:

1)对于实验1给出的数据库表结构,查询每个雇员的所有数据。

在查询分析器的窗口输入如下的语句并执行:

(2)查询每个雇员的地址和电话。

(3)查询EmployeeID为000001的雇员的地址和电话。

(4)查询Employees表中女雇员的地址和电话,使用AS子句将结果中各列的标题分别指定为地址、电话。

(5)计算每个雇员的实际收入。

(6)找出所有姓王的雇员的部门号。

(7)找出所有其地址中含有‘‘中山”的雇员的号码及部门号。

(8)找出所有收入在2000~3000元之间的雇员号码。

子查询的使用:

(9)查找在财务部工作的雇员的情况。

(10)查找财务部年龄不低于研发部雇员年龄的雇员的姓名。

在查询分析器的窗口输入如下的语句并执行

(11)查找比所有财务部的雇员收入都高的雇员的姓名。

连接查询的使用:

(12)查询每个雇员的情况以及其薪水的情况。

在查询分析器的窗口输入如下的语句并执行

(13)查找财务部收入在2200元以上的雇员姓名及其薪水详情。

(14)求财务部雇员的平均收入。

(15)求财务部雇员的总人数。

GROUP BY,ORDER BY子句的使用

(16)求各部门的雇员数。

(17) 将各雇员的情况按收入由低到高排列。

  • 实验总结

1.掌握SELECT语句的基本语法;

2.掌握子查询的表示;

3.掌握连接查询的表示;

4.掌握数据汇总的方法;

5.掌握SELECT语句的GROUP BY子句的作用和使用方法;

6.掌握SELECT语句的ORDER BY子句的作用和使用方法。

实验三

视图、存储过程、触发器等的建立与维护

预习报告成绩:         指导教师审核(签名):              月   日

预习报告

  • 实验目的

1.学会使用对象资源管理器建立视图,应用视图插入、删除、修改数据;

2.掌握存储过程的使用方法;

3.掌握触发器的使用方法。

  • 实验内容

此实验是综合视图、存储过程、触发器等知识应用的一个综合性实验。

实验要求:

1.利用所创建的数据库和数据表,综合应用视图、存储过程、触发器等知识完善数据库;

2.掌握应用更新视图数据可以修改基本表数据的方法;

3.熟练掌握添加、修改、删除记录的存储过程的定义及调用;

4.掌握通过触发器来实现数据的参照完整性。

实验内容要求:

   利用员工管理数据库YGGL中 3个表:

Employees:员工自然信息表、Departments:部门信息表、Salary:员工薪水情况表。

利用YGGL各表建立视图实现各种连接查询。建立视图view1,查询所有职工的员工编号、姓名、部门名和收入,并按部门名顺序排列。建立视图view2,查询所有职工的员工编号、姓名和平均工资。建立视图view3,查询各部门名和该部门的所有职工平均工资。

编写对YGGL各表进行插入、修改、删除操作的存储过程,然后编写程序,调用这些存储过程。创建一个为Employees表添加员工记录的存储过程addEmployees。创建一个存储过程delEmployees删除Employees表中指定员工编号的记录。

对于YGGL数据库,请用触发器实现两个表间的参照完整性。在表Departments上创建一个触发器Departments _update,当更改部门编号时同步更改Employees表中对应的部门编号。在表Employees上创建一个触发器Employees _delete,当删除员工记录时同步删除salary表中对应的工资收入记录。

参考实例步骤:

  1.创建视图

(1)班级表(U_CLASSES ):ID含义为"班号",CLASS含义为"班名",DEPARTMENT含义为所在 系,各字段类型按需要设置是否允许为空,ID字段被设置为主键。

(2)成绩表(U_SCORES ):STUDENT_ID含义为学号,COURSE_ID含义为课程号,SCORE为成绩,各字段类型按需要设置是否允许为空,STUDENT_ID 、COURSE_ID字段被设置为主键。

(3)课程表(U_COURSES):COURSE含义为课程名称, ID含义为课程编号,CREDIT含义为课程学分。

(4)学生表(U_STUDENTS),表结构如下:

用对象资源管理器建立一个基于学生表、课程表、成绩表的视图,要求该视图显示学号、姓名、课程、成绩。

启动对象资源管理器、注册、连接

展开服务器、数据库、在视图上右击,在快捷菜单中执行"新建视图(V)..."

在新视图窗口内的关系图窗格内右击鼠标,弹出的菜单即为视图设计菜单,执行"添加表(B)..."

再在添加表对话框中选择U_SCORES表,再单击添加按钮。

依此操作,分别添加U_STUDENTS、U_COURSES表,单击关闭按钮。

再在关系窗格内,拖动U_STUDENTS表的"ID"至U_SCORES的STUDENT_ID,拖动U_COURSES表的"ID"至U_SCORES的COURSE_ID,再分别选中U_STUDENTS表的"ID","NAME"列(列前的复选框),U_COURSES表的"COURSE"列以及U_SCORES表的"SCORE"列,然后单击"!"按钮,显示视图结果。

单击保存按钮,将视图保存为V_SCORES,单击确定。

用查询分析器建立一个基于学生表、班级表的学生视图(V_STUDENTS),包括学号、姓名、班级、系,SQL语句如下:

请写程序13

自己写一个SQL语句建立一个基于课程表的视图(V_COURSES),要求显示课程编号、课程名、学分。

2.创建存储过程

在查询分析器编辑窗口输入各存储过程的代码并执行以下程序。

添加职员记录的存储过程EmployeeAdd:

职员记录:’990230’,’刘朝’,’890909’,1,’武汉小洪山5号’,”,”,”,’3’

请写程序14

调用存储过程   

职员记录:’990230’,’刘朝’,’890909’,1,’武汉小洪山5号’,”,”,”,’3’

请写程序15

  修改职员记录的存储过程EmployeeUpdate:

 USE YGGL

GO

  CREATE  PROCEDURE EmployeeUpdate

  (@empid char(6),@employeeid char(6),@name char(10),@birthday datetime,

  @sex bit,@address char(20),@zip chat(6),@phonenumber char(12),

  @emailaddress char(20),@departmentlD char(3))

  AS

  BEGIN

    UPDATE Employees    ‘

    SET Employeeid=@employeeid,

    Name=@name.

    Birthday=@birthday,

    Sex=@sex,

    Address=@address.

    Zip=@zip,

    Phonenumber=-@phonenumber,

    Emailaddree=@emailaddress.

    DepartmentD=@departmenflD

    WHERE Employeeid=@empid

 END

 RETURN

 GO

调用存储过程    

   USE YGGL

  EXEC Employeeupdate’990230’,’990232’,’刘平’,’890909’ ,1,’武汉小洪山5号’,”,”,”,’2’

  GO

(3)删除职员’990232’记录的存储过程EmployeeDelete:

请写程序16

调用存储过程    

  USE YGGI,

  EXEC EmployeeDelete’990232’

  GO

  分析一下此段程序执行时可能出现哪几种情况。

  【思考与练习】

  编写如下T-SQL程序:

自定义1个数据类型,用于描述YGGL数据库中的DepartmentlD字段,然后编写代码重新定义数据库各表。

编写对YGGL各表进行插入、修改、删除操作的存储过程,然后,编写l段程序调用这些存储过程。

(3)对于YGGL数据库,表Employees的EmployeelD列与表Salary的EmployeelD列应满足参照完整性规则,请用触发器实现两个表问的参照完整性。 

4.创建触发器

对于YGGL数据库,表Employees的DepartmentID列与表Departments的DepartmentID列对应满足参照完整性规则,即:

向Employees表添加1条记录时,该记录的DepartmentID值在Departments表中应存在。

修改Departments表DepartmentID 字段值时,该字段在Employees表中的对应值也应修改。

删除Departments表中1条记录时,该记录DepartmentID字段值在Employees表中对应的记录也应删除。

对于上述参照完整性规则,在此通过触发器实现。

在查询分析器编辑窗口输入各触发器的代码并执行:

①向Employees表插入或修改1条记录时,通过触发器检查记录的DepartmentID值在Departments表是否存在,若不存在,则取消插入或修改操作。

请写程序17

   

 ②修改Departments表departmentID字段值时,该字段在Employees表中的对应值也进行相应修改。

请写程序18

        

③删除Departments表中1条记录的同时删除该记录departmentlD字段值在Employees表中对应的记录。

请写程序19

    

【思考与练习】

上述触发器的功能用完整性的方法完成。

【思考与练习】

 编写如下T-SQL程序:

自定义1个数据类型,用于描述YGGL数据库中的DepartmentlD字段,然后编写代码重新定义数据库各表。

对于YGGL数据库,表Employees的EmployeelD列与表Salary的EmployeelD列应满足参照完整性规则,请用触发器实现两个表间的参照完整性。

实验报告成绩:         指导教师审核(签名):                    

实验报告

  • 实验数据

1>创建视图

(1)班级表(U_CLASSES )

(2)成绩表(U_SCORES )

 

(3)课程表(U_COURSES):

(3)学生表(U_STUDENTS):

2.用查询分析器建立一个基于学生表、班级表的学生视图(V_STUDENTS),包括学号、姓名、班级、系,SQL语句如下:

3.自己写一个SQL语句建立一个基于课程表的视图(V_COURSES),要求显示课程编号、课程名、学分:

2>创建存储过程

1.添加职员记录的存储过程EmployeeAdd:

调用存储过程:

 

2.修改职员记录的存储过程EmployeeUpdate:

调用存储过程:

3.删除职员’990232’记录的存储过程EmployeeDelete:

 

调用存储过程:

 

4>.创建触发器

1.向Employees表添加1条记录时,该记录的DepartmentID值在Departments表中应存在。

 

2.修改Departments表DepartmentID 字段值时,该字段在Employees表中的对应值也应修改。

3.删除Departments表中1条记录时,该记录DepartmentID字段值在Employees表中对应的记录也应删除。

OLD:

NEW:

  • 实验总结

通过本次实验,使我:

学会使用对象资源管理器建立视图,应用视图插入、删除、修改数据;

掌握存储过程的使用方法;

掌握触发器的使用方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值