数据库系统实验课实验报告.docx

上传人:b****6 文档编号:8035541 上传时间:2023-01-28 格式:DOCX 页数:15 大小:22.51KB
下载 相关 举报
数据库系统实验课实验报告.docx_第1页
第1页 / 共15页
数据库系统实验课实验报告.docx_第2页
第2页 / 共15页
数据库系统实验课实验报告.docx_第3页
第3页 / 共15页
数据库系统实验课实验报告.docx_第4页
第4页 / 共15页
数据库系统实验课实验报告.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

数据库系统实验课实验报告.docx

《数据库系统实验课实验报告.docx》由会员分享,可在线阅读,更多相关《数据库系统实验课实验报告.docx(15页珍藏版)》请在冰豆网上搜索。

数据库系统实验课实验报告.docx

数据库系统实验课实验报告

《数据库系统》实验报告

学号

姓名

实验时间

实验名称

Oracle环境及数据库创建

实验学时

2

准备材料

1.Oracle10G介绍资料

2.SQLPlus命令手册

3.Oracle数据字典

扩展实验

1.使用企业管理器登录Oracle服务器,观察系统架构及数据库

2.使用OEM创建、删除数据库

此部分内容不要求在实验至兀成,不用与入实验报口。

实验环境

Oracle9i(及以上版本)服务器

SQLPlus/SQLPlusworksheet客户端

实验目的

1.了解oracle系统架构

2.熟悉SQLPlus环境

实验内容

及步骤

1.使用SQLPlusWorksheet登录数据库系统(用户名密码由教师

指定)

2.浏览SQLPlus环境设置命令,并完成下列操作:

(1)察看SQLPlus环境参数

(2)设置输出页面的大小,每列字符数120,每页行数100,观

察设置结构

(3)设置显示每个sql语句花费的执行时间,并观察实验结果

(4)在SQLPlus中执行操作系统命令,例如copy文件、显示目录等,观

察结果。

(5)设置将系统输出数据写入文件,执行多个命令后观察文

件内容。

3.显示系统信息

(1)显示用户信息

(2)显示数据库版本信息

(3)显示数据库中所有表的名称

显示系统中某张表的结构信息(如EMP表)

(4)显示数据库中某张表的数据,如

4.建立磁盘文本文件,文件内写入几条观察执行结果。

EMP表

SQL命令,执行此文件,并

出现问题

解决方案

(列出遇到的问题及其解决方法)

《数据库系统》实验报告二

学号

姓名

实验时间

实验名称

数据库模式管理

实验学时

4

准备材料

1.SQLPlus命令手册

2.Oracle数据字典

3.Oracle中的数据类型

扩展实验

1.掌握在企业管理器(或其它图形界面的数据库操作工具)中进行表、索引的创建和管理的方法。

2.利用企业管理器(或其它图形界面的数据库操作工具)观察数据库的物理模式。

