您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 《大型数据库系统》实验报告
实验报告实践报告□课程名称:大型数据库系统实验名称:Oracle11g实验实验地点:行勉楼C310专业班级:软件1520班学号:2015006099学生姓名:邱聪聪指导教师:杨艳丽2018年6月20日实验1创建数据库和表一、实验目的和要求(1)了解数据库的结构以及一些基本概念;(2)了解表的结果特点;(3)了解Oracle11g的基本数据类型;(4)学会使用DBCA创建数据库;(5)学会使用界面方式创建表;(6)学会使用SQL语句手工创建数据库;(7)学会使用SQL语句创建表。二、实验内容和原理首先要明确,能够创建数据库的用户必须是系统管理员,或是被授权使用CREATEDATABASE语句的用户。其次创建数据库必须要确定数据库名、所有者(即创建数据库的用户)、数据库大小、SGA分配和存储数据库的文件。然后,确定数据库包含哪些表以及所包含的各表的结构,还要了解Oracle10g的常用数据类型,以创建数据库的表。此外还要了解两种常用的创建数据库、表的方法,即利用DBCA创建和使用PL/SQL的CREATEDATABASE语句创建。三、主要仪器设备笔记本电脑Windows7系统四、实验结果与分析1.创建企业管理的员工管理数据库YGGL,包含Employees(员工自然信息)表、Department(部门信息)表和Salary(员工薪水情况)表。2.在SQLDeveloper中创建表图1-1创建Employees表图1-2创建Departments表图1-3创建Salary表3.在SQLDeveloper中删除表删除Employees表,Departments,Salary表,结果依次如下图所示:图1-4删除Employees表图1-5删除Departments表图1-6删除Salary表4.使用PL/SQL语句创建表。CREATETABLEEMPLOYEES(EMPLOYEEIDCHAR(6)NOTNULLPRIMARYKEY,NAMECHAR(10)NOTNULL,BIRTHDAYDATENOTNULL,SEXNUMBER(1)NOTNULL,ADDRESSCHAR(20)NULL,ZIPCHAR(6)NULL,PHONENUMBERCHAR(12)NULL,DEPARTMENTIDCHAR(3)NOTNULL);图1-7创建Employees表CREATETABLEDEPARTMENTS(DEPARTMENTIDCHAR(3)NOTNULLPRIMARYKEY,DEPARTMENTNAMECHAR(20)NOTNULL,NOTEVARCHAR2(100)NULL);图1-8创建Departments表CREATETABLESALARY(EMPLOYEEIDCHAR(6)NOTNULLPRIMARYKEY,INCOMENUMBER(8,2)NOTNULL,OUTCOMENUMBER(8,2)NOTNULL);图1-9创建Salary表五、实验心得实验1成功完成了书上的例子,会使用ORACLE创建数据库和表,创建数据库和创建表格都使用了两种办法,PL/SQL命令和SQLDeveloper方式创建表,使用DBCA创建数据库,掌握并熟悉了ORACLE11g的基本操作。实验2表数据插入、修改和删除一、实验目的和要求(1)学会使用PL/SQL语句对数据库表进行插入、修改和删除数据的操作;(2)学会使用SQLDeveloper对数据库表进行插入、修改和删除数据的操作;;(3)了解PL/SQL语句对表数据操作的灵活控制功能;二、实验内容和原理首先了解对表数据的插入、删除、修改都属于表数据的更新操作。对表数据的操作可以再SQLDeveloper中进行,也可以在PL/SQL语句实现。其次要掌握PL/SQL中用于对表数据进行插入、修改和删除的命令分别是INSERT、UPDATE和DELETE(或TRANCATETABLE)要特别注意在执行插入、删除、修改等数据更新操作时,必须保证数据完整性。此外,还要了解使用PL/SQL语句在表数据进行插入、修改及删除时,比在SQLDeveloper中操作表数据更灵活,功能更强大。在上个实验中,用于实验的YGGL数据库中的三个表已经建立,现在要将各表的样本数据添加到表中,样本数据如下表所示。三、主要仪器设备笔记本电脑Windows7系统四、实验结果与分析分别使用SQLDeveloper和PL/SQL语句。在实验1建立的数据库YGGL的三个表Emplouees、Departments和Salary中分别插入多行数据记录,然后修改和删除一些记录。使用PL/SQL进行有限制的修改的删除。1.使用PL/SQL命令操作数据(1)使用PL/SQL命令分别向Employees、Departments和Salary表中插入一行记录。在启动SQL*PLUS窗口中输入以下PL/SQL语句并执行。INSERTINTOEmployeesVALUES('011112','罗林',TO_DATE('19780626','YYYYMMDD'),1,'解放路100号',210002,4055663,5);图2-1使用命令行语句插入数据到Employees表图2-2插入数据后的Employees表INSERTINTODepartmentsVALUES('6','公关部',NULL);图2-3使用命令行语句插入数据到Departments表图2-4插入数据后的Departments表INSERTINTOSalaryVALUES('011112',4200.09,1050);图2-5使用命令行语句插入数据到Salary表图2-6插入数据后的Salary表(2)使用PL/SQL命令命令修改表Salary中的某个记录的字段值。UPDATESalarySETInCome=5890WHEREEmployeeID='011112';图2-7修改Salary表中的某记录的字段值(3)修改表employees和表departments的记录值,注意完整性。UPDATEEmployeesSETAddress='太原理工大学'WHEREEmployeeID='011112';select*fromEmployees;图2-8修改Employees表中的字段值UPDATEDepartmentsSETDepartmentname='中情局'WHEREDepartmentID=2;select*fromDepartments;图2-9修改Departments表中的字段值(4)使用PL/SQL命令修改表Salary中的所有记录的字段值。UPDATESalarySETInCome=InCome+100;图2-10修改Salary表中的所有记录的字段值(5)使用DELETE语句删除Salary表中一行记录。查询删除前后对比。DELETEfromSalaryWhereEmployeeID='011112';图2-11使用DELETE语句删除Salary表中的一行记录(6)使用TRANCATETABLE语句删除表中所有行。TRUNCATETABLESalary;图2-12使用TRANCATETABLE语句删除Salary表中的所有行五、实验心得通过本实验学会使用了SQLDeveloper和PL/SQL语句对数据表进行插入、修改、删除数据操作,并且体会到了PL/SQL语句对表数据操作的灵活性。实验3数据库的查询和视图一、实验目的和要求(1)掌握SELECT语句的基本语法;(2)掌握子查询的表示方法;(3)掌握连接查询的表示方法;(4)掌握数据汇总的方法;(5)掌握SELECT语句的GROUPBY子句的作用和使用方法;(6)掌握SELECT语句的ORDERBY子句的作用和使用方法;(7)掌握视图的使用方法。二、实验内容和原理(1)了解SELECT语句的基本语法格式和执行方法;(2)了解子查询的镖师方法、连接查询和数据汇总的方法。(3)了解SELECT语句的GROUPBY子句的作用和使用方法。(4)了解视图的作用和创建视图的方法。(5)了解视图的使用方法。三、主要仪器设备笔记本电脑Windows7系统四、实验结果与分析1、SELECT语句的基本使用;(1)对于实验2给出的数据库表结构,查询每个雇员的所有数据。图3-1数据库表结构图3-2DEPARTMENTS表图3-3查询结果(2)查询每个雇员的地址和电话SELECTADDRESS,PHONENUMBERFROMEMPLOYEES;图3-4查询每个雇员的地址和电话(3)查询EMPLOYEEID为000001的雇员的地址和电话。SELECTADDRESS,PHONENUMBERFROMEMPLOYEESWHEREEMPLOYEEID='102201';图3-5查询EMPLOYEEID为000001的雇员的地址和电话(4)查询EMPLOYEES表中所有女雇员的地址和电话,使用AS子句将结果中各列的标题分别指定为地址和电话。SELECTADDRESSAS地址,PHONENUMBERAS电话FROMEMPLOYEESWHERESEX=0;图3-6查询结果(5)计算每个雇员的实际收入SQLSELECTEMPLOYEEID,INCOME-OUTCOMEAS实际收入FROMSALARY;图3-7计算每个雇员的实际收入(6)找出所有姓王的雇员的部门号。SELECTDepartmentIDFROMEmployeesWHEREnameLIKE'王%';图3-8查询所有姓王雇员的部门号(7)找出所有收入在5000元到6000元之间的雇员的号码及部门号。SELECTEMPLOYEEIDFROMSALARYWHEREINCOMEBETWEEN5000AND6000;图3-9找出所有收入在5000元到6000元之间的雇员的号码及部门号2、子查询的使用;(1)查找在财务部工作的雇员的情况SELECT*FROMEMPLOYEESWHEREDEPARTMENTID=(SELECTDEPARTMENTIDFROMDEPARTMENTSWHEREDEPARTMENTNAME='财务部');图3-10查找在财务部工作的雇员的情况(2)查找财务部年龄不低于所有研发部雇员年龄的雇员的姓名。SELECTNAMEFROMEMPLOYEESWHEREDEPARTMENTIDIN(SELECTDEPARTMENTIDFROMDEPARTMENTSWHEREDEPARTMENTNAME='财务部')ANDBIRTHDAY=ALL(SELECTBIRTHDAYFROMEMPLOYEESWHEREDEPARTMENTIDIN(SELECTDEPARTMENTIDFROMDEPARTMENTSWHEREDEPARTMENTNAME='研发部'));图3-11查找财务部年龄不低于所有研发部雇员年龄的雇员的姓名(3)查找比所有财务部的雇员收入都高得雇员的姓名。SELECTNAMEFROMEMPLOYEESWHEREEMPLOYEEIDIN(SELECTEMPLOYEEIDFROMSALARYWHEREINCOMEALL(SELECTINCOMEFROMSALARYWHEREEMPLOYEEIDIN(SELECTEMPLOYEEIDFROMEMPLOYEESWHEREDEPARTMENTID=(SELECTDEPARTMENTIDFROMDEPARTMENTSWHEREDEPARTMENTNAME='财务部'))));图3-12查找比所有财务部的雇员收入都高得雇员的姓名3、连接查询的使用;(1)查询每个雇员的情况以及其薪水的情况。SELECTEMPLOYEES.*,SALARY.*FROMEMPLOYEES,SALARYWHEREEMPLOYEES.EMPLOYEEID=SALARY.EMPLOYEEID;图3-13查询每个雇员的情况以及其薪水的情况(2)查找财务部收入在5200元以上的雇员姓名及其薪水详情。SELECTNAME,INCOME,OUTCOMEFROMEMPLOYEE
本文标题:《大型数据库系统》实验报告
链接地址:https://www.777doc.com/doc-2604435 .html