《数据库原理》实验讲义

更新时间:2023-11-06 12:41:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《数据库原理》实验讲义

SQL Server版

龚 安

中国石油大学(华东)计算机科学系

2011年12月

目 录

实验一 文件管理

一、实验目的

1.了解数据管理技术之文件系统管理数据的特点; 2.掌握应用程序存取数据文件的方法;

3.通过实际体会与比较,为后面感受数据库系统管理数据的优点做准备。 二、实验学时

2学时 三、实验内容

设有一个学生-课程数据库,包括学生表student,课程表course和选修表sc,如下表所示:

学号 95001 95002 95003 95004

姓名 李勇 刘晨 王敏 张立 Student 性别 男 女 女 男 年龄 20 19 18 19 所在系 CS IS MA IS 课程号 1 2 3 4 5 6 7

Course 课程名 先行课 数据库 5 数学 信息系统 1 操作系统 6 数据结构 7 数据处理 PASCAL语言 6 SC 学分 4 2 4 3 4 2 4 学号 95001 95001 课程号 1 2 成绩 92 85 95001 95002 95002 3 2 3 88 90 80 用C或C++语言编写应用程序,建立3个数据文件分别保存学生信息、课程信息和选修信息,并且完成以下任务:

1.编写数据插入功能模块,将以上各个数据表的数据分别插入到对应的数据文件中,并显示输出各个数据表的数据信息;

2.编写数据修改功能模块,将所有学生的年龄增加1岁,并显示输出所有学生的信息;

3.编写数据删除功能模块,删除学号为95004的学生记录,并显示输出所有学生的信息。

4.编写数据查询功能模块,查询选修了课程名为“信息系统”的学生学号和姓名。 四、实验报告

提交源程序(加必要的注释)和数据文件,并将程序的每个任务的输出结果附上。

实验二 DBMS软件的安装、卸载及认识

一、实验目的

1.了解SQL Server 2005的安装环境配置; 2.掌握SQL Server 2005的安装方法与过程; 3.掌握SQL Server 2005的卸载方法与过程;

4.了解SQL Server 2005的系统数据库、系统表及系统存储过程; 5.掌握SQL Server 2005的SQL Server管理控制台、SQL Server配置管理器的使用。 二、实验学时

2学时 三、实验准备

1.SQL Server 2005安装环境的配置

在安装SQL Server2005前,需做好两项准备工作:

? 保证计算机的硬软件环境能满足SQL Server 2005的需要。 ? 依据所需的用途和计算机的软硬件环境选择合适的版本和部件。 (1) SQL Server 2005的版本 ① 企业版(Enterprise Edition)

企业版分为支持32位和支持64位两个版本。企业版达到支持超大型企业进行联机事务处理(OLTP)、高度复杂的数据分析、数据仓库系统和网站所需的性能水平。其全面商业智能和分析能力,以及高可用性功能,使它可以处理大多数关键业务的企业工作负荷。企业版是最全面的SQL Server版本,适用于超大型企业,能够满足最复杂的要求。 ② 标准版(Standard Edition)

标准版分为支持32位和支持64位两个版本。这是适用于中小型企业的数据管理和分析平台。其包括电子商务、数据仓库和业务流解决方案所需的基本功能。

实验五 SQL练习3

一、实验目的

1.掌握基本表的删除与修改;

2.掌握实体完整性、参照完整性和用户定义的完整性的定义、检查和违约处理;

3.掌握视图的定义、查询和更新,了解视图的作用。 二、实验学时

2学时 三、实验内容

1.利用Query Analyzer完成以下操作:

⑴ 向在实验四中所定义的数据表增加“备注”列,其数据类型为字符型,并查看新增列的值。

⑵ 对上述数据表增加主码约束条件,并观察在数据表中存在数据的情况下主码约束是否创建成功,然后再次执行实验四中实验内容3.2的操作,并观察记录执行结果。

⑶ 删除上述数据表中的数据,然后再删除该数据表,对这两个操作进行比较。

2.利用Query Analyzer完成以下任务:

⑴ 对实验三中所定义的6个数据表增加主码约束条件,并观察在数据表中存在数据的情况下主码约束是否创建成功,然后执行以下2个操作,观察并记录实体完整性的检查和违约处理。

① insert into 材料费表 values('zy2011001','wm004',100,10)