(此部分内容不要求在实验至兀成,不用与入头验报口。

实验环境

Oracle9i(及以上版本)服务器

SQLPlus/SQLPlusworksheet客户端

实验目的

1.掌握使用SQL语句进行表的创建和管理的方法

2.加深对关系数据库结构和数据完整性等概念的理解

实验内容

及步骤

1.创建书上university数据库中所有的表(student,course,

department,takes,instructor,advisor,prereq,teaches,classroom,section,timeslot),按书上要求设置每张表的主

键、外键,表中每个子段的类型、长度由学生自己确疋。

2.使用命令完成下列扣作

(1)查找用户所有表的表名

(2)查看每

张表的结构(要求把每张表的结构截图放到实验报告中)(3)查

看表takes的约束信息

3.修改表结构

(1)在instructor表中增加列存储教师家庭地址,其地址包括省、

市、区、街道、门牌号等列,列的数据类型自己给出,列允许为空。

⑵对student表中的姓名子段长度都改为10,设置是否成功原因是什么将该字段长度改为50,能否成功说明原因。

(3)为student表中tot_cred列设置默认值0,插入一个Comp.Sci.系的新学生,且不给其tot_cred列赋值,观察结果。

⑷student表中tot_cred列是对总学分的统计,现在数据库中没有记录哪些学生已选修课程学分已累加,哪些课程的学分还没有

累加。

设计一种方案记录已累加课程,防止出现重复累加的情况。

或者设计一种方案简化总学分的计算过程。

⑸删除takes表上对student表ID的外键约束,查看此约束已删除。

添加一个不存在的学生(id='0101')选修courseid

为’CS001的课程,并给他一个成绩(成绩值为:

A,B,C,D,

E或F)。

再添加takes表是对student表ID的外键约束,观察并解释实验结果。

(6)设置takes表ID,course_id,sec_id三个字段非空,是否能设

置成功,对插入数据有没有影响删除takes表主键约束,增加某同学选同一门课程(id,couese_id,sec_id,semester,year,grade都相同)的信息,能否插入成功解释原因。

4.参照表student建立一张空表student1。

要求用两种方法头现

(createtable;createtableas…)。

5.增加section表上的约束条件,要求所输入section的年号不大于当前年号+1,且不小于当前年号-2。

插入一条2009年秋CS-101开设课的信息,观察并解释实验结果。

6.选择某个约束,分别设置其有效、失效,观察区别。

出现问题

没有问题

解决方案

(列出遇到的问题及其解决方法)

《数据库系统》实验报告三

学号

姓名

实验时间

实验名称

数据查询

实验学时

4

准备材料

1.SQLPlus命令手册

2.Oracle数据字典

扩展实验

1.利用企业管理器的图形界面构造查询语句,并察看查询结果

2.利用企业管理器完成视图、索引的创建与使用。

3.利用DBMS进行对第三章习题所设计SQL语句的检查

(此部分内容不要求在实验至完成,不用与入实验报告。

实验环境

Oracle9i(及以上版本)服务器

SQLPlus/SQLPlusworksheet客户端

实验目的

1•掌握使用SQL语句进行数据查询的方法

2.掌握视图的创建与使用方法

3.观察索引的使用效果

实验内容

1.执行文件ddl+,创建数据库University中所有表。

执行文件,

及步骤

插入实验数据。

2.使用University数据库的数据库结构和数据(smallRelations

即可),完成下列查询:

(1)FindthenamesofcoursesinComputerscieneedepartmentwhichhave3credits

(2)ForthestudentwithID12345(oranyothervalue),showallcourse_idandtitleofallcoursesregisteredforbythestudent.

(3)Asabove,butshowthetotalnumberofcreditsforsuchcourses(takenbythatstudent).Don'tdisplaythetot_credsvaluefromthestudenttable,youshoulduseSQLaggregationoncoursestakenbythestudent.

(4)Asabove,butdisplaythetotalcreditsforeachofthe

students,alongwiththeIDofthestudent;don'tbotheraboutthenameofthestudent.(Don'tbotheraboutstudentswhohave

notregisteredforanycourse,theycanbeomitted)

(5)FindthenamesofallstudentswhohavetakenanyComp.

Sci.courseever(thereshouldbenoduplicatenames)

(6)DisplaytheIDsofallinstructorswhohavenevertaught

acouse(Notes1)Oracleusesthekeywordminusinplaceof

except;2)interpret"taught"as"taughtorisscheduledtoteach")

(7)Asabove,butdisplaythenamesoftheinstructorsalso,

notjusttheIDs.

(8)Findthemaximumandminimumenrollmentacrossallsections,consideringonlysectionsthathadsomeenrollment,don'tworryaboutthosethathadnostudentstakingthatsection

(9)AsinQuestion(8),butnowalsoincludesectionswithno

studentstakingthem;theenrollmentforsuchsectionsshouldbetreatedas0.Dothisintwodifferentways(andcreate

requiredatafortesting)1).Usingascalarsubquery2).Usingaggregationonaleftouterjoin(usetheSQLnaturalleftouterjoinsyntax)

(10)Findallcourseswhoseidentifierstartswiththestring"CS-101"

(11)Findinstructorswhohavetaughtalltheabovecourses

1).Usingthe"notexists...except..."structure2).Using

