数据库系统原理实验指导书.docx
《数据库系统原理实验指导书.docx》由会员分享,可在线阅读,更多相关《数据库系统原理实验指导书.docx(15页珍藏版)》请在冰豆网上搜索。
数据库系统原理实验指导书
北方民族大学
BeifangEthnicUniversity
《数据库系统原理》课程实验指导书
北方民族大学教务处
北方民族大学
《数据库系统原理》课程实验指导书
编著 张学琴
校审
北方民族大学教务处
二〇一〇年六月
前言
本实验课程是《数据库系统原理》课程的实践教学环节,通过本实验课程的学习,使学生利用E_R方法对数据库设计的关键步骤:
概念结构设计进行建模;掌握交互式SQL语言的数据定义的CREATE、ALTER、DROP;数据查询的SELECT;数据操纵INSERT、UPDATE、DELETE等三大功能的语句的语法格式,并能够利用SQL语句实现相应的功能;掌握数据库的安全性控制自主存取控制的GRANT和REVOKE语句实现用户授权和收回权限。
掌握嵌入式数据库的编程实现对数据库的连接和操作,从而增强学生理论结合实际的能力和实践动手能力,为今后步入新世纪知识经济领域打下坚实基础。
第一部分绪论
一、本课程实验的作用与任务
作用:
通过本实验环节使学生学会利E-R图建模;利用SQL语句编写代码;初步学会数据库编程。
任务:
1.掌握信息世界E-R模型的建立;
2.掌握SQL语言的数据定义语句CREATE;
3.掌握SQL语言的数据查询语句SELECT;
4.掌握SQL语言的数据更新的INSERT、UPDATE、DELETE语句与视图的定义、查询和更新的操作语句;
5.掌握数据的安全性控制;
6.掌握数据的完整性控制;
7.学会用嵌入式SQL或ODBC或JDBC访问数据库。
二、本课程实验的基础知识
E-R模型的设计;SQL语言的数据定义、数据查询、数据操纵和数据控制功能;嵌入式SQL编程。
三、本课程实验教学项目及其教学要求
序
号
实验项目名称
学
时
教学目标、要求
1
E-R模型的建立
2
掌握E-R模型的设计
2
SQL的数据定义
2
掌握CREATE、ALTER、DROP语句
3
SQL的数据查询
2
掌握SELECT语句
4
SQL的数据更新和视图
2
掌握INSERT、UPDATE、DELETE语句
5
数据的安全性控制
2
掌握GRANT和REVOKE语句
6
数据的完整性控制
2
掌握实体、参照和自定义完整性控制
7
数据库编程
2
学会嵌入式SQL编程
第二部分 基本实验指导
实验一信息世界E-R模型的建立
一、实验目的
1.初步熟悉E-R模型的概念;
2.进一步理解E-R模型的两个要素:
实体和联系;
3.理解E-R模型实体型与实体型之间的三种联系类型:
一对一、一对多和多对多;
4.能够根据具体的应用环境的需求建立概念世界的E-R模型。
二、实验原理
利用E-R方法建模
三、主要仪器及耗材
PC机
四、实验内容与步骤
掌握以下操作语句的一般格式:
1976年P.P.S.Chen提出实体-联系法(Entity-Relationship)表示概念模型,简称为E-R图。
该方法提供了表示实体型、属性和联系的方法。
实体型:
用矩形表示,矩形框内写明实体名。
属性:
用椭圆形表示,并用无向边将其与相应的实体连接起来。
联系:
用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,无向边旁标上联系的类型。
内容:
1.根据具体的应用环境的需求设计信息世界的概念模型,如下列示例:
为银行设计一个数据库系统,通过所给的需求分析利用E-R图设计出概念模型。
银行的主要需求如下:
银行有多个分支机构。
每个分支机构位于某个城市,由唯一的名字标识,银行监控每个分支机构的资产。
银行员工通过身份证号来标识。
银行的管理机构存储每个员工的姓名、电话号码、工作部门、亲属姓名及其开始工作的日期。
银行的客户也通过其身份证号来标识。
银行存储每个客户的的姓名及其居住的城市和街道。
客户可以通过存/取资金的业务同银行员工发生联系,该员工是此客户的银行帐户负责人。
银行记录每次存取资金的数额、日期及余额。
银行提供储蓄帐户。
一个客户也可以有两个或两个以上的帐户。
每个帐户被赋以唯一的帐户号。
银行记录每个帐户的帐户余额以及每个帐户所有者访问该帐户的最近日期。
另外,每个存储帐户有其利率。
2.某医院病房的信息管理系统需要如下信息:
科室:
名称,电话,职工人数
病房:
病房号,床位数
医生:
职工号,姓名,职称
病人:
病历号,姓名
其中,一个科室有多个病房、多名医生,一个病房以及每个医生只属于一个科室,一个医生可负责多个病人,而一个病人的主管医生只有一个,每个病房可住多个病人。
用E-R图画出该医院的概念模型
3.一个图书借阅管理数据库要求提供下述信息;
(1)对于书籍,要求随时能够查阅书籍的书名、书号、数量与存放位置;
(2)对于借阅人,要求随时提供借书人单位、姓名、借书证号,借阅人在借书时借书日期和还书日期;
(3)该数据库还要提供出版社的情况,出版社有名称、电话、邮编及地址等信息。
我们约定:
任何人可借多种书,任何一种书可为多人所借;一个出版社可出版多种书籍,同一种书仅为一个出版社出版,书号、借书证号、出版社名具有唯一性。
根据以上情况,试作如下设计:
构造满足需求的E-R图
4.学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授每人各带若干研究生;每个班有若干学生,每个学生选修若干课程,每门课可由若干学生选修。
请用E一R图画出此学校的概念模型。
五、实验注意事项
1.注意在E-R模型中标注实体型与实体型的联系类型;
2.在E-R模型中联系若有属性必须明确;
3.有效区分实体与属性的划分。
六、参考文献
1.《数据库系统概论》王珊、萨师煊(第四版)高等教育出版社
2.《数据库系统原理与应用》陶树平主编科学出版社
3.《数据库系统原理学习指导和习题解答》王珊主编,高等教育出版社,2009年
4.《数据库系统导论(原书第8版)》C.J.Date著,孟小峰、王珊、姜芳艽等译,机械工业出版社,2007年7月
实验二SQL语言的数据定义
一、实验目的
1.初步熟悉一下SQLSERVER2000环境;
2.利用SQL语言提供的CREATE语句建立基本表STUDENT、COURSE和SC表;
3.利用ALTER语句修改基本表、利用DROP语句删改表;
4.利用CREATE语句建立索引和利用DROP语句删除索引;
二、实验原理
利用SQL语言的DDL
三、主要仪器及耗材
PC机
四、实验内容与步骤
掌握以下操作语句的一般格式:
1.CREATETABLE(<列名><数据类型>[列极完整性约束条件][,<列名><数据类型>[列极完整性约束条件]]…[,<表极完整性约束条件>]);
2.ALTERTABLE<表名>[ADD<新列名><数据类型>[完整性约束]][DROP<完整性约束名>][MODIFY<列名><数据类型>];
3.DROPTABLE<表名>;
4.CREATE[UNIQUE][CLUSTER]INDEX<索引名>ON<表名>(<列名>[<次序>][,<列名>[<次序>]]…);
5.DROPINDEX<索引名>;
内容:
1.验证教材提供的操作语句;
2.验证课堂教学中提供的语句;
3.根据要求设计操作语句完成相应功能。
五、实验注意事项
1.建立基本表STUDENT、COURSE和SC表放在学生—课程数据库中;
2.建表时需注意属性的数据类型、长度及其列级约束条件;
3.表级约束条件一旦确定就应遵守,尤其是参照完整性约束。
六、参考文献
1.《数据库系统概论》王珊、萨师煊(第四版)高等教育出版社
2.《数据库系统原理与应用》陶树平主编科学出版社
3.《数据库系统原理学习指导和习题解答》王珊主编,高等教育出版社,2009年
4.《数据库系统导论(原书第8版)》C.J.Date著,孟小峰、王珊、姜芳艽等译,机械工业出版社,2007年7月
实验三SQL语言的数据查询
一、实验目的
利用SELECT语句进行单表、连接、嵌套和集合查询。
二、实验原理
利用SQL语言的数据查询
三、主要仪器及耗材
PC机
四、实验内容和步骤
掌握以下操作语句的一般格式:
SELECT[ALL|DISTINCT]<目标列表达式>[,<目标列表达式>]…
FROM<表名或视图名>[,<表名或视图名]…
[WHERE<条件表达式>]
[GROUPBY<列名1>[HAVING<条件表达式>]]ORDERBY<列名2>[ASC|DESC]];
内容:
1.验证教材提供的操作语句;
2.验证课堂教学中提供的语句;
3.根据要求设计操作语句完成相应功能:
(1)查询学生的姓名、所在系、年龄
(2)查询学生的姓名、出生年月、所在系;并且结果的属性名(列名)分别用Name、Birthday、Department表示。
(3)查询所有有学生选修的课程号
(4)查询成绩不及格的学生学号
(5)查询成绩在80~90分之间的学生学号
(6)在学生-选课数据库中查询所有姓名第二字为“小”,并且姓名由三个字组成的所有学生的学号和姓名。
(7)查询以“DB_”开头,且最后一个字符为n的课程的课程号和学分。
(8)查询选修1号课程,并且成绩在80~90之间的学生学号和成绩,并将成绩乘以0.8输出。
(9)求数学系或计算机系姓张的学生的所有信息。
(10)查询被选修过的课程总数。
(11)计算学号为2300101同学所选课程的总分
(12)求修过课的学生学号及选修的课程总数。
(13)查询有15人以上选修的课程号,及选课人数。
(14)查询成绩大于80分的学生姓名、课程号、成绩。
(15)查询所选课程平均分在80分以上的学生姓名、课程名、成绩。
(16)查询与“信息系统”课程学分相同的所有课程的名称。
(17)求成绩比230010所有课程成绩高的学生学号。
(18)查询其它系中比计算机系某一学生年龄大的学生的姓名和年龄。
(19)查询选修了全部课程的学生姓名。
五、实验注意事项
1.进行多表连接查询时,注意连接字段;
2.进行嵌套查询时,注意嵌套的层次,如果使用谓词时注意它的含义,如:
ANY和ALL等。
六、参考文献
1.《数据库系统概论》王珊、萨师煊(第四版)高等教育出版社
2.《数据库系统原理与应用》陶树平主编科学出版社
3.《数据库系统原理学习指导和习题解答》王珊主编,高等教育出版社,2009年
4.《数据库系统导论(原书第8版)》C.J.Date著,孟小峰、王珊、姜芳艽等译,机械工业出版社,2007年7月
实验四SQL语言的数据更新和视图
一、实验目的
1.利用SQL语言提供的INSERT语句、UPDATE语句和DELETE语句对建立基本表STUDENT、COURSE和SC表进行插入、修改和删除操作;
2.利用SQL语言提供的CREATEVIEW定义视图;利用DROPVIEW、SELECT和UPDATE操作语句对所定义的视图进行删除、查询和修改操作;
3.熟练掌握以上各种操作语句。
二、实验原理
利用SQL语言的数据操纵
三、主要仪器及耗材
PC机
四、实验内容和步骤
掌握以下操作语句的一般格式:
1.INSERTINTO<表名>[(<属性列1>[,<属性列2>…]
VALUES(<常量1>[,<常量2>…]
或
INSERTINTO<表名>[(<属性列1>[,<属性列2>…]子查询
2.UPDATE<表名>
SET<列名>=<表达式>[,<列名>=<表达式>]…
[WHERE<条件>];
3.DELETE
FROM<表名>
[WHERE<条件>];
内容:
1.验证教材提供的操作语句;
2.验证课堂教学中提供的操作语句;
3.根据要求设计操作语句完成相应功能:
(1)将一个新学生记录
(学号:
95020;姓名:
陈冬;性别:
男;所在系:
IS;年龄:
18岁)插入到Student表中。
(2)将信息系所有学生的年龄增加1岁。
(3)将计算机科学系全体学生的成绩置零。
(4)删除2号课程的所有选课记录。
(5)删除计算机科学系所有学生的选课记录。
4.实现教材课后习题5相应操作语句。
五、实验注意事项
利用INSERT语句、UPDATE语句和DELETE语句对建立基本表STUDENT、COURSE和SC表进行插入、修改和删除操作时需注意完整性约束,特别是参照完整性约束。
六、参考文献
1.《数据库系统概论》王珊、萨师煊(第四版)高等教育出版社
2.《数据库系统原理与应用》陶树平主编科学出版社
3.《数据库系统原理学习指导和习题解答》王珊主编,高等教育出版社,2009年
4.《数据库系统导论(原书第8版)》C.J.Date著,孟小峰、王珊、姜芳艽等译,机械工业出版社,2007年7月
实验五数据的安全性控制
一、实验目的
1.利用SQL语言提供的GRANT和REVOKE语句向用户授予权限和收回权限;
2.掌握的GRANT和REVOKE操作语句。
二、实验原理
利用SQL语言的数据更新
三、主要仪器及耗材
PC机
四、实验内容和步骤
掌握以下操作语句的一般格式:
1.GRANT<权限>[,<权限>]…
[ON<对象类型><对象名>]
TO<用户>[,<用户>]…
WITHGRANTOPTION;
2.REVOKE<权限>[,<权限>]…
ON<对象类型><对象名>]
FROM<用户>[,<用户>]…
内容:
1.验证教材提供的操作语句;
2.验证课堂教学中提供的操作语句;
3.根据要求设计操作语句完成相应功能;
4.实现教材课后习题8、9相应操作语句。
五、实验注意事项
对授权和收回权限的数据对象要明确。
六、参考文献
1.《数据库系统概论》王珊、萨师煊(第四版)高等教育出版社
2.《数据库系统原理与应用》陶树平主编科学出版社
3.《数据库系统原理学习指导和习题解答》王珊主编,高等教育出版社,2009年
4.《数据库系统导论(原书第8版)》C.J.Date著,孟小峰、王珊、姜芳艽等译,机械工业出版社,2007年7月
实验六数据的完整性控制
一、实验目的
使用SQL对数据进行完整性控制(三类完整性、CHECK短语、CONSTRAIN子句、触发器)。
二、实验原理
利用SQL语言的数据定义进行完整性控制
三、主要仪器及耗材
PC机
四、实验内容和步骤
掌握以下操作语句的一般格式:
CREATETABLE(<列名><数据类型>[列极完整性约束条件][,<列名><数据类型>[列极完整性约束条件]]…[,<表极完整性约束条件>])。
内容:
1.验证教材提供的操作语句;
2.验证课堂教学中提供的操作语句;
3.根据要求设计操作语句完成相应功能;
4.实现教材课后习题6相应操作语句。
五、实验注意事项
实验证实过程中,当操作违反了完整性约束条件时,系统是任何处理的。
六、参考文献
1.《数据库系统概论》王珊、萨师煊(第四版)高等教育出版社
2.《数据库系统原理与应用》陶树平主编科学出版社
3.《数据库系统原理学习指导和习题解答》王珊主编,高等教育出版社,2009年
4.《数据库系统导论(原书第8版)》C.J.Date著,孟小峰、王珊、姜芳艽等译,机械工业出版社,2007年7月
实验七数据库编程
一、实验目的
1.熟悉RDBMS的预编译程序;
2.通过嵌入式SQL(主语言为C语言)编程访问数据库。
二、实验原理
利用嵌入式SQL编程
三、主要仪器及耗材
PC机
四、实验内容和步骤
1.建立数据库连接的ESQL语句是
EXECSQLCONNECTTOTARGET[ASconnection-name][USERuser-name];
对应嵌入式SQL语句为
EXECSQLSETCONNECTIONconnection-name|DEFAULT;
2.关闭数据库连接的ESQL语句是
EXECSQLDISCONNECT[connection]。
内容:
1.运行本章所涉及的程序实例;
2.根据要求设计程序完成相应功能。
五、实验注意事项
建立数据库连接的语句ESQL的正确使用,并对程序做必要的注释。
六、参考文献
1.《数据库系统概论》王珊、萨师煊(第四版)高等教育出版社
2.《数据库系统原理与应用》陶树平主编科学出版社
3.《数据库系统原理学习指导和习题解答》王珊主编,高等教育出版社,2009年
4.《数据库系统导论(原书第8版)》C.J.Date著,孟小峰、王珊、姜芳艽等译,机械工业出版社,2007年7月