Oracle大作业报告

合集下载

《Oracle数据库开发》报告

《Oracle数据库开发》报告

目录一、实践名称 (1)二、实践题目 (1)三、实践目的 (1)四、实践内容与结果 (1)1、Oracle数据库的基本操作 (1)2、简单Visual Basic访问Oracle数据库 (15)3、VB/Oracle学生成绩管理系统 (20)五、实践小结 (33)《Oracle数据库开发》实训报告一、实践名称ORACLE数据库开发二、实践题目1、Oracle数据库的基本操作2、简单Visual Basic访问Oracle数据库3、VB/Oracle学生成绩管理系统三、实践目的1、初步掌握Oracle关系数据库语言2、掌握Oracle的操作与使用3、数据库的建立与管理、数据表的建立与操作等4、PL/SQL语言的使用与编程5、设计和开发一个小型数据库应用系统四、实践内容与结果1、Oracle数据库的基本操作(1)创建数据库与表首先,创建数据库,步骤如图所示:紧接着创建表,进入SQLPlus Worksheet ,执行以下命令,结果如图 创建账号CREATE USER "GL_0911030201_HONGDJ" PROFILE "DEFAULT"IDENTIFIED BY "HONGDINGJIN" DEFAULT TABLESPACE "USERS" ACCOUNT UNLOCK;GRANT "CONNECT" TO "GL_0911030201_HONGDJ"; GRANT "DBA" TO "GL_0911030201_HONGDJ"; 1、创建部门表CREATE TABLE "GL_0911030201_HONGDJ"."DEPARTMENTS" ("DEPARTMENTID"CHAR(3) NOT NULL, "DEPARTMENTNAME" CHAR(20) NOT NULL, "NOTE"CHAR(16), PRIMARY KEY("DEPARTMENTID"));2、创建员工表CREATE TABLE "GL_0911030201_HONGDJ"."EMPLOYEES" ("EMPLOYEEID"CHAR(6) NOT NULL, "NAME" CHAR(10) NOT NULL, "BIRTHDAY" DATE NOT NULL, "SEX" NUMBER(1) NOT NULL, "ADDRESS" CHAR(20), "ZIP" CHAR(6), "PHONENUMBER" CHAR(12), "EMAILADDRESS" CHAR(30) NULL, "DEPARTMENTID" CHAR(3) NOT NULL, PRIMARY KEY("EMPLOYEEID"), FOREIGN KEY("DEPARTMENTID") REFERENCES "GL_0911030201_HONGDJ"."DEPARTMENTS"("DEPARTMENTID"));3、创建工资表CREATE TABLE "GL_0911030201_HONGDJ"."SALARY" ("EMPLOYEEID" CHAR(6) NOT NULL, "INCOME" NUMBER(8, 2) NOT NULL, "OUTCOME" NUMBER(8, 2) NOT NULL, PRIMARY KEY("EMPLOYEEID")) ;(2)表数据的插入、修改和删除在SQLPlus Worksheet执行如下命令,结果如图1、插入部门表数据INSERT INTO "GL_0911030201_HONGDJ"."DEPARTMENTS" ("DEPARTMENTID" ,"DEPARTMENTNAME" ,"NOTE" ) VALUES ('1' ,'财务部' ,'' );……2、插入职工表数据INSERT INTO "GL_0911030201_HONGDJ"."EMPLOYEES" ("EMPLOYEEID" ,"NAME" ,"BIRTHDAY" ,"SEX" ,"ADDRESS" ,"ZIP" ,"PHONENUMBER" , "EMAILADDRESS" ,"DEPARTMENTID" )V ALUES ('000001' ,'王林' ,'23-1月-1956' ,1 ,'中山路32-1-508' ,'210003' ,'3355668' ,'wl@' ,'2' );……3、插入工资表数据INSERT INTO "GL_0911030201_HONGDJ"."SALARY" ("EMPLOYEEID" ,"INCOME" ,"OUTCOME" ) V ALUES ('000001' ,2100.8 ,123.09 );……(3)索引和完整性在执行如下命令,结果如图1、建立索引2、实现域完整性1、SELECT语句的基本使用(1)查找在财务部工作的雇员的情况(2)查找财务部年龄不低于研发部雇员年龄的雇员的姓名(1)查询每个雇员的情况及其薪水的情况(2)查找财务部收入在2200元以上的雇员姓名及其薪水情况4、数据汇总(1)求财务部雇员的平均水平(2)求财务部雇员的平均实际收入5、GROUP BY、ORDER BY 子句的使用(1)求各部门的雇员数(2)将各雇员的情况按收入由低到高排列6、视图(1)创建视图——限制查看雇员的某些情况(2)使用视图查询财务部雇员的信息张无忌从经理办公室转到市场部把张无忌从表EMPLOYEES中删除(5)PL/SQL编程1、条件结构的使用(例5.5)2、循环结构的使用(例5.9)3、选择和跳转语句(例5.13)4、自定义函数的使用(例5.27)例5.28(6)存储过程和触发器的使用1、创建触发器(1)修改DEPARTMENTS表中的DEPARTMENTID字段值(2)删除DEPARTMENTS表中一条记录的同时删除该记录DEPARTMENTID字段在EMPLOYEES表中对应的记录2、创建存储过程(1)添加职员记录的存储过程(2)修改职员记录的存储过程(3)删除职员记录的存储过程3、调用存储过程1、创建用户2、创建角色3、创建概要文件2、简单Visual Basic访问Oracle数据库首先是建立数据源,步骤如下:(1)选择“开始”→“程序”→“管理工具”→“数据源”(ODBC)命令。

Oracle报告

Oracle报告

实验报告实验项目名称:角色和用户管理, 表和视图管理20011年3月20日一、实验目的1)了解Oracle数据库用户和角色的概念2)学习使用SQL语句创建Oracle用户3)学习使用SQL语句创建Oracle角色4)学习使用SQL语句指定用户的角色5)了解Oracle表和视图的概念6)学习使用SQL语句创建表7)学习使用SELECT语句查询数据8)学习使用SQL语句创建视图二、实验内容1)练习使用SQL语句创建数据库角色。

2)练习使用SQL语句为数据库角色授予权限。

3)练习使用SQL语句指定用户角色。

4)练习使用SQL语句创建数据库用户。

5)练习使用SQL语句创建表。

6)练习使用SQL语句向表中插入数据。

7)练习使用SQL语句修改表中数据。

8)练习使用SQL语句删除表中数据。

9)练习使用SELECT语句查询数据。

10)练习使用SQL语句创建视图。

三、使用仪器、材料Oracle Database 10g四、实验步骤和实验记录1、使用SQL语句创建数据库角色1)以SYSTEM用户登录到iSQL*Plus。

2)使用CREATE ROLE语句创建数据库角色UserManRole,密码为myrollpwd,代码如下:2、使用SQL语句为数据库角色授权1)以SYSTEM用户登录到iSQL*Plus。