matchingofcountswhichwecoveredinclass(don'tforgetthedistinctclause!

3.TheuniversityrulesallowanFgradetobeoverriddenby

anypassgrade(A,B,C,D).Now,createaviewthatlists

informationaboutallfailgradesthathavenotbeenoverridden(theviewshouldcontainallattributesfromthetakes

relation).

4.Findallstudentswhohave2ormorenon-overriddenFgradesasperthetakesrelation,andlistthemalongwiththeF

出现问题

解决方案

(列出遇到的问题及其解决方法)

《数据库系统》实验报告四

学号

姓名

实验时间

实验名称

表数据管理

实验学时

2

准备材料

1.SQLPlus命令手册

2.Oracle数据字典

扩展实验

1.利用企业管理器的图形界面输入数据

2.利用企业管理器或PLSQLDeveloper导入、导出TXT文档、Excel

表格中的数据。

(此部分内容不要求在实验至兀成,不用与入头验报口。

实验环境

Oracle9i(及以上版本)服务器

SQLPlus/SQLPlusworksheet客户端

实验目的

1•掌握使用SQ语句对表进行插入、修改和删除数据的操作。

2.掌握索引创建与使用方法

实验内容

及步骤

1.执行文件ddl+,创建数据库University中所有表。

执行文件,

插入实验数据。

2.删除department表中'Physics'记录,观祭能否成功删除。

若不能删除,说明原因。

若能删除,观察有外关联的表中数据的变化。

3.插入一门新课,课程名Weeklyseminar,课号CS-001,由

Engineeringdepartment开出,学分1,观察实验结果,说明原因。

4.调整各系员工工资,原工资>50000的增加10%否则增加6%观察结果.

5.第3小题新插入的课程,课程名Weeklyseminar,课号CS-001,改为由'Comp.Sci.'开出,重新插入到course表中。

观察实验结果,说明原因。

6.假设全体Comp.Sci.学生都要选课“Weeklyseminar”,且课程要2013年秋季学期开出,增加课程开出信息、选课信息。

7.删除学生'Brown'的“Weeklyseminar”课程的选课记录。

8.假设学期末,教师给出课程“Weeklyseminar”的选课学生成绩单,请依据选课成绩给出每个学生学分。

9.将学生表中学分totcred>100的学生选出来放进对应系的

instructor表中,工资设置为10000.

10.找出并删除所有未被开出过的课程。

11.在表takes上course_id子段创建索引,观祭查询速度变化。

12.在takes表course_id子段上创建索引,试一试能否创建唯一性索引

出现问题

解决方案

(列出遇到的问题及其解决方法)

《数据库系统》实验报告五

姓名

实验时间

实验名称

权限与事务管理

实验学时

2

备材料

1.SQLPlus命令手册

2.Oracle数据字典

展实验

1.利用企业管理器的图形界面进行创建用户、角色并进行管理

2.利用企业管理器的图形界面完成对数据操纵权限的授权与回收工作

(此部分内容不要求在实验至完成,不用与入实验报口。

验环境

Oracle9i(及以上版本)服务器

SQLPlus/SQLPlusworksheet客户端

实验目的

1•掌握权限管理语句与视图进行安全性控制的方法

每两个同学一组,自由组合完成下列操作要求(使用grant,revoke语句和视图):

1.

验内容及步骤

执行教师提供的命令文件,建立university数据库,并输入数据。

2.同学A设置同学B对表具有查询权限,对表中salary字段具有更新权限;同学B查看元数据表,查找自己被子授权使用的数据。

3.同学B授权同学A对B.instructor表具有插入数据、删除数据的权限,同学

A用命令试验能否完成相应操作。

4.同学A授权同学B,对表具有修改表结构的权限,同学B得到修改表结构的命令验证授权是否成功。

5.同学B授权同学A对B.student表具有增、删、改、查的权限,并允许他将权限授权给其它同学。

同学A验证授权是否成功,并试验能否将权限授予其它同学(例如同学C)。

6.同学A收回授权同学B的student表上的所有权限,同学B验证是否回收成功。

7.同学A通过视图授权同学B具有察看每个部门职工最高、最低、平均工资的权

限,但不允许他察看每个人的工资。

同学B验证授权是否成功

8.同学A、B撤销所有已授给对方的权限,如果同学C从同学A得到对同学B

student表的访问权限,察看其权限是否一并收回。

9.事务查看使用如下命令,查看当前事务、会话情况:

(1)showparameterprocesses;

showparametersession;

(2)

selectname,type,value,display_value,isses_modifiable,issys_modifiable

fromv$parameter

wherename=sessions';

selectname,type,value,displayvalue,issesmodifiable,

issys_modifiable

fromv$parameter

wherename=processes';

SELECTFROMV$SESSION

WHERUSERNAME''

ORDERBYLOGON_TIME,SID;

SELECT,#

FROMV$PROCESSP

INNERJOINV$SESSIONSON=

whereuserenV(SESSIONID');

注:

此表可能学生没有权限查看,如果有兴趣,在自己电脑上试试。

10•事务提交方式有三种:

显式提交隐式提交和自动提交。

SQLPLUS中可通过命令可进行提交方式设置,设置不同提交方式。

事务命令有:

BEGINTRANSACTIONICOMMITROLLBACKSAVEPOINTRELEASESAVEPOINTSETISOLATIONLEVEL

事务隔离级别:

离层

错读|脏读

非重复读取|不可重复读

假读|幻读

READUNCOMMITTE非提交读)

READCOMMITTED!

交读)

RepeatableREAD(可重复读)

Serializable(串行读)

Oracle只支持eadcommitted、serializable和RepeatableREAD三种,不支持READUNCOMMITTED

完成下列和事务相关的操作:

(1)修改事务隔离级别(Settransactionisolationlevelreadcommitted、Settransactionisolationlevelserializable),A\B两同学一起操作同一张表,,B同学修改数据,A同学查询数据,查看在什么情况下可查看到B同学刚刚修改的数据。

(2)设置自动提交,AB同学同时操作同一张表的数据,察看是否可看到最新修改结果。

(3)B同学设置SAVEPOINT进行数据操作、rollback到该savepoint,A同学在各个步骤察

看数据变化情况。

在不同隔离级别下执行相同操作,察看数据的不同点。

出现问题

解决方案

(列出遇到的问题及其解决方法)

《数据库系统》实验报告六

学号

姓名

实验时间

实验名称

存储过程、函数和事务

实验学时

2

准备材料

1.SQLPlus命令手册

2.PL/SQL用户手册

3.实验教材中实验五、六

扩展实验

1.利用企业管理器完成存储过程和函数的定义、执行与管理操作

(此部分内容不要求在实验至完成,不用与入实验报口。

实验环境

Oracle9i(及以上版本)服务器

SQLPlus/SQLPlusworksheet客户端

实验目的

1熟悉PL/SQL语法

2.利用PL/SQL编程访问数据库

实验内容

及步骤

1.完成实验指导书实验五所有实验内容,掌握PL/SQL语言中数据

类型、变量、输入输出语句、分支、循环语句的基本用法

2.编与存储过程或函数,要求查询instructor和department表,

依据系名输出系名称、资产、所包含员工姓名等信息,并输出其所包含员工个数。

执行存储过程(执行时输入部门号参数),察看输

出结果是否正确

3.编写函数EmpSalStatics完成instructor工资情况统计,按<=1000,<=2000,<=5000,<=10000,>10000五种情况分别统计职工人数,并输出实验结果

4.与另一同学交换函数EmpSalStatics的执行权限、察看对方的

EmpSalStatics函数执行结果,并与自己的函数执行结果比较。

5.使用SQL命令察看存储过程和函数的信息

出现问题

解决方案

(列出遇到的问题及其解决方法)

《数据库系统》实验报告七

学号

姓名

实验时间

实验名称

触发器和事务

实验学时

2

准备材料

1.SQLPlus命令手册

2.PL/SQL用户手册

3.实验教材中实验五、七

扩展实验

1.利用企业管理器的图形界面完成触发器的创建与管理工作

(此部分内容不要求在实验至完成,不用与入实验报口。

实验环境

Oracle9i(及以上版本)服务器

SQLPlus/SQLPlusworksheet客户端

实验目的

1•掌握使用SQL语句进行触发器创建与管理操作的方法。

实验内容

及步骤

1.完成实验教材实验七的所有内容,实验习题、练习的内容写实验报告。

2.观察数据修改语句失败时系统中数据情况,说明数据一致性如何保持。

出现问题

解决方案

(列出遇到的问题及其解决方法)

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1