太原理工大学Oracle实验报告Word文档下载推荐.doc

上传人:wj 文档编号:6872804 上传时间:2023-05-07 格式:DOC 页数:48 大小:3.37MB
下载 相关 举报
太原理工大学Oracle实验报告Word文档下载推荐.doc_第1页
第1页 / 共48页
太原理工大学Oracle实验报告Word文档下载推荐.doc_第2页
第2页 / 共48页
太原理工大学Oracle实验报告Word文档下载推荐.doc_第3页
第3页 / 共48页
太原理工大学Oracle实验报告Word文档下载推荐.doc_第4页
第4页 / 共48页
太原理工大学Oracle实验报告Word文档下载推荐.doc_第5页
第5页 / 共48页
太原理工大学Oracle实验报告Word文档下载推荐.doc_第6页
第6页 / 共48页
太原理工大学Oracle实验报告Word文档下载推荐.doc_第7页
第7页 / 共48页
太原理工大学Oracle实验报告Word文档下载推荐.doc_第8页
第8页 / 共48页
太原理工大学Oracle实验报告Word文档下载推荐.doc_第9页
第9页 / 共48页
太原理工大学Oracle实验报告Word文档下载推荐.doc_第10页
第10页 / 共48页
太原理工大学Oracle实验报告Word文档下载推荐.doc_第11页
第11页 / 共48页
太原理工大学Oracle实验报告Word文档下载推荐.doc_第12页
第12页 / 共48页
太原理工大学Oracle实验报告Word文档下载推荐.doc_第13页
第13页 / 共48页
太原理工大学Oracle实验报告Word文档下载推荐.doc_第14页
第14页 / 共48页
太原理工大学Oracle实验报告Word文档下载推荐.doc_第15页
第15页 / 共48页
太原理工大学Oracle实验报告Word文档下载推荐.doc_第16页
第16页 / 共48页
太原理工大学Oracle实验报告Word文档下载推荐.doc_第17页
第17页 / 共48页
太原理工大学Oracle实验报告Word文档下载推荐.doc_第18页
第18页 / 共48页
太原理工大学Oracle实验报告Word文档下载推荐.doc_第19页
第19页 / 共48页
太原理工大学Oracle实验报告Word文档下载推荐.doc_第20页
第20页 / 共48页
亲,该文档总共48页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

太原理工大学Oracle实验报告Word文档下载推荐.doc

《太原理工大学Oracle实验报告Word文档下载推荐.doc》由会员分享,可在线阅读,更多相关《太原理工大学Oracle实验报告Word文档下载推荐.doc(48页珍藏版)》请在冰点文库上搜索。

太原理工大学Oracle实验报告Word文档下载推荐.doc

4、了解Oracle的基本数据类型。

5、学会使用DBCA创建数据库。

6、学会使用界面方式创建表。

7、学会使用SQL语句手工创建数据库。

8、学会使用SQL语句创建表。

1、首先要明确,能够创建数据库的用户必须是系统管理员,或是被授使用CREATE DATABASE语句的用户。

2、其次创建数据库必须要确定数据库名、所有者(及创建数据库的用户)、数据库大小、SGA分配和存储数据库文件。

3、然后,确定数据库包含哪些表以及所包含的各表的结构,还要了解Oracle11g的常用数据类型,以创建数据库的表。

4、此外还要了解两种常用的数据库、表的方法,即利用DBCA创建和使用PL/SQL的CREATEDATABASE语句创建。

二、实验内容和原理

创建企业管理的员工管理数据库YGGL,包含Employees(员工自然信息)表、Departments(部门信息)表和Salary(员工薪水情况)表。

各表的结构如下图所示。

表T1.1Employees表结构

列名

数据类型

长度

是否允许为空

说明

Employees

Char

6

×

员工编号,主键

Name

10

姓名

Birthday

Date

出生日期

Sex

Number

1

性别

Address

20

地址

Zip

邮编

PhoneNumber

12

电话号码

DpartmentID

3

员工部门号,外键

表T1.2Departments表结构

DepartmentID