2)使用GRANT语句将角色UserManRole授予CONNECT、RESOURSE和UNLIMITED TABLESPACCE权限,代码如下:3、使用SQL语句创建数据库用户1)以SYSTEM用户登录到iSQL*Plus。

2)使用CREATE USER语句创建用户UserManAdmin,密码为UserPwd,使用GRANT语句对用户UserManAdmin授予系统权限UNLIMITED TABLESPACE,代码如下:4、使用SQL语句指定用户角色参照下面的步骤将用户UserMan指定为角色UserManRole。

昆明学院ORACLE数据库应用大作业报告20191028

昆明学院ORACLE数据库应用大作业报告20191028

课程设计(大作业)报告课程名称:Oracle数据库应用设计题目:图书借阅管理系统院系:信息工程学院专业及班级:17计算机科学与技术二班设计者:刘旭学号:指导教师:**设计完成时间:2019年12月17日昆明学院昆明学院课程设计(大作业)任务书目录课程设计(大作业)报告 (1)昆明学院课程设计(大作业)任务书 (I)一、任务要求 (1)二、解决步骤 (1)1. 背景分析 (1)2. 需求分析 (2)3. 总体设计 (4)3.1表结构设计 (4)3.2总体设计ER图 (6)3.3总体设计类图 (7)4. 详细设计 (7)4.1数据字典 (11)4.2数据库实现 (15)4.3插入数据 (21)4.3图书管理系统测试 (25)4.4图书管理系统修改 (29)三、心得体会 (32)四、参考文献 (32)课程设计(大作业)报告一、任务要求Oracle数据库应用大作业使学生通过对Oracle数据库基础知识的学习,掌握Oracle数据库基本操作,使学生掌握应用Oracle数据库所必须的所有核心概念和内容,在这个过程中激发学生学习的兴趣,并为后续的专业课程的学习打下坚实的基础。

在课后几周,给学生布置一个Oracle数据库平台应用的任务。

学生在教师的指导下,以任务驱动方式使学生们熟练掌握Oracle数据库的基本应用。

具体要求:1.各小组请参看教材第236页,自选课题设计管理系统数据库;2.请将所学知识和技能充分运用到所设计的管理系统数据库中;3.要求数据库系统能正常运行,可进行查询;查询的复杂程度将最终决定该小组的得分高低。

(自拟查询任务并实现,小组内每位同学的查询任务应有区分);4.在所设计的数据库中尽可能多的创建数据库对象;5.文档撰写规范、整齐,图文并茂。

二、解决步骤1.背景分析图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。

oracle大型数据库实验报告4

oracle大型数据库实验报告4

五、思考题及其它1、显示游标和隐式游标在用法上的区别?2、raise语句应该放在PL/SQL块的哪个部分?当在异常和oracle错误之间建立关联时,应该在哪个部分完成?3、实验报告要求本次实验书写两次,分别是(一)和(二)、(三)和(四)实验六:过程、函数、触发器实验学时:4实验类型:设计型一.实验目的及要求1.掌握过程的创建与维护;2.掌握函数的创建与维护;3.掌握触发器的创建于维护;4.了解包的使用。

二、实验主要内容1.过程的创建与维护;2.函数的创建与维护;3.触发器的创建于维护;4.包的使用。

三、实验仪器设备在局域网环境下,有一台服务器和若干台客户机。

服务器成功安装Oracle 11g数据库服务器(企业版),客户机成功安装Oracle 11g客户端软件,网络服务配置正确,数据库和客户端正常工作。

四、实验内容与步骤(一)、过程的创建与维护1、编写一个过程,可以输入一个雇员名,如果该雇员的的职位为PRESIDENT就给他的工资增加1000,如果该雇员的职位为MANAGER,就给他的工资加500,其他职位的雇员工资增加200。

并在SQL*PLUS中调用该过程以修改FORD的工资。

2、创建一个过程avg_sal,用于输出emp表中某个部门的平均工资,并在PL/SQL匿名块中调用该过程输出20号部门的平均工资。

3、从雇员基本信息表(EMP)中统计各部门(DEPTNO)人数后,将结果打印出来。

(选做)CREATE OR REPLACE PROCEDURE SUM_COUNT IS--创建一个游标,查询dept所有的部门编号Dept_cursor %ROWTYPE; --定义一个游标类型的变量--定义一个变量来存储部门人数BEGIN--打开游标LOOPINTO Dept_cursor;--读取游标SELECT COUNT(*) INTO num FROM empWHERE deptno= Dept_cursor.deptno;/*--填充代码,打印输出部门号及其对应的部门人数*/EXIT WHEN %NOTFOUND;--退出循环END LOOP;--关闭游标COMMIT;END;--执行存储过程sum_count(二)、函数的创建与维护1、创建一个函数get_sum_salary,获取某部门的人数(out参数)和工资总和(返回值)。

oracle 工作总结

oracle 工作总结

oracle 工作总结
《Oracle 工作总结》。

在过去的一段时间里,我一直在公司的Oracle团队工作。

在这段时间里,我学到了很多关于Oracle数据库管理和优化的知识,也积累了丰富的工作经验。

在这篇文章中,我将对我的工作进行总结,并分享一些我在Oracle工作中的收获和体会。

首先,我要谈谈我在Oracle数据库管理方面的工作。

在这个岗位上,我负责监控数据库的运行状态,确保数据库的稳定性和安全性。

我学会了如何定期备份数据库,以防止数据丢失。

我还学会了如何优化数据库的性能,通过调整参数和索引来提高数据库的查询效率。

在这个过程中,我遇到了很多问题,但通过不断学习和实践,我逐渐掌握了数据库管理的技巧和方法。

其次,我还要谈谈我在Oracle数据库优化方面的工作。

在这个岗位上,我负责分析数据库的性能问题,并提出优化建议。

我学会了如何通过SQL调优来提高数据库的查询速度,如何通过合理的索引设计来减少数据库的IO负载。

我还学会了如何通过分区表和分区索引来提高数据库的并发处理能力。

通过这些工作,我深入了解了Oracle数据库的优化原理和方法,也提高了自己的技术水平。

总的来说,我的Oracle工作经历让我受益良多。

我不仅学会了数据库管理和优化的技术,也锻炼了自己的分析和解决问题的能力。

我相信,在未来的工作中,我会继续努力学习,不断提高自己的技术水平,为公司的发展贡献自己的力量。

感谢公司给予我这次宝贵的工作机会,我会继续努力,不辜负公司的期望。

oracle数据库大作业

oracle数据库大作业

o r a c l e数据库大作业-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII2013-2014学年第二学期《大型数据库技术》考查报告课题名称:图书管理系统系统班级: 11软工java2班学号: 1115115020姓名:戴春奇成绩:2014年5月1.课题概述1.1 课题简介随着社会的发展,人们对知识的需求也不断的增长。

