数据库原理及应用实验指导书.doc

上传人:sccc 文档编号:4845758 上传时间:2023-05-19 格式:DOC 页数:26 大小:680.53KB
返回 下载 相关 举报
数据库原理及应用实验指导书.doc_第1页
第1页 / 共26页
数据库原理及应用实验指导书.doc_第2页
第2页 / 共26页
数据库原理及应用实验指导书.doc_第3页
第3页 / 共26页
数据库原理及应用实验指导书.doc_第4页
第4页 / 共26页
数据库原理及应用实验指导书.doc_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《数据库原理及应用实验指导书.doc》由会员分享,可在线阅读,更多相关《数据库原理及应用实验指导书.doc(26页珍藏版)》请在三一办公上搜索。

1、数据库原理及应用编撰闽江学院计算机实验教学中心印制二零零五年 九 月实验一 表的创建与修改【实验目的】1. 学会使用企业管理器创建和修改表结构 2. 学会使用查询分析器 3. 学会使用SQL语句创建和修改表结构【实验内容】1. 使用企业管理器建立和修改班级表、成绩表 2. 使用查询分析器建立和修改课程表、学生表【实验准备】1. 复习与本次实验内容相关知识2. 对本次实验中要求自己完成的部分做好准备 【实验步骤】1. 用企业管理器建立学生表 o 启动企业管理器(使用上次实验建立的帐号注册连接服务器) o 展开服务器(下图中(LOCAL)-展开数据库-展开自己学号所对应的数据库(下图中的51022

2、01101在实验中应为你的学号)。 o 在表上右击,在快捷菜单中单击新建表.,如下图所示 oo 在表结构窗口内建立如下图所示的班级表(ID含义为班号,NAME含义为班名,DEPARTMENT含义为所在 系,各字段类型及是否允许为空按图中设置),如下图所示,左侧三角形标志为当前列,下方的列属性即为该列的。 oo 在第一行上右击,在弹出的快捷菜单中单击设置主键,如下图所示, 则ID字段被设置为主键,在ID列属性中将标识改为:是,则ID字段在新增行时,从标识种子(当前为1)开始,逐行以标识递增量(当前为1)自动递增(即此列在新增行时不用输入数据而自动生成)。 oo 要插入和删除列,请使用类似方法-在

3、快捷菜单中使用插入列(M)和删除列(D)。 o 并在工具栏上单击保存图标,在弹出的保存对话框中输入U_CLASSES,单击确定,然后关闭表结构设计窗口 o 依照上面设计学生表的步骤,设计如下图所示的成绩表(STUDENT_ID含义为学号,COURSE_ID含义为课程号,SCORE为成绩,各字段类型 和是否允许为空,按图中设置),表名保存为U_SCORES(注意设置主键时,先按住Shift,分别单击第一、第二行 左侧-选中这两行,再右击,在快捷菜单单击中设置主键-该操作可设置和取消主键)。 oo 关闭表设计窗口。 2. 用企业管理器修改表 o 如果要修改表,请展开你的数据库,单击其下的表 o 在

4、右边的窗格中,找到要修改的表,在其上右击 o 在弹出的快捷菜单中,单击设计表(S)则打找开表设计窗口进行修改,具体如下图所示 o3. 用SQL语句建立班级表、课程表 o 依照启动企业管理器的方法,启动查询分析器,在连接到SQL Server对话框中,设置SQL Server(S)为local,选择SQL Server身份验证,在登录名中输入你的学号,密码中输入你的密码,单击确定。 oo 启动查询分析器后,注意右上角当前数据库处是否为你的数据库(如果不是,说明登录的名称有问题,或该登录的默认数据库设置不正确).若不是请重新选择.按照下图输入SQL语句(蓝色和黑色部分,其中第一条为建表语句,第二条

5、为设置主键的语句)建立课程表(U_COURSES)(其中ID表示课程编号,该字段自动 递增,COURSE为课程名称),单击分析查询(按钮)按钮,检查语句的正确性。如果检查正确,单击分析查询按钮的右边的执行按钮(右向的三角形按钮)执行(或按F5). oo 右击左侧数据库图标,在快捷菜单击刷新.展开数据库(你的学号),再展开用户表,查看是否已存在班级表(U_COURSES),如下图所示。 oo 依照上述方法输入SQL语句(技巧:在查询命令窗口内,要执行的命令可先选中,再执行,则未选中的语句不会执行)建立学生表(U_STUDENTS),表结构如下: 序号字段类型(长度)主键含义1IDchar(10)

6、是学号2NAMEvarchar(16)姓名3CLASS_IDtinyint所在班级编号4. 用SQL语句修改表结构 o 用SQL语句,给课程表添加一个学时字段(字段名:period,类型:tinyint)。 ALTER TABLE dbo.U_COURSES ADD period tinyint o 用SQL语句,给课程表添加一个学分字段(字段名:CREDIT,类型:tinyint)。 请参照上面SQL命令自行进行 o 用SQL语句,删除课程表学时字段(字段名:period)。 ALTER TABLE dbo.U_COURSES DROP COLUMN period o 用SQL语句,修改成绩

7、表,使SCORE字段类型为tinyint。 ALTER TABLE dbo.U_SCORES ALTER COLUMN SCORE tinyint 5. 用企业管理器检查各表,如果和上面要求的相同,则你的实验就完成了实验2 数据库的更新实验一 实验目的本实验的目的是要求学生熟练掌握使用SQL 和通过SQL Server企业管理器向数据库输入数据、修改数据和删除数据的操作。二 相关知识SQL Server提供了很多方法更新表中数据。以插入记录为例,可以使用INSERT语句、VALUES子句将特定值集合插入一行;可以使用数据库接口API(ADO、OLE DB、ODBC和DB-Library)中的函

8、数进行数据插入等。本实验主要掌握INSERT、UPDATE和DELETE语句的基本用法。1 插入操作,其语句的一般格式为INSERTINTO table_or_view (colum_list)VALUES (date_values);此语句是使date_values作为一行数据记录插入已命名的表或视图table_or_view中。Column_list是由逗号分隔的table_or_view的列名列表,用来指定为其提供数据的列。如果没有指定column_list,表或视图中的所有列都将接收数据。如果column_list没有为表或视图中的所有列命名,将在列表中没有命名的任何列中插入一个NUL

9、L值(或者在默认情况下为这些列定义的默认值)。在列的列表中没有指定的所有列都必须允许NULL值或者指定的默认值。否则SQL Server将返回一个错误。2 修改操作语句的一般格式为UPDATE 表名SET =,=where ;其功能是修改指定表中满足WHERE子句条件的元组。其中SET子句用于指定修改方法,即用的值取代相应的属性列值。如果省略WHERE子句,则表示要修改表中的所有元组。3 删除语句的一般格式为DELETE FROM WHERE ;其功能是从指定表中删除满足WHERE子句条件的所有元组。如果省略WHERE子句,则表示要删除表中的所有元组,但表的定义仍在字典中。三 实验内容1 通过

10、企业管理器,在学生选课数据库的学生、课程和选课3个表中各输入10条记录。要求记录不仅满足数据约束要求,还要有表间关联的记录。2 具体完成以下例题。将它们转换为SQL语句表示,在学生选课库中实现其数据更新操作。例1 将一新学生记录(学号:95050;姓名:陈冬;性别:男;年龄:18;所在系:计算机科学系)插入学生表中。例2 插入一条选课记录(95020,C1)。例3 对每一个系,求学生的平均年龄,并把结果存入数据库。对于这道题,首先要在数据库中建立一个有两个属性列的新表,其中一列存放系名,另一列存放相应系的学生平均年龄。 CREATE TABLE Deptage(所在系 CHAR(20),平均年

11、龄SMALLINT); 然后对数据库的学生表按所在系分组求平均年龄,再把所在系和平均年龄存入新表中。例4 将学生95001的年龄改为22岁。例5 将所有学生的年龄增加一岁。 例6 将计算机科学系全体学生的成绩置零。例7 删除学号为95006的学生记录例8 删除所有的学生选课记录例9 删除计算机科学系所有学生的选课记录四 实验步骤 将查询需求用SQL语言表示;在SQL Server查询分析器的输入区中输入SQL查询语句;设置查询分析器的结果区为Standard Execute(标准执行)或Execute to Grid(网格执行)方式;发布执行命令,并在结果区中查看查询结果;如果结果不正确,要进

12、行修改,直到正确为止。 实验3 数据库查询实验一 实验目的本实验的目的是使学生掌握SQL Server查询分析器的使用方法,加深对SQL和SQL语言的查询语句的理解。熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。二 实验内容1 简单查询操作。该实验包括投影、选择条件表达,数据排序,使用临时表等。具体完成以下题目,将它们转换为SQL语句表示,在学生选课数据库中实现其数据查询操作。1 求数学系学生的学号和姓名2 求选修了课程的学生学号3 求选修课程号为C1的学生号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同按学号的升序排列。4 求选修课程号为C1且成绩在8090之间的学生学

13、号和成绩,并成绩乘以0.8输出。5 求数学系或计算机系姓张的学生的信息。6 求缺少了成绩的学生的学号和课程号2 连接查询操作。该实验包括等值连接、自然连接、求笛卡儿积、一般连接、外连接、内连接、左连接、右连接和自连接等。7 查询每个学生的情况以及他所选修的课程8 求学生的学号、姓名、选修的课程及成绩9 求选修课程号为C1且成绩在90以上的学生学号、姓名和成绩10 查询每一门课程的间接先行课(即先行课的先行课)3 .嵌套查询操作。实验的主要内容是:在SQL Server查询分析器中使用IN、比较符、ANY或ALL和EXISTS操作符进行嵌套查询操作。具体完成以下例题。将它们用SQL语句表示,在学

14、生选课中实现其数据嵌套查询操作。例1 求选修了高等数学的学号和姓名例2 求C1课程的成绩高于刘晨的学生学号和成绩例3 求其他系中比计算机系某一学生年龄小的学生(即年龄小于计算机系年龄最大者的学生)例4 求其他系中比计算机系学生年龄都小的学生例5 求选修了C2课程的学生姓名例6 求没有选修C2课程的学生姓名例7 查询选修了全部课程的学生姓名例8 求至少选修了学号为“95002”的学生所选修全部课程的学生学号和姓名4分组、统计、计算和集合的操作1) 分组查询实验。该实验包括分组条件表达、选择组条件表达的方法。2) 使用函数查询的实验。该实验包括统计函数和分组统计函数的使用方法。3) 集合查询实验。