部门编号,主键

DepartmentName

部门名

Note

Varchar2

100

备注

表T1.3Salary表结构

EmployeesID

InCome

8,2

收入

Outcome

Numer

支出

三、主要仪器设备

Pc电脑一台,并且安装好Oracle。

四、实验结果与分析

1.数据库的安装配置

安装的过程:

图1.1安装1

图1.2安装2

图1.3安装3

图1.4安装4

图1.5安装5

安装好后的界面

OEM的界面:

图1.6oem的登录界面

图1.7打开后的oem

SqlDeveloper的界面:

2.利用DBCA创建数据库

以下提示信息说明数据库YYGL创建成功。

3.在OEM中分别创建表

启动数据库YYGL的OEM页面,使用SYSTEM用户登录,在“方案”属性页中选择“表”,单击鼠标左键,再出现的“表搜索”页面上单击“创建”按钮,进入“创建表”页面,在该页面的各个选项卡上输入表Employees各个字段信息、约束条件、分区和存储情况等设置,单击“确定”按钮即可完成创建,Department和Salary的创建与上相同。

如上就是创建表的页面,当出现下图时,表示,创建成功。

如上图,表示Emploryees创建成功。

Departmens和Sarary的创建与Emploryees相同。

4.在OEM中删除已创建的表

点击“使用选项删除”出现下图:

选择第一项,并且选中删除所有引用完整性约束条件,就可以彻底删除表。

下面就用另一种工具SQLDeveloper去实现表的创建和删除!

3.在SQLDeveloper中创建表

(1)应该创建一个连接,也就是说用SQLDeveloper连接到YGGL数据库,连接成功后会提示连接成功,并且可以出现yggl_ora连接YGGL的所有列表,如图:

(2)展开yggl_ora连接,右击“Table”节点选择“NewTable”菜单项,在“CreateTable”窗口中输入表名Emploryees,选中“Adcanced”复选框,设置表Emploryees的各个列及约束条件,单击“确定”按钮完成表Emploryees。

完成好表的创建后,列表中就会有Emploryees的相应信息,如下图:

表Departments和表Salary的创建与创建表Emploryees相同。

4.使用SQLDeveloper删除表

展开“Table”节点,找到表Emploryees,右击鼠标,选择“Table”菜单项下的“Drop”子菜单项,在弹出的确认对话框中单击“应用”按钮即可删除Emploryees表。

如上图,点击“应用”后再“确定”就完成删除了!

5.使用PL/SQL语句创建表

打开SQL/Plus,连接到system,然后键入相应的创建表语句即可,如下图:

如上图所示,三个表都创建成功了,用PL/SQL删除表的操作是DROPTABLEtable_name,

在这里就不演示了,因为现在创建的表为下次实验使用。

五、讨论、心得

通过这一节的实验首先我学会了如何安装Oracle,安装后由于Oracle占用内存很大,所以还学会了启动Oracle所需要启动的服务,这样在不用Oracle的时候可以节省内存,提高计算机运行速率,再者就是学会了用Oracle提供的DBCA创建数据库,最后学会的是用三种工具如何创建和删除一张表,其中我认为虽然SQLDeveloper使用起来更方便,更高效,但是对于软件专业的我们必须熟练用SQL/Plus去执行各种命令,有时图形界面所提供的功能是很有限的,而且如果想要提高数据库的效率,有时在管理中为了不占用大量内存,只提供控制台的方式去管理数据库。

教师签字:

表的修改查询,视图操作,索引

一、实验目的和要求

1、学会使用PL/SQL语句对数据库表进行插入、修改和删除数据的操作。

2、学会使用SQL/Developer对数据库表进行插入、修改和删除数据的操作。

3、了解数据更新操作时要注意数据完整性。

4、了解PL/SQL语句对表数据操作的灵活控制功能。

1、掌握SELECT语句的基本语法。

2、掌握子查询的表示方法。

3、掌握链接查询的表示方法。

4、掌握数据汇总的方法。

5、掌握SELECT语句的GROUP BY子句的作用和使用方法。

