武 汉 XX
信 息 工 程 学 院
课程名称: ORACLE 应用
题
目:
药品信息管理系统数据库设计
专业班级:
姓
学
名:
号:
授课教师:
成
绩:
2020 年 6 月 日
课程大作业任务书
专业班级: 计算机 1173
学生姓名:
指导教师: 工作单位:
设计题目:药品信息管理系统数据库设计
要求完成的主要任务:
选定某一主题,运用 oracle 数据库,以及相关技术方法设计和开发一个信息管理的数
据库系统,实现数据库的开发应用以及日常管理维护等基本功能。
具体要求如下:
(1)选定某一主题,创建一个 oracle 数据库,对其进行日常管理及应用(全部用 SQL 语句
实现):
1、创建数据库实例,数据库表空间,创建管理员,普通用户,并分别授予相应权限;
2、至少建立 5 个表,以及表间关系,使用到序列,索引,视图,同义词,约束,每个
表至少插入相关信息 10 条记录;
3、要求使用 sqlplus,pl/sql 或 developer 建立存储过程,触发器和程序包等代码,
其中要求用到游标,异常,各种语句等对表中数据进行处理;
4、使用自己熟悉的开发语言,加入界面,连接数据库;
5、报告要有操作截图展示,字数要求 4000 字左右,以及对 oracle 数据库的学习体会,
要求字数 1000 字以上。
(2)学生需完成设计报告文档,文档不得雷同;
(3)以班为单位由班长统一提交,设计的数据库以及电子文档以个人名字命名,并以班集
体为单位刻盘保存。
(4)根据作业难度、工作量、设计中创新性、报告书写规范化、作业运行结果及答辩情况
综合评分,评分标准如下:
1、数据库的设计及实现,用户管理,权限分配,各种模式对象的使用合理;(30 分)
2、块、游标、储存过程、函数、触发器等的设计及调用正确;(30 分)
3、报告文档说明条理清晰,格式正确,写作规范;(20 分)
4、系统运行良好,有一定的独立性与创新性,态度积极认真;(20 分)
目录
1 设计目的及要求 ............................................................. 5
2 开发环境和开发技术 ......................................................... 5
2.1 Eclipse 开发环境简介 ..................................................5
2.2 开发语言简介 ......................................................... 5
2.3 oracle 简介 ...........................................................5
3 需求分析 ................................................................... 6
3.1 处理对象 ..............................................................6
3.2 安全性和完整性要求 ....................................................6
3.3 信息处理及系统功能 ....................................................7
4 概念设计阶段 .............................................................. 13
4.1 进货时的分 E-R 图 .....................................................13
4.2 销售时的分 E-R 图 .....................................................14
4.3 盘存时的分 E-R 图 .....................................................14
4.4 全局 E-R 图 ...........................................................15
5 逻辑设计阶段 .............................................................. 15
5.1 建立关系模式 ........................................................ 16
5.2 关系模式规范化处理 .................................................. 17
5.3 用户子模式建立 ...................................................... 17
5.4 关系模式逻辑结构定义 ................................................ 17
6 数据库物理设计 ............................................................ 19
6.1 物理设计阶段目标和任务 .............................................. 19
6.2 建立索引的原则 .......................................................19
6.3 创建视图 .............................................................20
6.4 创建存储过程 .........................................................20
6.5 创建的触发器 .........................................................21
7 数据库的建立和连接 ........................................................ 21
7.1 创建表空间 ...........................................................21
7.2 创建用户 .............................................................21
7.3 创建系统各表单 .......................................................22
7.3.1.SQL 语言实现 .......................................................22
7.4 数据库视图 ...........................................................31
7.5 存储过程 .............................................................33
7.6 触发器 ...............................................................37
7.7 函数的创建 ...........................................................41
7.8 序列 .................................................................43
7.9 索引 .................................................................44
8 界面设计 ...................................................................45
8.1 管理员界面 ...........................................................45
8.2 订单添加 ............................................................ 45
8.3 订单修改界面 .........................................................46
8.4 删除订单信息 .........................................................47
9 学习收获与体会 ............................................................ 48
10 参考文献 ................................................................. 49
1 设计目的及要求
学生根据所学的数据库原理与程序设计的知识,能够针对一个小型的数据库管理系统,
进行数据库系统的需求分析,概念结构设计、逻辑结构设计、物理结构设计,数据录入及测
试等,完成题目要求的功能,从而达到掌握开发一个小型数据库的目的。
2 开发环境和开发技术
2.1 Eclipse 开发环境简介
Eclipse 是一个基于 Java 的、开放源码的、可扩展的应用开发平台,它为编程人员提供
了一流的 Java 集成开发环境(Integrated Development Environment,IDE)[1]。在 Eclipse 的
官方网站中提供了一个 Java EE 版的 Eclipse IDE。应用 Eclipse IDE for Java EE,既可以创建
Java 项目,也可以创建动态 Web 项目。
2.2 开发语言简介
Java 编程语言的风格十分接近 C、C++语言。Java 是一个纯的面向对象的程序设计语
言,它继承了 C++ 语言面向对象技术的核心,Java 舍弃了 C ++语言中容易引起错误的指
针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了
垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管
理而担忧。在 Java SE 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、 类型安
全的枚举、不定长参数和自动装/拆箱等语言特性[2]。
Java 不同于一 -般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编
译成二进制字节码(bytecode),然后依赖各种不同平台,上的虚拟机来解释执行字节码,从
而实现了“一次编译、到处执行”的跨 平台特性[3]。
2.3 oracle 简介
Oracle 数据库包括 Oracle 数据库服务器和客户端。
Oracle 数据库服务器: Oracle Server 是-一个对象一关系数据库管理系统。它提供开
放的、全面的、和集成的信息管理方法。
每个 Server 由-一个 Oracle DB 和-一个 Oracle Server 实例组成。它具有场地自治
性(Site Autonomy) 和提供数据存储透明机制,以此可实现数据存储透明性。每个 Oracle 数
据库对应唯一的- 一个实例名 SID, Oracle 数据库服务器启动后,一般至少有以下几个用
户: Internal, 它不是一个真实的用户名,而是具有 SYSDBA 优先级的 Sys 用户的别名,它
由 DBA 用户使用来完成数据库的管理任务,包括启动和关闭数据库; Sys, 它是一一个 DBA
用户名,具有最大的数据库操作权限; System, 它也是一一个 DBA 用户名,权限仅次于 Sys
用户[4]。
客户端:为数据库用户操作端,由应用、工具、SQL* NET 组成,用户操作数据库时, 必
须连接到- -服务器,该数据库称为本地数据库(Local DB).在网络环境下其它服务器上的
DB 称为远程数据库( Remote DB)。用户要存取远程 DB 上的数据时,必须建立数据库链。Oracle
数据库的体系结构包括物理存储结构和逻辑存储结构。由于它们是相分离的,所以在管理数
据的物理存储结构时并不会影响对逻辑存储结构的存取[5]。
3 需求分析
3.1 处理对象
供应商:供应商的编号,供应商的名称,供应商的地址,供应商的联系电话.
药品:药品的编号,药品名称,药品重量,药品类别,药品单价,药品生产日期,药品保质
期.
顾客:顾客姓名,顾客编号,顾客年龄,顾客联系电话,顾客地址,顾客邮编.
仓库:仓库编号,仓库当前库存量,仓库最大库存量,仓库最小库存量.
工作人员:人员编号,人员名称,人员电话,人员地址,人员类型.
销售员售货:人员编号,顾客编号,货物编号,购买数量,销售日期.
顾客退货:人员编号,顾客编号,退货数量,退货日期.
采购员进货:供应商编号,采购员编号,进货数量,进货日期.
采购员退货:供应商编号,采购员编号,退货数量,退货日期.
3.2 安全性和完整性要求
(1) 安全性要求
系统安全性要求体现在数据库安全性、信息安全性和系统平台的安全性等方面。安全性
先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上的
安全性,再通过分配权限、设置权限级别来区别对待不同操作者对数据库的操作来提高数据
库的安全性;系统平台的安全性体现在操作系统的安全性、计算机系统的安全性和网络体系
的安全性等方面。
(2) 完整性要求
系统完整性要求系统中数据的正确性以及相容性。可通过建立主、外键,使用 check
约束,或者通过使用触发器和级联更新。
3.3 信息处理及系统功能
3.3.1 数据流程图
第一层数据流图:
第二层数据流程图——药物进货
图 1-1 第一层数据流程图
图 1-2 进货数据流程图
第二层数据流程图——药物销售
图 1-3 销售数据流程图
第二层数据流程图——存储
图 1-4 存储数据流程图