在这种形式下,人们就要不断的学习,不断的给自己充电,而图书馆就自然而然地在人们的生活中占据了一定的位置,如何科学的管理图书馆不但关系到读者求知的方便程度,也关系到图书馆的发展。

图书馆作为一种信息资源的集散地,用户借阅资料繁多,包含很多的信息数据的管理。

现今,有很多的图书馆都是初步开始使用,有些甚至尚未使用计算机进行信息管理。

数据信息处理工作量大,容易出错;用于数据繁多,容易丢失,且不易查找。

总的来说,缺乏系统,规范的信息管理手段。

尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出。

因此一个好的图书馆管理系统是非常重要的。

1.2 功能描述1.登录模块用户登录:用户在登陆页面登陆,登陆成功进入系统。

管理员登陆:用于管理员的登陆,在后台登陆页面登陆,登陆成功进入系统。

图书管理员与系统管理员后台功能不一样。

查询用户表,对应用户名、密码正确则进入系统,对应用户名密码不正确则显示相应信息。

2.图书管理模块对图书进行添加、查询、修改、删除、添加。

将输入的图书信息添加到数据库图书表中,以方便进行各种查询及更新操作,根据输入的图书名称或作者,查询数据库图书表中的相应记录并显示相应图书信息,更新数据库图书表中对应记录并显示更新后的图书信息,删除数据库图书表中对应记录。

3.副本信息模块对图书的副本信息进行添加、修改、删除。

将输入的图书副本信息添加到副本表中,并分配一个独立的中南码根据输入的中南码或国际标准图书编码,查询图书副本表,显示副本信息更新副本表的数据库、删除副本表中所对应的图书信息、修改副本表中错误的信息并更新数据库。

大型数据库oracle实验报告

大型数据库oracle实验报告

实验报告课程名称:大型数据库系统实验项目:数据库实验实验地点:逸夫楼502专业班级:软件12xx 学号:201200xxxx 学生姓名:xx指导教师:宋成明2015年4月11日实验1创建数据库和表及表数据的插入、修改和删除一、实验目的和要求1.学会使用SQL语句手工出创建数据库,创建表;2.学会使用PL/SQL语句对数据库表进行插入、修改和删除数据的操作;3.学会使用SQL DEVELOPER对数据库表进行插入、修改和删除数据的操作;4.了解数据更新操作时要注意数据完整性;5.了解PL/SQL语句对表数据操作的灵活控制功能。

二、实验内容和原理分别使用SQL Developer和PL/SQL语句,在实验二建立的数据库YGGL或实验一随安装Oracle 11g时建立的数据库中所建立的三个表Employees, Departments和Salary中分别插入多行数据记录,然后修改和删除一些记录。

使用PL/SQL进行有限制的修改和删除。

表的内容如教材p311页所示。

使用PL/SQL命令操作数据。

内容如教材p312页所要求,给出相应语句段及结果截图。

三、主要仪器设备——系统运行的软硬件环境1.HP 6470b笔记本win7 32位系统2.Oracle 11g大型数据库及其相应的配套软件四、实验结果与分析1.在scott用户中创建表(1)Employees(员工信息表)表create table Employees(EmployeeID char(6) primary key,Name char(10) not null,Birthday date not null,Sex number(1) not null,Address char(20),Zip char(6),PhoneNumber char(12),DepartmentID char(3) not null);查看创建后的Employees表(2)Departments(部门信息)表create table Departments(DepartmentID char(3) primary key,DepartmentName char(20) not null,Note varchar2(100));查看创建后的Departments表(3)Salary(员工薪水情况)表create table Salary(EmployeeId char(6) primary key,InCome number(8,2) not null,OutCome number(8,2) not null);查看创建后的Salary表2.向表中插入数据(1)在Employees表中插入数据insert into employees values('000001','王林',to_date('19960123','YYYYMMDD'),1,'中山路32',210003,83355668,2); insert into employees values('010008','吴荣华',to_date('19760123','YYYYMMDD'),1,'北京东路',210001,83321321,1); insert into employees values('020010','王向荣',to_date('19821209','YYYYMMDD'),1,'四牌楼',210006,83792361,1); insert into employees values('020018','李丽',to_date('19600730','YYYYMMDD'),0,'中山东路',210002,83413301,1); insert into employees values('102201','刘明',to_date('19721018','YYYYMMDD'),1,'虎踞路',210013,83606608,5); insert into employees values('102208','朱俊',to_date('19650928','YYYYMMDD'),1,'牌楼巷',210004,84708817,5); insert into employees values('108991','钟敏',to_date('19790810','YYYYMMDD'),0,'中山路10',210003,83346722,3); insert into employees values('111006','张石兵',to_date('19741001','YYYYMMDD'),1,'解放路',210010,84563418,5); insert into employees values('210678','林涛',to_date('19770402','YYYYMMDD'),1,'中山北路',210008,83467336,3); insert into employees values('302566','李玉珉',to_date('19680920','YYYYMMDD'),1,'热河路',210001,58765991,4); insert into employees values('308759','叶凡',to_date('19781118','YYYYMMDD'),1,'北京西路',210002,83308901,4); insert into employees values('504209','陈林琳',to_date('19690903','YYYYMMDD'),1,'汉中路',210018,84468158,4);查看插入数据后的Employees表(2)在Departments表中插入数据insert into Departments values('1','财务部','null');insert into Departments values('2','人力资源部','null');insert into Departments values('3','经理办公室','null');insert into Departments values('4','研发部','null');insert into Departments values('5','市场部','null');查看插入数据后的Departments表(3)在Salary表中插入数据insert into Salary values('000001',2100.8,123.09);insert into Salary values('010008',1582.62,88.03);insert into Salary values('102201',2569.88,185.65);insert into Salary values('111006',1987.01,79.58);insert into Salary values('504209',2066.15,108.0);insert into Salary values('302566',2980.7,210.2);insert into Salary values('108991',3259.98,281.52);insert into Salary values('020010',2860.0,198.0);insert into Salary values('020018',2347.68,180.0);insert into Salary values('308759',2531.98,199.08);insert into Salary values('210678',2240.0,121.0);insert into Salary values('102208',1980.0,100.0);查看插入数据后的Salary表3.在表中修改数据例如:修改表Salary中某个记录的字段值update Salary set INCOME = 2890.5 where EmployeeID = '000001';查看修改后的数据4.在表中删除数据例如:删除表Salary中一行记录delete from Salary where EmployeeID = '000001';查看删除后的数据五、讨论、心得通过本次实验,对oracle的PL/SQL数据库建立语句、建表语句以及数据操作语句DML有了更加熟练的掌握和操作。

ORACLE实验大作业

ORACLE实验大作业

ORACLE实验⼤作业⼤型作业报告课程名称数据库系统⼤型作业。

课程代码141310901/02 .姓名。

专业信息管理与信息系统。