6、掌握SELECT语句的ORDER BY子句的作用和使用方法。

7、掌握视图的使用方法。

1、了解SELECT语句的基本语法格式和执行方法。

2、了解子查询的表示方法、连接查询和数据汇总的方法。

3、了解SELECT语句的GROUPBY子句的作用和使用方法。

4、了解SELECT语句的ORDERBY子句的作用。

5、了解视图的作用和创建视图的方法。

6、了解视图的使用方法。

1、首先了解对表数据的插入、删除、修改都属于表数据的更新操作。

对表数据的操作可以在SQLDeveloper中进行,也可以有PL/SQL语句实现。

2、其次要掌握PL/SQL中用于对表数据进行插入、修改和删除的命令分别是INSERT、

UPDATE、DELETE(或TRANCATETABLE)。

3、要特别注意在执行插入、删除、修改等数据更新操作时,必须保证数据完整性。

4、此外,还要了解使用PL/SQL语句对表数据进行插入、修改及删除时,比在SQLDeveloper中操作表数据更灵活,功能更强大。

分别使用SQLDeveploper和PL/SQL语句,在实验1建立的数据库YGGL的三个表Employees、Departments和Salary中分别插入多行数据记录,然后修改和删除一些记录。

使用PL/SQL进行有限的修改和删除。

在实验1中,用于实验的YGGL数据库中的三个表已经建立,现在要讲各表的样本数据添加到表中。

样本数据如表T2.1、表T2.2和表T2.3所示。

表T2.1Employees表数据样本

编号

住址

部门号

000001

王林

1966-01-23

中山路32-1-508

210003

83355668

2

010008

伍容华

1976-03-28

北京东路100-2

210001

83321321

020010

王向容

1982-12-09

四牌楼10-0-108

210006

83792361

020018

李丽

1960-07-30

中山东路102-2

210002

83413301

102201

刘明

1972-10-18

虎距路100-2

83606608

5

102208

朱俊

1965-09-28

牌楼巷5-3-106

210004

84708817

108991

钟敏

1979-08-10

中山路10-3-106

83346722

111006

张石兵

1974-10-01

解放路34-1-203

210010

84563418

210678

林涛

1977-04-02

中山北路24-35

210008

83467336

302566

李玉珉

1968-09-20

热河路209-3

58765991

4

308759

叶凡

1978-11-18

北京西路3-7-52

83308901

504209

陈琳琳

1969-09-03

汉中路120-4-12

210018

84468158

表T2.2Departments表数据样本

部门名称

财务部

NULL

研发部

人力资源部

市场部

经理办公室

表T2.3Salary表数据样本

2100.8

123.09

3259.98

281.52

1582.62

88.03

2860.0

198.0

2569.88

185.65

2347.68

180.0

1987.01

79.58

2531.98

199.08

2066.15

108.0

2240.0

121.0

2980.7

210.2

1980.0

100.0

四、实验结果与分析

1.使用SQLDeveloper操作数据

用命令行的方式在Employees中插入数据,要注意先建立SQL文件,相当于SQl脚本,有了这个脚本语言,我们就不用每插一条记录就提供一条命令,而是可以把想插入的数据一次性的用脚本语言表达出来,如下图:

操作结果是Employees中插入例如所需要的数据,如图:

2.用SQLDeveloper图形界面的方式去插入数据

这是Departments表,用图形界面的方式插入,这样做的好处是比较直观,一旦插入之后很容易修改,效率更高。

3.用PL/SQL命令操作数据

如下图:

如上图,这是Salary表,看见很是繁琐,因为写完一行之后必须得执行,这样一行一行的写代码不能提高修改数据的效率,和第一种相比,感觉是差不多,总的来说命令行修改数据还是不容易,而且逻辑思维乱套的话很容易造成不必要的错误,下面看看输入这些命令后插入数据的情况,如下图:

这样三个表的数据已经插入数据成功!

4.使用PL/SQL命令修改表Salary中的某个记录的字段值

从上图可以看出更新的数据同步在SQLDeveloper中也改变了。