15、该实验并操作UNION、交操作INTERSECT和差操作MINUS的实现方法。具体完成以下例题,将它们用SQL语句表示,在学生选课中实现其数据查询操作。例1 求学生的总人数例2 求选修了课程的学生人数例3 求课程和选修了该课程的学生人数例4 求选修超过3门课的学生学号例5 查询计算机科学系的学生及年龄不大于19岁的学生例6 查询计算机科学系的学生与年龄不大于19岁的学生的交集例7 查询计算机科学系的学生与年龄不大于19岁的学生的差集例8 查询选修课程C1的学生集合与选修课程C2的学生集合的交集例9 查询选修课程C1的学生集合与选修课程C2的学生集合的差集三 实验方法将查询需求用SQL语言表示;

16、在SQL Server查询分析器的输入区中输入SQL查询语句;设置查询分析器的结果区为Standard Execute(标准执行)或Execute to Grid(网格执行)方式;发布执行命令,并在结果区中查看查询结果;如果结果不正确,要进行修改,直到正确为止。实验4 数据库视图实验一 实验目的本实验的目的是使学生掌握视图的定义与维护操作,加深对视图在关系数据库中的作用的理解。 二 相关知识视图是根据子模式建立的虚拟表。一个视图可以由一个表构造,也可以由多个表构造。利用企业管理器和视图创建向导进行创建,查看和修改视图就如同对表的操作一样,非常容易。三 实验内容本实验的主要内容是:1) 创建和删

