




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
oracle数据库设计实验指导书oracle数据库设计实验指导书oracle 数据库设计课程实验一、本实验课在培养实验能力中的地位及作用oracle 数据库设计是软件工程专业的一门专业课。oracle数据库是目前最流行的大型数据库平台之一,是一种极具前景的大型数据库。该课程侧重于oracle数据库维护和管理知识的掌握以及实际应用oracle数据库的能力的培养。本课程设置的目的是使学生通过本课程的学习逐渐全面了解oracle数据库,并具有对大型数据库数据库进行安全、维护等的管理技能,同时能应用oracle数据库进行数据库结构的设计和数据库应用系统的开发。二、应达到的实验能力标准本实验的教学目标是使学生掌握如何使用oracle 数据库开发系统,了解数据库设计及相关操作的基本概念与方法,进而学会建立与组织、操作数据库。上机实验的主要目标如下:(1)通过上机操作,加深对数据库系统理论知识的理解。(2)通过使用具体的dbms,了解一种实际的数据库管理系统并掌握其操作技术。(3)通过上机实验,提高动手能力,提高分析问题和解决问题的能力。(4)通过上机实验,提高动手能力,掌握大型数据库实际应用与开发技巧。三、实验要求学生在实验课前认真做好预习,实验结束及时提交电子版实验报告。三、实验成绩考核方法实验成绩在课程总成绩中占30%,包括平时每次实验考核与最后一次实验考试。实验内容目录实验1 oracle常用工具的使用及数据库的创建实验2 sql*plus基本命令实验3 oracle存储结构实验4 数据对象的基本操作实验5 数据的简单查询 实验6 数据的高级查询实验7 pl/sql程序设计 实验8 oracle 的存储过程与触发器实验9 oracle数据库安全、恢复与备份实验10 oracle数据库应用开发实验1 常用工具的使用及数据库的创建和管理实验目的:1. 能熟练开启oracle的服务,熟悉oracle的环境,以及常用的工具,主要包括sql*plus和企业管理器em;2. 通过对数据库的物理文件以及内存参数的查看,结合课件,加深对oracle实例以及整个体系结构的了解;3. 能通过查询数据字典视图,了解数据库里的信息;4. 掌握oracle的用dbca创建数据库,以及启动和关闭数据库的方法。实验内容:1熟悉开启计算机服务。到c:oracleproduct10.2.0db_1networkadmin,修改文件listener.ora和tnsnames.ora,把其中的host =中的改为你自己的机器名,保存这两个文件。开启服务:我的电脑,右键,管理,服务,开启oracleserviceorcl和oracleoradb10g_home1tnslistener服务。这样保证了服务器端监听器能正确监听,用服务器端的sql*plus能正确登录.2查看oracle的安装结果:注册表,环境变量,目录,以及服务注册表:开始运行 regedit查看如下选项:hkey_local_machinesoftware下的oracle选项hkey_local_machinesystemcurrentcontrolsetservices下的与oralce服务相关的选项。hkey_local_machinesystemcurrentcontrolsetserviceseventlogapplication下的oracle选项环境变量:我的电脑,右键,属性,高级环境变量目录:c:oracleproduct10.2.0 oraclehome找到自己机器上的数据库物理文件,包括数据文件,日志文件,控制文件,初始参数文件,用记事本打开参数文件看一下里面内容。 3用sql*plus连接到oracle数据库, 开始程序oracle-oradb10g_home1应用程序开发sql*plus用户名:sys 口令 orcl 主机字符串:orcl as sysdba 练习下面命令:(1)select * from v$parameter; /查询数据库的参数信息: 或者show parameter(2)show parameter sga / 用以下命令查看实例相应内存的大小(3)select * from v$bgprocess; /查看后台进程:(4)练习把scott用户加锁或解锁:alter user scott account unlock/lock;(5)conn scott/tigerorcl /改用scott登陆: select * from user_tables;desc empdesc dept(6)修改scott用户密码为mytiger: alter user scott identified by mytiger4通过portlist.ini文件查看http服务器所占用的端口号,并启动oem(企业管理器与isqlplus)。(文件位置d:oracleproduct10.1.0db_1install目录下的portlist.ini文件, 其url为http:/localhost:5560/isqlplus)。5通过客户端的企业管理器查看oracle的信息: 实例/spfile中的参数/方案/表空间/数据文件/控制文件/日志文件 并尝试建表。6使用dbca创建名为myoracle的数据库。7在myoracle的数据库,并创建一个学生表。8*启动和关闭数据库。熟悉startup与shutdown命令。9. 练习在命令行和windows环境下运行sql*plus的方法,并查看emp表中数据信息。10. 掌握两个数据库切换,如当前数据库为orcl切换到myoracle数据库。11. 掌握sys,sytem,scott用户登陆以及几个用户之间切换,并用show user查询当前用户。12. 在sql提示符后面输入下面的select语句,可以查看所有oracle数据库的名称和创建日期。 select name,created from v$database;实验2 sql*plus基本命令实验目的:1. 了解sql*plus 和isql*plus 工具的基本命令。2. 熟练掌握list、run(/)、edit、save、c、a、del、n 等常用命令。实验内容:1查看scott.emp 的表结构所及所有记录。2练习用edit命令编辑sql命令的方法。3查询emp表中sal1200的记录信息,用脚本保存到c:test.sql,并运行该脚本(用save与start完成)。4用spool命令把emp表中sal1200信息输出到d:ex1.txt文件中。 5使用替换变量查询emp表中job为clerk且sal大于1200的记录信息。6查询scott.emp表中员工号与员工工资,要求在员工工资数值前加上本地货币符号。7查询scott.emp表中员工信息,要求为查询页生成标题和注脚。标题名为“华夏员工信息”,显示居中,注脚为“制作人:学生自己的姓名”。8可以用 list 命令来列出当前sql缓冲区中的第1行或2行到第3行命令语句。(命令:list n|n m|n *|n last|*|* n|* last|last)例:sql list1 select ename, deptno, job2 from emp3 where job = clerk9查询scott.emp表中员工工资在10002000记录信息,使用命令行方式、sql缓冲区方式、脚本文件三种方式运行sql语句。10把select sal,sal*100 from emp语句中乘号( * )改为 加号( + )。即:用语句( c/*/+/ )11在当前行select sal,sal+100 from emp 后加 where sal=2000,显示运行结果。12设置一行可容纳的120个字符,显示表emp的信息13设置每页显示的15行,显示表emp的信息14设置列名员工号、员工姓名、工资,显示emp表中信息。实验3 oracle存储结构实验目的:1. 掌握oracle数据库与实例概念;2. 掌握oracle数据库的物理存储;3. 掌握oracle数据库的逻辑存储。实验内容:1使用sql命令创建一个本地管理方式下的自动分区管理的表空间usertbs1,其对应的数据文件大小为20mb。2修改usertbs1表空间的大小,将该表空间的数据文件修改为自动扩展方式,最大值为100mb。3为usertbs1表空间添加一个数据文件,以改变该表空间的大小。4删除表空间usertbs1,同时删除该表空间的内容以及对应的操作系统文件。 5查询当前数据库中所有的表空间及其对应的数据文件信息。6为users表空间增加一个数据文件,文件名为userdatao3.dbf,大小为50m。7修改users表空间中的userdatao3.dbf为自动扩展方式,每次扩展5mb,最大为100mb。8将users表空间中的userdatao3.dbf更名为userdatao4.dbf。9为数据库添加一个重做日志文件组,组内包含两个成员文件,分别为redo4a.log和redo4b.log,大小为分别为5mb.10为新建的重做日志文件组添加一个成员文件,名称为redo4c.log。11将数据库设置为归档模式,并采用自动归档方式。实验4 表的基本操作实验目的:1. 掌握oracle表的创建与基本操作;2. 掌握表的约束类别、及各个约束的应用;3. 掌握索引、索引化表、分区、视图、序列、同一词功能。实验内容:1在orcl数据库中创建一个名为student2的表,要求:(sno char(6) not null, sname char(10) not null, ssex char(2) not null, birthday date not null, polity char(20),sdept char(20),其中表中字段满足:sno设置为主键,sname字段设置惟一性约束;2将student2表的ssex设置检查性约束,要求ssex只能为m或f,polity字段设置默认约束,值为群众3在orcl数据库中创建一个名为course2的表(cno, cname, teacher, class)。4创建一个学生选课表sc2(sno char(6) not null,cno char(10) not null,grade real).将sc表创建外键约束,把sc表的sno和student表的sno关联起来,在这两个表之间创建一种制约关系。 5利用insert语句向student2表中插入一条新的记录:(0007,张三,m,to_date(1982-3-21, yyyy-mm-dd),团员,计算机系)6利用update语句将编号为0004的学生polity改为党员:7利用delete语句将英语成绩大于90的同学记录删除。8创建一个student_list表(列、类型与student表的列、类型相同)按学生性别分为两个区。9*创建一个class_number簇,聚簇字段名为cno,类型为number(2)。然后利用该簇,创建student和class表。10为scott模式下的emp表创建一个公共同义词,名称为employee2.11创建一个视图,包含数据为软件工程系学生的考试成绩。12用创建一个users表,按照下面表所示,设计表的结构,并且在usertype字段必须大于0且小于3,在userpwd字段的默认值为111111。编 号字 段 名 称数 据 结 构说 明1useridnumber用户编号2usernamevarchar2 40用户名3usertypenumber 1用户类型(1表示管理用户,2表示普通用户)4userpwdvarchar2 40密码13创建序列user_s,该序列为1-1000之间整数,自动增加1。使用该序列向表users中插入2条新的记录。实验5 数据的简单查询实验目的:1. 掌握select 语句的基本语法;2. 掌握子查询及order by 子句与group by用法;3. 掌握select 语句的统计函数的作用和使用方法;实验内容:1针对student表查询所有学生的基本信息,并按出生日期升序排列。2针对student表查询女同学的平均年龄和女同学的人数。3在student表中查询所有男同学的年龄。4在student表中,(1) 查询刘姓学生的信息;(2) 查询polity为团员或党员的学生信息。5在sc表中,(1) 查询各门课程的选课人数; (2) 查询缺少成绩的学生的学号及课程号。6查询与刘成同一个系的学生情况。7查询选修了课程名为mis的学生的学号和姓名8查询姓是”周”,”吴”,”郑”,”王”的男学生数量。9统计每个系的001号课程考试平均分,并按从高到低排序。10针对student、sc、course三张表所有选课学生的姓名、选修课程名及成绩。11. 查出不及格学生的姓名。12查询缺考学生的姓名。13查询每个学生基本情况及其所选课程号和成绩(没选课的学生其课程号及成绩为空)。14查询比王军的数学成绩都高的学生的档案信息(嵌套查询)。15查询计算机系的选课成绩大于85分的学生信息(嵌套查询)。 注:求年龄公式:trunc(sysdate-birthday)/365)实验6 数据的高级查询实验目的:1. 掌握表中数据的查询方法及操作方法2. 掌握连接查询与嵌套查询的方法实验内容:在oracle数据库scott模式下的emp表和dept表,完成下列操作:1查询至少有一个员工的所有部门。2查询薪金比“smith”多的所有员工。3查询所有员工的姓名及其直接上级的姓名。4查询受雇日期早于其直接上级的所有员工。5查询部门名称和这些部门的员工信息,同时查询那些没有员工的部门。6查询所有“clerk”(办事员)的姓名及其部门名称。7查询最低薪金大于1500的各种工作。8查询在部门“sales”(销售部)工作的员工的姓名,假定不知道销售部的部门编号。9查询薪金高于公司平均薪金的所有员工。10查询与“scott”从事相同工作的所有员工。11查询薪金等于部门30中员工的薪金的所有员工的姓名和薪金。12查询薪金高于在部门30工作的所有员工的薪金的员工姓名和薪金。13查询在每个部门工作的员工数量、平均工资和平均服务期限。14查询所有员工的姓名、部门名称和工资。15查询所有部门的详细信息和部门人数。16查询各种工作的最低工资。17查询各个部门的manager(经理)的最低薪金。18查询所有员工的年收入,按年薪从低到高排序。补充:已知emp表和dept表的结构说明如下:emp员工表(empno员工号/ename员工姓名/job工作/mgr上级编号/hiredate受雇日期/sal薪金/comm佣金/deptno部门编号)dept部门表(deptno部门编号/dname部门名称/loc地点)工资 薪金 佣金 实验7 pl/sql程序设计实验目的:1. 掌握sql 语言流程控制结构;2. 掌握游标的使用;实验内容:1编写一个pl/sql块,输出所有员工的员工名、员工号、工资和部门号2为工资小于2000元的员工增加200元。(用if语句)3输入一个员工号,修改该员工的工资,如果该员工为10号部门,工资增加100;若为20号部门,工资增加150;若为30号部门,工资增加200;否则增加300。用if语句完成4 执行create table temp_table(num_col number,info_col char(10) 语句创建temp_table表,然后利用循环向temp_table表中插入50条记录。见课件.5根据输入的员工号,修改该员工工资。如果该员工工资低于1000,则工资增加200;如果工资在1000-2000之间,则增加150;如果工资在2000-3000之间,则增加100;否则增加50。6根据输入的部门号查询某个部门的员工信息,部门号在程序运行时指定。(用游标)。7利用while循环统计并输出各个部门的平均工资。 8修改员工的工资,如果员工的部门号为10,工资提高100;部门号为20,工资提高150;部门号为30,工资提高200;否则工资提高250。(用游标完成)。9使用游标提取部门员工的姓名和工资。10修改员工号为1200的员工工资,将其工资提高100;如果该员工不存在,则向emp表中插入一个员工为号1200,工资为2000的员工。实验8 oracle的存储过程与触发器实验目的:1. 掌握oracle 的存储过程与函数2. 掌握oracle 的触发器实验内容:1创建一个函数,以员工号为参数,返回该员工的工资。2创建一个存储过程,以部门号为参数,查询该部门的平均工资,并输出该部门中比平均工资高的员工号、员工名。3创建一个存储过程,以部门号为参数,返回该部门的人数和最高工资。4创建一个以部门号为参数,返回该部门最高工资的函数。5创建一个触发器,禁止在休息日改变雇员信息。6为emp表创建一个触发器,当执行插入操作时,统计操作后员工人数;当执行更新工资操作时,统计更新后员工平均工资;当执行删除操作时,统计删除后各个部门的人数。7创建一个insert触发器,当在student表中插入一条新记录时,给出你已经插入了一条新记录!的提示信息。8创建一个insert触发器,当在student表中插入一条新记录时,不允许在学号中出现重复的编号或出现空值。9创建一个insert触发器,当在sc表中插入一条新记录时,sno和cno必须是已经存在的学号和课程号,且grade应该在0-100之间。10创建一个after触发器,在student表中删除某学生的记录时,删除其相应的选课记录。11创建一个instead of 触发器,当在course表中上删出记录时,不允许删除course表中的数据。12为emp表创建一个触发器,保证修改员工工资时,修改后的工资低于该部门最高工资,同时高于该部门的最低工资。p363实验9 oracle的数据库安全、恢复与备份实验目的:1. 掌握oracle数据库的完整性约束;2. 掌握oracle 的恢复与备份,数据的导入与导出;3. 掌握oracle 的安全与权限。实验内容:1创建一个口令认证的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 普外引流管的护理
- 消防监控室半年度工作总结
- 幼师岗位培训心态
- 辽宁省大连市2026届英语九上期末复习检测试题含解析
- 食堂员工防疫培训
- 副职领导年度工作总结
- 2026届惠州市重点中学九年级化学第一学期期中质量检测模拟试题含解析
- 河北省秦皇岛市2026届化学九年级第一学期期中监测模拟试题含解析
- 2026届山西省朔州市名校英语九年级第一学期期末教学质量检测试题含解析
- 部编人教版四年级语文下册《习作:我的动物朋友》示范教学课件
- 企业反恐怖安全风险评估报告
- 无人机应用技术专业认识
- 全国2022年10月自考05744《食品加工与保藏(专)》真题
- GB/T 4744-2013纺织品防水性能的检测和评价静水压法
- GB 28235-2020紫外线消毒器卫生要求
- 固体废物采样记录
- 洁净手术室相关知识考核试题及答案
- Avaya新产品和解决方案介绍课件
- 布洛芬缓释胶囊生产工艺流程课件
- 台湾问题与祖国统一
- 2023年阜阳市颍州区工会系统招聘考试笔试题库及答案解析
评论
0/150
提交评论