ImageVerifierCode 换一换
格式:DOCX , 页数:35 ,大小:26.30KB ,
资源ID:28164776      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/28164776.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(太原理工大学oracle大型数据库实验报告.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

太原理工大学oracle大型数据库实验报告.docx

1、太原理工大学oracle大型数据库实验报告本科实验报告课程名称: 大型数据库系统 实验项目: 创建数据库和表 实验地点: 多学科楼4506 专业班级:软件工程0901 学号:200 学生姓名: 指导教师: 2012年 4 月 17 日一、 实验目的和要求1. 了解数据库的结构以及一些基本概念。2. 了解表的结构特点。3. 了解Oracle 11g的基本数据类型。4. 学会使用DBCA创建数据库。5. 学会使用界面方式创建表。6. 学会使用SQL语句手工创建数据库。7. 学会使用SQL语句创建表。二、 实验内容和原理1. 能够创建数据库的用户必须是系统管理员,或是被授权使用CREATE DATA

2、BASE语句的用户。2. 创建数据库必须要确定数据库名、所有者(即创建数据库的用户)、数据库大小、SGA分配和存储数据库的文件。3. 确定数据库包含哪些表以及所包含的各表的结构,还要了解Oracle 11g的常用数据类型,以创建数据库的表。4. 创建企业管理的员工管理数据库YGGL,包含Employees(员工自然信息 )表、Departments(部门信息)表和Salary(员工薪水情况)表。各表的结构如下所示。表 Employees表结构列名数据类型长度是否允许为空值说明EmployeeIDChar6员工编号,主键NameChar10姓名BirthdayDate出生日期SexNumber1

3、性别AddressChar20地址ZipChar6邮编PhoneNumberChar12电话号码DepartmentChar3员工部门号、外键表 Departments表结构列名数据类型长度是否允许为空值说明DepartmentIDChar3部门编号、主键DepartmentNameChar20部门号NoteVarchar2100备注表 Salary表结构列名数据类型长度是否允许为空值说明EmplyeeIDChar6员工编号、主键InComeNumber8,2收入OutComeNumber8,2支出三、 主要仪器设备Windows XP/7、oracle 10g/11g四、 操作方法与实验步骤

4、1. 利用DBCA创建数据库1) 数据库名称为YGGL,它的全局数据库名称为YGGL。2) 控制文件三个,存放路径为,名称分别为、和。3) 重做日志文件三个,大小为100MB,存放路径为:,名称分别为、和。4) 创建临时表空间。5) 数字字符集为ZHS16GBK,国家字符集为AL16UTF16。6) 数据块大小为4KB。进入DBCA,根据其提示逐步完成数据库的创建工作。 实际情况,我以创建表空间代替。2. 利用DBCA删除数据库(实际不操作)3. 在OEM和利用sql语句分别创建表下面列出建表语句:/* 创建Departments表*/create table Departments( dep

5、artment_id char(3), department_name varchar2(20) not null, note varchar2(100), constraint departments_pk primary key(department_id)tablespace yggl;/* 创建Salary表*/create table Salary( employee_id char(6), income number(8, 2) not null, outcome number(8, 2) not null, constraint Salary_pk primary key(emp

6、loyee_id), constraint employee_id_foreign_key foreign key(employee_id) references employees(employee_id)tablespace yggl;五、 实验结果与分析创建表空间:以下为创建表,因为自己的命名习惯,对其中部分名称进行了修正,另外,一些数据的数据类型该用更合适的数据类型。创建employees表:利用sql语句建表也全部成功。六、 讨论、心得(可选)本次试验考察内容基本为数据定义语言,有数据库的创建(因为以前已建过了,所以这次我用名称空间代替),表的创建(图形化操作与sql语句操作)。差不

7、多就这样子,通过这次试验大概可以掌握oracle数据库的基本操作,主要有助于对其环境的熟悉。本科实验报告课程名称: 大型数据库系统 实验项目: 表数据插入、修改和删除 实验地点: 多学科楼4506 专业班级:软件工程0901 学号:20090学生姓名: 指导教师: 2012年 4 月 19 日一、 实验目的和要求1. 学会使用PL/SQL语句对数据库表进行插入、修改和删除数据操作。2. 学会使用SQL Developer对数据库表进行插入、修改和删除数据的操作。3. 了解数据更新操作时要注意数据完整性。4. 了解PL/SQL语句对表数据操作的灵活控制功能。二、 实验内容和原理1. 了解对表数据

8、的插入、删除、修改都属于表数据的更新操作。对表数据的操作可以在SQL Developer中进行,也可以由PL/SQL语句实现。2. 掌握PL/SQL语句中用于对表数据进行插入、修改和删除的命令分别是INSERT、UPDATE和DELETE(或TRANCATE TABLE)。3. 在执行插入、删除、修改等数据更新操作时,必须保证数据的完整性。4. 使用PL/SQL语句在对表数据进行插入、修改及删除时,比在OEM中操作表数据更为灵活,功能更强大。在实验1中,用于实验的YGGL数据库中的三个表已经建立,现在要将各表的样本数据添加到表中。样本数据如表、表和表所示。表 Employees表数据样本编号姓

9、名出生日期性别住址邮编电话号码部门号000001王林1966-01-231中山路32-1-5082100032010008伍容华1976-03-281北京东路100-22100011表 Departments表数据样本部门号部门名称备注部门号部门名称备注1财务部NULL4研发部NULL2人力资源部NULL5市场部NULL3经理办公室NULL表 Salary表数据样本编号收入支出编号收入支出000001108991010008020010102201020018三、 主要仪器设备WINDOWS XP/WINDOWS 7Oracle 10g/11g四、 操作方法与实验步骤分别使用SQL Devel

10、oper和PL/SQL语句,在实验1建立的数据库YGGL的表Employees、表Departments和表Salary中插入多行数据记录,然后修改和删除一些记录。使用PL/SQL命令进行有限制的修改和删除。(一) 使用SQL Developer操作数据启动SQL Developer,展开yggl_ora连接,单击”Employees”表,在左边窗口中选择”Data”选项卡。在此窗口中,单击”Insert row”按钮,表中将增加一个新行,在新行中双击一列空白处后输入新数据,输完后单击”Commit Changes”按钮,将数据保存到数据库中。修改数据的方法和添加数据类似,如果要删除一行数据,

11、选中该行数据,单击”Delete Selected Row(s)”按钮,之后该行的行号前会显示一个“”号,删除后单击”Commit Changes”按钮保存。(二) 使用PL/SQL命令操作数据1. 使用PL/SQL语句分别向YGGL数据库的表Employees、表Departments和表Salary中插入插入一行记录。在启动SQL*Plus窗口或SQL Developer的代码编辑窗口中,输入以下PL/SQL语句并执行:一下为对3个表的数据的所有插入语句:/* 向DEPARTMENTS表中插入数据样本*/insert into DEPARTMENTS values(001, 财务部, nu

12、ll);insert into DEPARTMENTS values(002, 人力资源部, null);INSERT INTO Departments VALUES(003,经理办公室,NULL);INSERT INTO Departments VALUES(004,研发部,NULL);INSERT INTO Departments VALUES(005,市场部,NULL);commit;/* 向employee表中插入数据样本*/insert into employees values(000001, 王林, to_date(1966-01-23, YYYY-MM-DD), 1, 中山路

13、32-1-508, 210003, , 002);INSERT INTO Employees VALUES(010008,伍容华,TO_DATE(,YYYYMMDD),1, 北京东路100-2,210001,001);insert into employees values(020010, 王向荣, to_date(1982-12-19, YYYY-MM-DD), 1, 四牌楼 10-0-108, 210006, , 001);INSERT INTO Employees VALUES(020018,李丽,TO_DATE(,YYYYMMDD),0, 中山东路102-2,210002, 001);

14、INSERT INTO Employees VALUES(102201,刘明,TO_DATE(,YYYYMMDD),1, 虎距路100-2,210013,005);INSERT INTO Employees VALUES(102208,朱俊,TO_DATE(,YYYYMMDD),1, 牌楼巷5-3-106,210004,005);INSERT INTo Employees VALUES(108991,钟敏,TO_DATE(,YYYYMMDD),0, 中山路10-3-105,210003,003);INSERT INTO Employees VALUES(111006,张石兵,TO_DATE(,

15、YYYYMMDD),1, 解放路34-1-203,210010,005);INSERT INTO Employees VALUES(210678,林涛,TO_DATE(,YYYYMMDD),1, 中山北路24-35,210008,003);INSERT INTo Employees VaLUES(302566,李玉珉,TO_DATE(,YYYYMMDD),1, 热和路209-3,210001,004);INSERT INTO Employees VALUES(308759,叶凡,TO_DATE(,YYYYMMDD),1, 北京西路3-7-52,210002,004);INSERT INTO E

16、mployees VALUES(504209,陈琳琳,TO_DATE(,YYYYMMDD),0, 汉中路120-4-12,210018,004);commit;/* 向Salary表中插入数据样本*/insert into Salary values(000001, , ;INSERT INTO Salary VALUES(010008,;INSERT INTO Salary VALUES(102201,;INSERT INTO Salary VALUES(111006,;INSERT INTO Salary VALUES(504209,;INSERT INTO Salary VALUES(3

17、02566,;INSERT INTO Salary VALUES(108991,;INSERT INTO Salary VALUES(020010,;INSERT INTO Salary VALUES(020018,;INSERT INTO Salary VALUES(308759,;INSERT INTO Salary VALUES(210678,;INSERT INTO Salary VALUES(102208,;commit;2. 使用PL/SQL命令修改表Salary中的某个记录的字段值。语句:/*update SALARY表*/UPDATE SALARY SET INCOME = 2

18、890 WHERE EMPLOYEE_ID = 000001;COMMIT;按回车键,执行上述语句,将编号为000001的职工收入改为2890.在OEM中打开YGGL数据库的Salary表,观察数据变化。3. 使用PL/SQL语句修改表Salary中的所有记录的字段值。在SQL*Plus界面中输入以下PL/SQL语句:语句/* 将其所有行的IMCOME加100*/UPDATE SALARY SET INCOME = INCOME + 100;COMMIT;按回车键,执行上述语句,将所有职工的收入增加100。可见,使用PL/SQL语句操作表数据比在SQL Developer中操作表数据更为灵活。

19、输入以下PL/SQL语句,观察数据变化。SELECT* FROM Salary;4. 使用DELETE语句删除Salary表中一行记录。/* 删除salary表中的一行记录*/DELETE FROM SALARY WHERE employee_id = 010008;COMMIT;5. 使用TRANCATE TABLE语句删除表中所有行。在SQL*Plus界面中输入以下PL/SQL语句:/*清空表*/delete from Salary;delete from employees;delete from departments;TRUNCATE TABLE SALARY;五、 实验结果与分析按

20、上述过程操作,试验结果均满足预期要求。六、 讨论、心得(可选)本次试验主要考察对表的数据的基本更新操作,即dml语言。通过对表的增删改操作熟悉对应的sql语句以及OEM操作。本科实验报告课程名称: 大型数据库系统 实验项目: 数据库的查询和视图 实验地点: 多学科楼506 专业班级:软件工程0901 学号:200900 学生姓名: 指导教师: 2012年 4月21日1、实验目的和要求1、掌握SELECT语句的基本语法2、掌握子查询的表示方法3、掌握连接查询的表示方法4、掌握数据汇总的方法5、掌握SELECT语句的GROUP BY子句的作用和使用方法6、掌握SELECT语句的ORDER BY子句

21、的作用和使用方法7、掌握视图的使用方法二、实验内容1. 了解SELECT语句的基本语法格式和执行方法2. 了解子查询的表示方法、连接查询和数据汇总的方法3. 了解SELECT语句的GROUP BY子句的作用和使用方法4. 了解SELECT语句的ORDER BY子句的作用5. 了解视图的作用和创建方法6. 了解视图的使用方法三、实验环境与设备 Win7、Oracle 11g四、操作方法与实验步骤1、SELECT语句的基本使用(1)对于实验2给出的数据库表结构,查询每个雇员的所有数据 在SQL*Plus窗口或SQL Developer中输入语句并执行 SELECT * FROM Employees

22、;SELECT * FROM Departments;SELECT * FROM Salary;(2)查询每个雇员的地址和电话 /* 查询每个雇员的地址和电话*/SELECT ADDRESS, PHONE_NUMBER FROM EMPLOYEES; (3)查询EmployeeID为000001的雇员的地址和电话 SELECT Address,PhoneNumber FROM Employees WHERE Employee_ID=000001; (4)查询Employees表中所有女雇员的地址和电话,使用AS子句将结果中各列的标题分别指定为地址和电话 SELECT Address AS 地址

23、,PhoneNumber AS 电话 FROM Employees WHERE sex=0;/* 查询每个女性雇员的地址和电话,并对列名重新命名*/SELECT ADDRESS as 地址, PHONE_NUMBER 电话 FROM EMPLOYEES WHERE SEX = 0; (5)计算ID号以10开头的雇员的实际收入 /* 计算ID号以10开头的雇员的实际收入*/SELECT employee_id, INCOME - OUTCOME AS 实际收入 FROM SALARY WHERE EMPLOYEE_ID LIKE 10%; 2、子查询的使用(1) 查找在财务部工作的雇员的情况SE

24、LECT * FROM EMPLOYEESWHERE Department_ID=(SELECT Department_IDFROM DepartmentsWHERE DepartmentName=财务部);(2) 查询财务部年龄不低于所有研发部雇员年龄的雇员的姓名/* 查找财务部年龄不低于所有研发部雇员年龄的雇员的姓名*/SELECT * FROM EMPLOYEES WHERE department_id IN ( SELECT DEPARTMENT_ID FROM departments WHERE department_name = 财务部 ) AND birthday = ALL (

25、 SELECT INCOME FROM SALARY WHERE EMPLOYEE_ID IN ( SELECT EMPLOYEE_ID FROM EMPLOYEES WHERE DEPARTMENT_ID = ( SELECT DEPARTMENT_ID FROM DEPARTMENTS WHERE DEPARTMENT_NAME = 财务部 ) ) ) )3、连接查询的使用 (1)查询每个雇员的情况以及其薪水的情况 SELECT Employees.*,Salary.* FROM Employees,Salary WHERE =; (2)查找财务部收入在2200元以上的雇员的姓名及其薪水详

26、情 /* 查找财务部收入在2200元以上的雇员姓名及其薪水详情*/SELECT name, INCOME, OUTCOME FROM EMPLOYEES, SALARY, DEPARTMENTS WHERE = AND = AND = 财务部 AND INCOME 2200;数据汇总(1) 求财务部雇员的平均收入/* 查找财务部雇员的平均收入*/SELECT AVG(INCOME) FROM SALARY, EMPLOYEES, DEPARTMENTS WHERE = AND = AND = 财务部;(2) 求财务部雇员的平均实际收入SELECT AVG(InCome-OutCome) AS

27、财务部平均实际收入 FROM Salary WHERE Employee_ID IN (SELECT Employee_ID FROM Employees WHERE Department_ID= (SELECT Department_ID FROM Departments WHERE Department_Name=财务部);(3) 求财务部雇员的总人数SELECT COUNT(Employee_ID) FROM Employees WHERE Department_ID= (SELECT Department_ID FROM Departments WHERE Department_Name=财务部);5、GROUP BY和ORDER BY子句的使用 (1)求各部门的雇员数 /*

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

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