班级2011131 .上海电⼒学院经济与管理学院数据库系统⼤型作业评分表考核形式及成绩评定办法⼤型作业最终每个学⽣的总评成绩分三个部分组成:1课程设计报告质量;2平时表现;3答辩情况。

具体⽐例为40:10:50。

每个部分的具体评分标准如下:1、课程设计报告:项⽬分数备注课程设计报告的质量备注:课程设计报告的质量40%,分4个等级:1、按要求格式书写,符合任务书的要求。

其中选择题错误在0~5个之间,简答题内容基本没有错误。

30-402、基本按要求格式书写,基本符合任务书的要求。

其中选择题错误在5~8个之间,简答题内容有少量错误。

30-203、基本按要求格式书写,基本符合任务书的要求。

其中选择题错误在 8~12个之间,简答题内容错误较多。

20-105、基本按要求格式书写,不符合任务书的要求。

其中选择题错误在12~15个之间,简答题内容错误较多。

0-102、平时表现:项⽬分数备注平时表现备注:课程设计过程中的⼯作态度10%,分4个等级:1、很好,积极参与,答疑及出勤情况很好9-102、良好,⽐较能积极参与,答辩情况良好但有少量缺勤记录,或答辩情况⼀般但出勤情况良好6-83、⼀般,积极性不是很⾼,基本没有答疑记录,出勤情况较差3-54、⽋佳,不认真投⼊,且缺勤很多,也没有任何答辩记录0-23、课程设计答辩分数:项⽬分数备注答辩表现50%,分4个等级:1、应对良好,能准确回答⽼师提问40-502、在提⽰下能回答⽼师提问25-403、能回答部分提问10-254、回答不出问题0-10总评分数:ORACLE实验⼤作业⼀、题型1.笔试部分:1.1多选题1.2简答题2.上机操作分部:2.1将笔试部分的简答题进⾏上机操作,并将答案进⾏⼯具进⾏截图,⽣成实验报告。

2.2根据给定的E-R图,在数据库中创建相应的对象,并根据需求查询结果,将结果截图,成⽣实验报告。

(完整word版)Oracle报告

(完整word版)Oracle报告

实验报告课程名称:大型数据库管理与应用实验项目:Oracle 数据库管理及应用专业班级:计算机1103班姓名:王圣林学号:110405305 实验室号:205 实验组号:05 实验时间:批阅时间:指导教师:崔文成成绩:一、o racle数据库基础操作(写出创建语句和运行结果截图)1.库的创建Create database dzq1 datafile 'F:\app\product\11。

2。

0\dbhome_1\oradata\orcl\system01.dbf' size 300M reuse autoextend on next 10 240K maxsize unlimited extent management local sysaux datafile ’F:\app\product\11.2.0\dbhome_1\oradata\orcl\sysaux01.dbf' size 120M reuse aut oextend on next 10240K maxsize unlimited default temporary tablespace temp te mpfile 'F:\app\oradata\orcl\temp01。

dbf’ size 20M reuse autoextend on next 640K maxsize unlimited undo tablespac e "UNDOTBS1” datafile ’F:\app\product\11。

2。

