




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大型数据库(Oracle)教师实验报告指导老师:周友学适用班级:信B1171/722012年8月25日 制定实验一Oracle安装与维护一、实验目的1.了解并掌握Oracle 10的安装方法2.了解并掌握测试安装好的Oracle 10g的方法二、实验内容及步骤1.软件下载Oracle公司针对个人学习之用提供免费的学习版本,可直接到Oracle公司的官方网站上免费下载。2.安装步骤(1) 运行setup.exe,出现“Oracle Database 10g安装”画面。(2) “下一步”进入“Oracle Universal Installer:指定文件位置”, 设置源“路径”、“名称”和目的“路径”。(3) “下一步” 进入“Oracle Universal Installer:选择安装类型”,选择安装类型。 (4) 保持默认值,下一步,进入“Oracle Universal Installer:选择数据库配置”,选择数据库配置。(5) 保持默认值,下一步,进入“Oracle Universal Installer:指定数据库配置选项”,指定“全局数据库名”和“SID”,对这两个参数的指定一般相同,例如:oract。也可以将“全局数据库名”设置为域名。例如:如果选择“创建带样本方案的数据库,OUI会在数据库中创建HR、OE、SH等范例方案(sample schema)(6) 下一步,进入“Oracle Universal Installer:选择数据库管理选项”。(7) 保持默认值,下一步,进入“Oracle Universal Installer:指定数据库文件存储选项”。(8) 保持默认值,下一步,进入“Oracle Universal Installer:指定备份和恢复选项”。(9) 保持默认值,单击“下一步”,进入“Oracle Universal Installer:指定数据库方案的口令”,对不同的帐户设置不同的口令。(10) 单击“下一步”,继续安装,进入“Oracle Universal Installer:概要”。(11) 单击“安装”,开始安装过程,大约半小时。(12) 数据库创建完成时,显示“Database Configuration Assistant”窗口。(13) 单击“口令管理”,进入“口令管理”窗口。(14) 解锁用户HR、OE和SCOTT,输入HR和OE的口令,SCOTT的默认口令为tiger。(15) 单击“确定”返回“Database Configuration Assistant”窗口。(16) 在图15所示窗口单击“确定”,进入“Oracle Universal Installer:安装 结束”窗口。(17) 检查,单击“退出”,完成安装。(18) 在自动打开的浏览器中以sys账户sysdba身份登录10g的企业管理器。第一次要接受license,单击I agree,以后就不用了。3.测试安装好的Oracle 10g 在安装过程中,OUI会在 install下创建两个文件:readme.txt:记录各种Oracle应用程序的URL与端口。Portlist.ini:记录Oracle应用程序所使用的端口。(1) 登录Enterprise Manager 10g Database Control与以前的版本不同,Oracle企业管理器只有B/S模式。在浏览器中输入下列URL:http:/:1158/em例如:http:/localhost:1158/em进入Enterprise Manager 10g登录窗口。以SYSDBA身份登录Oracle数据库。(2) 使用iSQL*Pls登录Oracle数据库iSQL*Plus是B/S模式的客户端工具。在Mydb浏览器中输入下列URL:http:/:5560/isqlplus例如:http:/localhost:5560/isqlplus进入iSQL*Plus登录窗口。用system帐户登录Oracle数据库。(3) 使用SQL*Pls登录Oracle数据库SQL*Plus是C/S模式的客户端工具程序。单击“开始” “所有程序” “Oracle Oracle10g_home” “Application Development” “SQL*Plus”在登录窗口中输入system帐号与口令(4) 使用命令行SQL*Pls登录Oracle数据库传统的SQL*Plus是一个命令行客户端程序。在命令窗口中输入命令进行测试。思考与练习:在Windows操作系统下安装Oracle 10g数据库以后,计算机的运行速度明显降低,可以采取哪些措施应对。实验二 创建数据库和表一、实验目的1. 掌握使用DBCA创建数据库2. 掌握手工创建Oracle数据库的方法3. 掌握创建数据表的方法二、实验内容及步骤1. 使用DBCA创建数据库(1) 打开DBCA组件,创建数据库sale.(2) 安装完后进入E:oracleproduct10.2.0db_1install目录,打开readme文件,查看打开OEM的URL。(3) 登陆OEM,管理sale数据库。2. 手工创建Oracle数据库数据库名:mydb安装路径:d:oracleproduct10.2.0(1)、手工创建相关目录D:oracleproduct10.2.0adminmydbD:oracleproduct10.2.0adminmydbadump D:oracleproduct10.2.0adminmydbbdumpD:oracleproduct10.2.0adminmydbudumpD:oracleproduct10.2.0adminmydbcdumpD:oracleproduct10.2.0adminmydbddumpD:oracleproduct10.2.0adminmydbpfileD:oracleproduct10.2.0oradatamydb(2)、手工创建初始化参数文件D:oracleproduct10.2.0adminmydbpfile init.ora,内容可以copy别的实例init.ora文件后修改。(3)、在命令提示符下,使用orapwd.exe命令,创建口令文件pwdmydb.ora,命令格式如下:orapwd file=D:oracleproduct10.2.0db_1databasepwdmydb.ora password=123 entries=5(4)、通过oradim.exe命令,在服务里生成一个新的实例管理服务,启动方式为手工set ORACLE_SID=mydboradim -new -sid MYDB -pfile D:oracleproduct10.2.0db_1databaseinitmydb.ora(5)、在命令提示符下打开sqlplus编辑器,创建服务器参数配置文件spfile.sqlplus /nologSQLconnect / as SYSDBASQLcreate spfile=D:oracleproduct10.2.0db_1databasespfilemydb.ora FROM pfile=D:oracleproduct10.2.0adminmydbpfileinit.ora;SQLstartup nomount pfile=D:oracleproduct10.2.0adminmydbpfileinit.ora;(6)、创建数据库,执行createdb.sql脚本命令,SQLCreatedb.sqlCreatedb.sql脚本内容如下:create database mydbmaxinstances 8maxloghistory 1maxlogfiles 16maxlogmembers 3maxdatafiles 100logfile group 1 d:oracleproduct10.2.0oradatamydbredo01.log size 10m,group 2 d:oracleproduct10.2.0oradatamydbredo02.log size 10mdatafile d:oracleproduct10.2.0oradatamydbsystem01.dbf size 100mautoextend on next 10m extent management localsysaux datafile d:oracleproduct10.2.0oradatamydbsysaux01.dbf size 30mautoextend on next 10mdefault temporary tablespace temptempfile d:oracleproduct10.2.0temp.dbf size 10m autoextend on next 10mundo tablespace undotbs1 datafile d:oracleproduct10.2.0oradatamydbundotbs1.dbf size 20mcharacter set zhs16gbknational character set al16utf16user sys identified by mydbuser system identified by manager/(7)、创建数据库数据文件,执行脚本createfiles.sqlSQLcreatefiles.sqlCreatefiles.sql脚本内容如下:CREATE TABLESPACE INDX LOGGING DATAFILE d:oracleproduct10.2.0oradatamydbindx01.dbf SIZE 25M REUSE AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL;CREATE TABLESPACE TOOLS LOGGING DATAFILE d:oracleproduct10.2.0oradatamydbtools01.dbf SIZE 10M REUSE AUTOEXTEND ON NEXT 320K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL;CREATE TABLESPACE USERS LOGGING DATAFILE d:oracleproduct10.2.0oradatamydbusers01.dbf SIZE 25M REUSE AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL;CREATE UNDO TABLESPACE UNDOTBS DATAFILE d:oracleproduct10.2.0oradatamydbundotbs01.dbf SIZE 200M REUSE AUTOEXTEND ON NEXT 5120K;/8、创建数据字典,运行createdbcatalog.sql脚本命令SQLcreatedbcatalog.sqlCreatedbcatalog.sql脚本内容如下:d:oracleproduct10.2.0db_1rdbmsadmincatalog.sql;d:oracleproduct10.2.0db_1rdbmsadmincatexp7.sql;d:oracleproduct10.2.0db_1rdbmsadmincatblock.sql;d:oracleproduct10.2.0db_1rdbmsadmincatproc.sql;d:oracleproduct10.2.0db_1rdbmsadmincatoctk.sql;d:oracleproduct10.2.0db_1rdbmsadmincatobtk.sql;d:oracleproduct10.2.0db_1rdbmsadmincaths.sql;d:oracleproduct10.2.0db_1rdbmsadminowminst.plb;connect SYSTEM/managerd:oracleproduct10.2.0db_1sqlplusadminpupbld.sql;connect SYSTEM/manager/3. 在ORCL数据库中创建表Employees、表Departments和表Salary,表结构如表1,2,3所示。(1)在OEM中分别创建表在OEM目录中,选择表单击鼠标左键,在出现的界面上单击“创建”按钮,进入“表创建”界面,在各个选项卡上输入表Employees各字段信息、约束条件等,单击“确定”按钮,创建表Employees即可完成,依次完成其它表的创建。(2)使用SQL语句分别创建表表1 employees表结构列名数据类型长度是否允许为空说明employeeIDVarChar26否员工编号,主键NameVarChar210否姓名BirthdayDate8否出生日期SexVarChar22否性别AddressVarChar220是地址ZipVarChar26是邮编PhoneVarChar212是电话号码EmailVarChar230是电子邮件departmentidVarChar23否员工部门号,外键表2 departments表结构列名数据类型长度是否允许为空说明departmentIDVarChar23否部门编号,主键depNameVarChar220否部门名noteVarChar216是备注表3 salary表结构列名数据类型长度是否允许为空说明employeeIDVarChar26否员工编号,主键incomenumber8,2否收入outcomenumber8,2否支出实验三 表数据的插入、修改和删除一、实验目的1. 掌握修改、删除表的的方法。2掌握主键约束、外键约束、唯一约束和检查约束的建立及维护方法。3掌握外部表、临时表的使用方法。4掌握使用SQL语句对数据库表进行插入、修改和删除数据操作。二、实验内容及步骤分别使用OEM和PL/SQL语句,在实验2建立的表Employees、Departments和Salary中插入多行数据记录,然后修改和删除一些记录1. 使用PL/SQL语句分别向表Employees、Departments和Salary中插入如下表所示数据记录。表1 employees表数据employeeIDNameBirthdaySex departmentid010001王平1981-1-5女1010002王燕1980-3-6女1010003韦严平1979-11-5男2010021吴庆红1984-7-2女3010031李方1980-8-4男4010005李明1985-2-10男5010041林一凡1986-4-1男3110001张强1982-7-8男5210021赵琳1983-9-3女5表2 departments表数据 表3 salary表数据departmentIDdepartmentName1办公室2人力资源部3销售部4财务部5生产部employeeIDincomeoutcome0100013000100010002250050010003300050010021500050010031300050010005250050010041450050110001300050210021100050注意:在OEM中分别打开表Employees、Departments和Salary,观察数据变化。2使用PL/SQL命令修改各表中的某个记录的字段值。(1)将表salary中编号为110001的职工收入改为2890;(2)将表Departments表中生产部的名称修改为生产计划部;(3)给每个职工增加收入100元。修改完后使用select语句观察数据的变化。3删除所有性别为男的职工的记录。4. 创建约束(1)在employees表中创建主键约束,主码为employeeID,约束名为pk_employees_employeeID.(2)创建外键约束,子表employees的departmentID字段参照主表departments中的departmentID字段,约束名为fk_emp_dep_departtmentID.(3)创建检查约束,employees表中的sex字段只能输入字符男或女,约束名为ck_sex.(4)在departments表的departmentName字段上创建唯一约束un_departmentName.5. 修改及删除表(1)将employees表中的zip字段删除,然后再增加一个字段,字段名为QQ,15位的变长字符型.(2)将departments表删除.6.将departments表中的数据以纯文本的形式保存到记事本中,并以逗号分隔,保存文件名为dp.txt,内容如下所示:1,办公室2,人力资源部3,销售部在oracle中创建dp.txt的外部表,然后用select语句进行简单查询.7.创建事务临时表ttable保存employees表的临时数据,创建会话临时表保存departments表的临时数据.比较两个表的差别.注:方法及命令格式请参照教材第10章,要求保存所有的SQL语句到文本文件形式的脚本中,以备检查。实验四 数据库的查询一、实验目的1. 掌握SELECT语句的基本语法;2. 掌握子查询的表示;3. 掌握连接查询的表示;4掌握数据汇总的方法;5掌握层次查询的方法;6掌握分析查询的方法。二、实验内容及步骤1-4实验数据基于实验二给出的数据库表结构,及实验三给出的表数据。1SELECT语句的基本使用(1)查询每个雇员的所有数据;Select * from emp(2)查询每个雇员的地址和电话;Select add,tel from emp(3)查询EmployeeID为010001的雇员的基本信息;Select * from emp where employeeid=010001(4)查询Employees表中女雇员的地址和电话,使用AS子句将结果中各列的标题分别指定为地址和电话;Select add as 地址,tel as 电话 from emp where sex=女(5)计算每个雇员的实际收入;Select in-out from salary(6)找出所有姓王的雇员的部门号;Select dno from emp where ename like王%(7)找出所有收入在2000-3000之间的雇员号码。Select employeeid from emp where sal=2000 and sal=30002子查询的使用(1)查找在财务部工作的雇员的情况;(2)查找财务部年龄不低于销售部雇员年龄的雇员的姓名。3连接查询的使用(1)查询每个雇员的情况及其薪水情况;Select * from salary(2)查找财务部收入在2200元以上的雇员姓名及其薪水详情。Select ename,sal from emp,depWhere emp.deptno=dep.deptno and dname=财务部4数据汇总(1)求各部门的雇员数;Select count(*) from emp group by deptno(2)将各雇员的情况按收入由低到高排列; Select * from emp ordey by sal(3)求财务部雇员的平均收入; Select avg(sal) from empWhere deptno=(select deptno from dep where dname=财务部)(4)求财务部雇员的平均实际收入;Select in-out from empWhere deptno=(select deptno from dep where dname=财务部)(5)求财务部雇员的总人数。Select count(*) from emp Where deptno=(select deptno from dep where dname=财务部)6. 层次查询基于自行车结构的数据进行层次查询实验,脚本如下:create table bicycle( part_id number(5) constraint pk_bicycle_part_id primary key,parent_id number(5) constraint fk_bicycle_pid references bicycle(part_id),part_name varchar2(30) not null,mp_cost number(9, 2),describe varchar2(30);insert into bicycle values(1, null, 自行车, 379.28, 装配);insert into bicycle values(2, 1, 导向系统, 101.11, 制造);insert into bicycle values(3, 1, 驱动系统, 159.56, 制造);insert into bicycle values(4, 1, 其他部分, 118.61, 制造和采购);insert into bicycle values(5, 2, 车把, 37.28, 制造);insert into bicycle values(6, 2, 前叉, 24.35, 制造);insert into bicycle values(7, 2, 前轴, 19.67, 制造);insert into bicycle values(8, 2, 前轮, 19.81, 制造);insert into bicycle values(9, 7, 前轴棍, 8.16, 制造);insert into bicycle values(10, 7, 前轴身, 4.82, 制造);insert into bicycle values(11, 7, 前轴碗, 6.69, 制造);insert into bicycle values(12, 10, 前轴管, 1.61, 制造);insert into bicycle values(13, 10, 前花盘, 3.21, 制造);insert into bicycle values(14, 3, 脚蹬, 18.99, 制造);insert into bicycle values(15, 3, 中轴, 25.27, 制造);insert into bicycle values(16, 3, 链条, 21.65, 制造);insert into bicycle values(17, 3, 飞轮, 29.12, 制造);insert into bicycle values(18, 3, 后轴, 31.72, 制造);insert into bicycle values(19, 3, 后轮, 32.81, 制造);insert into bicycle values(20, 17, 外套, 9.35, 制造);insert into bicycle values(21, 17, 平档, 5.82, 制造);insert into bicycle values(22, 17, 芯子, 5.11, 制造);insert into bicycle values(23, 17, 千斤, 6.56, 制造);insert into bicycle values(24, 17, 钢珠, 2.28, 采购);insert into bicycle values(25, 4, 车架, 81.78, 制造);insert into bicycle values(26, 4, 车闸, 15.26, 制造);insert into bicycle values(27, 4, 链罩, 7.10, 采购);insert into bicycle values(28, 4, 车铃, 4.33, 采购);insert into bicycle values(29, 4, 车锁, 5.02, 采购);insert into bicycle values(30, 4, 支架, 5.12, 制造);(1)按自行车结构层次的先后顺序,查询自行车树状结构数据;(2)查询自行车导向系统分支的树状结构数据;(3)在自行车树状结构数据中显示成本小于100元的零部件信息;(4)对自行车的成本进行加密,然后显示出来,加密密钥可任意给定。7. 分析查询基于某书店2006年的图书销售的数据进行分析查询实验,脚本如下:create table sales_fact_2006( sale_year number(4) not null,sale_quarter number(1) not null,sale_month number(2) not null,sale_book_id varchar2(20) not null,sale_region varchar2(10) not null,sale_person varchar2(10) not null,sale_amount number(10, 2) null,constraint pk_sales_f2006 primary key( sale_year, sale_quarter, sale_month, sale_book_id, sale_region, sale_person);insert into sales_fact_2006 values(2006, 1, 1, ISBN 7-X, 北京, 赵亦, 13526.12);insert into sales_fact_2006 values(2006, 1, 2, ISBN 7-X, 北京, 钱尔, 8213.91);insert into sales_fact_2006 values(2006, 1, 3, ISBN 7-X, 北京, 孙三, 33871.52);insert into sales_fact_2006 values(2006, 2, 4, ISBN 7-X, 北京, 李斯, 22343.80);insert into sales_fact_2006 values(2006, 2, 5, ISBN 7-X, 上海, 周武, 3455.93);insert into sales_fact_2006 values(2006, 2, 6, ISBN 7-X, 上海, 孙三, 23427.72);insert into sales_fact_2006 values(2006, 3, 7, ISBN 7-X, 香港, 杨琪, 897.15);insert into sales_fact_2006 values(2006, 3, 8, ISBN 7-X, 香港, 钱尔, 12345);insert into sales_fact_2006 values(2006, 3, 9, ISBN 7-X, 澳门, 冯久, 37817.12);insert into sales_fact_2006 values(2006, 4, 10, ISBN 7-X, 澳门, 冯久, 6524.10);insert into sales_fact_2006 values(2006, 4, 11, ISBN 7-X, 台北, 李斯, 93415.83);insert into sales_fact_2006 values(2006, 4, 12, ISBN 7-X, 台北, 孙三, 23232.82);(1)查询每个销售员的销售额,并使用sum()分析函数对每个窗口执行累加运算的分析,窗口范围为当前行及其后两行;(2)制作一个总计表,表中包括每一个销售人员在每一个销售区域的销售额以及该销售额占该销售区域销售总额的比率;(3)查询每个销售区域的销售额,并使用rank()函数计算每一行的相对位置。实验五 PL/SQL编程一、实验
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 儿童美育学生课件
- 难点解析-公务员考试《常识》定向练习试题(解析卷)
- 2026届云南省安宁市实验石江学校化学高三上期中教学质量检测试题含解析
- 邻水现代农业发展集团有限公司2025年公开考试招聘工作人员的模拟试卷及完整答案详解1套
- 智能决策支持算法-洞察及研究
- 2025年事业单位笔试-河南-河南卫生事业管理(医疗招聘)历年参考题库典型考点含答案解析
- 高温加速老化研究-洞察及研究
- 2025年事业单位笔试-广西-广西病理技术(医疗招聘)历年参考题库典型考点含答案解析
- 2025年事业单位笔试-宁夏-宁夏临床医学工程技术(医疗招聘)历年参考题库典型考点含答案解析
- 熔岩流动力学-洞察及研究
- NB∕T 10731-2021 煤矿井下防水密闭墙设计施工及验收规范
- 《用户体验要素》以用户为中心的产品设计课件
- 千方百剂操作流程
- 油品计量工(高级技师)技能操作理论考试总题库-上(单选题-下部分)
- DB32T 1553-2017 高速公路工程工程量清单计价规范
- 组织知识清单
- GB-T 1040.2-2022 塑料 拉伸性能的测定 第2部分:模塑和挤塑塑料的试验条件
- 城镇燃气安全管理专业知识
- 一页纸的劳动合同范本(5篇)
- 免疫缺陷病PPT精品课件
- 检验科感染管理质量自查表
评论
0/150
提交评论