数据库原理实验指导书(本科)

实验一 数据定义语言DDL(2学时)

一、 实验题目:数据定义语言DDL 二、 实验目的和要求 1、创建和定义表的结构 2、修改表的结构 3、插入数据

4、简单查询语句的使用 三、 实验内容

设有一个学生课程数据库,包括学生关系Student 、课程关系Course 、选修关系SC 。一个学生可选多门课,每门课可有多位学生选修。注意学号和课程号类型为字符。

Course

SC

属性类型:

1、确定主码, 外码。创建三个表,可用DESC 命令查看创建结果。 2、将数据插入数据库 。

3、使用简单查询语句查看输入的数据 四、 注意事项 五、 问题讨论

通过这次上机实践,你有哪些心得体会?

实验二 查询数据库(2学时)

一、 实验题目:查询数据库 二、 实验目的和要求

1. 使用SQL 语言完成对单表的简单查询 2. 对数据源为多表的复杂查询 3. 使用集函数

三、 实验内容

在实验二的基础上写出完成下列要求的SQL 语句:

(1)查询电子科学系(ES)全体学生的姓名。

(2)查询信息系(IS)、数学系(MA)和计算机科学系(CS)学生的姓名和性别。 (3)查询每个学生的学号、姓名、选修的课程名及成绩。 (4)列出姓张的学生的学号、姓名

(5)查询每门课程的课程号、最高成绩,最低成绩和平均成绩,结果按Cno 升序排列。

(6)查询1205014班的所有平均成绩高于80的学生的学号、平均成绩,结果按学号排序。

(7)查询每个学生的学号和已修的总学分。(注:成绩不及格就没有学分) (8) 查询每个学生的的学号、姓名、平均成绩,结果按平均成绩降序排列。 四、 注意事项 五、 问题讨论

通过这次上机实践,你有哪些心得体会?

实验三 修改数据库(2学时)

一、 实验题目:修改数据库 二、 实验目的和要求

1. 使用SQL 语言完成对数据库的修改

2. 使用SQL 语言完成对数据库的删除 3. 视图的创建与使用

三、

(1)将课程高等数学的学分改为4分。 (2)删除课程号为‘007’的课程。

(3)将所有选修了课程号为“003”的课程的学生的该门成绩改为原来的1.4倍。

(4)删除“王敏”的所有选课记录。 (5)找出每门课程的最高成绩,并创建一个表存放每门课程所对应的课程的课程号、最高成绩。从创建的表中查询数据 四、 注意事项

多个表之间存在参照完整性约束,修改与删除数据时要考虑先后次序 五、 问题讨论

通过这次上机实践,你有哪些心得体会?

实验四 结构化流程控制(4学时)

一、 实验题目:结构化流程控制 二、 实验目的和要求

1. 熟悉常用的字符函数、数值函数、日期函数 2. 熟悉常用的数据类型转换函数 3. 熟悉常用的一般函数 4. 匿名块的定义与使用

5. 条件控制和循环语句的使用 6. 游标的使用 三、 实验内容

1、字符函数的使用:字母大小写函数、首字母大写函数、字符串的连接、取子串,查找子串等

2、数值函数:舍入函数、截断函数、取模函数 3、日期函数

4、数据类型转换:字符、日期、数值三种数据之间的转换函数 5、其他函数:NVL,NVL2,DECODE 以及CASE 的使用

6、编写一个匿名块:给定一个分数,利用条件语句判断其等级。 7、编写一个匿名块:指定学号,查出学生的平均成绩。 8、编写一个匿名块:指定学号,使用游标查出该学生的所有课程的成绩。 9、给定课程号的起始编号,利用基本循环、WHILE 和FOR 三种循环语句向COURSE 表增加三个元组。

四、 注意事项

1、为了在控制台能查看DBMS_OUTPUT包的函数PUT_LINE的输出,需要先用

set serveroutput on 把控制台输出设置为打开状态。 2、在定义数据类型时,注意%TYPE和%ROWTYPE的使用。

3、利用循环向课程表中连续增加记录时,要注意所创建的course 表中课程

实验内容

号的数据类型,如果是char 型,在输入时需要用转换函数形成课程号,比如concat(‘00’,to_char(i)),其中i 为整型。 五、 问题讨论

通过这次上机实践,你有哪些心得体会?

实验五 存储过程与函数(2学时)

一、 实验题目:存储过程与函数 二、 实验目的和要求

1. 存储过程与函数、包的定义与使用 三、 实验内容

1、创建过程

(1)创建过程search_student 输入:学号