17、除视图2) 查询和更新视图具体完成以下例题。例1 建立信息系学生的视图例2 建立信息系学生的视图,并要求进行修改和插入操作时仍须保证该视图只有信息系的学生。例3 建立信息系选修了C1号课程的学生视图例4 建立信息系选修了C1号课程且成绩在90分以上的学生视图例5 定义一个反映学生出生年份的视图四 实验步骤1 创建视图下面利用了SQL Server中提供的视图创建向导,来实现例3(建立信息系选修了1号课程的学生视图)。1) 打开企业管理器窗口,确认服务器,打开数据库文件夹,选中新视图所在的数据库(此例为学生选课数据库)。2) 选择菜单:工具|向导3) 在如图1所示的向导选择对话框中,单击数据库左

18、边的“+”号,使之展开。选择“创建数据库向导”项,单击“确定”按键。 图1 向导选择对话框4) 进入创建视图向导后,首先出现的是欢迎使用创建视图向导对话框,其中简单介绍了该向导的功能。单击“下一步”后,就会出现选择数据库对话框。5) 在选择数据库对话框中,选择视图所属的数据库。本例的数据库为“学生选课”。单击“下一步”按键,则进入选择表对话框。6) 在选择表对话框中,列出了指定数据库中所有用户定义的表。用户可以从中选择构造视图所需的一个表或者多个表,被选中的表成为构造视图的参考表。选择构造视图参考表的方法是:用鼠标单击表后的“包含在视图中”列,使复选框为选中状态。本例的数据库中只有学生表和选课

