您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > oracle课程设计(1)
1东华理工大学长江学院课程设计报告《oracel语言程序设计》课程设计题目:运动会管理学生姓名:陆坤坤班级:073221专业:信息管理与信息系统指导教师:黄国辉院系:数学与信息工程系2010年11月21日目录21前言································································································32需求分析··························································································32.1要求···················································································································32.2任务···················································································································42.3开发工具······················································································错误!未定义书签。Oracle中的SQL*Plus············································································错误!未定义书签。3概要设计···································································错误!未定义书签。3.1系统ER图及分析············································································错误!未定义书签。3.2数据库的物理设计·································································································64系统实现··························································································64.1将ER图转化为关系模式························································································64.2安全子系统的实现································································································74.3运动会管理系统子模式的实现(包含各对象创建代码)·················································74.4备份子系统的的实现·····························································································85课程设计的总结与体会········································································9参考文献································································································931前言在人类社会已经迈入21世纪的今天,人们深刻的感受到了ORCAL在生活和工作中的作用越来越重要,越来越多的职业需要具有ORCAL的应用技能。今天,计算机技术不但广泛地应用在办公自动化中,还全面渗透到各行各业。所有与相关的职业都要求工作者有很强的计算机操作技能,做到运用自如,熟练而且深入的掌握软件的应用。随着计算机技术的飞速发展,今后,计算机作为一种崭新的生产力,将在信息社会即新技术革命中发挥越来越重要的作用,并进一步推动人类社会更快的向前发展。其中ORCAL数据库起着重要的作用。这里我们将所学到的知识融入到实际的应用中,用ORCAL数据库来实现运动会管理系统。该系统共包括三个表,ATHLETE(ANO,ANAME,ASEX,ATEAM),GAMES(ANO,INO,SCORE),ITEM(INO,INAME,ITIME,IPLACE)。Oracle数据库是当前应用最广泛的大型关系数据库管理系统。OracleServer是一个对象一关系数据库管理系统。它提供开放的、全面的、和集成的信息管理方法。每个Server由一个OracleDB和一个OracleServer实例组成。它具有场地自治性(SiteAutonomy)和提供数据存储透明机制,以此可实现数据存储透明性。每个Oracle数据库对应唯一的一个实例名SID,Oracle数据库服务器启动后,一般至少有以下几个用户:Internal,它不是一个真实的用户名,而是具有SYSDBA优先级的Sys用户的别名,它由DBA用户使用来完成数据库的管理任务,包括启动和关闭数据库;Sys,它是一个DBA用户名,具有最大的数据库操作权限;System,它也是一个DBA用户名,权限仅次于Sys用户。2需求分析2.1要求(1)对整个系统进行关系模式分析,根据数据库的相关理论,画出ER图,并进行相关说明。(2)将ER图转化为关系模式,最终得出物理设计;4(3)根据数据库的物理设计,结合Oracle相关语言支持。编写数据库各对象的创建及使用代码。(4)从高级语言开发的角度出发,写出各模块所需的查询、数据操作及事务语句。(4)从数据库底层开发的角度出发,建立各模块所需的视图、存储过程及触发器。(5)提交完整的建库代码,并完成本报告。2.2任务(1)业务流程图。(2)数据库的ER图集成。(4)数据库建库及表空间分配。(5)运运会管理系统子模式的物理实现。(6)运动会管理系统应用模块的视图(或存储过程)设计。(7)运动会管理系统应用模块的存储过程设计。(8)运动会管理系统应用模块的触发器设计。(9)系统(或子模式)的角色及用户创建。(10)系统的备份与恢复的实现2.3开发工具Oracle中的SQL*Plus3概要设计3.1系统ER图及分析(1)分析之后可以设计出能够满足各种实体以及他们之间的关系,为下一节的逻辑结构设计打下基础。这些实体包括各种信息,通过相互之间的作用形成数据的流动。本系统数据库的各实体E-R图如下所示:5项目实体项目号项目名比赛场地比赛时间项目实体E-R图E-R图实体参赛实体运动员号项目号成绩运动员实体运动员号姓名性别队名运动员实体E-R图E-R图实体参赛实体E-R图E-R图实体63.2数据库的物理设计4系统实现4.1将ER图转化为关系模式ATHLETE(ANO,ANAME,ASEX,ATEAM)GAMES(ANO,INO,SCORE)ITEM(INO,INAME,ITIME,IPLACE)4.2安全子系统的实现1、创建主要角色CREATEROLEhigh;CREATEROLEmiddleIDENTIFIEDBYmiddlerole;CREATEROLElowIDENTIFIEDBYlowrole;2、创建主要用户CREATEUSERzhongIDENTIFIEDBYzhongDEFAULTTABLESPACEUSERSQUOTA10MONATHLETEACCOUNTLOCK;3、分配主要权限XONNECTSYSTEM@RCLGRANTCREATESESSION,CREATETABLE,CREATEVIEWTOzhong;74.3运动会管理系统子模式的实现(包含各对象创建代码)1、创建运动员表CREATETABLEATHLETE(ANOCHAR(6)NOTNULL,ANAMECHAR(20),ASEXCHAR(1),ATEAMCHAR(20));2、创建项目表CREATETABLEITEM(INOCHAR(6)NOTNULL,INAMECHAR(20),ITIMECHAR(10),IPLACECHAR(20));3、创建参赛表CREATETABLEGAMES(ANOCHAR(6)NOTNULL,INOCHAR(6)NOTNULL,SCORRECHAR(10));4、创建ATHLETE表的ANO列的一个唯一性索引CREATEUNIPUEINDEXATHLETE_indexONATHLETE(ANO);5、创建ATHLETE的索引表。CREATETABLEnew_ATHLETE(ANONUMBERPRIMARYKEY,ANAMECHAR(20),ASEXCHAR(1))ORGANIZATIONINDEXTABLESPACEZHONG;6、统计参加比赛时运动员人数SELECTCOUNT(*)FROMATHLETEWHEREASEX='M';87、查101号运动员参加的所有项目及其比赛时间和地点SELECTITEM,INO,INAME,ITIME,IPLACEFROMGAMES,ITEMWHEREGAMES.INO=ITEM.INOANDGAMES.INO=”101”;8、查参加100035项目的所有运动员名单SELSECTANO,ANAME,ATEAMFROMATHLETEWHEREEXISTS(SELECT*FROMGAMESWHEREGAMES.ANO=ATHLETE.ANOANDINO='100035');9、建立运动员成绩视图CREATVIEWATHLETE_SCOREASSELECTATHLETE,ANO,ANAME,ATEAM,INAME,SCOREFORMATHLETE,GAMES,ITEMWHEREATHLETE,ANO=GAMES,ANOANDGAMES.INO=ITEM.INO;10、为ITEM创建一个触发器,禁止在周六、周日对该表进行DML操作。CREATEORREPLACETRIGGERtrg_ITEM_weekendBEFOREINSERTORUPDATEORDELETEONITEMBEGINIFTO_CHAR(SYSDATE,’DY’,’NLS_DATE_LANGUDAGE=AMERICAN’)IN(‘SAT’,’SUN’)THENRAISE_APPLICATION_ERROR(-20000,’CANT”TOPERATINWRRKEND.‘);ENDIF;ENDTRG_ITEM_WEEKEND;4.4、备份子系统的实现9利用热备份进得恢复1、将ITEM表空间设置为脱机状态。ALTERDATABASEDATAFILE“D:\ORACEL\ORADATA\ORCL\ITEM.DBF”;2、将备份的数据文件复制到原来的目录,并覆盖原来的文件。3、使用RECOVER命令进行介质恢复.RECOVERDATAFILE”D:\ORACLE\ORADATA\ORCL\ITEM.DBF”;4、介质恢复完成后,将表空间恢复为联机状态。ALTERDATABASEDATAFILE“D:\ORACLE\ORADATA\ORCL\ITEM.DBF”;5、将数据库修改为打开状态。ALTERDATABASEOPEN;5课程设计的总结与体会在老师的耐心指导下以及同学的帮助下,通过本次课程设计让我基本上掌握了ORACLE数据库的基本操作,以及安全性管理与使用。首先由于对spl语句的不熟练,在写语句时总是有语法及功能不能完全达到的错误,
本文标题:oracle课程设计(1)
链接地址:https://www.777doc.com/doc-13121 .html