输出:用参数传递出该学生的基本信息 (2)创建过程insert_student 输入:一个学生的信息

要求在学生表中插入该学生的信息。 2、创建函数average_grade 输入:学号

返回:该学生的平均成绩 3、创建包main_student,

将1、2的过程和函数集成于其包中。

要求:定义针对学生信息的记录类型,并作为过程insert_student和search_student的参数类型 四、 注意事项

1、创建过程insert_student时,可将输入参数声明为记录型。 五、 问题讨论

通过这次上机实践,你有哪些心得体会?

实验六 数据库安全(4学时)

一、 实验题目:数据库安全 二、 实验目的和要求 1. 数据库安全技术使用 2. 会创建用户,角色 3. 会授权和回收权限 4. 使用触发器完成审计 三、 实验内容

1. 用system 登录后,创建数据库用户"cdtu_cs" ,不对该用户授权. 用cdtu_cs连接数据库。观察结果,并解决问题

2. 在1的基础上,使用用户"cdtu_cs"登录,创建student 表。观察结果,并解决问题。将数据插入到student 表。创建course 和sc 表并导

入数据。

3. 将DBA 角色授予用户"cdtu_cs",创建另一个用户"cdtu_cs_temp",将属于用户"cdtu_cs"的表的相关权限授予cdtu_cs_temp,对student 、course 、sc 可查询,对student 可插入数据,对sc 表可修改。

以用户"cdtu_cs_temp"身份重新登陆,对student 表、course 表和SC 表进行DML 操作,包括插入、修改和删除操作。观察结果,哪些成功,哪些不成功?注意访问cdtu_cs的表,要加前缀,比如cdtu_cs.student。 4. 以用户"cdtu_cs"身份登陆,撤销cdtu_cs_temp对student 表、course 表和SC 的权限。以"cdtu_cs_temp"身份登陆,仍对student 表、course 表和SC 进行DML 操作,观察结果

5. 以用户"cdtu_cs"身份登陆, 在数据库中创一个名为role_cdtu的数据库角色,授予该角色对student 表、course 表和SC 表的操作权限。授予用户"cdtu_cs_temp"角色" role_cdtu"。

以用户"cdtu_cs_temp"身份登陆,观察对student 表、course 表和SC 表的DML 操作。

6. 撤销cdtu_cs_temp拥有的role_cdtu角色,观察cdtu_cs_temp对student 表、course 表和SC 表的DML 操作。

7. 以"cdtu_cs"登录,授予cdtu_cs_temp用户对表course 执行select,insert,update 语句的对象权限, 并允许该用户将其权限授予其他用户,将create table的系统权限授予cdtu_cs_temp并可转授。创建用户cdtu_cs_temp2

以"cdtu_cs_temp"登录,将对表course 执行select,insert,update 语句的权限授予cdtu_cs_temp2。将create table 的权限授予cdtu_cs_temp2

以"cdtu_cs_temp2"登录,观察对student 表、course 表和SC 表的DML 操作。观察是否可创建一个新表。 8. 在7的基础上,以"cdtu_cs"登录,撤消cdtu_cs_temp用户对表course 执行select,insert,update 语句的权限。撤消cdtu_cs_temp拥有的create table系统权限 以"cdtu_cs_temp"登录,观察对student 表、course 表和SC 表的DML 操作。观察是否可创建新表 以"cdtu_cs_temp2"登录,观察对student 表、course 表和SC 表的DML 操作。观察是否可创建新表。

9. 创建表course_log(operation,oper_time,oper_user)记录对表course 的操作情况。

其中operation(操作) ,oper_user(用户)类型均为varchar2(50), oper_time(日期时间)类型为date, 主码为(operation,oper_time),operation 的可能值为delete,update ,或insert 创建语句级触发器完成对ourse 的操作审计。 四、 注意事项

1. 连接数据库需要有create session的权限 2. 创建表需要有create table的权限

3. 删除对象权限,存在级联删除的现象;删除系统权限时,不级联删除 4. oracle 中的系统变量SYSDATE 表示系统日期时间,user 表示当前用

户名

五、 问题讨论

通过这次上机实践,你有哪些心得体会?

实验七 数据库完整性(2学时)

一、 实验题目:数据库完整性 二、 实验目的和要求 1. 理解实体完整性

2. 理解引用完整性并实现 3. 理解自定义完整性

4. 使用触发器实现自定义完整性 三、 实验内容