19、表,它们都应当被选中。单击“下一步”按键,则进入选择对话框。7) 列选择对话框中以表格形式列出了创建视图参考表的全部属性,每个属性占表的一行,创建视图参考属性可以在表格中选出。选择视图参考属性的方法是用鼠标单击属性名后边的“选择列”列,使复选框为选中状态。本例中学生.学号,学生.姓名和选课.成绩属性要被选中。单击“下一步”按键,进入创建视图的定义限制对话框,如图2所示。 图2 定义限制对话框8) 在定义限制对话框中,输入表的连接和元组选择条件。本例输入“所在系=信息系 AND 学生.学号 = 选课.学号 AND 选课.课程号 = C1”。单击“下一步”按键,出现视图名对话框。9) 在输入视图名

20、对话框中输入所建视图的标识名。本例的视图名为“信息系选课1”。单击“下一步”按键,则出现视图创建完成对话框。在完成对话框中给出了根据前面对话框输入的内容译成的SQL语句。您可以认真阅读该SQL语句,如果发现与要求有不符合之处可以直接进行修改。确认无误后单击“完成”按钮。随后出现一个通知用户已成功创建视图的信息框,单击“确认”按钮后,整个创建视图工作就完成了。2 查看和修改视图视图创建好后,就可以利用它进行查询信息了。如果发现视图的结构不能很好地满足要求,还可以在企业管理器对它进行修改。在企业管理器中修改视图结构需要首先选择服务器,数据库,并使数据库展开,然后用鼠标右击要修改的视图,在弹出的菜单

21、上选择“设计视图”项,则弹出一个视图设计对话框,如图3所示。当对其修改完毕后关闭窗口,新的视图结构就会取代原先的结构。 实验5 数据库保护数据安全性实验一 实验目的 本实验的目的是通过实验使学生加深对数据安全性的理解,并掌握SQL Server中有关用户,角色及操作权限的管理方法。二 相关知识 SQL Server提供以下四种防线:1 Windows NT操作系统的安全防线Windows NT的网络管理员负责建立用户组,设置帐号并注册,同时决定不同的用户对不同的系统资源的访问级别。用户只有拥有了一个有效的Windows NT登录帐号,才能对网络资源进行访问。2 SQL Server的运行安全防