0\dbhome_1\oradata\orcl\undotbs01.dbf’ size 200M reuse autoextend on next 5120K maxsize unlimited logfile group 1 ('F:\app\product\11.2.0\dbhome_1\orad ata\orcl\redo01。

oracle大型数据库实验报告3

oracle大型数据库实验报告3

练习:用desc命令查看V$log视图的结构,并试着查询控制文件更详细的信息。

(3)控制文件通过如下方式查看控制文件相关信息:给出运行结果截图:练习:用desc命令查看V$controlfile视图的结构,并试着查询更详细的信息。

(4)参数文件①通过如下方式查看参数文件相关信息:a、show parameter显示服务器参数b、查询试图v$Parameter,可以利用该动态性能视图来确定参数的默认值是否被修改,以及是否可以用alter system和alter session命令修改阅读结果并理解各数据项的含义。

②修改服务器参数a、通过企业管理器(OEM)修改b、使用alter system修改服务器参数。

格式如下:Alter system set parameter =value <commernt =‘text’><feferred><scope=memory|spfile|both><sid=‘sid’|*>Eg:alter system set db_block_size=4096;练习:在%oracle_home%(如D:\app\Administrator\product\11.2.0\dbhome_1\database 或者D:\app\Administrator\product\11.2.0\dbhome_1\srvm\admin)找到名为SPFileSID.ora(如:SPfileorcl.ora)和init.ora的文件,此文件即为参数文件,用记事本或者写字板打开它们,阅读其内容并理解各数据项的作用。

3、Oracle逻辑存储结构(1)查看表空间的名称及大小执行以下语句,并给出运行结果。

(2)查看表空间物理文件的名称及大小执行以下语句,并给出运行结果。

(3)查看回滚段名称及大小执行以下语句,并给出运行结果。

(4)查看所有表空间对应的数据文件名:SQL>select distinct file_name,tablespace_name,AUTOEXTENSIBLEfrom dba_data_files;(5)查看表空间的使用情况:SQL>select sum(bytes)/(1024*1024) as free_space,tablespace_namefrom dba_free_space group by tablespace_name;(6)查看回滚段的使用情况,哪个用户正在使用回滚段的资源:SQL>select ername, from v$transaction t,v$rollstat r,v$rollname u,v$session swhere s.taddr=t.addr and t.xidusn=n and n=n order by ername;4、Oracle内存与进程结构(1)查看sga情况:SQL>SELECT NAME, BYTESFROM SYS.V_$SGASTAT ORDER BY NAME ASC;(2)数据库共享池性能检查:SQL>Select namespace,gets,gethitratio,pins,pinhitratio,reloads,Invalidations from v$librarycachewhere namespace in ('SQLAREA','TABLE/PROCEDURE','BODY','TRIGGER'); (3)检查共享内存的剩余情况:SQL>select request_misses, request_failuresfrom v$shared_pool_reserved;(4)数据高速缓冲区性能检查:SQL>select 1-p.value/(b.value+c.value) "db buffer cache hitratio"from v$sysstat p,v$sysstat b,v$sysstat cWhere ='physical reads' and ='db block gets'and ='consistent gets';(5)查看排序段的性能:SQL>SELECT name, valueFROM v$sysstatWHERE name IN ('sorts (memory)', 'sorts (disk)');(6)查看数据库中某用户,正在运行什么SQL语句SQL>SELECT SQL_TEXTFROM V$SQLTEXT T, V$SESSION SWHERE T.ADDRESS=S.SQL_ADDRESSAND T.HASH_value=S.SQL_HASH_value AND S.MACHINE='XXXXX' OR USERNAME='WACOS';4、其他(1)查看数据库库对象:SQL>select owner, object_type, status, count(*) count# from all_objectsgroup by owner, object_type, status;(2)查看数据库的创建日期和归档方式:SQL>Select Created, Log_Mode From V$Database;5、作业与思考练习题1、现有控制文件的位置及其名称是什么?提示:查询动态性能视图V$CONTROLFILE。

Oracle大型数据库实验报告

Oracle大型数据库实验报告

实验报告
课程名称:大型数据库系统
实验项目:数据库实验
实验地点:逸夫楼302
专业班级:软件1013班学号:2010004744 学生姓名:荆婉
指导教师:沈晋原
2013年4 月12 日
太原理工大学实验报告一
16.、SQL Plus的登录界面
17.SQL Developer的界面。

单击“创建”
创建表Employees如下
点击“确定”即可创建创建表Departments如下
单击“确定”即可创建创建表Salary如下
点击“使用选项删除”即可删除该表
9、在SQL Developer中创建表
根据教材p309页的要求,用SQL Developer在YGGL或实验一中创建的数据库重建上述各表。

注意,连接名可直接用数据库名而不必加'_ora',但要保证SID名要与数据库名一致。

给出相应过程及结果截图。

点击“确定”即可创建
点击“确定”即可创建
太原理工大学实验报告二
向Departments表中插入数据如下
(2)select Name,InCome,OutCome
from Employees,Salary,Departments
where Employees.EmployeeID= Salary.EmployeeID and Employees.DepartmentID= Departments.DepartmentID and
6、使用视图
按照教材p317的内容和步骤完成实验内容。

给出相应语句段和结果的对应截图。

8、创建视图
(2)使用视图
<1>查询财务部雇员的信息
太原理工大学实验报告三。

oracle论文大作业

oracle论文大作业

成绩:Oracle数据库系统应用大作业班级:学号:姓名:指导教师:黄建才日期:2014.5.10Oracle数据库的定期备份策略与方法摘要:在当今信息化的时代里,数据库安全是管理系统正常运行的重要保障,数据库备份几乎是任何计算机信息系统中曲要的组成部分,阐述了ORACLE数据库备份的方法和策略,从而提高数据库的恢复效率,缩短数据库的恢复时间,降低维修成本.本文针对oraclel0g数据库.论述了Oracle10g数据库备份的方式和策略,主要介绍了EXP/IMP、RMAN的定期备份策略和方法。

该备份策略与方法在某系统中已得到成功应用,实现了数据库的定期备份。

关键词:oracle10g数据库;运行方式;定期备份策略;导入/导出方式;RMAN引言:Oracle是一个最早的、技术最为先进的、具有面向对象功能的对象关系型数据库管理系统产品,该产品应用非常广泛。

在我国,Oracle的应用已经深入到了银行、邮电、电力、铁路、气象、民航、情报、公安、军事、航天、财税、制造和教育等许多行业。

Oraclel0g作为Oracle产品中的新版本。

其功能更加强大、更加安全和实用。

任何一个在企业内运行的数据库,都难免会遭遇到一些灾难,这些灾难包括天灾和人祸,从而造成数据库中数据丢失.一些企业积累了几年甚至几十年的技术资料有可能将不复存在,一些网站公司将丢失大量客户,这时怎么恢复数据库的数据就显得尤为重要。

针对Oracle10g备份和恢复资料可以找到很多,但查找到的资料并不全面,按资料所介绍的方法进行备份恢复,不能很好的达成目标,有时还会造成数据库的崩溃。

本文基于开发的某招标系统。

提出了一个可行的Oraclel0g数据库定期备份的策略,并在系统中成功应用。

1.0RACLE的运行方式ORACLE数据库有2种运行方式:归档方式(ARCHIVELOG),其目的是当数据库发生故障时最大限度恢复数据库,可以保证不丢失任何已提交的数据;不归档方式(NOARCHIVELOG),只能恢复数据库到最近的回收点(冷备份或逻辑备份).根据数据库的高可用性和用户可承受丢失的工作量的多少,对于生产数据库,强烈要求采用归档方式,那些正在开发和调试的数据库可以采用不归档方式.如何改变数据库的运行方式,在创建数据库时,作为创建数据库的一部分,就决定了数据库初始的存档方式.一般情况下为NOARCHIVELOG方式.当数据库创建好以后,根据需要把需要运行在归档方式的数据库改成ARCHIVELOG方式。

数据库大作业实验报告

数据库大作业实验报告

Oracle大作业设计报告题目:高校运动会分数统计系统****:***学号:22、20专业班级:计科14101同组姓名: 胡君阳****:***设计时间: 2016 年下学期指导老师意见:评定成绩: 签名: 日期:一.需求分析本文按照数据库系统设计的基本步骤,采取了事先进行需求分析,然后进行数据库的概念设计和逻辑结构设计,最后进行数据库详细设计的方法,完成了一个高校运动会分数统计系统的设计。

1.1、系统功能实现(1)运动员信息管理、运动项目管理、成绩统计等功能,包括运动员信息的添加、修改、删除及查询;(2)运动项目的添加、修改、删除及查询;(3)各项目分数查询等功能1.2、系统功能要求1) 概念结构设计:在需求分析和总体功能设计的基础上,设计 e-r 模型,详细描述实体的属性和实体之间的联系。

2) 逻辑结构设计:实现 e-r 图向关系模型的转换,详细列表显示完整的数据库表结构。

2、创建表空间3、在表空间中创建表在 sql*plus 环境中输入 pl/sql 代码,创建数据库中的各个表,至少包括运动员信息表、运动项目表、成绩表等 5张表(自行设计用到的表,注意表中字段的设置及类型);向表中插入数据,每张表至少插入 10条数据,数据要合理。

4、索引和完整性在表上建立相应索引。

实现列、行及参照完整性(必须建立主键、外键、检查约束等)。

5、数据查询和视图使用 select 语句实现运动员信息、项目信息、成绩信息等的查询(要求查询要和系统的功能联系起来,做单条件的查询、组合条件的查询、多表查询等,至少完成 10个查询)。

创建视图查询各个院系的总分。

6、存储过程和触发器的使用创建存储过程实现表中数据的修改和删除。

创建函数统计教工的参赛人数。

创建触发器实现如下功能:一个运动员至多参加四个项目。

7、用户、角色创建用户并授权,将其赋予某个角色成为其成员。

不同的用户授予不同的权限,管理员的权限最高,可以对各种信息进行修改删除等操作。

ORACLE实验报告完结版

ORACLE实验报告完结版

