1、教师实验报告大型数据库Oracle大型数据库(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:指定文件位置”,
2、 设置源“路径”、“名称”和目的“路径”。(3) “下一步” 进入“Oracle Universal Installer:选择安装类型”,选择安装类型。 (4) 保持默认值,下一步,进入“Oracle Universal Installer:选择数据库配置”,选择数据库配置。(5) 保持默认值,下一步,进入“Oracle Universal Installer:指定数据库配置选项”,指定“全局数据库名”和“SID”,对这两个参数的指定一般相同,例如:oract。也可以将“全局数据库名”设置为域名。例如:如果选择“创建带样本方案的数据库,OUI会在数据库中创建HR、OE、SH等范例方案(samp
3、le schema)(6) 下一步,进入“Oracle Universal Installer:选择数据库管理选项”。(7) 保持默认值,下一步,进入“Oracle Universal Installer:指定数据库文件存储选项”。(8) 保持默认值,下一步,进入“Oracle Universal Installer:指定备份和恢复选项”。(9) 保持默认值,单击“下一步”,进入“Oracle Universal Installer:指定数据库方案的口令”,对不同的帐户设置不同的口令。(10) 单击“下一步”,继续安装,进入“Oracle Universal Installer:概要”。(11
4、) 单击“安装”,开始安装过程,大约半小时。(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账户s
5、ysdba身份登录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
6、 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
7、” “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.
8、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:oracle
9、product10.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=12
10、3 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
11、=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:oracleprodu
12、ct10.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 10mde
13、fault 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 manag
14、er/(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.
15、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 UND
16、OTBS 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.0d
17、b_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
18、.0db_1sqlplusadminpupbld.sql;connect SYSTEM/manager/3. 在ORCL数据库中创建表Employees、表Departments和表Salary,表结构如表1,2,3所示。(1)在OEM中分别创建表在OEM目录中,选择表单击鼠标左键,在出现的界面上单击“创建”按钮,进入“表创建”界面,在各个选项卡上输入表Employees各字段信息、约束条件等,单击“确定”按钮,创建表Employees即可完成,依次完成其它表的创建。(2)使用SQL语句分别创建表表1 employees表结构列名数据类型长度是否允许为空说明employeeIDVarChar2
19、6否员工编号,主键NameVarChar210否姓名BirthdayDate8否出生日期SexVarChar22否性别AddressVarChar220是地址ZipVarChar26是邮编PhoneVarChar212是电话号码EmailVarChar230是电子邮件departmentidVarChar23否员工部门号,外键表2 departments表结构列名数据类型长度是否允许为空说明departmentIDVarChar23否部门编号,主键depNameVarChar220否部门名noteVarChar216是备注表3 salary表结构列名数据类型长度是否允许为空说明employee
20、IDVarChar26否员工编号,主键incomenumber8,2否收入outcomenumber8,2否支出实验三 表数据的插入、修改和删除一、实验目的1. 掌握修改、删除表的的方法。2掌握主键约束、外键约束、唯一约束和检查约束的建立及维护方法。3掌握外部表、临时表的使用方法。4掌握使用SQL语句对数据库表进行插入、修改和删除数据操作。二、实验内容及步骤 分别使用OEM和PL/SQL语句,在实验2建立的表Employees、Departments和Salary中插入多行数据记录,然后修改和删除一些记录1. 使用PL/SQL语句分别向表Employees、Departments和Salary
21、中插入如下表所示数据记录。表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
22、销售部4财务部5生产部employeeIDincomeoutcome0100013000100010002250050010003300050010021500050010031300050010005250050010041450050110001300050210021100050注意:在OEM中分别打开表Employees、Departments和Salary,观察数据变化。2使用PL/SQL命令修改各表中的某个记录的字段值。(1)将表salary中编号为110001的职工收入改为2890;(2)将表Departments表中生产部的名称修改为生产计划部;(3)给每个职工增加收入100元
23、。修改完后使用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_de
24、partmentName.5. 修改及删除表(1)将employees表中的zip字段删除,然后再增加一个字段,字段名为QQ,15位的变长字符型.(2)将departments表删除.6.将departments表中的数据以纯文本的形式保存到记事本中,并以逗号分隔,保存文件名为dp.txt,内容如下所示:1,办公室2,人力资源部3,销售部在oracle中创建dp.txt的外部表,然后用select语句进行简单查询.7.创建事务临时表ttable保存employees表的临时数据,创建会话临时表保存departments表的临时数据.比较两个表的差别.注:方法及命令格式请参照教材第10章,要求保
25、存所有的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
26、 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子查询的使用
27、(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
28、(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. 层次查询基于自行车结构的数据进行层次查询
29、实验,脚本如下: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 val
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1