5.使用DELETE语句删除Salary表中一行记录。

从上图可以看书操作成功!

6.使用TRUNCATETABLE语句删除Salary表中所有行。

从上图中可以看出Salary中的所有记录都被删除了。

查询:

1.SELECT语句的基本使用

注意:

由于在PL/SQL中显示的行感觉很乱,而且使用setlinesize和setpagesize也起不到好的效果,所以这里就用SQLDeveloper中的命令行代替PL/SQL,其实效果是一样的。

(1)对于实验2给出的数据库表结构,查询每个雇员的所有数据。

(这里指查询表Employees,表Dpartments和表Salary的查询类似)

(2)查询每个雇员的地址和电话。

(3)查询EmployeesID问000001的雇员的地址和电话。

(4)查询Employees表中所有女雇员的地址和电话,是有as子句将结果中各列的标题分别指定为地址和电话。

(5)计算给个雇员的实际收入。

(6)找出所有姓王的雇员的部门号。

(7)找出所有收入在2000元~3000元之间的雇员号码。

2.子查询的使用

(1)查找财务部工作的雇员情况

(2)查找财务部年龄不低于所有研发部雇员年龄的雇员的名字。

这是我自己想的查询方法,不仅用了子查询,还用了把查询到的结果作为表来处理,有点而繁琐。

下面根据书中提供的答案对照一下。

从写的SQL语句来看,思路一致。

(3)查找比所有财务部的雇员收入都高的雇员的姓名。

3.连接查询

(1)查询每个雇员的情况及薪水的情况。

(2)查询财务部收入在2200元以上的雇员姓名及其薪水详情。

4.数据汇总

(1)求财务部雇员的平均收入

用书上的方法也可得出正确结果,如下图:

书上的方法采用的是子查询的方法,但是自我认为这种方法逻辑性很强,表少的话可以很容易的想到,但是当表过大的话用这种方法就显得比较繁琐,所以我觉的把所有的表整合起来查询比较好理解,而且条件也比较明了。

(2)求财务部雇员的平均实际收入。

这个题上上一个题没有什么区别只需要做很小的改动就OK了,如下图:

(3)求财务部雇员的总人数。

5.GROUPBY和ORDERBY子句的使用

(1)求各部门的雇员数。

书上的SQL语句只是简单的统计了一下各部门的人数,但没有对应各个部门人数的情况,表意不明确。

(2)将各雇员的情况按收入由低到高排列

在写之前先写一下思路,查询按两张表查询,然后根据题中所要求的按收入的由低到高排列,用到ORDERBY子句,如下图:

6.使用视图

(1)创建视图

限制查看雇员的某些情况。

并且在SQLDeveloperview下也有此视图

限制各部门经历只能查找本部门雇员的薪水情况,如限制财务部经理想查看自己部门雇员姓名及其薪水详情。

(2)使用视图

查询财务部雇员薪水情况

视图也可以限制查询。

查询雇员信息

向表Employees中插入一条记录

通过上图可知,插入成功!

将张无忌从经理办公室转到市场部

把张无忌从表Employees中删除

索引:

1.建立索引

对YGGL数据库中Employees表的DepartmentID列建立索引。

从上两个图可以看出,创建索引成功!

2.实现域完整性

为YGGL数据库中的Employees表的PhoneName列建立check约束

3.实现实体完整性

(1)创建一个新表Departments0

由上表可以看出Departments0id设为主键,并且取名为PK_Departments0。

(2)为表Departments0的Departments0name列建立唯一性索引

(4)实现参照完整性

在Employees表中的DepartmentID列建立外键

从这节实验中我学会了用两种不同的工具插入数据,因为在前期插入数据较多所以在这里我只说在插入数据时所遇到的问题,和解决的方案,当我用SQLDeveloper插入数据时很不留神的就点击了提交,结果在PL/SQL上查询的时候可以查询到所需要的结果,当我用PL/SQL插入数据时在SQLDeveloper中却找不到想得到的结果,而在PL/SQL中却能得到结果,然后我以为是电脑出问题了,重新启动后又是同样的问题,当自己要放弃的时候才想起自己在操作SQLDeveloper时每次都需要提交,之后我在PL/SQL键入commit后问题解决了,也许这就是这节实验最大的收获,因为自己明白了在更新数据时必须慎重,否则会出现意想不到的结果,所以Oracle才提供了提交机制,我不知道其他数据库有没有这种机制,但是很有必要!