22、线SQL Server 通过另外一种帐号设置来创建附加安全层。SQL Server具有标准登录和集成登录两种用户登录方式,用户只有登录成功,才能与SQL Server建立一次连接。3 SQL Server数据库的安全防线 SQL Server的特定数据库都有自己的用户和角色(用户组),该数据库只能由它的用户或角色访问,其他用户无权访问其数据,数据库系统可以通过创建和管理特定的数据库的用户和角色来保证数据库不被非法用户访问。4 SQL Server数据库对象的安全防线 SQL Server可以对权限进行管理,SQL的DCL功能保证合法用户即使进了数据库也不能有超越权限的数据操作,即合法用户必须在

23、自己的权限范围内进行数据操作。三 实验内容本实验的实验内容为:1 在SQL Server企业管理器中,设置SQL Server的安全认证模式。2 通过SQL Server企业管理器,实现对SQL Server的用户和角色管理。3 分别通过SQL Server企业管理器和SQL的数据控制功能,设置和管理数据操作权限。四 实验步骤1 在SQL Server企业管理器中为所属的SQL 服务器设置为SQL Server和Windows NT混合安全认证模式。其步骤如下:1) 在企业管理器窗口中展开服务器组,用鼠标右击需要设置的SQL服务器,在弹出的菜单中选择“属性”项,则出现SQL Server属性对

24、话框,如图1所示。 图1 SQL Server属性对话框2) 在SQL Server属性对话框中选择“安全性”选项卡。3) 身份验证选择“SQL Server和Windows”单选项。2 在SQL Server企业管理器中为自己建立一个服务器用户、数据库用户和数据库角色。1) 在企业管理器窗口中展开服务器组,展开服务器,用鼠标单击“安全性”文件夹右侧的+,用鼠标右击“登录”,在弹出的菜单中选择“新建登录”项,则出现新建登录对话框,如图2所示。 图2 新建登录对话框2) 在新建登录对话框中有常规,服务器角色和数据库访问三个选项卡。在常规选项卡中,输入用户名(本例为王平),选择SQL Server

25、安全验证,输入用户口令。在服务器角色选项卡中,需要确定用户所属的服务器角色,在本例中采用缺省值即可。在数据库访问选项卡中,需要指定此登录可以访问的数据库(本例选中学生选课数据库)和“学生选课”的数据库角色(在本例中采用缺省值即可)。单击“确定”按钮,既完成了创建登录用户的工作。3 关闭SQL Server企业管理器,打开SQL查询分析器。选择SQL Server安全验证,用户名为王平,输入用户口令,连接到SQL Server。在“查询”窗口中可以输入SQL语句。如“SELECT * FROM 学生”。运行后,得到消息“拒绝了对对象学生(数据库学生选课,所有者dbo)的SELECT权限。”。可见

26、用户王平没有对学生表的SELECT权限。4 要想将学生选课数据库的操作权限赋予数据库用户王平,有两种方法。方法一:通过企业管理器1) 在企业管理器窗口中展开服务器组,展开服务器,用鼠标单击“数据库”文件夹右侧的+,用鼠标单击学生选课数据库文件夹右侧的+,用鼠标右击“用户”。在屏幕右侧的“用户”窗口中选择“王平”项,用鼠标右击,在弹出的菜单中选择“属性”项,则出现数据库用户属性对话框,如图3所示。 图3 数据库用户属性对话框2) 单击图3中的权限按钮,则出现数据库用户权限对话框,如图4所示。对话框的下面是有关数据库用户和角色所对应的权限表。这些权限均以复选框的形式表示。复选框有三种状态:“”为授

27、权;“”为废除权;空为撤权。在表中可以对用户或角色的各种对象操作权(SELECT,INSERT,UPDATE,DELETE,EXEC和DRI)进行授予或撤消。 图4 数据库用户权限对话框3) 在图4中找到学生表,授予SELECT权限,即让学生表与SELECT列交叉的复选框为“”即可。方法二:通过SQL的数据控制功能对用户王平授权,必须是数据库对象拥有者以上用户授予。我们可以以系统管理员或sa用户登录进入查询分析器。在查询分析器中输入授权语句“GRANT SELECT ON 学生 TO 王平;”,然后执行即可。数据库备份和恢复实验一 实验目的本实验的目的是通过实验使学生了解SQL Server的