实验报告(三)院系:信息学院课程名称:日期:班级姓名专业信息管理与信息系统学号实验室实验名称Oracle的存储管理与分析(1)成绩评定教师签名实验目的索引实验内容一、请写三个表明oracle读取数据所用的三种方式的SQL语句,并列出它们的执行计划二、以emp为原型,创建一个test表,在test的empno列上创建索引三、分析索引,通过index_stats查看的索引高度,结构等信息四、往test表中删除,插入,更新3-5条记录,再分析索引,查看三所列的索引结构的信息五、往test表中插入600条记录,查看索引结构六、删除500条记录,查看索引结构七、对索引进行合并,查看索引变化八、重构索引,查看索引变化一、请写三个表明oracle读取数据所用的三种方式的SQL语句,并列出它们的执行计划1.全表扫描(full table scan--fts)并行查询可能会使得我们的路径选择采用全表扫描2.通过行ID(ROWID)向表中插入对象时隐含会创建改行ROWID,它是数据行所存储的数据块地址,这样可以以最快的速度找到该行数据,是oracle中读取单行数据最快的方法。

3.使用索引(1)使用索引找到相应ROWID(2)通过找到的ROWID从表中读取相应的数据二、以emp为原型,创建一个test表,在test的empno列上创建索引三、分析索引,通过index_stats查看的索引高度,结构等信息四、往test表中删除,插入,更新3-5条记录,再分析索引,查看三所列的索引结构的信息五、往test表中插入600条记录,查看索引结构这样依次插入到表test中600条记录,再查看索引结构有如下变化:六、删除500条记录,查看索引结构;按照这样删除的方法把插入的600记录删除500条后在查看索引结构:七、对索引进行合并,查看索引变化;八、重构索引,查看索引变化;实验报告(三)院系:信息学院课程名称:日期:班级姓名专业信息管理与信息系统学号实验室实验名称oracle存储管理与优化(2)成绩评定教师签名实验目的日志管理实验内容1查看日志组和日志文件的相关信息(v$log,v$logfile)了解日志组状态真正涵义;2切换日志组,跟踪日志切换的时间频率;3往数据里增加两个日志组,再删除其中的一个,结合日志组的状态,分析哪些类型的日志组不能删除4.往日志组里增加日志成员,再删除添加的日志成员,分析哪些类型的日志文件不能删除;5日志文件的恢复:1.nactive日志损坏清洗日志2.active日志损坏,只要数据库是一致性关闭,与1的恢复一样3.current日志损坏不完全恢复1查看日志组和日志文件的相关信息(v$log,v$logfile)了解日志组状态真正涵义;v$log记录了当前数据库的日志组号、日志序列号、每个日志文件的大小、以字节为单位、每个日志组的成员数量,以及日志组的当前状态。

(Oracle管理)太原理工大学Oracle实验报告

(Oracle管理)太原理工大学Oracle实验报告

实验由本人当时亲自完成
仅供参考,希望可以帮助大家
实验报告
课程名称:大型数据库系统
实验项目:Oracle实用教程
实验地点:逸夫楼202
专业班级:00000000班学号:00000000
学生姓名:氣宇軒昂
指导教师:
2013年13月13日
太原理工大学实验报告
图1.1 安装1图1.2 安装2
图1.3 安装3
图1.5 安装5
安装好后的界面
OEM的界面:
图1.6 oem的登录界面
图1.7 打开后的oem SqlDeveloper的界面:
如上就是创建表的页面,当出现下图时,表示,创建成功。

如上图,表示Emploryees创建成功。

Departmens和Sarary的创建与Emploryees相同。

4.在OEM中删除已创建的表
太原理工大学实验报告
操作结果是Employees中插入例如所需要的数据,如图:
如上图,这是Salary表,看见很是繁琐,因为写完一行之后必须得执行,这样一行一行的
从上图中可以看出Salary 中的所有记录都被删除了。

(2)查询每个雇员的地址和电话。

(2)查询财务部收入在2200元以上的雇员姓名及其薪水详情。

太原理工大学实验报告
最后一个替代system系统用户不能授权,不知为何。

系统权限不能够授权,内置角色却可以授权。

1.使用游标和loop循环来显示所有部门的名称;
太原理工大学实验报告。

oracle大作业

oracle大作业

2014-2015学年第二学期《大型数据库技术》大作业课题名称:服装批发管理数据库班级: 13级软工移动2班学号:姓名:成绩:2015年5月(一)Oracle的安装与配置(1)Oracle 11g的安装(2)创建数据库(二)用户与权限管理(1)新建一个用户表空间MYTBS,要求大小为500M。

MYTBS表空间下有两个数据文件MYTBS1.DBF和MyTBS2.DBF,文件分别放在E和F两个不同的磁盘分区。

(2)用户配置文件的创建(3)用户的创建(4)权限的分配(5)用户登录(三)Oracle对象创建与管理(1)课题简介实现对服装批发市场货源的批入批出管理,库存信息的检索功能,入库信息检索,出库信息检索,盈利金额大小等。

(2)数据库表清单表1:lcj_piruBianhao Changshang YiwuzhongleiShuliang Jiage Chagnname 主键外键Char(10)Char(10)Varchar2(20)Varchar2(20)Varchar2(20)Varchar2(20)表2:lcj_pichuBianhao Chagnshang YiwuzhongleiShuliang Jiage changname 主键外键Char(10)Char(10)Varchar2(20)Varchar2(20)Varchar2(20)Varchar2(20)表3:lcj_changjiabianhao Name Address Tel主键Char(10)Varchar2(20)Varchar2(20)Varchar2(20)表4:lcj_maijiaBianhao Name Adress tes主键Char(10)Varchar2(20)Varchar2(20)Varchar2(20)(3)普通数据表及索引的实现(4)索引、视图的实现(四)PL/SQL编程(1)表数据的录入功能a)对表lcj_changjia的数据的录入功能:对表lcj_changjia的数据的录入,可以创建一个存储过程,输入参数是bianhao,name,address,tel,输出的是预定义异常提醒。

oracle数据库设计大作业

oracle数据库设计大作业

Oracle数据库设计大作业一、引言Oracle数据库是一种关系型数据库管理系统(RDBMS),在企业级应用中被广泛使用。

本文将探讨Oracle数据库设计的重要性、设计原则和方法,以及如何成功完成一个Oracle数据库设计的大作业。

二、Oracle数据库设计的重要性数据库设计是构建可靠、高效的数据库系统的关键步骤。

一个良好的数据库设计能够提高系统性能、确保数据的完整性、灵活性和安全性。

对于Oracle数据库而言,设计的质量直接影响到系统的可维护性和可扩展性。

三、设计原则和方法3.1 数据库规范在进行Oracle数据库设计之前,需要明确数据库的规范。

包括命名规范(表名、列名等)、数据类型规范、主键和外键规范、数据约束规范等。

通过统一规范,可以提高数据库的可读性和维护性。

3.2 正规化正规化是数据库设计的重要方法之一。

它通过消除冗余数据、分解表和建立关系,提高数据库的灵活性和性能。

常用的正规化方法包括第一范式、第二范式和第三范式。

在进行正规化过程中,需要注意保持数据的一致性和完整性。

3.3 性能优化在设计Oracle数据库时,需要考虑系统的性能。

可以通过以下方法进行性能优化:1. 合理选择数据类型:选择合适的数据类型可以减小存储空间和提高查询效率。

