基于Oracle的仓库管理数据库系统设计的开发与实现.doc_第1页
基于Oracle的仓库管理数据库系统设计的开发与实现.doc_第2页
基于Oracle的仓库管理数据库系统设计的开发与实现.doc_第3页
基于Oracle的仓库管理数据库系统设计的开发与实现.doc_第4页
基于Oracle的仓库管理数据库系统设计的开发与实现.doc_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

北京邮电大学世纪学院北京邮电大学世纪学院 毕业设计毕业设计( (论文论文) ) 题 目 基于基于 OracleOracle 的仓库管理的仓库管理 数据库系统设计数据库系统设计 学 号 学生姓名 专业名称 所在系(院) 指导教师 2012 年 5 月 30 日 题目题目 基于基于 OracleOracle 的仓库管理数据库系统设计的仓库管理数据库系统设计 摘要 随着现代企业的发展,计算机信息管理系统越来越受到重视。本文简要介绍了 SQL 语言以及 Oracle 数据库系统的特点,并详细阐述了仓库管理数据库系统的设计 方法。通过 Power Designer 建立概念结构模型,生成 SQL 脚本,最终建成数据库。 主要包括数据库系统需求分析、概念结构设计、逻辑结构设计以及物理结构设计, 最终模拟建立数据库。通过本系统的建立,可使企业的仓库管理更加正规化、科学 化,以及方便快捷的实现仓库物资的入库、出库和采购等事项的管理功能。因此, 本系统的开发有其特有的技术意义和管理意义。 关键词 Power Designer Oracle 仓库管理 Title Design Of Store Management Database System Based On Oracle Abstract With the development of modern industry, the information management system of the computer is paid more and more attention by enterprise. This article briefly describes the characteristics of the SQL language and Oracle database systems, and elaborated on the design of the warehouse management database system: First, establish the conceptual structure model and physical structure model with Power Designer, then generate the SQL script through the PDM model, finally build the database system. Including system needs analysis of the system, conceptual structure design, the logical structure design and physical structure design, eventually establish a simulation of database system. Using a computer to control information of the warehouse which has advantages that artificial management that cant catch up with. It is quickly inspectional, easy to search, the credibility is high, and deposit capacities is high, confidentiality good, and also reduce more manpower and material resource. All of this managements can infinitely raise the management efficiency of goods stock and also is a scientific and regular turn, and be in line with world of important condition of the storage management. Therefore, developing a storage management system is necessary. It has its unique technology and managerial implications. Keywords Power Designer Oracle Store management 目录 1.前言 .1 1.1 选题背景、意义1 1.2 国内外发展现状 2 1.2.1 国外发展状况 2 1.2.2 国内发展状况 2 2数据库理论基础及应用系统开发工具 4 2.1 SQL 语言介绍4 2.1.1 SQL 简介 4 2.1.2 SQL 语句介绍 5 2.2 ORACLE数据库分析 5 2.2.1 Oracle 数据库简介 .5 2.2.2 Oracle 数据库结构 .6 2.2.3 Oracle 数据库特点 .7 2.2.4 Oracle 数据仓库概述 .8 3. 数据库管理系统总体设计 .10 3.1 数据库设计概述 .10 3.2 系统需求分析 .11 3.2.1 需求分析的任务和目标 .11 3.2.2 需求分析的方法和步骤 .12 3.2.3 数据字典 .12 3.2.3 数据流图 .15 3.3 数据库概念模型 .16 3.3.1 实体属性图 .16 3.3.2 总体 E-R 图 .19 4. 数据库系统逻辑结构设计 .20 4.1 关系模式的基本范式 .20 4.1.1 1NF20 4.1.2 2NF21 4.1.3 3NF21 4.1.4 Boyce-Codd 范式21 4.2 初始关系模型的设计 .21 4.3 关系模式的规范化 .22 5. 数据库系统物理结构设计 .24 5.1 存储结构的设计 .24 5.1.1 基本概念 .24 5.1.2 B-树的查找.25 5.1.3 B-树的插入.25 5.1.4 B-树的删除.27 5.2 访问方法设计 .30 5.2.1 索引的概念 .30 5.2.2 索引的高效原理 .30 5.2.3 索引的特性 .30 5.2.4 索引的建立 .32 5.3 数据存放位置设计 .32 5.3.1 RAID(磁盘阵列)技术.32 5.3.2 RAID 的级别 33 5.3.3 RAID 级别的选择 35 5.4 系统配置设计 .36 6. 数据库实施 .37 6.1 建立数据库结构 .37 6.2 数据库加载 .50 7结论 .53 致谢 54 参考文献 55 1.前言 当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,这正是计算 机被广泛应用于信息处理系统的环境。计算机最大的好处在于利用它能够进行信息 管理,使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全 性。尤其对复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管 理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。 仓库管理系 统是一个企事业单位不可缺少的一部分它的内容对于企业的决策者和管理者来说都 是至关重要的,因此,仓库管理系统应该能够为用户提供充足的信息和快捷的查询 手段,但一直以来人们使用传统的人工方式管理仓库,这种管理方式存在着许多缺 点,诸如效率低,保密性差等,而且时间一长,将产生大量的文件和数据,这对于 查找、更新和维护都带来了不少的困难。 作为计算机应用的一部分,使用计算机 对产品仓库信息进行管理,具有人工管理无法比拟的优点,它检索迅速、查找方便、 可靠性高、存储量大、保密性好、寿命长、成本低等,可减少更多的人力物力,这 些都能够极大地提高货品仓库的管理效率,也是企业仓库管理科学化、正规化,与 世界接轨的重要条件。因此,开发一个仓库管理系统是很有必要的,具有其特有的 技术意义和管理意义。 1.1 选题背景、意义 仓库管理系统是一个企事业单位不可缺少的一部分,它的内容对于企业的决策 者和管理者来说都是至关重要的,因此,仓库管理系统应该能够为用户提供充足的 信息和快捷的查询手段。但一直以来人们使用传统的人工方式管理仓库,这种管理 方式存在着许多缺点,诸如效率低、保密性差等。而且时间一长,将产生大量的文 件和数据,这对于查找、更新和维护都来了不少的困难。 作为计算机应用的一部分,使用计算机对产品仓库信息进行管理,具有人工管 理无法比拟的优点,它检索迅速、查找方便、可靠性高、存贮量大、保密性好、寿 命长、成本低等,可减少许多的人力物力,这些都能够极大地提高货物仓库的管理 效率,也是企业仓库管理科学化、正规化,与世界接轨的重要条件。因此,开发一 个仓库管理系统是很有必要的,具有其特有的技术意义和管理意义。 Oracle 是目前全球最流行、最强大的数据库系统。Oracle 数据库具有完备的 数据管理功能,能完美的刻画数据关系,并实现了完善的分布式处理功能。这些优 点使其成为了当今企事业单位最广泛使用的产品。 1.2 国内外发展现状 1.2.1 国外发展状况 第一个通用的数据库管理系统(DBMS)是有 Charles Bachman 与 20 世纪 60 年 代在通用电气(General Electric)公司设计的,并称作集成数据存储 (integrated data store),它奠定了网状数据模型的基础。 20 世纪 60 年代末期,IBM 成功开发了信息管理系统(IMS)DBMS,直至今天, 它还在许多系统中使用。1970 年,Edgar Codd 在 IBM 的 San Jose 研究实验室推出 了一种新的称之为关系数据模型的数据表达框架。在 80 年代,关系模型巩固了它 作为主导 DBMS 的地位,数据库系统继续为广泛的使用。并且,SQL 于 80 年代末期 得到标准化,其目前的 SQL-92 被美国国家标准协会(ANSI)和国际标准化组织 (ISO)所接受。在 20 世纪 80 年代末期和 90 年代,大量的厂商已经为创建数据仓库、 集成多喝数据库的数据以及实现专业化分析而开发了专用的系统。 一个有趣的现象是随着一些企业资源规划(ERP)和管理资源规划(MRP)软件包的 出现,他们在 DBMS 之上增加一层面向应用的特征。随后,DBMS 已经进入了因特网 时代。第一代 Web 站点把数据存储在操作系统文件中,当前使用 DBMS 存储数据并 通过 Web 浏览器浏览数据正变得越来越普遍。 1.2.2 国内发展状况 1)COBASE我国自行研制的关系数据库管理系统 在我国“八五” 、 “九五”期间,国家计委领导的国家科技攻关计划设立了科技 攻关课题“国产系统软件开发” ,而“数据库管理系统开发”是该课题的一个专题。 专题的攻关目标是开发具有自主版权的实用的关系数据库管理系统,该数据库管理 系统称为“COBASE” 。在开发数据库管理系统方面,由国家科技攻关计划立项组 织“大兵团”作战,历时七年, “COBASE”在国内还是首次。科技攻关工作取得了 重要成果,实现了攻关目标,开发出了具有自主版权的关系数据库管理系统 “COBASE” 。后来,把“八五”期间的科技攻关成果称为 COBASE V1.0,而“九五” 期间的成果称为 COBASE V2.0,COBASE V2.0 在 COBASE V1.0 基础上实现了多媒体数 据的存储与管理。 “八五” 、 “九五”科技攻关成果 COBASE,虽然并未真正实现产品 化占领市场,更没有实现产业化,但这一场科技攻关战却在技术、人才、队伍组织、 研发工作管理等方面为我国数据库管理系统产业化发展播下了“种子” 。 2)中国自主研发成功“神舟”数据库 从上世纪年代起,中国科研人员就开始研制国产数据库。 “十五”期间,在 发改委、科技部的大力支持下,中国航天科技集团的科技人员先后研发成功两大拥 有自主产权的技术先进集成设计与制造系统(AVIDM)和数据库管理系统(OSCAR)。 神舟具有高可扩展性,支持多种计算模式,还具备海量数据管理能力、 数据备份恢复机制,已在电子政务、军工、企事业单位得到应用。 2 2数据库理论基础及应用系统开发工具 2.1 SQL 语言介绍 2.1.1 SQL 简介 SQL 全名是结构化查询语言(Structured Query Language) ,是用于数据库中 的标准数据查询语言,IBM 公司最早使用在其开发的数据库系统中。1986 年 10 月, 美国国家标准学会(ANSI) 对 SQL 进行规范后,以此作为关系式数据库管理系统的 标准语言 (ANSI X3. 135-1986),1987 年得到国际标准组织的支持下成为国际标准。 不过各种通行的数据库系统在其实践过程中都对 SQL 规范作了某些编改和扩充。 所以,实际上不同数据库系统之间的 SQL 不能完全相互通用。 在 1970 年代初,由 IBM 公司 San Jose,California 研究实验室的埃德加科 德发表将资料组成表格的应用原则(Codds Relational Algebra) 。1974 年,同一 实验室的 D.D.Chamberlin 和 R.F. Boyce 对 Codds Relational Algebra 在研制关 系数据库管理系统 System R 中,研制出一套规范语言-SEQUEL (Structured English Query Language),并在 1976 年 11 月的 IBM Journal of R alter table “Relationship_3“ drop constraint FK_RELATION_RELATIONS_报废表; alter table 交易 drop constraint FK_交易_RELATIONS_供货商信息; alter table 交易 drop constraint FK_交易_RELATIONS_库房信息; alter table 货物入库 drop constraint FK_货物入库_RELATIONS_库房信息; alter table 货物入库 drop constraint FK_货物入库_RELATIONS_入库信息; alter table 货物出库 drop constraint FK_货物出库_RELATIONS_库房信息; alter table 货物出库 drop constraint FK_货物出库_RELATIONS_出库信息; alter table 货物管理 drop constraint FK_货物管理_RELATIONS_货物信息; alter table 货物管理 drop constraint FK_货物管理_RELATIONS_采购员; alter table 采购员 drop constraint FK_采购员_RELATIONS_库房信息; alter table 需求 drop constraint FK_需求_RELATIONS_部门信息; alter table 需求 drop constraint FK_需求_RELATIONS_库房信息; drop index “Relationship_6_FK“; drop index “Relationship_5_FK“; drop table “Relationship_3“ cascade constraints; drop index “Relationship_11_FK“; drop index “Relationship_10_FK“; drop table 交易 cascade constraints; drop table 供货商信息 cascade constraints; drop table 入库信息 cascade constraints; drop table 出库信息 cascade constraints; drop table 库房信息 cascade constraints; drop table 报废表 cascade constraints; drop table 货物信息 cascade constraints; drop index “Relationship_2_FK“; drop index “Relationship_1_FK“; drop table 货物入库 cascade constraints; drop index “Relationship_4_FK“; drop index “Relationship_3_FK“; drop table 货物出库 cascade constraints; drop index “Relationship_9_FK“; drop index “Relationship_8_FK“; drop table 货物管理 cascade constraints; drop table 部门信息 cascade constraints; drop index “Relationship_7_FK“; drop table 采购员 cascade constraints; drop index “Relationship_13_FK“; drop index “Relationship_12_FK“; drop table 需求 cascade constraints; /*=*/ /* Table: “Relationship_3“ */ /*=*/ create table “Relationship_3“ ( 库房编号 INTEGER not null, 报废表编号 INTEGER not null, constraint PK_RELATIONSHIP_3 primary key (库房编号, 报废表编号) ); /*=*/ /* Index: “Relationship_5_FK“ */ /*=*/ create index “Relationship_5_FK“ on “Relationship_3“ ( 库房编号 ASC ); /*=*/ /* Index: “Relationship_6_FK“ */ /*=*/ create index “Relationship_6_FK“ on “Relationship_3“ ( 报废表编号 ASC ); /*=*/ /* Table: 交易 */ /*=*/ create table 交易 ( 供应商编号 INTEGER not null, 库房编号 INTEGER not null, constraint PK_交易 primary key (供应商编号, 库房编号) ); /*=*/ /* Index: “Relationship_10_FK“ */ /*=*/ create index “Relationship_10_FK“ on 交易 ( 供应商编号 ASC ); /*=*/ /* Index: “Relationship_11_FK“ */ /*=*/ create index “Relationship_11_FK“ on 交易 ( 库房编号 ASC ); /*=*/ /* Table: 供货商信息 */ /*=*/ create table 供货商信息 ( 供应商编号 INTEGER not null, 供应商名称 VARCHAR2(20), 地址 VARCHAR2(50), 电话 NUMBER(11), 传真 NUMBER(11), 账号 NUMBER(19), 备注 VARCHAR2(20), constraint PK_供货商信息 primary key (供应商编号) ); /*=*/ /* Table: 入库信息 */ /*=*/ create table 入库信息 ( 入库单编号 INTEGER not null, 货物名称 VARCHAR2(20), 入库日期 DATE, 入库数量 NUMBER(5), 入库人 VARCHAR2(20), 复核人 VARCHAR2(20), 备注 VARCHAR2(20), 库房名称 VARCHAR2(20), constraint PK_入库信息 primary key (入库单编号) ); /*=*/ /* Table: 出库信息 */ /*=*/ create table 出库信息 ( 出库单编号 INTEGER not null, 货物名称 VARCHAR2(20), 出库日期 DATE, 出库数量 NUMBER(5), 提货人 VARCHAR2(20), 库房名称 VARCHAR2(20), constraint PK_出库信息 primary key (出库单编号) ); /*=*/ /* Table: 库房信息 */ /*=*/ create table 库房信息 ( 库房编号 INTEGER not null, 库房名称 VARCHAR2(20), 库房管理人 VARCHAR2(20), 库房电话 INTEGER, constraint PK_库房信息 primary key (库房编号) ); /*=*/ /* Table: 报废表 */ /*=*/ create table 报废表 ( 报废表编号 INTEGER not null, 货物名称 VARCHAR2(20), 入库时间 DATE, 报废时间 DATE, constraint PK_报废表 primary key (报废表编号) ); /*=*/ /* Table: 货物信息 */ /*=*/ create table 货物信息 ( 货物编号 INTEGER not null, 货物名称 VARCHAR2(20), 规格 VARCHAR2(5), 单位 VARCHAR2(5), 单价 NUMBER(5), 库存数量 NUMBER(5), 库存阈值 VARCHAR2(20), 产地 VARCHAR2(20), 备注 VARCHAR2(20), constraint PK_货物信息 primary key (货物编号) ); /*=*/ /* Table: 货物入库 */ /*=*/ create table 货物入库 ( 库房编号 INTEGER not null, 入库单编号 INTEGER not null, constraint PK_货物入库 primary key (库房编号, 入库单编号) ); /*=*/ /* Index: “Relationship_1_FK“ */ /*=*/ create index “Relationship_1_FK“ on 货物入库 ( 库房编号 ASC ); /*=*/ /* Index: “Relationship_2_FK“ */ /*=*/ create index “Relationship_2_FK“ on 货物入库 ( 入库单编号 ASC ); /*=*/ /* Table: 货物出库 */ /*=*/ create table 货物出库 ( 库房编号 INTEGER not null, 出库单编号 INTEGER not null, constraint PK_货物出库 primary key (库房编号, 出库单编号) ); /*=*/ /* Index: “Relationship_3_FK“ */ /*=*/ create index “Relationship_3_FK“ on 货物出库 ( 库房编号 ASC ); /*=*/ /* Index: “Relationship_4_FK“ */ /*=*/ create index “Relationship_4_FK“ on 货物出库 ( 出库单编号 ASC ); /*=*/ /* Table: 货物管理 */ /*=*/ create table 货物管理 ( 货物编号 INTEGER not null, 采购员编号 INTEGER not null, constraint PK_货物管理 primary key (货物编号, 采购员编号) ); /*=*/ /* Index: “Relationship_8_FK“ */ /*=*/ create index “Relationship_8_FK“ on 货物管理 ( 货物编号 ASC ); /*=*/ /* Index: “Relationship_9_FK“ */ /*=*/ create index “Relationship_9_FK“ on 货物管理 ( 采购员编号 ASC ); /*=*/ /* Table: 部门信息 */ /*=*/ create table 部门信息 ( 部门编号 INTEGER not null, 部门名称 VARCHAR2(20), 负责人 VARCHAR2(20), 部门电话 NUMBER(11), constraint PK_部门信息 primary key (部门编号) ); /*=*/ /* Table: 采购员 */ /*=*/ create table 采购员 ( 采购员编号 INTEGER not null, 库房编号 INTEGER, 采购员姓名 VARCHAR2(20), 电话 NUMBER(11), 备注 VARCHAR2(20), constraint PK_采购员 primary key (采购员编号) ); /*=*/ /* Index: “Relationship_7_FK“ */ /*=*/ create index “Relationship_7_FK“ on 采购员 ( 库房编号 ASC ); /*=*/ /* Table: 需求 */ /*=*/ create table 需求 ( 部门编号 INTEGER not null, 库房编号 INTEGER not null, constraint PK_需求 primary key (部门编号, 库房编号) ); /*=*/ /* Index: “Relationship_12_FK“ */ /*=*/ create index “Relationship_12_FK“ on 需求 ( 部门编号 ASC ); /*=*/ /* Index: “Relationship_13_FK“ */ /*=*/ create index “Relationship_13_FK“ on 需求 ( 库房编号 ASC ); alter table “Relationship_3“ add constraint FK_RELATION_RELATIONS_库房信息 foreign key (库房编号) references 库房信息 (库房编号); alter table “Relationship_3“ add constraint FK_RELATION_RELATIONS_报废表 foreign key (报废表编号) references 报废表 (报废表编号); alter table 交易 add constraint FK_交易_RELATIONS_供货商信息 foreign key (供应商编号) references 供货商信息 (供应商编号); alter table 交易 add constraint FK_交易_RELATIONS_库房信息 foreign key (库房编号) references 库房信息 (库房编号); alter table 货物入库 add constraint FK_货物入库_RELATIONS_库房信息 foreign key (库房编号) references 库房信息 (库房编号); alter table 货物入库 add constraint FK_货物入库_RELATIONS_入库信息 foreign key (入库单编号) references 入库信息 (入库单编号); alter table 货物出库 add constraint FK_货物出库_RELATIONS_库房信息 foreign key (库房编号) references 库房信息 (库房编号); alter table 货物出库 add constraint FK_货物出库_RELATIONS_出库信息 foreign key (出库单编号) references 出库信息 (出库单编号); alter table 货物管理 add constraint FK_货物管理_RELATIONS_货物信息 foreign key (货物编号) references 货物信息 (货物编号); alter table 货物管理 add constraint FK_货物管理_RELATIONS_采购员 foreign key (采购员编号) references 采购员 (采购员编号); alter table 采购员 add constraint FK_采购员_RELATIONS_库房信息 foreign key (库房编号) references 库房信息 (库房编号); alter table 需求 add constraint FK_需求_RELATIONS_部门信息 foreign key (部门编号) references 部门信息 (部门编号); alter table 需求 add constraint FK_需求_RELATIONS_库房信息 foreign key (库房编号) references 库房信息 (库房编号); 6.2 数据库加载 以下是本系统的各个基本表的表结构: 图 6-1 入库表表结

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论