28、数据备份和恢复机制,掌握SQL Server中数据库备份和恢复的方法。二 相关知识1、 SQL Server的三种备份形式SQL Server具有三种备份形式:完全备份、事务日志和差异备份。1) 完全备份:将数据库完全复制到备份文件中。2) 事务日志备份:备份发生在数据库上的事务。3) 差异备份:备份最近一次完全备份以后数据库发生变化的数据。2、 数据库进行备份和恢复操作的方式1) 静态的备份和恢复方式。该方式在进行数据备份或恢复操作时,SQL服务器不接受任何应用程序的访问请求,只执行备份或恢复操作。 2) 动态的备份和恢复方式。该方式在进行数据备份或恢复操作时,SQL服务器同时接受应用程序的

29、访问请求。三 实验内容本实验的内容是:1 用企业管理器创建一个备份设备。2 利用向导为学生选课数据库生成一个完全备份。3 在企业管理器中恢复学生选课数据库四 实验步骤1、 在企业管理器中创建一个备份设备1) 在企业管理器中扩展服务器,在管理文件夹中找到备份文件夹。用鼠标右键单击该文件夹,在弹出的菜单中选择“新建备份设备”项,则出现“备份设备属性”对话框,如图所示。在名称文本框中输入设备名(本例为学生选课设备1)。单击“确定”按钮,备份设备就创建成功了。 图 “备份设备属性”对话框2) 在备份文件夹的窗口中出现了新创建的设备。选中该设备,用鼠标右键单击,在弹出的菜单中选择“属性”项,则出现“备份

30、设备属性”对话框。2、 利用向导为学生选课数据库生成一个完全备份。1) 在企业管理器中扩展服务器,在数据库文件夹中选中要备份的数据库文件夹(学生选课数据库)。选择菜单工具|向导,则出现向导选择对话框。在向导选择对话框中,单击管理左边的“+”号,使之展开。选择“备份向导”项,单击“确定”按键。2) 进入创建备份向导后,首先出现的是欢迎使用创建数据库备份向导对话框,其中简单介绍了该向导的功能。单击“下一步”后,就会出现“选择要备份数据库”对话框。选择好要备份数据库后,单击“下一步”,就会出现“键入备份的名称和描述”对话框。键入备份名称为“学生选课备份”,单击“下一步”,就会出现“选择备份类型”对话

31、框。这里我们选择“数据库备份”,单击“下一步”,就会出现“备份验证和调度”对话框。这里我们选择默认状态,单击“下一步”,就会出现“正在完成备份数据库向导”对话框。单击“完成”按钮,完成备份数据库向导,生成数据库备份。3、 在企业管理器中恢复学生选课数据库。1) 打开学生选课数据库,删除其中一个表(如选课表),即当前的学生选课数据库中没有选课表。2) 恢复学生选课数据库。步骤如下:在企业管理器中扩展服务器,在数据库文件夹中选中要备份的数据库文件夹(学生选课数据库)。用鼠标右键单击,在弹出的菜单中选择“所有任务”项,在随之出现的级联菜单中选择“还原数据库”项,则出现还原数据库对话框。在此例中按“确

32、定”按钮即可完成恢复工作。3) 再打开学生选课数据库,看一看当前的学生选课数据库中有没有选课表4) 修改学生选课数据库备份计划,要求每月1号进行数据库备份,重复步骤2、3。用其他方法生成备份。 实验6 数据完整性、触发器和存储过程实验五 实验目的本实验的目的是通过实验使学生加深对数据完整性的理解,学会创建和使用触发器。熟悉使用存储过程来进行数据库应用程序的设计。六 相关知识SQL Server实现数据完整性的具体方法有4种:约束、缺省、规则和触发器。其中约束和缺省在实验一中已接触过。本实验重点学会创建和使用触发器。触发器是实施复杂完整性的特殊类型的存储类型。触发器不需要专门语句调用,当对它所保