② insert into 材料费表 values('zy2011002',NULL,200,10) 注:“材料费表”根据自己所命名的表名进行相应的替换。 ⑵ 对实验三中所定义的6个数据表增加相应的参照完整性约束,并观察在数据表中存在数据的情况下参照完整性约束是否创建成功,然后执行以下操作,观察并记录参照完整性的检查和违约处理。

① 将(y007 油井 112203002)插入到油水井表。 ② insert into 材料费表 values('zy2011007','wm006',100,10) ③ 将作业项目编号zy2011001的施工单位修改为“作业公司作业五队”。

④ 将单位代码表中的(112202002 采油二矿二队)删除,查看油水井表和作业项目表中的数据有何变化。

⑤ 将物码表中的(wm004 材料四 袋)修改为(wm04 材料四 袋)。 ⑥ 撤销上述成功的更新操作。

注:“材料费表”根据自己所命名的表名进行相应的替换。 ⑶ 对实验三中所定义的6个数据表按以下要求增加相应的完整性约束条件,并观察在数据表中存在数据的情况下完整性约束是否创建成功。

① 单位代码表的单位名称不能取空值、且取值唯一。

② 油水井表的井别只允许取“油井”或“水井”,单位代码不能取空值。

③ 物码表的名称规格不能取空值、且取值唯一,计量单位不能取空值。

④ 材料费表的消耗数量不能取空值,单价不能取空值。

⑤ 对作业项目表根据实际应用的要求定义适当的用户定义的完整性约束条件。

3.利用Query Analyzer完成以下操作:

⑴ 定义一个视图,用于保存作业项目表和材料费表的全部列。 ⑵ 查询上面定义的视图,可任意组合查询条件,构造出2个查询。 ⑶ 定义一个反映作业项目预算状态的视图,并向该视图插入('zy2011008','112202002','y005',10000,'张三', '2011-07-02'),查看作业项目表的数据有何变化。

⑷ 撤销上述成功的更新操作。 四、实验报告

提交实验内容中用SQL语句完成的题目的SQL语句文档及相应的执行结果。

实验六 其它数据库对象的管理

一、实验目的

1.掌握事务的概念、性质、定义及使用; 2.掌握游标的概念、组成、创建及使用;

3.掌握存储过程的概念、类型、特点、创建、执行及管理。 4.掌握触发器的概念、创建、管理及使用。 二、实验学时

2学时 三、实验内容

1.利用Query Analyzer进行如下事务处理练习(把下列五条语句作为一个事务处理,只有五条语句全部成功执行才做提交,并给出成功的提示信息;否则就做回退处理,并给出具体的错误提示信息):

insert into 作业项目表 values('zy2011006','112202002','y005', 10000,'张三', '07-01-2011' ,'07-04-2011','07-25-2011', '作业公司作业一队','堵漏',7000,2500,1000,1400,11900, '李四','07-26-2011',11900,'王五','07-28-2011')

insert into 材料费表 values('zy2011006','wm001',200,10) insert into 材料费表 values('zy2011006','wm002',200,10) insert into 材料费表 values('zy2011006','wm003',200,10) insert into 材料费表 values('zy2011006','wm004',100,10)

注:“作业项目表”、“材料费表”根据自己所命名的表名进行相应的替换。

2.利用Query Analyzer进行如下游标练习:

定义一个游标,用于存放作业项目表的全部行数据,并打印以下表头和各行数据。

表头:单据号 预算单位 井号 预算金额 预算人 预算日期 开工日期 完工日期 施工单位 施工内容 材料费 人工费 设备费 其它费用 结算金额 结算人 结算日期 入账金额 入账人 入账日期

执行以上所定义的游标,查看是否能正确输出结果。

3.利用Query Analyzer定义一个存储过程,要求完成以下功能: 生成某单位(单位可以是采油厂或采油矿或采油队)某段时间内的成本运行情况(输入参数:单位代码 起始日期 结束日期)。

输出格式 ***单位**时间---**时间成本运行情况 预算金额 结算金额 入账金额 未结算金额 未入账金额 ****.** ****.** ****.** ****.** ****.**

其中:未结算金额=预算金额-结算金额 未入账金额=结算金额-入账金额

分三种情况(单位分别为:采油厂、采油矿、采油队)执行以上定义的存储过程,查看执行输出结果。

4.利用Query Analyzer针对作业项目表定义三个触发器,分别完成以下功能:

⑴ 对作业项目表插入一行数据时,自动计算并插入结算金额字段(结算金额=材料费+人工费+设备费+其它费用)。

本文来源:https://www.bwwdw.com/article/2bp2.html

Top