2. 建立索引:索引可以加快查询速度,但过多的索引会增加维护开销,需要权衡。

3. 使用分区表:对大型表进行分区可以提高查询和维护效率。

4. 优化查询语句:避免使用重复的子查询、使用合适的连接方式等。

3.4 安全性设计数据库的安全性设计是保证数据不受非法访问的重要措施。

在Oracle数据库中,可以通过以下方式提高安全性: 1. 用户权限管理:为不同的用户分配不同的权限,以控制对数据库的访问和操作。

2. 角色管理:通过角色来管理用户的权限,简化权限管理过程。

3. 密码策略:设置复杂的密码策略,强制用户定期更换密码。

4. 数据加密:对敏感数据进行加密,保证数据的机密性。

Oracle大型数据库技术大作业

Oracle大型数据库技术大作业

《大型数据库技术》(一)Oracle的安装与配置(10分)(1)Oracle 11g的安装此部分主要描述Oracle 11g的安装过程,在此粘贴安装过程中的屏幕截图。

(2)创建数据库此部分主要描述利用DBCA创建数据库的过程,在此粘贴创建过程中的屏幕截图。

创建数据库,下一步选择一般用途或事务处理,下一步输入数据库名称,以自己名字首字母大写命名,默认全局和SID是一样的配置EM添加口令为自己的学号1715925553复制数据库文件,创建数据库(二)用户与权限管理(20分)(1)新建一个用户表空间MYTBS,要求大小为500M。

MYTBS表空间下有两个数据文件MYTBS1.DBF和MyTBS2.DBF,文件分别放在E和F两个不同的磁盘分区。

(1)表空间的创建此部分书写创建一个用户表空间MYTBS的实现代码的屏幕截图。

(2)创建用户配置文件userprofile,要求密码的生存周期为10天,允许输入错误的密码不得超过3次,超过3次密码锁1天。

(用语句查看该配置文件中的资源配置结果,dba_profiles数据字典表,截图语句及查询结果)(2)用户配置文件的创建此部分写创建用户配置文件的实现代码的屏幕截图。

(3)新建一个用户,用户名称为学生姓名的首字母,密码为学生的学号。

如学生姓名为“张三”,则用户名称则为zs。

为新帐号设置默认表空间为MYTBS。

系统所有对象必须建立在该帐号下,所有对象必须存储在MYTBS表空间中。

用户的配置文件为userprofile; (用语句查看新建的用户默认表空间,dba_users数据字典表,截图语句及查询结果)(3)用户的创建此部分写创建用户配置文件的实现代码的屏幕截图。

(4)为用户赋予登录Oracle的权限;为用户赋予创建任何表、创建任何索引的权限;将DBA的角色给新建用户;查看对应的用户获得的权限和角色(用数据字典表user_sys_privs,user_tab_privs,user_role_等,,截图语句及查询结果)(4)权限的分配此处写分配权限的代码及查看权限代码(5)用新建的帐号登录。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

项目数据库设计报告名称:关于商品订售的数据字典_Oracle学院:计算机与信息学院目录一、引言 (3)1编写目的 (3)2项目背景 (3)3设计环境 (3)4小组分工 (3)二.、结构设计 (3)1 概念结构设计 (3)2 编码规范 (3)2.1数据库 (3)2.2数据表 (4)2.3 字段 (4)2.4逻辑结构设计 (4)三、E-R图 (4)1 CDM图 (6)2 PDM图 (7)四、生成oracle数据库 (7)五、测试用例 (13)1 员工表 (13)2 顾客表 (13)3 工令表 (13)4 派送表 (14)5 订单表 (14)6 产品表 (14)7 发票表 (14)8 员工表 (14)9 库存表................................................................................................. 错误!未定义书签。

六、授权 (14)七、触发器 (15)一、引言1编写目的此文档仅供本开发小组内部使用。

通过此文档比较直观的说明数据库的结构以及各数据库表之间的关系。

同时规定数据库,数据库表,各字段的命名规范以及表中字段的类型、大小包括字段说明。

2项目背景说明:待开发的数据库暂定名称为商品订购 ,其中包括8张数据表;该数据库设计项目的任务提出者:XXX销售公司用户:程序开发人员注:该软件和数据库最终面向在各销售公司3设计环境PowerDesigner 15.0SQLplus4小组分工二.、结构设计1 概念结构设计本数据库设计为oracle平台2 编码规范2.1数据库数据库命名以数据库相关英文单词命名。

2.2数据表数据表命名2.3 字段字段一般采用英文单词或词组命名(可用翻译软件),无专业名词可用相近意义单词或词组代替。