33、护数据进行修改时自动激活,以防止对数据进行不正确,未授权或不一致的修改。创建触发器的语法为:CREATE TRIGGER ON WITH ENCRYPTIONFOR DELETE,INSERT,UPDATEWITH APPENDNOT FOR REPLICATIONAS 其中:1) WITH ENCRYPTION 为加密选项。2) DELETE 选项为创建DELETE 触发器。DELETE触发器的作用是当对表执行DELETE操作时触发器被激活,并从指定表中删除元组,同时将删除的元组放入一个特殊的逻辑表(delete表)中。触发器的动作可以检查delete表中的数据,以确定下一步该如何处理。3)

34、 INSERT选项为创建INSERT触发器。INSERT触发器在对指定表中执行插入数据操作时激活,激活后将插入表中的数据拷贝并送入一个特殊的逻辑表(inserted 表)中,触发器会根据INSERT表中的值决定如何处理。4) UPDATE选项为创建UPDATE触发器。UPDATE触发器仅在对指定表中进行更新数据操作时激活。UPDATE触发器激活后把将要被更新的原数据移入delete表中再将要被更新后的新数据的备份送入insert表中,UPDATE触发器对delete和inserted表进行检查,并决定如何处理。5) NOT FOR REPLICATION 选项说明当一个复制过程在修改一个触发器

35、表时,与该表相关联的触发器不能被执行。一个触发器只适用于一个表,每个表最多只能有三个触发器,它们分别是INSERT、UPDATE和DELETE触发器。触发器仅在实施数据完整性和处理业务规则时使用。七 实验内容本实验的内容为:使用SQL设计触发器,通过SQL Server企业管理器定义它们。具体完成下面例题:利用触发器来保证学生选课库中选课表的参照完整性,以维护其外码与参照表中的主码一致。CREATE TRIGGER SC_inserted ON 选课FOR INSERTAS IF(SELECT COUNT(*) FROM 学生,inserted,课程WHERE 学生.学号 = inserted

36、.学号 AND inserted.课程号 = 课程.课程号)=0ROLLBACK TRANSACTION八 实验步骤4、 在企业管理器中创建触发器3) 在企业管理器中,由服务器开始逐步扩展到触发器所属表的数据库(本例为学生选课数据库),打开表文件夹,在表窗口中用鼠标右击触发器所属的表(本例为选课表)。4) 在弹出菜单上选择“所有任务”“管理触发器”项,则弹出如图所示的触发器属性对话框。 图 触发器属性对话框如果要新建触发器,在文本T的文本框中输入创建触发器的SQL语句(见实验内容),单击“检查语法”按钮进行语法的检查,检查无误后,单击确定按钮。5) 如果要修改触发器,则在名字弹出项中选择要修改

37、的触发器名(本例为SC_inserted),然后在文本T的文本框中对已有的内容进行修改,检查无误后单击“确定”按钮。6) 如果要删除触发器,则在名字弹出项中选择要删除的触发器名(本例为SC_inserted),并检查文本T的文本框中的内容,看是否选得正确,最后单击“删除”按钮。5、 验证触发器1) 在企业管理器中,由服务器开始逐步扩展到触发器所属表的数据库(本例为学生选课数据库)。此时,可在选课表中输入一条记录(学号:96001,课程号:C8,成绩:88)。显然,这条记录是不符合参照完整性的。通过企业管理器输入时,会出现错误提示,违反了数据库的约束(如果约束C5和C6同时存在的话)。2) 如果

38、约束C5和C6存在,则删除之(参见实验一)3) 打开SQL查询分析器,输入语句“INSERT INTO 选课 VALUES(96001,C8,88)”,查看执行结果。4) 删除触发器(本例为SC_inserted),重复步骤3。3对学生课程数据库,编写存储过程,完成下面功能: 1)统计离散数学的成绩分布情况,即按照各分数段统计人数; 2)统计任意一门课的平均成绩。 3)将学生选课成绩从百分制改为等级制(即A、B、C、D、E); 要求:提交源程序并标识必要的注释。保证程序能正确编译和运行。实验7 数据库编程实验九 实验目的学会配置ODBC数据源。熟悉使用ODBC来进行数据库应用程序的设计,熟悉通

