昆明学院ORACLE数据库应用大作业报告20191028
oracle数据库实验报告
oracle数据库实验报告《Oracle数据库实验报告》在当今信息化时代,数据库管理系统扮演着至关重要的角色。
Oracle数据库作为全球领先的企业级数据库管理系统,在各行各业都有着广泛的应用。
本次实验旨在通过对Oracle数据库的实验操作,深入了解其基本功能和特点,并探讨其在实际应用中的优势和局限性。
实验一:数据库的创建与连接在实验中,我们首先学习了如何使用SQL命令创建一个新的数据库,并通过用户名和密码连接到该数据库。
通过这一步骤,我们了解了Oracle数据库的基本操作流程,包括数据库的创建、用户的授权和连接等。
实验二:数据表的创建与管理在本次实验中,我们学习了如何使用SQL命令创建数据表,并进行数据的插入、查询、更新和删除操作。
通过这些操作,我们深入了解了Oracle数据库的数据管理功能,包括数据表的设计和维护等。
实验三:索引的创建与优化索引是数据库中非常重要的组成部分,能够提高数据的检索效率。
在本次实验中,我们学习了如何使用SQL命令创建索引,并通过优化查询语句来提高数据库的性能。
这些操作让我们更加深入地了解了Oracle数据库的优化功能,以及如何通过索引来提高数据库的性能。
实验四:备份与恢复数据库的备份与恢复是数据库管理中至关重要的一环。
在本次实验中,我们学习了如何使用Oracle数据库提供的工具进行数据库的备份和恢复操作。
这些操作让我们了解了数据库的灾难恢复功能,以及如何保障数据的安全性。
通过本次实验,我们深入了解了Oracle数据库的基本操作和功能,包括数据库的创建与连接、数据表的管理、索引的优化以及备份与恢复等。
同时,我们也发现了Oracle数据库在实际应用中的优势,如稳定性、安全性和性能优化等方面。
然而,我们也意识到Oracle数据库在一些特定场景下存在一定的局限性,如高昂的成本、复杂的配置和维护等。
总的来说,本次实验让我们更加深入地了解了Oracle数据库的特点和功能,对我们今后的数据库管理工作有着重要的指导意义。
Oracle数据库课程大作业
Oracle数据库课程大作业任务一: 基础知识(1-2天)问题: 1) Oracle 的逻辑存储结构包括哪些结构对象?它们之间有什么关系?答:包括表空间、数据块、区、段。
1、每个表空间中可以存放一个或多个段;2、每个段是由一个或多个区段组成;3、每个区段是有一个或多个连续的Oracle连续的数据块组成。
2) Oracle 数据库服务端口默认是多少?答:15213)Oracle数据库实例的启动过程分为哪几个步骤?请分别写出以下情况下启动数据库的脚本:答:启动分为startup nomountalter database mountalter database opena)启动实例不加载数据库;答:sql>startup nomountb) 启动实例、加载数据库并保持数据库关闭;答:sql>startup nomountsql>alter database mountc) 启动实例、加载并打开数据库。
答:startup nomountalter database mountalter database open4)Oracle中有四种关闭数据库实例的方式,请写出其执行脚本。
答:shutdown immediate、shutdown normal、shutdown abort、shutdown transactional5)简述存储过程、函数和触发器的区别和联系。
答:触发器是特殊的存储过程,存储过程需要程序调用,而触发器会自动执行;函数是根据输入产生输出,自定义只不过输入输出的关系由用户来定义。
在什么时候用触发器。
要求系统根据某些操作自动完成相关任务,比如,根据买掉的产品的输入数量自动扣除该产品的库存量。
存储过程就是程序,它是经过语法检查和编译的SQL语句,所以运行特别快。
6)简述数据库索引的优点和缺点。
答:第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。
第二,可以大大加快数据的检索速度,这也是创建索引的最主要的原因。
2019年Oracle数据库分析报告
2019年Oracle数据库分析报告2019年6月目录一、研究Oracle数据库的背景 (5)二、对数据库的理解 (8)1、如何理解数据库 (8)2、为什么需要数据库 (9)三、数据库的发展历程 (16)1、数据管理方式的演变 (16)(1)打卡机 (16)(2)从打卡机到数据卷筒和数据鼓 (17)(3)文件系统 (17)(4)数据管理系统 (18)2、数据库发展历史上的代表人物 (18)(1)Charles W. Bachman(查尔斯•巴赫曼):1973 主持设计与开发了最早的网状数据库管理系统IDS (19)(2)Edgar F. Codd(埃德加• 科德):1981 年提出关系型数据库 (20)(3)James Gray(詹姆斯•格雷):1998 解决了数据的完整性、安全性、并行性,以及从故障恢复方面发挥了十分关键的作用,提出并实现数据库事务处理 (21)(4)Michael Stonebraker (迈克尔.斯通布雷克) :2014创造了数据库系统一系列奠基性基本概念和实际技术。
(21)3、数据库:关系型数据库&非关系型数据库 (23)(1)关系型数据库 (24)(2)非关系型数据库 (25)4、事务型数据库&分析型数据库 (28)四、Oracle的数据库 (29)1、Oracle的数据库产品 (29)2、Oracle数据库的发展历程。
(31)(1)阶段一:Oracle9i之前,支持传统的C-S架构 (34)(2)阶段二:9i-12c,支持互联网计算环境 (35)(3)阶段三:12c之后,支持云计算环境,进入自治时代 (36)3、2018年,Oracle推出数据库最新版本Oracle 18c (37)(1)Oracle数据库最新产品:Oracle Database 18c (38)(2)自治数据库云 (40)4、主流数据库简介 (42)(1)Oraccle:适用于大型企业/中高端客户 (42)(2)SQLServer:适用于中型企业 (42)(3)MySQL:适用于小型网站 (43)(4)DB2 (43)(5)PostgreSQL (43)五、Oracle数据库面临的竞争 (45)六、数据库市场格局演化情况 (49)1、数据库总体排名 (49)2、关系型数据库总体排名 (50)3、key-value存储数据库总体排名 (50)4、文件数据库(Document Database)排名 (51)七、总结 (56)数据库作为计算机架构的核心底层软件,从1970年左右发展到现在,已经有五十年左右的时间。
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实验报告
实验报告课程名称:大型数据库系统实验项目:数据库实验实验地点:逸夫楼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大型数据库实验报告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大型数据库实验报告
实验报告
课程名称:大型数据库系统
实验项目:数据库实验
实验地点:逸夫楼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 数据库课程上机实验报告学院名称:专业班级:姓名:学号:实验成绩:任课教师:目录实验一 (3)实验三 ORACLE数据库结构与网络配置 (3)实验四 (8)实验五数据表及其操作 (10)实验六 SQL命令操作 (14)实验七创建索引 (21)实验一实验三 ORACLE数据库结构与网络配置实验内容与数据库结构相关的数据字典查询实验1、查看表空间的名称及大小2、查看表空间物理文件的名称及大小3、查看回滚段名称及大小4、查看控制文件5、查看日志文件6、查看表空间的使用情况7、查看数据库库对象8、查看数据库的版本9、查看数据库的创建日期和归档方式10、查看临时数据库文件常用数据库信息查看命令(1)oracle中怎样查看总共有哪些用户(2)查看oracle当前连接数(3)列出当前数据库建立的会话情况3.2 表空间操作●创建表空间●修改表空间的相关操作1)增加表空间中的数据文件2)删除表空间中的数据文件3)修改表空间文件的数据文件大小4)修改表空间数据文件的自动增长属性。
实验四实验五数据表及其操作实验内容5.1创建基本表以system用户登录sqlplus创建表空间创建Testpace表空间5.2修改表清空表中的数据5.3 删除表5.4聚集表(1)创建聚集(聚集表的创建与操作)引用参照完整性三表定义了suppliers,products,order details三表间的三个级联关系实验六 SQL命令操作实验内容6.1数据查询select创建student,sc,course三表,并且插入数据查询1:查询2:查询3:查询4;实验七创建索引实验内容7.1在emp表中的sal字段上创建一个名为index_sal的b树索引,按字段值的蒋序排序7.2 在dept表的dname字段上创建一个具有唯一性的b树索引,索引值为字母序排序。
7.3在emp表的ename和deptno字段上创建一个复合索引7.10将参数设置为跟踪状态,执行对emp表的查询命令,查看索引应用的跟踪结果。
大型数据库应用oracle实验报告
实验一数据文件和表空间的管理【开发语言及实现平台或实验环境】Oracle10g【实验目的】(1)熟悉ORACLE的环境,学习使用SQL*Plus与ORACLE进行交互;(2)掌握连接数据库以及断开连接的方法;(3)掌握数据文件和控制文件的管理基本命令(4)掌握表空间管理的基本命令【实验原理】1.创建数据文件:2.修改数据文件大小3.删除某个表空间中的某个空数据文件4.创建表空间5.修改表空间【实验内容】用SYS登录到数据库:1.为Users表空间添加一个数据文件,文件名为users03.dbf,大小为50M。
表空间中间的数据文件可以在磁盘中间的任何位置,创建完成后会提示表空间已经修改2.修改上述数据文件为自动扩展方式,每次扩展5MB,文件最长100M。
3.修改上述数据文件为自动扩展方式,每次扩展5MB,文件最长无限制。
4.创建一个本地管理方式下自动分区管理的表空间USERTBS1,其对应的数据文件名称为USERTBS1_1.DBF,大小为20M。
5.为上述表空间USERTBS1添加一个数据文件USERTBS1_2.DBF,大小为20M。
6.修改表空间USERTBS1的数据文件USERTBS1_2.DBF大小为50M。
7.创建一个本地管理方式下的表空间USERTBS2,要求每个分区大小为512KB。
8.为数据库添加一个重做日志文件组,组内包含两个成员文件,分别为redo04a.log和redo04b.log,大小分别为5M。
9.为新建的重做日志文件组添加一个成员文件,名称为redo04clog。
【实验总结】此次实验,在安装oracle的基础之上,初步认识了oracle中间表空间级数据文件的管理的方法,主要包括:创建表、修改、删除一系列的操作,为以后的oracle学习打下了基础。
实验二模式对象的管理【开发语言及实现平台或实验环境】Oracle10g【实验目的】(1)学习基本数据库表的创建,表结构的修改与删除等命令;(2)学习索引的管理命令;(3)学习索引化表的管理命令(4)学习分区表的管理命令(5)学习簇、视图、序列、同义词等的管理命令【实验原理】基本表的管理、索引的管理、索引化表的管理、分区表的管理、簇的管理、视图的管理序列的管理、同义词管理【实验内容】要求:1.创建Class、Student两个表;2.为Student表添加一个可延迟的外键约束,其CNO列参照class表的CNO列;3.为student表的sex列添加一个检查约束,保证该列取值为“M”或“F”,且默认值为“M”;4. 在class表的CNAME列上创建一个唯一性索引;5.创建一个索引化表,其表结构与Student表相同;6.创建一个Student_range表(列、类型与student表的列、类型相同),按学生年龄分为3个区,低于20岁的学生信息放入part1区,存储在stbs1表空间中;20-30岁的学生信息。
数据库大作业(全·参考答案)
《数据库原理与应用》综合设计任务书前言《数据库原理与应用》课程的重点知识模块包括:1)数据库设计、2)用SQL实现建库、建表、查询、更新、和创建视图、3)存储过程和触发器设计。
针对这三个应用能力,用一个案例作为背景,布置三次大作业。
在校大学生都能理解“图书管理系统”的应用场合和业务流程。
因此,以图书管理系统作为案例来布置作业,可以降低业务分析难度,让学生将主要精力放在知识消化与技术应用上。
本文档包括四个部分。
第一部分描述系统的需求,第二部分提出E-R模型设计和关系模型设计的任务;第三部分提出在SQL Server中,用SQL语句来建库、建表、查询、更新数据、创建视图的任务;第四部分,根据应用需求、安全需求和数据完整性要求,提出设计存储过程和触发器的任务。
每个任务之前,都给出了完成任务所需要掌握的关键知识点,学生可以在对这些知识点进行复习的基础上完成任务,每个任务是一次大作业。
第一部分案例的需求描述本部分描述“图书管理系统”的需求,学生通过阅读本部分内容,了解系统的功能要求、运行环境,对系统所需的数据有总体认识,作为三次作业的基础。
1.2 需求分析1)功能需求图1-1:功能需求示意图教师信息管理:用于教师基本资料的增删改查。
图书信息管理:用于图书基本信息的增删改查,分类统计图书册数和价值。
借书登记:记录借书时间、所借图书、借书人、办理人。
还书登记:记录还书时间、所还图书、还书人、办理人。
催还:查询借阅逾期的借书信息,给借书人发电子邮件,给借书人的部门打电话。
2)运行环境要求图1-2:运行环境拓扑图系统采用C/S模式,有两台PC和一台服务器,联成一个局域网。
PC上安装图书管理软件的客户端,服务器上安装DBMS,服务器也可由两台PC中的一台来代替。
第二部分作业1——E-R模型与关系模型设计(满分8分)本部分的任务是:在需求分析的基础上,进行E-R图设计,然后将E-R模型转换为关系模型。
任务:1)根据需求描述,绘制E-R图。
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维护 实验报告3
课程名:Oracle数据库应用地点:6306(6)数据库用户与权限的管理。
实验内容:配置net manager依次选择开始—>Oracle –OraHome92—>Configuration and Migration Tools—>Net Manager输入Net服务名172.30.4.205_ora91 点击下一步选择TCP/IP(Internet协议)点击下一步输入主机名172.30.4.205 点击下一步选择(Oracle8i或更高版本)服务名:ora91 点击下一步点击测试选择更改登陆,输入用户名xiecha,口令xiecha点击确定,出现测试成功后选择关闭点击完成保存网络配置(2)配置Enterprise Manager Console用dbca配置em在命令提示符下输入dbca,出现"Database Configuration Assistant 欢迎使用"界面,点下一步,选择配置数据库,在点下一部,选择要配制em的数据库,然后在点下一步,把"使用Enterprise Manager配置数据库"选项打上钩,因为是配制单实例的,所以选择"使用Database Control管理数据",下面两个选项启用电子邮件通知和启用每日备份根据自己情况选择,在点一下部,把"Enterprise anager 资料档案库"也选择起来,否则不能使用em,在点下一步,然后提示需要设置DBSNMP和SYSMAN两个用户设置口令,根据自己情况来设置是否口令设置成一样,还是分开设置。
再点一下步,再点完成,就出现配制数据库提示信息框,等配制完成就退出dbca,完成数据库em配制(3)Oracle数据库备份与恢复原理和方法Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP)、热备份和冷备份。
oracle数据库实训总结
oracle数据库实训总结第一篇:oracle数据库实训总结个人总结本次实训为期两个星期,时间充裕,也给予了我足够的学习和实践的时间。
在这次实训里,我了解到了数据库设计的过程和任务,对之前所学的oracle知识也起了很好的复习和巩固作用。
我们小组的选择的实训项目是《电子商城系统》,在做产品需求的时候,因为对商城系统的了解不够充分,我们在产品的功能性需求分类处的一些细节做了多次改进,通过参考网上的需求分析文档以及老师的指导,总算是顺利完成。
我负责的是购物板块,幸亏我多年的网购经验,对购物流程有着深刻的理解,并积极参考小米和华为等网上商城的网站,最后也是顺利完成。
接下来是第二个重头戏——数据库设计。
首先,我们的数据库原型设计使用的软件是PowerDesigner,使用也还算简单吧。
数据库的实体我们进行了深入的讨论,最后也做了多次修改,主要原因还是因为我们对电子商城的了解以及对于数据库实体之间的掌握还不够。
在老师的指导下也算是顺利完成了。
接下来也很顺利的完成了《数据库设计说明书》等的文档编写。
实训进入尾声,学习了半个学期的oracle知识总算的到了应用,并且通过实训,我也了解到了数据库开发的过程,感觉还是不错滴。
第二篇:oracle实训总结Oracle实训总结系别:班级:姓名:学号:日期:实训总结:由于感到oracle实训担子很重,而自己的学识、能力和阅历与其任职都有一定的距离,所以总不敢掉以轻心,总在学习,向书本学习、向周围的领导学习,向同事学习,这样下来感觉自己半年来还是有了一定的进步。
颠末一个星期的oracle数据库实训,让我体会到了日常仄凡是很多讲堂上所还出有启受的内容,很让人支获颇丰,明白若何往应用,而停止的一次剖析设计综开的练习。
而本次数据库时真训的目标是让我们把握数据库系统的道理、手艺。
将理论与现真联开,利用现有的数据库办理系统硬件、范例、科学地完成一个设计与真现。
这个星期是我们oracle 数据库管理课的实训,经过一个星期的实训,让我领会到了许多平时课堂上所没有接受的课外知识,很让人受益匪浅,懂得如何去运用,而进行的一次分析设计综合的训练。
Oracle数据库实验报告
Oracle数据库实验报告第一篇:Oracle数据库实验报告中南林业科技大学实验报告课程名称:Oracle数据库专业班级:姓名:学号:****年**月**日实验一安装和使用Oracle数据库【实验目的】1.掌握Oracle软件安装过程,选择安装组件2.掌握建立Oracle数据库,配置网络连接3.掌握Oracle企业管理器的基本操作4.使用SQL*Plus,登录到实例和数据库5.掌握命令方式的关闭和启动实例及数据库【实验内容】1.查看已安装的Oracle组件2.查看服务,记录下和数据库有关的服务名,将他们设为手动方式,启动相关服务。
3.配置监听器,查看是否在服务中有LISTENER,是否能启动。
4.配置本地net服务,提示:设置正确的服务器地址和端口号。
5.打开SQL*Plus,用SYS和SYSTEM用户名和密码登录。
6.思考题:有几种打开SQL*Plus的方法?分别是什么?7.用命令关闭实例和数据库,记录命令8.用命令以NOMOUNT的方式启动实例,再加载数据库,打开数据库。
【实验结论】1.查看已安装的Oracle组件2.查看服务,记录下和数据库有关的服务名,将他们设为手动方式,启动相关服务。
3.配置监听器,查看是否在服务中有LISTENER,是否能启动。
4.配置本地net服务,提示:设置正确的服务器地址和端口号。
5.打开SQL*Plus,用SYS和SYSTEM用户名和密码登录。
6.思考题:有几种打开SQL*Plus的方法?分别是什么?(1)直接打开 sql plus 即窗口方式(2)cmd 命令行方式(3)WEB 页面中 iSQL*Plus 方式 7.用命令关闭实例和数据库,记录命令 SQL>shutdown immediate8.用命令以NOMOUNT的方式启动实例,再加载数据库,打开数据库。
sql>startup nomount sql>alter database mount;sql>alter database open;sql>startup(1).用SQLplus 命令:show parameters参数名(2).用select [列名] from 表名2.初始化文件有几种?默认的保存位置在哪里?初始化文件有三种:数据文件,日志文件,控制文件;默认的保存位置E:oracleproduct10.2.0oradataorcl4.打开OEM,查看三类物理文件信息三类物理文件:数据文件、控制文件、日志文件数据文件:.DBF 存储表、索引及数据结构信息日志文件:.LOG记录对数据库的所有修改信息,用于恢复控制文件:.CTL二进制文件,记录数据库名、文件标识、检查点5.分别用select命令查询V$parameter动态性能视图,用show 命令查看全局数据库名、实例名、是否启动自动归档、标准数据块大小这四个参数的值,记录命令和结果。
oracle大型数据库实验报告1
Oracle大型数据库系统基础实验指导书网络工程教研室编写2014年8月目录实验一:Oracle 11g的安装与卸载 (4)一、实验目的 (4)二、实验条件 (4)三、实验原理及相关知识 (4)四、实验步骤 (4)(一)安装过程 (4)(二)卸载过程 (9)(三)启动数据库实例................................................................. 错误!未定义书签。
(四)关闭数据库实例................................................................. 错误!未定义书签。
(五)了解启动SQL*Plus的方法............................................... 错误!未定义书签。
五、思考题及其它................................................................................. 错误!未定义书签。
实验二:SQL*PLUS的简单使用 ................................................................... 错误!未定义书签。
一、实验目的......................................................................................... 错误!未定义书签。
二、实验设备及条件............................................................................. 错误!未定义书签。
三、实验原理及相关知识..................................................................... 错误!未定义书签。
Oracle数据库基础教程课后实验---实验报告
Oracle数据库基础教程实验报告专业计算机科学与技术姓名李文成学号 2010指导老师肖卓宇实验一创建数据库和表目的与要求(1)了解oracle数据库的逻辑结构和物理结构。
(2)了解Oracle Enterprise Manager的使用情况。
(3)学习关闭和启动数据库实例的方法。
(4)学会使用SQL语句创建数据库的方法。
(5)学会使用SQL语句删除数据库的方法。
实验准备首先要了解Oracle数据库的逻辑结构,包括方案对象,数据块、区间、段、和表空间等。
数据库由若干个表空间组成,表空间由表组成,表由段组成,段由区间组成,区间则由数据块组成。
Oracle数据库的物理结构由构成数据库的操作系统文件所决定。
每个Oracle数据库都由3种类型的文件组成:数据文件、日志文件和控制文件。
这些数据库文件为数据库信息提供真正的物理存储。
Enterprise Manager 10g是Oracle 10g提供的新的管理工具,简称EM。
使用它可以完成启动、关闭数据库,创建、删除数据库等功能。
只有系统管理员或拥有CREATE DATABASE权限的用户才能创建数据库。
可以在Enterprise Manager 中通过图形界面创建数据库,也可以使用CREATE DATABASE语句创建数据库。
实验内容oracle 服务器端的安装先解压10201_client_win32.zip压缩包,双击setup.exe。
如下图:稍等之后进入欢迎界面,如下图:点击下一步选择“管理员”安装类型,点击下一步:选择安装的详细目录后点击下一步。
点击安装:选择执行典型配置:点击下一步:完成。
创建数据库使用OEM创建表图1-1创建Employees表图1-2成功创建Employees表图1-3成功删除Employees表图1-4创建Departments表图1-5成功创建Departments表图1-6 成功删除Departments表图1-7创建Salary表图1-8成功创建Salary表图1-9成功删除Salary表在PL/SQL语句创建表1.创建Employees表create table Employee(EmployeeID char(6) NOT NULL PRIMARY KEY,Name char(10) NOT NULL,Bithday date N OT NULL,Sex number(1) NOT NULL,Address char(20) NULL,Zip char(6) NULL,PhoneNumber char(12) NULL,DepartmentID char(3) NOT NULL REFERENCES Departments(DepartmentID))tablespace users;图1-10 使用SQL语句创建Employees表2.创建Departments表create table Departments(DepartmentID char(3) NOT NULL PRIMARY KEY, Departmentname char(20) NOT NULL,Note varchar2(100) NULL)tablespace users;图1-11 使用SQL语句创建Departments表3.创建Salary表create table Salary(EmployeeID char(6) NOT NULL PRIMARY KEY,InCome number(8,2) NOT NULL,OutCome number(8,2) NOT NULL)tablespace users;图1-11 使用SQL语句创建Salary表实验二角色和用户管理目的与要求(1)了解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的安装与配置(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)用新建的帐号登录。
Oracle数据库 实验报告
在SQL*PLUS或PL/SQL Developer工具中编写PL/SQL的简单程序,熟悉PL/SQL的编程环境和代码结构。实现与Oracle数据库交互,并捕获和处理常见系统异常和用户自定义异常。
3.主要仪器设备及软件
1)PC
2)ORACLE数据库
-------------------------------------------------------------------------
实现下面功能:
使用游标实现:将某门课程高于平均分的学生的姓名,课程名,成绩格式化输出。
3.主要仪器设备及软件
1)PC
2)ORACLE数据库
-------------------------------------------------------------------------
实验一 了解ORACLE环境,使用ORACLE数据库实用工具
( 验证性实验 4学时)
1.目的要求:
了解ORACLE数据库的各个常用工具软件
2.实验内容:
在ORACEL数据库下使用SQL*PLUS ,SQL*PLUS Worksheet,PL/SQL Developer工具,企业管理器等实用工具与Oracle交互。并在企业管理器中观察ORACLE的底层存储原理。在PL/SQL Developer中书写简单的SQL语言。
3.主要仪器设备及软件
1)PC
2)ORACLE数据库
-------------------------------------------------------------------------
实验六 触发器,序列及同义词
( 验证性实验 6学时)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计(大作业)报告课程名称: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.背景分析图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。
根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。
随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理。
总的来说,缺乏系统,规范的信息管理手段。
有必要建立一个图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。
2.需求分析(1) 学生基本信息的录入,包括学生学号、学生性别、学生院系。
(2) 学生基本信息的查询、修改, 包括学生学号、学生性别、学生院系。
(3) 教师基本信息的录入,包括教师学号、教师性别、教师院系。
(4) 教师基本信息的查询、修改, 包括教师学号、教师性别、教师院系。
(5) 读者基本信息的录入,包括借书证编号、读者姓名、读者性别、读者类型、学生学号、教师工号、登记日期。
(6) 读者基本信息的查询、修改,包括读者借书证编号、读者姓名、读者性别、读者类型、(学生学号\教师工号)、登记时间。
(7) 管理员信息的录入,包括管理员编号、姓名、性别、管理位置。
(8) 管理员信息的查询、修改,包括管理员编号、姓名、性别、管理位置。
(9) 书籍类别信息的录入,包括类别编号、类别名称、数量。
(10) 书籍类别信息的查询、修改,包括类别编号、类别名称、数量。
(11) 图书库信息的录入,包括图书库编号、图书库类别。
(12) 图书库信息的查询、修改,包括图书库编号、图书库类别。
(13) 书籍库存信息的录入,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、登记日期、余量。
(14) 书籍库存信息的查询,修改,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、登记日期、余量。
(15) 借书信息的录入,包括读者借书证编号、书籍编号、借书日期。
(16) 借书信息的查询、修改,包括借书证编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期等。
(17) 还书信息的录入,包括借书证编号、书籍编号、还书日期。
(18) 还书信息的查询和修改,包括还书读者借书证编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期等。
(19) 超期还书罚款录入,还书超出期限包括超出期限还书的读者借书证号,书籍编号,罚款金额。
(20) 超期还书罚款查询,包括读者借书证编号、读者姓名、书籍编号、书籍名称,罚款金额等(21) 图书挂失登记录入,包括读者借书证编号、读者姓名、书籍编号、书籍名称。
(22) 图书挂失登记查询,包括读者借书证编号、读者姓名、书籍编号、书籍名称3.总体设计3.1表结构设计(1) 教师( 教师编号,姓名,性别,所属学院)(2) 学生( 学生编号,姓名,性别,所属学院)(3) 读者(借书证编号,读者姓名,读者性别,读者种类,登记时期)(4) 管理员(管理员编号,管理员姓名,管理员性别,管理图书库位置)(5) 书籍类别(种类编号,种类名称)(6) 图书库(图书库编号,图书库位置)(7) 书籍(书籍编号,书籍名称,书籍类别,书记作者,出版社名称,出版日期,登记日期)(8) 借阅(借书证编号,书籍编号,读者借书时间)(9) 还书(借书证编号,书籍编号,读者还书时间)(10) 罚款(借书证编号,读者姓名,借书证编号,书籍编号,读者借书时间)(11) 挂失(借书证编号,读者姓名,借书证编号,书籍编号)(1) 在学生信息管理部分,要求:a.可以查询学生信息。
b.可以对学生信息进行添加及删除的操作。
(2) 在教师信息管理部分,要求:a.可以查询教师信息。
b.可以对教师信息进行添加及删除的操作。
(3) 在管理者信息管理部分,要求:a.示当前数据库中管理者情况。
b.对管理者信息维护操作。
(4) 在读者信息管理部分,要求:a.可以查询读者信息。
b.可以对读者信息进行添加及删除的操作。
(5) 在类别信息管理部分,要求:a.可以查询类别信息。
b.可以对类别信息进行添加及删除的操作。
(6) 在图书库信息管理部分,要求:a.可以查询图书库信息。
b.可以对图书库信息进行添加及删除的操作。
(7) 在书籍信息管理部分,要求:a.可以浏览书籍信息,要求:b.可以对书籍信息进行维护,包括添加及删除的操作。
(8) 在借阅信息管理部分,要求:。
a.可以浏览借阅信息。
b.可以对借阅信息进行维护操作。
(9) 在归还信息管理部分,要求:a.可以浏览归还信息b.对归还信息可修改维护操作(10) 在罚款信息管理部分,要求:a.可以浏览罚款信息b.对罚款信息可以更新(11) 在挂失信息管理部分,要求:a.可以浏览挂失信息b.对挂失信息可以更新3.2总体设计ER图图1-1 1总体设计ER图3.3总体设计类图4.详细设计根据所要实现的功能设计,可能建立它们之间的关系,进而实现逻辑结构功能。
图书管理信息系统可以划分的实体有:教师信息实体、学生信息实体、管理员信息实体、读者信息实体、书籍类别信息实体、图书库信息实体、书籍信息实体、借阅记录信息实体、归还记录信息实体、逾期罚款信息实体、图书挂失信息实体。
用E-R图来描述这些实体。
1、学生实体E-R图图1-1 3 学生实体E-R图2、教师实体E-R图图1-1 4 教师实体E-R图3、管理员实体E-R图图1-1 5 管理员实体E-R图4、读者实体E-R图图1-1 6 读者实体E-R图5、图书类别实体E-R图图1-1 7 图书类别实体E-R图6、图书库类别实体E-R图图1-1 8 图书库类别实体E-R图7、图书类别实体E-R图1-1 9 图书类别实体E-R 8、借阅实体E-R图1-1 10 借阅记录实体E-R 9、还书实体E-R图1-1 11 还书实体E-R 10、逾期罚款实体E-R图1-1 12 逾期罚款实体E-R 、图书挂失实体E-R114.1数据字典1、书本类别表建立2、图书库表3、创建书库表4、学生表5、教师表6、管理员表7、借书证表建立8、借书记录表建立9、还书记录表建立10、罚款单表建立11、挂失表建立4.2数据库实现1、创建表空间CREATE SMALLFILE TABLESPACE "TSGL_TEMP1" DATAFILE 'D:\ORACLE\data\TSGL_TEMP.DBF' SIZE 100MLOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO2、书本类别表建立CREATE TABLE book_style(bookstyleno VARCHAR(30) PRIMARY KEY,bookstyle VARCHAR(30),booktotal VARCHAR(30));3、创建图书库表CREATE TABLE book_lib(booklibid VARCHAR(30) PRIMARY KEY,booklibpos VARCHAR(30));4、创建书库表CREATE TABLE books(bookid VARCHAR(20) PRIMARY KEY,bookname VARCHAR(30) NOT NULL ,bookstyleno VARCHAR(30) NOT NULL ,booklibid VARCHAR(30) NOT NULL ,bookauthor VARCHAR(30) ,bookpub VARCHAR(30) ,bookpubdate DATE ,bookindate DATE ,isborrowed VARCHAR(2)check(isborrowed>=0) , FOREIGN KEY (bookstyleno) REFERENCES book_style (bookstyleno),FOREIGN KEY (booklibid) REFERENCES book_lib (booklibid));5、管理员表创建CREATE TABLE DB(DBid VARCHAR(20) PRIMARY KEY,DBname VARCHAR(30) NOT NULL ,DBsex VARCHAR(2) NOT NULL ,booklibid VARCHAR(30),FOREIGN KEY (booklibid) REFERENCES book_lib (booklibid));6、学生表CREATE TABLE student(studentname VARCHAR(30)NOT NULL ,studentsex VARCHAR(2) NOT NULL ,studentfaculty VARCHAR(30)NOT NULL );7、教师表CREATE TABLE teacher(teachertid VARCHAR(30)PRIMARY KEY,teachername VARCHAR(30)NOT NULL ,teachersex VARCHAR(2) NOT NULL ,teacherfaculty VARCHAR(30)NOT NULL );8、借书证表建立CREATE TABLE readers(readerid VARCHAR(9)PRIMARY KEY,readername VARCHAR(9)NOT NULL ,readersex VARCHAR(2) NOT NULL ,readertype VARCHAR(10) ,studentid VARCHAR(9) ,teachertid VARCHAR(9) ,regdate DATE ,FOREIGN KEY (studentid) REFERENCES student(studentid), FOREIGN KEY (teachertid) REFERENCES teacher(teachertid) );9、借书记录表建立CREATE TABLE borrow(bookid VARCHAR(20) PRIMARY KEY,readerid VARCHAR(9),borrowdate DATE ,FOREIGN KEY (bookid) REFERENCES books(bookid), FOREIGN KEY (readerid) REFERENCES readers(readerid));10、还书记录表建立CREATE TABLE return(readerid VARCHAR(9) ,FOREIGN KEY (bookid) REFERENCES books(bookid),FOREIGN KEY (readerid) REFERENCES readers(readerid));11、罚款单表建立CREATE TABLE fee(readerid VARCHAR(9)NOT NULL ,readername VARCHAR(9)NOT NULL,bookid VARCHAR(20) PRIMARY KEY ,bookname VARCHAR(30) NOT NULL,bookfee VARCHAR(30) ,borrowdate DATE,FOREIGN KEY (bookid) REFERENCES books(bookid),FOREIGN KEY (readerid) REFERENCES readers(readerid));12、图书挂失表CREATE TABLE loss(readerid VARCHAR(9) PRIMARY KEY ,readername VARCHAR(9) NOT NULL ,bookid VARCHAR(20) NOT NULL ,bookname VARCHAR(30) NOT NULL ,FOREIGN KEY (bookid) REFERENCES books(bookid),FOREIGN KEY (readerid) REFERENCES readers(readerid));13、教师图书借阅视图create view teacher_Viewasselectteacher.teachertid,teacher.teachername,readers.readertype,b orrow.bookidfrom teacher,readers,borrowwhere teacher.teachertid=readers.teachertid and readers.readerid=borrow.readerid14、学生图书借阅视图create view student_Viewasselectstudent.studentid,student.studentname,readers.readertype,bo rrow.bookidfrom student,readers,borrowwhere student.studentid=readers.studentid and readers.readerid=borrow.readerid15、图书借阅视图create view borrow_Viewasselect books. bookid,books.bookname,book_style.bookstyle,borrow.readerid, borrow.borrowdatefrom books,book_style,borrowwhere book_style.bookstyleno=books.bookstyleno and books.bookid =borrow.bookid16、图书归还视图create view return_Viewasselectbooks.bookid,books.bookname,book_style.bookstyle,return.rea derid,return.returndatefrom books,book_style,returnwhere book_style.bookstyleno=books.bookstyleno and books.bookid =return.bookid17.图书库索引,以(booksid)为降序排列create index books_index on books(bookid desc);18.读者索引,以(readerid)为降序排列create index readers_index on readers(readerid desc);19.借书索引,以(bookid) 为降序排列create index borrow_index on borrow(bookid desc);20.还书索引,以(bookid) 为降序排列create index return_index on return(bookid desc);21.创建存储过程图书借阅和归还,图书余量自动改变CREATE OR REPLACE PROCEDURE book_(book_num in VARCHAR,flag in int)ASbeginif(flag=1) then --还书update booksset isborrowed=isborrowed+1where bookid=book_num;elsif(flag=0) then --借书update booksset isborrowed=isborrowed-1where bookid=book_num;end if;end;22.查询图书余量函数CREATE OR REPLACE FUNCTION getBookNum(book_num VARCHAR) return INTisNums INT;BEGINselect isborrowed into Numsfrom bookswhere bookid = book_num;return Nums ;END;23.触发器禁止删除图书表数据create or replace trigger update_books_infobefore delete or updateon booksfor each rowbeginif deleting thenraise_application_error(-20001,'不允许删除数据!');end if;end;4.3插入数据1、将书籍类别加入表book_style中INSERT INTO "BOOK_STYLE" VALUES ('1', '人文艺术类','200'); INSERT INTO "BOOK_STYLE" VALUES ('2', '自然科学类','300'); INSERT INTO "BOOK_STYLE" VALUES ('3', '社会科学类','200'); INSERT INTO "BOOK_STYLE" VALUES ('4', '图片艺术类','400'); INSERT INTO "BOOK_STYLE" VALUES ('5', '政治经济类','500'); INSERT INTO "BOOK_STYLE" VALUES ('6', '工程技术类','1000'); INSERT INTO "BOOK_STYLE" VALUES ('7', '语言技能类','200');2、将图书库添加到表book_lib中INSERT INTO "BOOK_LIB" VALUES ('01', '东北角');INSERT INTO "BOOK_LIB" VALUES ('02', '东南角');INSERT INTO "BOOK_LIB" VALUES ('03', '西南角');INSERT INTO "BOOK_LIB" VALUES ('04', '西北角');3、将管理员添加到表DB中INSERT INTO "DB" VALUES ('1','王兰溪','女','1');INSERT INTO "DB" VALUES ('2','刘语蝶','女','2');INSERT INTO "DB" VALUES ('3','张意超','男','3');INSERT INTO "DB" VALUES ('4','李朝健','男','4');4、将已有的图书加入books表中INSERT INTO "BOOKS" VALUES ('01', '计算机组成原理', '6','1', '王爱英', '清华大学出版社', TO_DATE('2019-01-03', 'YYYY-MM-DD '), TO_DATE('2019-9-15', 'YYYY-MM-DD'), '6'); INSERT INTO "BOOKS" VALUES ('02', '数据库原理', '6','1', '萨师煊', '高等教育出版社', TO_DATE('2019-01-03', 'YYYY-MM-DD'), TO_DATE('2019-9-15', 'YYYY-MM-DD'), '6'); INSERT INTO "BOOKS" VALUES ('03', 'C程序设计', '6','1', '谭浩强', '清华大学出版社', TO_DATE('2019-01-03', 'YYYY-MM-DD'),TO_DATE('2019-9-15', 'YYYY-MM-DD'), '6');INSERT INTO "BOOKS" VALUES ('04', '计算机体系结构','2', '2', '石教英', '浙江大学出版社', TO_DATE('2019-01-03', 'YYYY-MM-DD '), TO_DATE('2019-9-15', 'YYYY-MM-DD'), '6'); INSERT INTO "BOOKS" VALUES ('05', '数据结构(C语言版)', '6', '2','吴伟民,严蔚敏', '清华大学出版社', TO_DATE('2019-01-03', 'YYYY-MM-DD'), TO_DATE('2019-9-15', 'YYYY-MM-DD'), '6'); INSERT INTO "BOOKS" VALUES ('06', '中华历史5000年', '1','2', '吴强', '北京大学出版社', TO_DATE('2019-01-03', 'YYYY-MM-DD '), TO_DATE('2019-9-15', 'YYYY-MM-DD'), '6');INSERT INTO "BOOKS" VALUES ('07', '古代埃及', '3', '3','赵文华', '北京大学出版社', TO_DATE('2019-01-03', 'YYYY-MM-DD'), TO_DATE('2019-9-15', 'YYYY-MM-DD'), '6');INSERT INTO "BOOKS" VALUES ('08', '日本文化', '1','3', '吴小鹏', '北京大学出版社', TO_DATE('2019-01-03', 'YYYY-MM-DD'), TO_DATE('2019-9-15', 'YYYY-MM-DD'), '6');INSERT INTO "BOOKS" VALUES ('09', '微观经济学', '5','3', '李小刚', '北京大学出版社', TO_DATE('2019-01-03 ', 'YYYY-MM-DD '), TO_DATE('2019-9-15', 'YYYY-MM-DD'), '6');INSERT INTO "BOOKS" VALUES ('10', '影视文学', '4','4', '苏庆东', '北京大学出版社', TO_DATE('2019-01-03', 'YYYY-MM-DD'), TO_DATE('2019-9-15', 'YYYY-MM-DD'), '6');INSERT INTO "BOOKS" VALUES ('11', '探索宇宙奥秘', '2','4', '苏庆东', '北京大学出版社', TO_DATE('2019-01-03', 'YYYY-MM-DD '), TO_DATE('2019-9-15', 'YYYY-MM-DD'), '6');INSERT INTO "BOOKS" VALUES ('12', '计算机组成原理', '6','4', '王爱英', '清华大学出版社', TO_DATE('2019-01-03', 'YYYY-MM-DD '), TO_DATE('2019-9-15', 'YYYY-MM-DD'), '6'); 5、添加学生表student信息INSERT INTO "STUDENT" VALUES ('S01', '陈特', '男', '信息工程学院');INSERT INTO "STUDENT" VALUES ('S02', '陈远鹏', '男', '经济管理学院');INSERT INTO "STUDENT" VALUES ('S03', '王鹏', '男', '人文学院');INSERT INTO "STUDENT" VALUES ('S04', '赵铭静', '女', '信息工程学院');INSERT INTO "STUDENT" VALUES ('S05', '潘虹', '女', '经济管理学院');INSERT INTO "STUDENT" VALUES ('S06', '李渊', '女', '人文学院');6、添加教师表信息teacher信息INSERT INTO "TEACHER" VALUES ('T01', '蒋伟', '男', '信息工程学院');INSERT INTO "TEACHER" VALUES ('T02', '李叶风', '女', '经济管理学院');INSERT INTO "TEACHER" VALUES ('T03', '张怡', '女', '人文学院');7、将已有图书证的读者加入readers表中INSERT INTO "READERS" VALUES ('01', '陈特', '男', '学生', 'S01','',TO_DATE('2019-11-15', 'YYYY-MM-DD'));INSERT INTO "READERS" VALUES ('02', '陈远鹏', '男', '学生', 'S02','',TO_DATE('2019-09-23', 'YYYY-MM-DD'));INSERT INTO "READERS" VALUES ('03', '赵铭静', '女', '学生', 'S04','', TO_DATE('2019-09-23', 'YYYY-MM-DD'));INSERT INTO "READERS" VALUES ('04', '潘虹', '女', '学生', 'S05','', TO_DATE('2019-09-23', 'YYYY-MM-DD'));INSERT INTO "READERS" VALUES ('05', '蒋伟', '男', '教师', '','T01', TO_DATE('2019-09-23', 'YYYY-MM-DD'));INSERT INTO "READERS" VALUES ('06', '李叶风', '女', '教师', '','T02', TO_DATE('2019-09-23', 'YYYY-MM-DD'));8、添加已借书读者的记录,同时将在已借出的借阅标记置insert into borrow values('03','06',TO_DATE('2019-10-03', 'YYYY-MM-DD '))update booksset isborrowed=isborrowed-1where bookid='03'insert into borrow values('09','04',TO_DATE('2019-10-03', 'YYYY-MM-DD '))update booksset isborrowed=isborrowed-1insert into borrow values('10','05',TO_DATE('2019-10-03', 'YYYY-MM-DD '))update booksset isborrowed=isborrowed-1where bookid='10'insert into borrow values('06','01',TO_DATE('2019-10-03', 'YYYY-MM-DD '))update booksset isborrowed=isborrowed-1where bookid='06'insert into borrow values('07','05',TO_DATE('2019-10-03', 'YYYY-MM-DD '))update booksset isborrowed=isborrowed-1where bookid='06'insert into borrow values('01','06',TO_DATE('2019-10-03', 'YYYY-MM-DD '))update booksset isborrowed=isborrowed-1where bookid='01'9、添加还书读者的记录,同时将在还书的借阅标记置insert into return values('03','06',TO_DATE('2019-11-03', 'YYYY-MM-DD '))update booksset isborrowed=isborrowed+1where bookid='03'insert into return values('09','04',TO_DATE('2019-11-03', 'YYYY-MM-DD '))update booksset isborrowed=isborrowed+1insert into return values('10','05',TO_DATE('2019-11-03', 'YYYY-MM-DD '))update booksset isborrowed=isborrowed+1where bookid='02'10、添加罚款单的记录insert into fee values('01','陈特','06','中华历史5000年','一元',TO_DATE('2019-12-03', 'YYYY-MM-DD'))update booksset isborrowed=isborrowed+1where bookid='06'insert into fee values('05','蒋伟','07','数据结构(C语言版','一元',TO_DATE('2019-12-03', 'YYYY-MM-DD'))update booksset isborrowed=isborrowed+1where bookid='07'11、添加图书挂失信息insert into loss values('06','李叶风','01','计算机组成原理')4.3图书管理系统测试1、书籍类别测试2、图书库测试3、书籍库测试4、管理员测试5、学生表测试6、教师表测试7、借书证表测试8、借书表测试9、还书表测试10、逾期表测试11、挂失表测试12、教师图书借阅视图13、学生图书借阅视图14、图书借阅视图15、图书归还视图16.图书索引select * from user_ind_columns where table_name = upper('books')17.读者索引select * from user_ind_columns where table_name = upper('readers')18.借书索引select * from user_ind_columns where table_name = upper('borrow')19.还书索引select * from user_ind_columns where table_name = upper('return')20.自动更改余量存储过程insert into borrow values('01','06',TO_DATE('2019-10-03', 'YYYY-MM-DD '))21.查询图书余量函数select getBookNum('01') from dual;22.触发器禁止删除图书表数据4.4图书管理系统修改1、修改表空间的大小(alter database datafile 'D:\ORACLE\data\TSGL_TEMP.DBF' resize 5000m;)2、为学生表添加age(年龄)字段(Alter table student add(age varchar(10));)3、为学生表age(年龄)字段添加信息4、为教师表添加age(年龄)字段(Alter table teacher add(age varchar(10));)5、为教师表age(年龄)字段添加信息6、修改学生表字段age大小(Alter table student modify(age varchar(5));)7、修改教师表字段age大小(Alter table teacher modify(age varchar(5));)8、删除学生表的age字段(Alter table student drop column age;)9、删除教师表表的age字段(Alter table teacher drop column age;)10.修改教师借阅视图create or replace view teacher_Viewasselectteacher.teachertid,teacher.teachername,readers.readertype,b orrow.bookid,borrowdatefrom teacher,readers,borrowwhere teacher.teachertid=readers.teachertid and readers.readerid=borrow.readerid11.修改学生借阅视图create or replace view student_Viewasselectstudent.studentid,student.studentname,readers.readertype,bo rrow.bookid,borrowdatefrom student,readers,borrowwhere student.studentid=readers.studentid and readers.readerid=borrow.readerid三、心得体会经过这段时间的Oracle数据库实训,让我学到了很多有用的知识,包括建表,视图。