但是truncate这个命令是不需要提交的,只要在PL/SQL执行后立即生效,唉,白写了很多数据....关于后边的删除记录和更新都是一个道理,挺好的,不知不觉又明白了一个小知识点。

但是,在SQLDeveloper中使用导入excle数据还有很多问题,解决了n长时间没有能够解决,希望在下几节实验中可以解决这个问题。

通过这节实验首先对我的逻辑思维是个考验,对于单表的各种查询还没问题,但对于多表查询逻辑性就相对有点儿高,但是通过不停的练习,在实验过程中基本不看答案,先写下自己的思路,然后在和书上的对照,这点在实验中可以看出,有些查询的思路基本和书上的不一致,还有一点我想说的是,这种查询的力度还远远不够,因为我涉及过将查询后的结果当成又一个表查询的,而且在条件相同的情况下,我们练习的只是一个字段相同,没有涉及到多个字段,最后我得到的一点启发是子查询在表很少的情况下用比较好,如果表较多的情况下建议不实用多级嵌套子查询,而是直接根据想等条件连接表。

视图这个概念在大二学习的时候不是很清晰,但通过本次实验也是颇有感想,他控制了用户对表的随意操作。

本次实验我学会了如何创建索引,如何实现完整性约束,如何修改约束条件,但是还是练习的有点儿少,而且对这节实验中建立索引后所涉及的参数有的不懂,还在迷糊阶段,总的来说还需在这个环节继续投入精力才能够掌握到一定程度!

0000000000

用户管理权限和显示游标

1、掌握数据库的安全性能。

2、掌握使用用户实现数据库安全性。

3、掌握使用概要文件实现数据库安全性。

1、了解数据库安全性管理。

2、了解数据库安全性包括的几个方面。

3、了解使用用户实现数据库安全性的方法。

4、了解使用角色实现数据库安全性的方法。

5、了解使用概要文件实现数据库安全性的方法。

1、了解游标的使用方法。

2、熟练使用游标。

二、主要仪器设备

三、实验内容与结果以及分析

说明:

这节实验用SQL/Plus来做,因为这节的实验结果数据量不大,而且提示信息简单,且运行方便。

1.创建用户

在YGGL数据库中创建一个用户MANAGER,授予DBA角色和SYSDBA系统权限,它可以代替system系统用户。

(1)创建用户,并初始化

(2)赋予用户权限

最后一个替代system系统用户不能授权,不知为何。

2.创建角色

在YGGL数据库中创建一个角色admin,授予dba角色和sysdba系统权限

(1)创建角色,并赋予密码

(2)授权

系统权限不能够授权,内置角色却可以授权。

3.创建概要文件

在YGGL数据库中创建概要文件YGGL—PROFILE并分配给用户manager

1.使用游标和loop循环来显示所有部门的名称;

如上图所示用游标打印出相关信息。

2.接受用户输入的部门编号,用for循环和游标,显示此部门的所有雇员的所有信息。

在对话框中输入1,得到上面的结果。

实验主要涉及到用户管理,或者说是系统管理,涉及到数据库的安全问题,我觉得学好管理学这个应该不是个问题,因为自我认为管理方式都是实际生活中的管理方式,我觉的还是得学精这些东西吧,在学校学习的时间真的很有限,感觉只学了一点点,但是基础是根本,打好这个基础以后学什么都变的很容易了!

通过这一节的实验我学会了如何使用游标,在实验过程中问题没有遇到什么,只是学会动态的输入变量的方法,总之还是得熟练!

创建存储过程和函数以及触发器

1、掌握变量的分类及其使用。

2、掌握各种运算符的使用。

3、掌握各种控制语句的使用

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

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2