39、过ODBC接口访问异构数据库并对异构数据库进行操作。使用Java语言编程实现对数据库的访问,所有的SQL操作均在自己建立的新库里进行,数据库建议选用学生课程数据库,读者可以选择进行创建、插入、查询、删除和更新等操作。2 实验平台和实验工具 实验平台:sql server 2000数据库管理系统, ODBC Driver。通过C语言编写访问数据库的应用程序。编程工具自选。JDBC来访问和操纵数据库的流程。3 实验内容和要求 在sql server 2000数据库管理系统上,通过ODBC Driver,使用ODBC编写应用程序来对异构数据库进行各种数据操作。 配置两个不同的数据源,编写程序连接两个

40、不同RDBMS的数据源,对异构数据库进行操作。例如,将sql server 2000数据库的某个表中的数据备份到SQL Server数据库的表中。要认真填写实验报告,并且提交源程序,保证可正确编译和运行。配置环境变量。使用Java语言编程实现对数据库的访问,所有的SQL操作均在自己建立的新库里进行,数据库建议选用学生课程数据库,读者可以选择进行创建、插入、查询、删除和更新等操作。JDBC来访问和操纵数据库的流程。-建立与数据库的连接; -创建语句对象; -执行查询并返回结果集对象; -处理结果集对象; -关闭结果集和语句对象; -提交更新; -关闭与数据库的连接。3.1 知识预备 什么是ODB

41、C ODBC(OpenDatabaseConnectivity,开放数据库互连)是微软公司开放服务结构(WOSA,WindowsOpenServicesArchitecture)中有关数据库的一个组成部分,这一技术为访问不同种类的 SQL 数据库提供了通用接口。 ODBC是基于结构查询语言(SQL)的,并以此作为访问数据的标准。该接口提供了互操作性,即一个应用程序可以通过一组公用代码访问不同的DBMS。 配置ODBC数据源的方式 配置数据源共有两种方法: 方法一:运行数据源管理工具来进行配置。 方法二:使用Driver Manager 提供的ConfigDsn函数来增加、修改或删除数据源。这种

42、方法特别适用于在应用 程序中创建的临时使用的数据源。 什么是JDBC? JDBC技术事实上是一种能通过JAVA语言访问任何结构化数据库的应用程序接口(API)。相对于ODBC(Open Database Connectivity开放数据库连接)的解释,可以把JDBC看作Java Database Connectivity(Java数据库连接)。 JDBC是由一组用Java语言编写的类与接口组成。现在,JDBC已成为一种供工具/数据库开发者使用的标准API,用户可以用纯Java API来编写数据库的应用程序。 使用JDBC可以很容易地把SQL语句传送到任何关系型数据库中。换言之,用户不需要为每一

43、个关系数据库单独写一个程序。用JDBC API写出唯一的程序,能够将SQL语句发送到相应的任何一种数据库。Java与JDBC的结合,使程序员可以只写一次数据库应用软件后,就能在各种数据库系统上运行。3.2 实验要求 给出配置两个不同的数据源的过程。提交应用程序源代码,并标识必要的注释,尽可能清楚明白地说明程序的功能,实现的方法,关键数据结构、变量、函数的定义。 实验8 数据库初步开发实验一、实验目的 初步掌握数据库应用系统的开发。二、实验内容(任选1题)题目一:人事管理系统1、系统功能的基本要求:(1) 员工各种信息的输入,包括员工的基本信息、学历信息、婚姻状况信息、职称等。(2) 员工各种信息的修改;(3) 对于转出、辞职、辞退、退休员工信息的删除;(4) 按照一定的条件,查询、统计符合条件的员工信息;至少应该包括每个员工详细信息的查询、按婚姻状况查询、按学历查询、按工作岗位查询等,至少应该包括按学历、婚姻状况、岗位、参加工作时间等统计各自的员工信息;(5) 对查询、统计的结果打印输出。2、数据库要求:在数据库中至少应该包含下列数据表:(1) 员工基本信息表;(2) 员工

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号