资源预览内容
第1页 / 共57页
第2页 / 共57页
第3页 / 共57页
第4页 / 共57页
第5页 / 共57页
第6页 / 共57页
第7页 / 共57页
第8页 / 共57页
第9页 / 共57页
第10页 / 共57页
亲,该文档总共57页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
数据库系统实现实验指导书(Oracle版本)湖北汽车工业学院电气与信息工程学院计算机工程系2011年10月说明数据库系统实现课程主要介绍基于J2EE平台的数据库系统开发技术,实验涉及三个方面:(1)数据库应用高级编程技术。涉及PL/SQL编程知识(数据类型、程序结构)、存储过程(包括存储函数)、触发器和包,以及Oracle的事务处理与并发控制等内容。(2)数据库中间件应用技术。涉及Oracle的JDBC编程,包括驱动类型选择、驱动运行环境配置、驱动应用编程步骤、LOB处理、事务处理、存储过程调用等内容。(3)数据库应用系统架构。涉及C/S架构、B/S架构和数据库系统综合应用等内容。由于课程及实验涉及的知识点多,内容跨度大,要求学生上课认真听讲,课后注意归纳总结,实验前做好准备。除了最后一个综合应用实验外,前面的实验均要求在如下表结构上进行。(1)学生表:有学生学号、学生姓名、学生性别、学生出生日期、学生所属系部、学生平均成绩、学生照片等列。期中学生学号为9位字符或数字编码,有主码约束,学生姓名有非空约束,学生性别有“男”或“女”的取值约束,学生的平均成绩保留一位小数,与学生的选课成绩一致。表名用Student,各列依次用SNo(char(9))、SName(varchar2(30))、SSex(char(3))、SBirthday(Date)、SDepartment(varchar2(60)、SAvgGrade(number(4,1))、SPicture(blob)表示。(2)课程表:有课程号、课程名、先导课程课程号、课程学分等列。期中课程号为4位数字或字符编码,有主码约束,先导课程课程号外码引用课程号,课程名有非空和唯一性约束,学分为大于0小于20的数,保留一位小数。表名用Course,各列依次用CNo(char(4))、CName(varcahr2(60)、CPno(char(4))、CCredit(number(2,1))表示。(3)选课表:有学生学号、课程号、成绩等列。期中学生好学号和课程号组成联合主码,成绩取不超过100的整数。表名用SC,各列依次用SNo(char(9))、CNo(char(9))、Grade(number(3)。实验作业一并在实验报告上完成,作业成绩纳入实验考核成绩。本实验指导书由彭彬老师写,由于时间仓促,再加上实践经验的限制,错误在所难免,欢迎各位老师、学生赐教(pengbinhust163.com)。 目录实验环境介绍一、Oracle PL/SQL编程环境标准SQL语言是一次一集合的非过程化的查询语言,不利于对数据库中的数据作基于记录的过程化处理。Oracle的PL/SQL对标准SQL进行扩充,成为一个完整的编程语言:如数据类型、变量与表达式、结构化程序的结构等。这里提供三种PL/SQL编程环境。1.1、 SQL*PLUSSQL*Plus是一个交互式批处理查询工具,在安装Oracle数据库服务器时一并安装。它有三种用户界面:命令行用户界面, Windows图形用户界面(GUI)和基于Web的用户界面(iSQL * Plus)。也有单独运行的SQL*PLUS即时客户端,它需要单独安装,并可以访问其它数据库服务器。SQL*plus中可以运行SQL、PL/SQL、SQL*PLUS、操作系统命令,供于业务技术人员和系统管理员执行以下任务:开发和运行批处理脚本,处理查询结果,验证数据库对象的定义以及管理数据库。要注意SQL*plus是一个数据库应用成程序,它与Oracle数据库服务器构成一个两层或三层的应用架构。期中命令行用户界面的SQL*plus属于两层架构,SQL*plus处于客户端的地位,程序以命令行的形式输出用户程序或命令的处理结果。SQL*PLUS需要相关服务的支持。查看系统服务,确保OracleServiceXE服务已经启动(如图1所示),也可以在DOS窗口运行“net start OracleServiceXE”启动两个服务”。图1.1-1 Oracle系统服务以下介绍命令行界面。在Windows平台选择“开始”“运行”,输入“sqlplus”,或者在Windows的DOS窗口输入“sqlplus”,即进入命令行界面(如图1.1-2所示)。处于安全考虑,Oracle对登录的应用程序要进行“用户名”和“密码”验证,所以SQL*plus要登录到服务器,需要依次输入用户名、密码。如“sys/sys as sysdba”,“drp/drp”。如果系统安装有Oracle 10g Express,则可选择“开始”“程序”“Oracle Database 10g Express Edition”“运行SQL命令”,即进入命令行界面(如图1.1-3所示)。也可以用“SQLPLUS USERNAME/USERPASSSERVICE_NAME”直接登录到数据库服务器。当想以SYS用户登录,但又不知道用户密码时,可以用“SQLPLUS / AS SYSDBA”登录数据库,立即修改SYS用户的登录密码。在命令行窗口,键入exit,即可退出命令行界面。图1.1-2 SQl*PLUS命令行界面图1.1-3 通过Oracle 10g Express的快捷菜单进入的SQL*PLUS命令行界面Express版本缺省创建了一个用户方案HR,期中有表、视图、存储过程、触发器、包等数据库对象,以供初学者学习使用。但HR用户是锁定的,需要管理员解锁。(1)、登录到数据库服务器 Connect username/userpassword as sysdba(2)、环境参数显式环境参数:SHOW ALL|参数;设置环境参数:SET 参数名 部分参数:ARRAYSIZE: 设置SQL*PLUS从数据库提取的行数AUTOCOMMIT:自动提交DML语句LINESIZE:每页的宽度PAGESIZE:设置页的行数SERVEROUTPUT:控制PL/SQL程序的结果是否在SQL*PLUS中输出。(3)、用户管理创建用户:CREATE USER USER_NAME IDENTIFIED BY USER_PASSWORD;修改用户:ALTER USER USER_NAME IDENTIFILED BY NEW_PASS_WORD; ALTER USER USER_NAME ACCOUNT LOCK; ALTER USER USER_NAME ACCOUNT UNLOCK; ALTER USER USER_NAME PASSWORD EXPIRE显示当前用户:SHOW USER删除用户:DROP USER USER_NAME查看用户信息:SELECT * FROM USER_USERS; ORACLE有一个特殊的用户PUBLIC,请自己查阅相关信息。(4)、权限管理拥有CREATE SESSION权限的用户才能登录到数据库。可以直接把权限授给用户,也可以先建立角色,再赋予用户该角色,以实现权限分配授权:GRANT 权限|角色 on 数据库对象 TO USER_NAME WITH ADMIN OPTION 系统预定义的角色有:CONNECT、RESOURCE、DBA 如:GRANT CREATE SESSION TO USER DRP; GRANT CONNECT TO USER DRP; GRANT SELECT ON HR.EMP TO DRP; GRANT CREATE PROCEDUE TO USER DRP; GRANT CREATE ANY PROCEDURE TO USER DRP;回收:REVOKE 权限|角色 ON 数据库对象 FROM USER_NAME;查看用户当前权限:SELECT * FROM USER_SYS_PRIVS; SELECT * FROM USER_TAB_PRIVS;(5)、查看数据库对象信息 DESC 数据库对象;1.2、PLSQL DEVELOPERPL/SQL Developer是一个可为Oracle数据库开发存储程序单元的集成开发环境(IDE),使用 PL/SQL Developer 可以方便地查看、编辑、编译、纠正、测试、调试、优化和查询数据库对象。(1)启动PLSQL DEVELOPERPLSQL Developer启动窗口如图1.2-1所示,输入用户名、密码、数据库名,选择合适的登录方式后,程序进入系统主窗口,如图1.2-2所示。图1.2-1 PLSQL DEVELOPER启动窗口对象浏览器窗口图1.2-2 PLSQL DEVELOPER 主窗口(2)、执行SQL语句在File的下拉菜单中选New(如图1.2-3)SQL WINDOW(如图1.2-4),进入SQL Window窗口,在此窗口可输入SQL语句,并查看执行结果。图1.2-3 NEW窗口SQL 命令编辑区,执行结果出现在本窗口下方;如果执行PL/SQL块,则需要切换到OUTPUT查看输出。命令执行按钮,同F8图1.2-4 SQL Window窗口在File的下拉菜单中选NewCOMMAND WINDOW,进入COMMAND Window窗口,此窗口类似SQLPLUS的GUI界面,也可执行SQL命令。(3)创建数据库对象可以在SQL WINDOW窗口或COMMAND WINDOW窗口中执行创建数据库对象的语句。也可以用PLSQL DEVELOPER提供的模版创建。此处以创建表为例加以说明。在File的下拉菜单中选New,再选择Table;或者直接在对象浏览器中的Tables目录上点右键选New,出现如图1.2-5所示界面。输入表名A,再切换到Columns页面,增加number类型的字段a,和varchar2(100)类型的字段b,如图1.2-6所示。再切换到Indexes页面,增加一个包含a字段的唯一索引IDX_A,如图1.2-7所示。点View SQL,可以看到生成的SQL语句,如图1.2-8所示。点Apply,即创建表A。这时可在右边的对象浏览器中查看刚刚创建的表。在对象浏览器窗口查找到刚创建的表A。右键点击A,在快捷菜单中选择Edit data,进入数据修改窗口,如图1.2-9所示。点击修改按钮,进入修改状态;点击追加、删除按钮,可以分别追加一行和删除一行。要修改数据,则修改相应的列即可。修改数据后,记住点击“记住修改”按钮。可以多次修改。要提交修改,则需点击提交按钮COMMIT,要回滚修改,则需要点击Rollback回滚按钮ROLLBACK。图1.2-5 Table模版一般信息图1.2-6 Table模版列定义图1.2-7 Table模版索引图1.2-8 Table模版SQL语句在File的下拉菜单中选NewPROGRAM WINDOWPROCEDURE(如图1.2-10所示),进入存储过程模版向导窗口,输入过程名和参数后,点击“OK”进入编程窗口,在此可编辑存储
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号