1. 创建student 表、course 表和SC 表,三个表不定义主码和外码,向student 表、course 表插入重复数据,并观察结果。向SC 表插入选课记录,其学号和课程号并未在student 表、course 表出现过,观察结果。 2. 重新定义student 表、course 表和SC 表,要求定义了主码和外码。向student 表、course 表插入重复数据,并观察结果。向SC 表插入选课记录,其学号和课程号并未在student 表、course 表出现过,观察结果。

3. 在2的基础上,将正确数据导入三个表。删除student 表中的学生,若其学号被sc 中的数据引用,会发生什么结果?若其学号没有被sc 中的数据引用,会发生什么结果?

将sc 在sno 上的外码修改为级联删除,重复上面的内容并观察结果。 4. 删除course 表上的课程,若cno 被cpno 引用,观察cpno 值的变化 5. 将学生姓名上添加非空约束,在插入数据时不输入姓名,观察结果。 6. 将学生姓名上添加唯一约束,输入两个学生元组,其姓名相同。观察结果。

7. 在学生年龄上添加check 约束, 要求年龄大于等于17,小于等于40. 输入输入两个学生元组,其年龄分别为15和45,观察实验结果

8.使用触发器维护数据完整性

在student 表中添加列credit 用于保存总学分。当对sc 表添加元组时若其成绩大于等于60,则查询course 表并增加总学分。删除时,减少总学分。修改时,若成绩从小于60变为及格则增加总学分,否则总学分不变。

四、 注意事项 五、 问题讨论

通过这次上机实践,你有哪些心得体会?

实验九 CASE工具概念数据模型建模(4学时)

一、 目的与要求

2、学会使用域、数据项

3、使用PowerDesigner 建立E-R 图

二、 实验准备

1、硬件环境:PC 系列的微机。

2、软件环境: ①建模软件:PowerDesigner 12.5。

②操作系统:Windows 7。

三、 实验内容和步骤

1. 医院病房管理建模

某医院病房管理中有如下信息:

若干科室,科室有科名,科地址,科电话等性质,每个科室有不同的的科名; 若干病房,病房有病房号, 床位数,一个科室有多个病房,一个病房只能属于一个科室,一个病房可入住多个病人;

若干医生,医生有姓名,职称,年龄,工作证号,一个科室有多个医生一个医生只能属于一个科室,但可主管多个病人的诊治;

若干病人,病人有病历号,姓名,性别等信息,一个病人的主管医生只有一个。

其中,每个科室有不同的的科名;每个病人有不同的病历号 请设计该系统的E-R 图(CDM )。 2、学生与教师教学建模

(1)有若干班级,每个班级包括:班级号、班级名、人数、教室 (2)每个班级有若干学生,学生只能属于一个班,学生包括:学号、姓名、性别、年龄

(3)有若干教师,教师包括:编号、姓名、性别、年龄、职称 (4)开设若干课程,课程包括:课程号、课程名、课时、学分 (5)一门课程有多名学生选修,每名学生可选多门课。 请设计该系统的E-R 图。

四、 实验注意事项

1、建立模型时,注意先建立域,再建数据项,最后建立实体联系图。 2、数据项通过设置可以重用

五、 问题讨论

1、通过这次上机实践,你有哪些心得体会? 2、实验题中的设计为何没有考虑具体的DBMS ?

3、在PowerDesigner 12.5表示多对多的联系集有哪两种方式

实验十 CASE工具关系模型建模(2学时)

一、 目的与要求

2、使用PowerDesigner 建立关系模式

二、 实验准备

1、硬件环境:PC 系列的微机。

2、软件环境: ①建模软件:PowerDesigner 12.5。

②操作系统:Windows XP SP3

三、 实验内容和步骤

1. 医院病房管理建模

某医院病房管理中有如下信息:

若干科室,科室有科名,科地址,科电话等性质,每个科室有不同的的科名; 若干病房,病房有病房号, 床位数,一个科室有多个病房,一个病房只能属于一个科室,一个病房可入住多个病人;

若干医生,医生有姓名,职称,年龄,工作证号,一个科室有多个医生一个医生只能属于一个科室,但可主管多个病人的诊治;

若干病人,病人有病历号,姓名,性别等信息,一个病人的主管医生只有一个。

其中,每个科室有不同的的科名;每个病人有不同的病历号 1)请设计该系统的关系模式(PDM )。

2)将实验一第1小题的实验结果使用工具直接转换成关系模式,与1)比较不同之处。

2、学生与教师教学建模

(1)有若干班级,每个班级包括:班级号、班级名、专业、人数、教室 (2)每个班级有若干学生,学生只能属于一个班,学生包括:学号、姓名、性别、年龄