如表所示:字段命名示例2.4逻辑结构设计一、相关数据字典(增加处红色标示,删除处蓝色标示,黄色为原因)三、E-R图1 CDM图2 PDM图四、生成oracle数据库以下为代码部分:/*==============================================================*/ /* DBMS name: ORACLE Version 10g */ /* Created on: 2013-12-4 18:18:37 *//*==============================================================*/alter table "delivery"drop constraint FK_DELIVERY_DELTOORD_ORD;alter table "emp"drop constraint FK_EMP_EMP_DEPT_DEPART;alter table "invoice"drop constraint FK_INVOICE_INTOORD_ORD;alter table "ord"drop constraint FK_ORD_REQUEST_CUSTOMER;alter table "ord"drop constraint FK_ORD_SERVE_EMP;alter table "orderdetail"drop constraint FK_ORDERDET_GOODSTODE_PROSTOCK;alter table "orderdetail"drop constraint FK_ORDERDET_ORDERTODE_ORD;alter table "wip"drop constraint FK_WIP_WIP_HAPPE_PROSTOCK;drop table "customer" cascade constraints;drop index "deltoord_FK";drop table "delivery" cascade constraints;drop table "depart" cascade constraints;drop index "emp_dept_FK";drop table "emp" cascade constraints;drop index "intoord_FK";drop table "invoice" cascade constraints;drop index "request_FK";drop index "serve_FK";drop table "ord" cascade constraints;drop index "goodstodetail_FK";drop index "ordertodetail_FK";drop table "orderdetail" cascade constraints;drop table "prostock" cascade constraints;drop index "wip_happend_FK";drop table "wip" cascade constraints;/*==============================================================*/ /* Table: "customer" *//*==============================================================*/ create table "customer" ("custid" VARCHAR2(10) not null,"custname" VARCHAR2(22),"custadd" VARCHAR2(20),"custphone" VARCHAR2(12),"custfax" VARCHAR2(12),constraint PK_CUSTOMER primary key ("custid"));/*==============================================================*/ /* Table: "delivery" *//*==============================================================*/ create table "delivery" ("delino" VARCHAR2(10) not null,"ordid" VARCHAR2(10),"carno" VARCHAR2(10),constraint PK_DELIVERY primary key ("delino"));/*==============================================================*/ /* Index: "deltoord_FK" *//*==============================================================*/ create index "deltoord_FK" on "delivery" ("ordid" ASC);/*==============================================================*/ /* Table: "depart" *//*==============================================================*/ create table "depart" ("deptno" NUMBER(2) not null, "deptname" VARCHAR2(10),"loc" VARCHAR2(13),constraint PK_DEPART primary key ("deptno")/*==============================================================*/ /* Table: "emp" */ /*==============================================================*/ create table "emp" ("empid" VARCHAR2(10) not null, "deptno" NUMBER(2),"empname" VARCHAR2(10),"empadd" VARCHAR2(20),"empphone" VARCHAR2(12),"email" VARCHAR2(20),"mgr" VARCHAR2(10),"hiredate" DATE,"sal" NUMBER(10),"comm" NUMBER(7,2),"pro" VARCHAR2(12),"educa" VARCHAR2(12),"exper" VARCHAR2(20),constraint PK_EMP primary key ("empid"));/*==============================================================*/ /* Index: "emp_dept_FK" */ /*==============================================================*/ create index "emp_dept_FK" on "emp" ("deptno" ASC);/*==============================================================*/ /* Table: "invoice" *//*==============================================================*/ create table "invoice" ("invid" VARCHAR2(10) not null,"ordid" VARCHAR2(10),"money" NUMBER(10),constraint PK_INVOICE primary key ("invid"));/*==============================================================*/ /* Index: "intoord_FK" *//*==============================================================*/ create index "intoord_FK" on "invoice" ("ordid" ASC/*==============================================================*/ /* Table: "ord" *//*==============================================================*/ create table "ord" ("ordid" VARCHAR2(10) not null,"empid" VARCHAR2(10),"custid" VARCHAR2(10),"orddate" DATE,"d_date" DATE,constraint PK_ORD primary key ("ordid"));/*==============================================================*/ /* Index: "serve_FK" *//*==============================================================*/ create index "serve_FK" on "ord" ("empid" ASC);/*==============================================================*/ /* Index: "request_FK" *//*==============================================================*/ create index "request_FK" on "ord" ("custid" ASC);/*==============================================================*/ /* Table: "orderdetail" *//*==============================================================*/ create table "orderdetail" ("ordid" VARCHAR2(10) not null,"proid" VARCHAR2(10) not null,"o_qty" NUMBER(20),constraint PK_ORDERDETAIL primary key ("ordid", "proid"));/*==============================================================*/ /* Index: "ordertodetail_FK" *//*==============================================================*/ create index "ordertodetail_FK" on "orderdetail" ("ordid" ASC);/*==============================================================*/ /* Index: "goodstodetail_FK" *//*==============================================================*/ create index "goodstodetail_FK" on "orderdetail" ("proid" ASC);/*==============================================================*/ /* Table: "prostock" *//*==============================================================*/ create table "prostock" ("proid" VARCHAR2(10) not null,"proname" VARCHAR2(20),"stiqty" NUMBER(10),"insqty" NUMBER(10),constraint PK_PROSTOCK primary key ("proid"));/*==============================================================*/ /* Table: "wip" */ /*==============================================================*/ create table "wip" ("wipid" VARCHAR2(10) not null, "proid" VARCHAR2(10),"w_qty" NUMBER(10),constraint PK_WIP primary key ("wipid"));/*==============================================================*/ /* Index: "wip_happend_FK" */ /*==============================================================*/ create index "wip_happend_FK" on "wip" ("proid" ASC);alter table "delivery"add constraint FK_DELIVERY_DELTOORD_ORD foreign key ("ordid") references "ord" ("ordid");alter table "emp"add constraint FK_EMP_EMP_DEPT_DEPART foreign key ("deptno") references "depart" ("deptno");alter table "invoice"add constraint FK_INVOICE_INTOORD_ORD foreign key ("ordid")references "ord" ("ordid");alter table "ord"add constraint FK_ORD_REQUEST_CUSTOMER foreign key ("custid")references "customer" ("custid");alter table "ord"add constraint FK_ORD_SERVE_EMP foreign key ("empid")references "emp" ("empid");alter table "orderdetail"add constraint FK_ORDERDET_GOODSTODE_PROSTOCK foreign key ("proid") references "prostock" ("proid");alter table "orderdetail"add constraint FK_ORDERDET_ORDERTODE_ORD foreign key ("ordid")references "ord" ("ordid");alter table "wip"add constraint FK_WIP_WIP_HAPPE_PROSTOCK foreign key ("proid")references "prostock" ("proid");五、测试用例1 部门表insert into "depart"("deptno","deptname","loc") values ('36','后勤部','上海');2 顾客表Insert INTO "customer" values ('C026','现代炸药股份有限公司','上海市德平路','(021)-122222','(020)-133333');3 工令表insert into "wip"("wipid","proid","w_qty")values('W026','P005','30');4 派送表insert into "delivery" values('D026','CR26','A1-1111');5 订单表insert into "ord" ("ordid","empid","custid","orddate","d_date") values('CR26','00807','C026',to_date('30/09/91','dd/mm/yy'),to_date('11/10/91','dd/mm/yy'));6 产品表insert into "prostock" ("proid","proname","stiqty","insqty") values('P006','f','30','10');7 发票表insert into "invoice" ("invid","ordid","money") values('I006','CR26','60000');8 员工表Insert INTO "emp" ("empid","deptno","empname","empadd","empphone","email","mgr","hiredate","sal","comm"," pro","educa","exper")values ('00807','36','Wuzj','上海市人民路','(021)-123456','xxx@','Abel',to_date('29/09/91','dd/mm/yy'),'32000','1000','领班','本科','一年');六、授权以下是代码部分:create user czh identified by czhgrant create session to czhgrant select on system."emp" to czhgrant select on system."prostock" to czhgrant select on system."wip" to czhgrant select on system."depart" to czhgrant select on system."customer" to czhgrant select on system."ord" to czhgrant select on system."delivery" to czhgrant select on system."invoice" to czhcreate user hzn identified by hzngrant create session to hzngrant update,insert,delete on system."emp" to hzngrant update,insert,delete on system."prostock" to hzngrant update,insert,delete on system."wip" to hzngrant update,insert,delete on system."depart" to hzngrant update,insert,delete on system."customer" to hzngrant update,insert,delete on system."ord" to hzngrant update,insert,delete on system."delivery" to hzngrant update,insert,delete on system."invoice" to hzn七、触发器以下是代码部分:create trigger insertwip after insert on ord for each rowdeclarev_num number(7,0);v_id wip.wipid%type;beginselect sum(stiqty) into v_num from stock where proid=:new.proid;select max(wipid) into v_id from wip;if v_num<:new.ordqty theninsert into wip values(v_id+1,:new.proid,:new.ordqty-v_num,sysdate,:new.d_date);end if;end;。

相关文档
最新文档