大型数据库oracle实验报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验报告课程名称:大型数据库系统实验项目:数据库实验实验地点:逸夫楼502专业班级:软件12xx学号:201200xxxx学生姓名:xx指导教师:宋成明2015年4月11日实验1创建数据库和表及表数据的插入、修改和删除一、实验目的和要求1.学会使用SQL语句手工出创建数据库,创建表;2.学会使用PL/SQL语句对数据库表进行插入、修改和删除数据的操作;3.学会使用SQLDEVELOPER对数据库表进行插入、修改和删除数据的操作;4.了解数据更新操作时要注意数据完整性;5.了解PL/SQL语句对表数据操作的灵活控制功能。二、实验内容和原理分别使用SQLDeveloper和PL/SQL语句,在实验二建立的数据库YGGL或实验一随安装Oracle11g时建立的数据库中所建立的三个表Employees,Departments和Salary中分别插入多行数据记录,然后修改和删除一些记录。使用PL/SQL进行有限制的修改和删除。表的内容如教材p311页所示。使用PL/SQL命令操作数据。内容如教材p312页所要求,给出相应语句段及结果截图。三、主要仪器设备——系统运行的软硬件环境1.HP6470b笔记本win732位系统2.Oracle11g大型数据库及其相应的配套软件四、实验结果与分析1.在scott用户中创建表(1)Employees(员工信息表)表createtableEmployees(EmployeeIDchar(6)primarykey,Namechar(10)notnull,Birthdaydatenotnull,Sexnumber(1)notnull,Addresschar(20),Zipchar(6),PhoneNumberchar(12),DepartmentIDchar(3)notnull);查看创建后的Employees表(2)Departments(部门信息)表createtableDepartments(DepartmentIDchar(3)primarykey,DepartmentNamechar(20)notnull,Notevarchar2(100));查看创建后的Departments表(3)Salary(员工薪水情况)表createtableSalary(EmployeeIdchar(6)primarykey,InComenumber(8,2)notnull,OutComenumber(8,2)notnull);查看创建后的Salary表2.向表中插入数据(1)在Employees表中插入数据insertintoemployeesvalues('000001','王林',to_date('19960123','YYYYMMDD'),1,'中山路32',210003,83355668,2);insertintoemployeesvalues('010008','吴荣华',to_date('19760123','YYYYMMDD'),1,'北京东路',210001,83321321,1);insertintoemployeesvalues('020010','王向荣',to_date('19821209','YYYYMMDD'),1,'四牌楼',210006,83792361,1);insertintoemployeesvalues('020018','李丽',to_date('19600730','YYYYMMDD'),0,'中山东路',210002,83413301,1);insertintoemployeesvalues('102201','刘明',to_date('19721018','YYYYMMDD'),1,'虎踞路',210013,83606608,5);insertintoemployeesvalues('102208','朱俊',to_date('19650928','YYYYMMDD'),1,'牌楼巷',210004,84708817,5);insertintoemployeesvalues('108991','钟敏',to_date('19790810','YYYYMMDD'),0,'中山路10',210003,83346722,3);insertintoemployeesvalues('111006','张石兵',to_date('19741001','YYYYMMDD'),1,'解放路',210010,84563418,5);insertintoemployeesvalues('210678','林涛',to_date('19770402','YYYYMMDD'),1,'中山北路',210008,83467336,3);insertintoemployeesvalues('302566','李玉珉',to_date('19680920','YYYYMMDD'),1,'热河路',210001,58765991,4);insertintoemployeesvalues('308759','叶凡',to_date('19781118','YYYYMMDD'),1,'北京西路',210002,83308901,4);insertintoemployeesvalues('504209','陈林琳',to_date('19690903','YYYYMMDD'),1,'汉中路',210018,84468158,4);查看插入数据后的Employees表(2)在Departments表中插入数据insertintoDepartmentsvalues('1','财务部','null');insertintoDepartmentsvalues('2','人力资源部','null');insertintoDepartmentsvalues('3','经理办公室','null');insertintoDepartmentsvalues('4','研发部','null');insertintoDepartmentsvalues('5','市场部','null');查看插入数据后的Departments表(3)在Salary表中插入数据insertintoSalaryvalues('000001',2100.8,123.09);insertintoSalaryvalues('010008',1582.62,88.03);insertintoSalaryvalues('102201',2569.88,185.65);insertintoSalaryvalues('111006',1987.01,79.58);insertintoSalaryvalues('504209',2066.15,108.0);insertintoSalaryvalues('302566',2980.7,210.2);insertintoSalaryvalues('108991',3259.98,281.52);insertintoSalaryvalues('020010',2860.0,198.0);insertintoSalaryvalues('020018',2347.68,180.0);insertintoSalaryvalues('308759',2531.98,199.08);insertintoSalaryvalues('210678',2240.0,121.0);insertintoSalaryvalues('102208',1980.0,100.0);查看插入数据后的Salary表3.在表中修改数据例如:修改表Salary中某个记录的字段值updateSalarysetINCOME=2890.5whereEmployeeID='000001';查看修改后的数据4.在表中删除数据例如:删除表Salary中一行记录deletefromSalarywhereEmployeeID='000001';查看删除后的数据五、讨论、心得通过本次实验,对oracle的PL/SQL数据库建立语句、建表语句以及数据操作语句DML有了更加熟练的掌握和操作。实验2数据库的查询、视图、索引及完整性一、实验目的和要求1.掌握SELECT语句的基本语法;2.掌握子查询的表示方法;掌握连接查询的表示方法;3.掌握数据汇总的方法;掌握SELECT语句的GROUPBY子句的作用和使用方法;4.掌握SELECT语句的ORDERBY子句的作用和使用方法;5.掌握视图的使用方法。6.掌握索引的使用方法。7.掌握数据完整性的概念及分类。8.掌握各种数据完整性的实现方法。二、实验内容和原理1、SELECT语句的基本使用按照教材p313-p314的内容和步骤完成实验内容。给出相应语句段和结果的对应截图。2、子查询的使用按照教材p314-p315的内容和步骤完成实验内容。给出相应语句段和结果的对应截图。3、连接查询的使用按照教材p315的内容和步骤完成实验内容。给出相应语句段和结果的对应截图。4、数据汇总按照教材p315-p316的内容和步骤完成实验内容。给出相应语句段和结果的对应截图。5、GROUPBY和ORDERBY子句的使用按照教材p316-p317的内容和步骤完成实验内容。给出相应语句段和结果的对应截图。6、使用视图按照教材p317的内容和步骤完成实验内容。给出相应语句段和结果的对应截图。教材中的思考与练习部分可略去。三、主要仪器设备——系统运行的软硬件环境1.HP6470b笔记本win732位系统2.Oracle11g大型数据库及其相应的配套软件四、实验结果与分析1、select语句的基本使用(1)查询Employees表select*fromEmployees;(2)查询每个雇员的的地址和电话selectAddress,PhoneNumberfromEmployees;(3)查询EmployeeID为000001的雇员地址和电话selectAddress,PhoneNumberfromEmployeeswhereEmployeeID='000001';(4)查询Employees表中所有女雇员的地址和电话selectAddress地址,PhoneNumber电话fromEmployeeswheresex=0;(5)计算每个雇员的实际收入selectEmployeeID,InCome-OutCome实际收入fromSalary;(6)找出所有姓王的雇员的部门号selectDepartmentIDfromEmployeeswhereNamelike'王%';(7)找出所有收入在2000元到3000元之间的雇员号码selectEmployeeIDfromSalarywhereInComebetween2000and3000;2、子查询使用查找在财务部工作的雇员情况select*fromEmployeeswhereDepartmentID=(selectDepartmentIDfromDepartmentswhereDepartmentName='财务部');3、连接子查询的使用查询每个雇员的情况以及薪水情况select*fromEmployeesejoinSalaryson(e.EmployeeID=s.EmployeeID);4、数据汇总求财务部雇员的平均收入selectavg(InCome)财务部平均工资fromSalarywhereEmployeeIDin(selectEmployeeIDfromEmployeeswhereDepartmentID=(selectDepartmentIDfromDepartmentswhereDepartmentName='财务部'));5、groupby和orderby子句的使用(1)求各部门的雇员数selectcount(DepartmentID)fromEmployeesgroupbyDepartmentID;(2)将各雇员的情况按收入由低到高排序select*fromEmployeesejoinSa

1 / 14
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功