(3)有若干教师,教师包括:编号、姓名、性别、年龄、职称 (4)开设若干课程,课程包括:课程号、课程名、课时、学分 (5)一门课程可由多名教师任教,一名教师可任多门课程。 完成下列任务:

1)请设计该系统的关系模式(PDM )。

2)将实验九第2小题的实验结果使用工具直接转换成关系模式,与1)比较不同之处。

四、 实验注意事项

1、建立PDM 需要选择特定的DBMS 产品 2、数据项通过设置可以重用

3、使用工具将E-R 模式转换成关系模式时,要注意选项的设置。

五、 问题讨论

1、通过这次上机实践,你有哪些心得体会?

2、实验题中的设计中,选择不同的DBMS 后设计环境有哪些变化? 3、在PowerDesigner 12.5中直接设计的PDM 与将CDM 直接转换成的PDM 有区别

吗?


相关文章

  • 北京理工大学物联网工程专业培养计划
  • 北京理工大学 卓越工程师培养计划方案 物联网工程专业(本科) 目录 物联网工程专业本科(3+1)卓越工程师培养标准............................................................... 1物联网工程专业本科(3+1)卓越工程师培养方案..... ...

  • 空间信息与数字技术专业教学计划
  • 空间信息与数字技术专业教学计划 作者:文章来源:本站原创 点击数:1298 更新时间:2010-6-21 一.业务培养目标 本专业培养具有良好的科学素养.创新意识,具有信息管理基础.海洋信息技术理论基础.计算机科学和技术基础以及应用能力,较好地掌握信息系统分析与设计方法.海量信息处理技术.地理信息系 ...

  • 弹药工程与爆炸技术
  • 江苏省特色专业(2) 1 2 3 4 5 6 7 8 910 11 12 13 14 江苏省特色专业 - 弹药工程与爆炸技术 专业代码 081603 专业方向 目标毁伤机理及终点效应.弹药设计理论.爆炸技术 首届毕业生时间 1957 年 1. 专业负责人基本情况 姓 名 赵国志 教授.博导 社会兼职 ...

  • 20**年普通高等学校本科专业介绍-物联网工程专业
  • 普通高等学校本科专业介绍(2012版) 080905物联网工程 一.培养目标 本专业培养德.智.体等方面全面发展,掌握数学和其他相关的自然科学基础知识以及和物联网相关的计算机.通信和传感的基本理论.基本知识.基本技能和基本方法,具有较强的专业能力和良好外语运用能力,能胜任物联网相关技术的研发及物联网 ...

  • 20**年湖北省自考实践性考核安排
  • 2010年湖北省自考实践性考核安排 专业名称 英语(本) 00602 口译 英语教育 与听力 (本) 2010年十月二十九 日报名,十月三十日 英语(专) 考核 英语教育(专) 法律(本)19999法律毕 行政管理学(本) 基础教育 09910基础教 (中文) 育(中文)毕 (本) 业考核 英语(本 ...

  • 大学介绍2
  • 杭州电子科技大学 杭州电子科技大学是一所电子信息特色突出,经管学科优势明显,工.理.经.管.文.法.教.艺等多学科相互渗透的教学研究型大学.学校是浙江省与国防科技工业局共建高校,是国防科工委共建高校中第一所信息技术类高校,学校位于浙江省杭州市. 学校先后隶属于第二机械工业部.第四机械工业部.电子工业 ...

  • 天津大学药学综合和导师
  • 药物科学与技术学院于2000年7月成立,2001年4月正式招生.学院吸引了一批以归国中青年学者为主体的教学和科研精英.组建了一支以具有世界眼光的学科带头人为领队的高素质.高水平的教学与科研队伍.在教学上,学院坚持以新思维和新理念指导办学,汲取国外先进教学方法,积极推行双语教学,努力培养具有创新能力. ...

  • 电信学院培养方案
  • 西安工程大学 学术型硕士研究生培养方案 (专业名称:电力电子与电力传动) (专业代码:080804) 一.培养目标 本学科专业培养能够从事电力电子与电力传动方面的教学.科研.产品开发.工程设计和技术管理等相关工作的高层次人才.学位获得者应具备坚实的基础理论和宽广的专业知识:较为熟练地掌握一门外国语: ...

  • 多功能摩擦磨损试验机结构设计
  • 多功能摩擦磨损试验机结构设计 StructureofMultifunctionalFrictionWearTestingMachineFunction 李桃山王保山朱汉辉 LiTaoshanWangBaoshanZhuHanhui(南昌航空大学,江西南昌330063) (NanchangHangko ...

© 2024 范文中心 | 联系我们 webmaster# onjobs.com.cn