数据库设计典型实例
⑴ VB/VF图书管理系统(程序+论文)
图书馆管理系统
摘 要
图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。
因此本人结合开入式图书馆的要求,对MS SQL Server2000数据库管理系统、SQL语言原理、Delphi应用程序设计,Delphi数据库技术进行了较深入的学习和应用,主要完成对图书管理系统的需求分析、功能模块划分、数据库模式分析,并由此设计了数据库结构和应用程序。系统运行结果证明,本文所设计的图书管理系统可以满足借阅者、图书馆工作人员和高级管理员三方面的需要。
第一章对数据库应用系统开发和图书管理系统进行了简明的介绍,并分析了开发图书管理系统所应进行的工作。
第二章对数据库的设计和SQL语言的使用进行了系统分析,为深入理解数据库应用打下了基础。
第三章学习了具体的开发工具Delphi 6.0,对其数据库组件,SQL语言在Delphi中的应用等数据库编程关键技术进行了系统的介绍。
第四章分析了图书管理信息系统的应用需求,按照数据库设计理论一步一步地给出了系统需求说明书、局部ER图、全局ER图、系统关系模式,子模式,利用MS SQL Server2000建立了数据库
第五章进行了具体的程序设计,具体划分了三类用户的操作权限,设计了了三个操作界面。实现了数据库表的浏览,记录的添加、删除和修改,报表的生成,实现了多数据库表的连接操作,实现了多条件查询和模糊查询,并灵活实现了对不可更新查询结果集的更新操作,实现了主从表操作,实现了密码维护功能,最后,系统还可以导入数据库以对任意同结构的数据库进行操作。
设计充分利用Delphi 6、MS SQL Server2000数据库技术的强大力量,提高了编程效率和可靠性。
关键词:数据库,SQL语言,MS SQL Server,Delphi6,
数据库组件,图书管理,窗体,listview组件
目 录
摘 要 ……………………………………………………………………………… I
第一章 绪 论 …………………………………………………………………… 1
§1.1 数据库应用系统开发简介 ……………………………………………… 1
§1.2 图书管理系统 ……………………………………………………… 4
§1.3 本文所做的主要工作 …………………………………………………… 6
第二章 数据库理论基础 ………………………………………………………… 7
§2.1 数据库系统设计及范式分析 …………………………………………… 7
§2.2 SQL语言介绍………………………………………………………………… 11
2.2.1 SQL基础 ………………………………………………………………… 11
2.2.2 SQL语句 ………………………………………………………………… 12
第三章 应用系统开发工具………………………………………………… 16
§3.1 Delphi6.0 VCL组件的体系结构……………………………………… 16
§3.2 数据库组件介绍 …………………………………………………………… 17
§3.3 SQL语言在Delphi中的应用 …………………………………………… 18
§3.4 MS SQL Server简述 …………………………………………………… 22
第四章 图书管理系统设计分析 ………………………………………… 24
§4.1 应用需求分析 …………………………………………………………… 24
§4.2 系统功能模块划分 ……………………………………………………… 29
§4.3 系统数据库设计 ………………………………………………………… 29
第五章 图书管理系统应用程序设计 …………………………………… 37
§5.1 系统窗体模块组成 ………………………………………………………… 37
§5.2 数据模块窗体的设置 ……………………………………………………… 37
§5.3启动画面的实现…………………………………………………………… 38
§5.4用户登录窗体的的实现……………………………………………………… 39
§5.5用户密码认证窗体的的实现………………………………………………… 39
§5.6借阅者服务模块的实现…………………………………………………… 40
5.6.1图书查询功能的实现………………………………………………… 41
5.6.2借阅者登录功能的实现………………………………………………… 42
5.6.3借阅者借阅情况功能的实现…………………………………………… 43
5.6.4借阅者个人资料维护功能的实现……………………………………… 47
§5.7工作人员-图书借阅/归还模块的实现……………………………………… 49
5.7.1工作人员进行图书借阅功能实现……………………………………… 50
5.7.2工作人员进行图书归还功能实现……………………………………… 53
§5.8图书馆管理员模块的实现…………………………………………… 54
5.8.1图书馆管理员图书管理功能的实现…………………………………… 55
5.8.2图书馆管理员工作人员和管理员管理功能的实现…………………… 58
5.8.3图书馆管理员修改图书类别及统记功能的实现……………………… 60
5.8.4图书馆管理员借阅者管理功能的实现………………………………… 62
5.8.5图书馆维护借阅者管理功能的实现………………………………… 62
5.8.6图书馆身份维护功能的实现……………………………………… 64
5.8.7图书馆借阅者统计功能的实现………………………………… 65
5.8.8图书馆统计借阅过期记录功能的实现………………………… 67
§5.9系统信息显示的实现………………………………………………… 68
第六章 结束语 ……………………………………………………………… 69
致 谢 ………………………………………………………………………………70
参考书目 …………………………………………………………………………… 70
第一章 绪 论
§1.1 数据库应用系统开发简介
在数据库应用系统开发之前,对开发数据库的基本概念应当了解,对数据库的结构、开发数据库应用程序的步骤、开发体系及方法都应当有相当清晰的了解和认识。
数据库应用系统开发的目标是建立一个满足用户长期需求的产品。开发的主要过程为:理解用户的需求,然后,把它们转变为有效的数据库设计。把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用。
数据库技术在计算机软件邻域研究中一直是非常重要的主题,产生于60年代,30多年来数据库技术得到了迅速发展,并已形成较为完整的理论体系和一大批实用系统。并且,近年来,随着World Wide Web(WWW)的猛增及Internet技术的迅速发展,使得数据库技术之时成为最热门技术之一。
1.1.1 数据库
如图1.1显示了数据库系统的主要组件。数据库由DBMS(数据库管理系统)处理,DBMS则由开发人员和用户通过应用程序直接或间接地使用。它主要包括四个要素:用户数据、元数据、索引和应用元数据。
1.1.1.1 用户数据
目前,大多数主流数据库管理系统把用户数据表示为关系。现在把关系看作数据表。表的列包含域或属性,表的行包含对应业务环境中的实体的记录。并非所有的关系都同样符合要求,有些关系比其它关系更结构化一些。第二章描述了一个用以产生良好结构关系的过程,称作规范化。
为了对比结构差的关系和结构好的关系之间的差别,以本文所设计的图书管理系统中的图书和图书借阅者关系为例来说明,假若设计关系R1(借书证号,姓名,性别,身份编号,身份证,联系电话,图书编号,图书名称,图书类别,作者,出版社,出版日期,备注,价格,数量);这个关系的问题出在它有关于两个不同主题的数据,就是图书借阅者和图书。用这种方式构成的关系在进行修改时,会出现问题。因为一个图书借阅者可能借阅多本书,如果某个图书借阅者的某个字段(如联系电话)出现变更,它所借阅的图书记录(可能多个)也就必须变化,这是不好的。因此数据用两个关系表示更好。现在如果某图书借阅者改变了它的联系电话,只有关系(表)user的对应行需要改变。当然,要想产生一个,显示图书名称及其借阅者联系电话的报表,就需要将这两个表的行结合起来。结果表明,将关系分别存储,在生成报表的时候将它们结合起来,比把它们存储在一个合成的表中更好。
user(借书证号,姓名,性别,身份编号,身份证,联系电话,)
book(图书编号,图书名称,图书类别,作者,出版社,出版日期,备注,价格,数量)
1.1.1.2 元数据
数据库是自描述的,这就意味着它自身包含了它的结构的描述,这种结构的描述称作元数据。因为DBMS产品是用来存储和操纵表的,所以大多数产品把元数据以表的形式存储,有时称作系统表。这些系统表存储了数据库中表的情况,指出每一个表中有多少列,那一列是主关键字,每一列的数据类型的描述,它也存储索引、关键字、规则和数据库结构的其他部分。
在表中存储元数据不仅对DBMS是有效的,对用户也是方便的,因为他们可以使用与查询用户数据同样的查询工具来查询元数据。本文第二章所介绍的SQL语言可以同时用于元数据和用户数据。
1.1.1.3 索引
第三种类型的数据改进了数据库的性能和可访问性,这种数据经常称作开销数据,尽管有时也采用其他类型的数据结构,如链表,但它主要还是索引。索引可以用来排序和快速访问数据。下面以本人的图书管理信息系统中的book表为例来说明。
假定数据在磁盘上是按’图书编号’的递增顺序排列的,用户想打印一个按’图书名称’排序的图书数据报表。为此,所有的数据都需要从源表中提取出来并排序,除非表很小,否则这是一个很费时的过程。或者,可以在‘图书名称’字段上创建一个索引,该索引的条目按照‘图书名称’排序,这样,该索引的条目可以读出来,并用来按顺序访问book数据。
索引用于快速访问数据。例如,一个用户只想访问book表中‘图书类别’值为‘01’的那些学生。如果没有索引,则必须搜索整个源表;但有了索引之后,可以找到索引条目,并使用它来挑选所有合适的行。
索引对排序和查找是有帮助的,但要付出代价。book表中的行每次改变时,索引也必须改变,这意味着索引并非随意的,应该在真正需要时保存。
1.1.1.4 应用元数据
存储在数据库中的第四种数据是应用元数据,它用来存储用户窗体、报表、查询和其他形式的查询组件。并非所有的DBMS都支持应用组件,支持组件的DBMS也不一定把全部组件的结构作为应用元数据存储在数据库中。然而,大多数现代的DBMS产品存储这种数据作为数据库的一部分。一般来说,数据库开发人员和用户都不直接访问应用元数据,想反,他们通过DBMS中的工具来处理这些数据。
MS SQL Server2000中就支持窗体、存储过程等应用元数据。
1.1.2 数据库管理系统
数据库管理系统(DBMS)是指数据库系统中管理数据的软件系统。DBMS是数据库系统的核心组成部分。对数据库的一切操作,包括定义、更新及各种控制,都是通过DBMS进行的。DBMS总是基于某种数据模型,可以把DBMS看成是某种数据模型在计算机系统上的具体实现。根据数据模型的不同,DBMS可以分成层次型、网状型、关系型、面向对象型等。MS SQL Server2000就是一种关系型数据库管理系统。
关系模型。关系模型主要是用二维表格结构表达实体集,用外键表示实体间联系。关系模型是由若干个关系模式组成的集合。关系模式相当于前面提到的记录类型,它的实例称为关系,每个关系实际上是一张二维表格。
关系模型和层次、网状模型的最大判别是用关键码而不是用指针导航数据,表格简单用户易懂,编程时并不涉及存储结构,访问技术等细节。关系模型是数学化模型。SQL语言是关系数据库的标准化语言,已得到了广泛的应用。
如图1.1所示,DBMS的特点和功能可以分为三个子系统:设计工具子系统、运行子系统和DBMS引擎。
设计子系统有一个方便数据库及其应用创建的工具集。它典型地包含产生表、窗体、查询和报表的工具。DBMS产品还提供编程语言和对编程语言的接口。
运行子系统处理用设计子系统开发的应用组件。它所包含的运行处理器用来处理窗体和数据库的数据交互,以及回答查询和打印报表等。
DBMS引擎从其他两个组件接受请求,并把它们翻译成对操作系统的命令,以便读写物理介质上的数据。DBMS引擎还涉及事务管理、锁、备份和恢复。
1.1.3 创建数据库
1.1.3.1 数据库模式
数据库模式定义了数据库的结构、表、关系、域和业务规则。数据库模式是一种设计,数据库和应用正是建立在此基础上的。
域是一列可能拥有的值的集合。必须为每一个表的每一列确定域。除了数据的物理格式外,还需要确定是否有些域对表来说是唯一的。
数据库模式的最后一个要素是业务规则,它是对需要反映在数据库和数据库应用程序中的业务活动的约束。业务规则是模式的一个重要部分,因为他们指定了无论什么数据变化到达DBMS引擎,允许的数据值必须满足的约束。不管无效的数据变化请求是来自窗体的用户、查询/修改请求还是应用程序,DBMS都应该拒绝。
遗憾的是,不同的DBMS产品用不同的方法实施业务规则。在某些情况下,DBMS产品不具备实施必要业务规则的能力,必须以代码形式把它们编入应用程序。
1.1.3.2 创建表
1.1.3.3 定义联系
1.1.4 应用组件
数据库应用包括窗体、查询、报表、菜单和应用程序。
§1.2 图书管理系统
当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。
尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好图书馆信息而设计的。
图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。
数据处理手工操作,工作量大,出错率高,出错后不易更改。图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的图书进行更改就更加困难了。
基于这此问题,我认为有必要建立一个图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。
§1.1 系统所做工作
1) 了解应用开发工具的现状
2) DelPHi6.0编程基础
3) MS SQL Server基础
4) 设计数据库;设计界面
5) 开发数据库。数据库实现的一些功能有
l 数据和数据说明的醒目显示;
l 多条件的查询、多条记录的检索、模糊查询;
l 数据文件某种存储格式导入数据窗体,经过数据完整性校验存入数据库;
l 数据库安全性的设计;
l 数据库的设计、数据接口、界面的设计。
§1.3 本文所作工作
绪论部分对数据库应用系统的结构、开发进行了简要介绍,分析了图书管理信息系统设计的特点和任务。
第二章介绍了数据库的设计和范式分析,并系统介绍了SQL语言,为设计和理解应用程序做了铺垫。
第三章对系统介绍了Delphi 6.0的数据库编程技术、SQL语言在Delphi 6.0中的应用、MS SQL Server基础。
第四章分析了图书管理系统的应用需求,设计了系统的数据库结构,并根据需求对系统功能进行了划分和细化。
第五章根据第四章的设计结果利用MSSQL Server2000和Delphi 6.0进行了具体的应用程序设计。
总结部分介绍了设计体会和编程体会,并指出了系统设计中的不足和改进的方向。
第二章 数据库理论基础
一个成功的信息管理系统,是建立在许多条件之上的,而数据库是其中一个非常重要的条件和关键技术。
信息管理系统所涉及的数据库设计分五个步骤:数据库需求分析、概念设计、逻辑设计、物理设计与加载测试。
(1) 数据库需求分析的任务是将业务管理单证流化为数据流,划分主题之间的边界,绘制出DFD图,并完成相应的数据字典。
(2) 概念设计的任务是从DFD出发,绘制出本主题的实体-关系图,并列出各个实体与关系的纲要表。
(3) 逻辑设计的任务是从E-R图与对应的纲要表出发,确定各个实体及关系的表名属性。
(4) 物理设计的任务是确定所有属性的类型、宽度与取值范围,设计出基本表的主键,将所有的表名与字段名英文化(现在很多软件能支持中文字段,如MS SQL Server,我就是用的中文字段名),实现物理建库,完成数据库物理设计字典。
(5) 加载测试工作贯穿于程序测试工作的全过程,整个录入、修改、查询、处理工作均可视为对数据库的加载测试工作。
要设计出一个好的信息管理系统数据库,除满足系统所要求的功能外,还必须遵守下列原则:
² 基本表的个数越少越好。
² 主键的个数越少越好。键是表间连接的工具,主键越少,表间的连接就越简单。
² 字段的个数越少越好。
² 所有基本表的设计均应尽量符合第三范式。
数据库的设计中,如何处理多对多的关系和如何设计主键,是两个有着较大难度、需要重点考虑的问题。下面我们着重从SQL应用、数据库设计范式和查询优化等方面来分析本课题的系统关键技术和实现难点并加以解决。
§2.1 数据库系统设计及范式分析
信息系统的主要任务是通过大量的数据获得管理所需要的信息,这就必须存储和管理大量的数据。因此建立一个良好的数据组织结构和数据库,使整个系统都可以迅速、方便、准确地调用和管理所需的数据,是衡量信息系统开发工作好坏的主要指标之一。
2.1.1 数据库系统设计
数据库设计主要是进行数据库的逻辑设计,即将数据按一定的分类、分组系统和逻辑层次组织起来,是面向用户的。数据库设计时需要综合企业各个部门的存档数据和数据需求,分析各个数据之间的关系,按照DBMS提供的功能和描述工具,设计出规模适当、正确反映数据关系、数据冗余少、存取效率高、能满足多种查询要求的数据模型。
数据库设计的步骤是:
(1) 数据库结构定义:目前的数据库管理系统(DBMS)有的是支持联机事务处理CLTP(负责对事务数据进行采集、处理、存储)的操作型DBMS,有的可支持数据仓库、有联机分析处理CLAP(指为支持决策的制定对数据的一种加工操作)功能的大型DBMS,有的数据库是关系型的、有的可支持面向对象数据库。针对选择的DBMS,进行数据库结构定义。
(2) 数据表定义:数据表定义指定义数据库中数据表的结构,数据表的逻辑结构包括:属性名称、类型、表示形式、缺省值、校验规则、是否关键字、可否为空等。关系型数据库要尽量按关系规范化要求进行数据库设计,但为使效率高,规范化程度应根据应用环境和条件来决定。数据表设计不仅要满足数据存储的要求,还要增加一些如反映有关信息、操作责任、中间数据的字段或临时数据表。
(3) 存储设备和存储空间组织:确定数据的存放地点、存储路径、存储设备等,备份方案,对多版本如何保证一致性和数据的完整性。
(4) 数据使用权限设置:针对用户的不同使用要求,确定数据的用户使用权限,确保数据安全。
(5) 数据字典设计:用数据字典描述数据库的设计,便于维护和修改。
为了更好地组织数据和设计出实际应用数据库,应该注意如下问题:
规范化地重组数据结构:对数据进行规范化表达,这在后面将会具体讨论。
关系数据结构的建立:在进行了数据基本结构的规范化重组后,还必须建立整体数据的关系结构。这一步设计完成后数据库和数据结构设计工作基本完成,只待系统实现时将数据分析和数据字典的内容代入到所设计的数据整体关系结构中,一个规范化数据库系统结构就建立起来了。
建立关系数据结构涉及三方面内容:确定关联的关键指标项并建立关联表;确定单一的父系记录结构;建立整个数据库的关系结构。
(1)链接关系的确定
在进行了上述数据规范化重组后,已经可以确保每一个基本数据表(我们简称为表)是规范的,但是这些单独的表并不能完整地反映事物,通常需要通过指标体系整体指标数据才能完整全面地反映问题。也就是说在这些基本表的各宇段中,所存储的是同一事物不同侧面的属性。那么计算机系统如何能知道哪些表中的哪些记录应与其它表中的哪些记录相对应,它们表示的是同一个事物呢?这就需要在设计数据结构时将这种各表之间的数据记录关系确定下来。这种表与表之间的数据关系一般都是通过主或辅关键词之间的连接来实现的。因为在每个表中只有主关键词才能唯一地标识表中的这一个记录值(因为根据第三范式的要求,表中其它数据字段函数都依赖于主关键词),所以将表通过关键词连接就能够唯一地标识出某一事物不同属性在不同表中的存放位置。
(2)确定单一的父子关系结构
所谓确定单一的父系关系结构就是要在所建立的各种表中消除多对多(以下用M:N来表示)的现象,即设法使得所有表中记录之间的关系呈树状结构(只能由一个主干发出若干条分支,而不能有若干条主干交错发出若干条分支状况)。所谓的“父系”就是指表的上一级关系表。消除多对多关系可以借助于E-R图的方法来解决,也可以在系统分析时予以注意,避免这种情况的发生。
消除这种M:N情况的办法也很简单,只需在二表之间增加一个表,则原来M:N的关系就改成了M:1,1:N的关系了。
确定数据资源的安全保密属性:
一般DBMS都提供给我们自己定义数据安全保密性的功能。系统所提供的安全保密功能一般有8个等级(0-7级),4种不同方式(只读、只写、删除、修改),而且允许用户利用这8个等级的4种方式对每一个表自由地进行定义。
定义安全保密性的方法一般有如下几种:
a.原则上所有文件都定义为4级,个别优先级特别高的办公室(终端或微机的入网账号)可定义高于4级的级别,反之则定义为低于4的级别。
b.统计文件(表)和数据录入文件一般只对本工作站定义为只写方式,对其它工作站则定义为只读方式。
c.财务等保密文件一般只对中工作站(如财务科等)定义为可写、可改、可删除方式,对其它工作站则定义为只读方式,而且不是每个人都能读,只有级别相同和高级别者才能读。
2.1.2 数据库设计范式分析
建立起一个良好的数据指标体系,是建立数据结构和数据库的最重要的一环。一个良好的数据指标体系是建立DB的必要条件,但不是充分条件。我们完全可以认为所建指标体系中的一个指标类就是关系数据库中的一个基本表,而这个指标类下面的一个个具体指标就是这个基本表中的一个字段。但如果直接按照这种方式建库显然还不能算最佳。对于指标体系中数据的结构在建库前还必须进行规范化的重新组织。
a. 数据组织的规范化形式
在数据的规范化表达中,一般将一组相互关联的数据称为一个关系(relation),而在这个关系下的每个数据指标项则被称为数据元素(data element),这种关系落实到具体数据库上就是基本表,而数据元素就是基本表中的一个字段(field)。规范化表达还规定在每一个基本表中必须定义一个数据元素为关键字(key),它可以唯一地标识出该表中其它相关的数据元素。在规范化理论中表是二维的,它有如下四个性质:
l 在表中的任意一列上,数据项应属于同一个属性(如图中每一列都存放着不同合同记录的同一属性数据)。
l 表中所有行都是不相同的,不允许有重复组项出现(如图中每一行都是一个不同的合同记录)。
l 在表中,行的顺序无关紧要(如图中每行存的都是合同记录,至于先放哪一个合同都没关系)。
l 在表中,列的顺序无关紧要,但不能重复(如图中合同号和合同名谁先谁后都没关系,但二者不可重复或同名)。
在对表的形式进行了规范化定义后,数据结构还有五种规范化定义,定名为规范化模式,称为范式。在这五种范式中,一般只用前三种,对于常用系统就足够了。而且这五种范式是“向上兼容”的,即满足第五范式的数据结构自动满足一、二、三、四范式,满足第四范式的数据结构自动满足第一、二、三范式,……,依此类推。
第一范式(first normal form,简称1st NF)就是指在同一表中没有重复项出现,如果有则应将重复项去掉。这个去掉重复项的过程就称之为规范化处理。在本文所讨论的开发方法里,1st NF实际上是没有什么意义的。因为我们按规范化建立的指标体系和表的过程都自动保证了所有
⑵ 急!高分求达人帮做SQL Server数据库设计
下述十四个技巧,是许多人在大量的数据库分析与设计实践中,逐步总结出来的。对于这些经验的运用,读者不能生帮硬套,死记硬背,而要消化理解,实事求是,灵活掌握。并逐步做到:在应用中发展,在发展中应用。
1. 原始单据与实体之间的关系
可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体。这里的实体可以理解为基本表。明确这种对应关系后,对我们设计录入界面大有好处。
〖例1〗:一份员工履历资料,在人力资源信息系统中,就对应三个基本表:员工基本情况表、社会关系表、工作简历表。这就是“一张原始单证对应多个实体”的典型例子。
2. 主键与外键
一般而言,一个实体不能既无主键又无外键。在E?R 图中, 处于叶子部位的实体, 可以定义主键,也可以不定义主键(因为它无子孙), 但必须要有外键(因为它有父亲)。
主键与外键的设计,在全局数据库的设计中,占有重要地位。当全局数据库的设计完成以后,有个美国数据库设计专家说:“键,到处都是键,除了键之外,什么也没有”,这就是他的数据库设计经验之谈,也反映了他对信息系统核心(数据模型)的高度抽象思想。因为:主键是实体的高度抽象,主键与外键的配对,表示实体之间的连接。
3. 基本表的性质
基本表与中间表、临时表不同,因为它具有如下四个特性:
(1) 原子性。基本表中的字段是不可再分解的。
(2) 原始性。基本表中的记录是原始数据(基础数据)的记录。
(3) 演绎性。由基本表与代码表中的数据,可以派生出所有的输出数据。
(4) 稳定性。基本表的结构是相对稳定的,表中的记录是要长期保存的。
理解基本表的性质后,在设计数据库时,就能将基本表与中间表、临时表区分开来。
4. 范式标准
基本表及其字段之间的关系, 应尽量满足第三范式。但是,满足第三范式的数据库设计,往往不是最好的设计。为了提高数据库的运行效率,常常需要降低范式标准:适当增加冗余,达到以空间换时间的目的。
〖例2〗:有一张存放商品的基本表,如表1所示。“金额”这个字段的存在,表明该表的设计不满足第三范式,因为“金额”可以由“单价”乘以“数量”得到,说明“金额”是冗余字段。但是,增加“金额”这个冗余字段,可以提高查询统计的速度,这就是以空间换时间的作法。
在Rose 2002中,规定列有两种类型:数据列和计算列。“金额”这样的列被称为“计算列”,而“单价”和“数量”这样的列被称为“数据列”。
表1 商品表的表结构
商品名称 商品型号 单价 数量 金额
电视机 29? 2,500 40 100,000
5. 通俗地理解三个范式
通俗地理解三个范式,对于数据库设计大有好处。在数据库设计中,为了更好地应用三个范式,就必须通俗地理解三个范式(通俗地理解是够用的理解,并不是最科学最准确的理解):
第一范式:1NF是对属性的原子性约束,要求属性具有原子性,不可再分解;
第二范式:2NF是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性;
第三范式:3NF是对字段冗余性的约束,即任何字段不能由其他字段派生出来,它要求字段没有冗余.
没有冗余的数据库设计可以做到。但是,没有冗余的数据库未必是最好的数据库,有时为了提高运行效率,就必须降低范式标准,适当保留冗余数据。具体做法是:在概念数据模型设计时遵守第三范式,降低范式标准的工作放到物理数据模型设计时考虑。降低范式就是增加字段,允许冗余。
6. 要善于识别与正确处理多对多的关系
若两个实体之间存在多对多的关系,则应消除这种关系。消除的办法是,在两者之间增加第三个实体。这样,原来一个多对多的关系,现在变为两个一对多的关系。要将原来两个实体的属性合理地分配到三个实体中去。这里的第三个实体,实质上是一个较复杂的关系,它对应一张基本表。一般来讲,数据库设计工具不能识别多对多的关系,但能处理多对多的关系。
〖例3〗:在“图书馆信息系统”中,“图书”是一个实体,“读者”也是一个实体。这两个实体之间的关系,是一个典型的多对多关系:一本图书在不同时间可以被多个读者借阅,一个读者又可以借多本图书。为此,要在二者之间增加第三个实体,该实体取名为“借还书”,它的属性为:借还时间、借还标志(0 表示借书,1表示还书),另外,它还应该有两个外键(“图书”的主键,“读者”的主键),使它能与“图书”和“读者”连接。
7. 主键PK的取值方法
PK是供程序员使用的表间连接工具,可以是一无物理意义的数字串, 由程序自动加1来实现。也可以是有物理意义的字段名或字段名的组合。不过前者比后者好。当PK是字段名的组合时,建议字段的个数不要太多,多了不但索引占用空间大,而且速度也慢。
8. 正确认识数据冗余
主键与外键在多表中的重复出现, 不属于数据冗余,这个概念必须清楚,事实上有许多人还不清楚。非键字段的重复出现, 才是数据冗余!而且是一种低级冗余,即重复性的冗余。高级冗余不是字段的重复出现,而是字段的派生出现。
〖例4〗:商品中的“单价、数量、金额”三个字段,“金额”就是由“单价”乘以“数量”派生出来的,它就是冗余,而且是一种高级冗余。冗余的目的是为了提高处理速度。只有低级冗余才会增加数据的不一致性,因为同一数据,可能从不同时间、地点、角色上多次录入。因此,我们提倡高级冗余(派生性冗余),反对低级冗余(重复性冗余)。
9. E--R图没有标准答案
信息系统的E--R图没有标准答案,因为它的设计与画法不是惟一的,只要它覆盖了系统需求的业务范围和功能内容,就是可行的。反之要修改E-- R图。尽管它没有惟一的标准答案,并不意味着可以随意设计。好的E?R图的标准是:结构清晰、关联简洁、实体个数适中、属性分配合理、没有低级冗余。
10. 视图技术在数据库设计中很有用
与基本表、代码表、中间表不同,视图是一种虚表,它依赖数据源的实表而存在。视图是供程序员使用数据库的一个窗口,是基表数据综合的一种形式, 是数据处理的一种方法,是用户数据保密的一种手段。为了进行复杂处理、提高运算速度和节省存储空间, 视图的定义深度一般不得超过三层。若三层视图仍不够用, 则应在视图上定义临时表, 在临时表上再定义视图。这样反复交迭定义, 视图的深度就不受限制了。
对于某些与国家政治、经济、技术、军事和安全利益有关的信息系统,视图的作用更加重要。这些系统的基本表完成物理设计之后,立即在基本表上建立第一层视图,这层视图的个数和结构,与基本表的个数和结构是完全相同。并且规定,所有的程序员,一律只准在视图上操作。只有数据库管理员,带着多个人员共同掌握的“安全钥匙”,才能直接在基本表上操作。请读者想想:这是为什么?
11. 中间表、报表和临时表
中间表是存放统计数据的表,它是为数据仓库、输出报表或查询结果而设计的,有时它没有主键与外键(数据仓库除外)。临时表是程序员个人设计的,存放临时记录,为个人所用。基表和中间表由DBA维护,临时表由程序员自己用程序自动维护。
12. 完整性约束表现在三个方面
域的完整性:用Check来实现约束,在数据库设计工具中,对字段的取值范围进行定义时,有一个Check按钮,通过它定义字段的值城。参照完整性:用PK、FK、表级触发器来实现。用户定义完整性:它是一些业务规则,用存储过程和触发器来实现。
13. 防止数据库设计打补丁的方法是“三少原则”
(1) 一个数据库中表的个数越少越好。只有表的个数少了,才能说明系统的E--R图少而精,去掉了重复的多余的实体,形成了对客观世界的高度抽象,进行了系统的数据集成,防止了打补丁式的设计;
(2) 一个表中组合主键的字段个数越少越好。因为主键的作用,一是建主键索引,二是做为子表的外键,所以组合主键的字段个数少了,不仅节省了运行时间,而且节省了索引存储空间;
(3) 一个表中的字段个数越少越好。只有字段的个数少了,才能说明在系统中不存在数据重复,且很少有数据冗余,更重要的是督促读者学会“列变行”,这样就防止了将子表中的字段拉入到主表中去,在主表中留下许多空余的字段。所谓“列变行”,就是将主表中的一部分内容拉出去,另外单独建一个子表。这个方法很简单,有的人就是不习惯、不采纳、不执行。
数据库设计的实用原则是:在数据冗余和处理速度之间找到合适的平衡点。“三少”是一个整体概念,综合观点,不能孤立某一个原则。该原则是相对的,不是绝对的。“三多”原则肯定是错误的。试想:若覆盖系统同样的功能,一百个实体(共一千个属性) 的E--R图,肯定比二百个实体(共二千个属性) 的E--R图,要好得多。
提倡“三少”原则,是叫读者学会利用数据库设计技术进行系统的数据集成。数据集成的步骤是将文件系统集成为应用数据库,将应用数据库集成为主题数据库,将主题数据库集成为全局综合数据库。集成的程度越高,数据共享性就越强,信息孤岛现象就越少,整个企业信息系统的全局E?R图中实体的个数、主键的个数、属性的个数就会越少。
提倡“三少”原则的目的,是防止读者利用打补丁技术,不断地对数据库进行增删改,使企业数据库变成了随意设计数据库表的“垃圾堆”,或数据库表的“大杂院”,最后造成数据库中的基本表、代码表、中间表、临时表杂乱无章,不计其数,导致企事业单位的信息系统无法维护而瘫痪。
“三多”原则任何人都可以做到,该原则是“打补丁方法”设计数据库的歪理学说。“三少”原则是少而精的原则,它要求有较高的数据库设计技巧与艺术,不是任何人都能做到的,因为该原则是杜绝用“打补丁方法”设计数据库的理论依据。
14. 提高数据库运行效率的办法
在给定的系统硬件和系统软件条件下,提高数据库系统的运行效率的办法是:
(1) 在数据库物理设计时,降低范式,增加冗余, 少用触发器, 多用存储过程。
(2) 当计算非常复杂、而且记录条数非常巨大时(例如一千万条),复杂计算要先在数据库外面,以文件系统方式用C++语言计算处理完成之后,最后才入库追加到表中去。这是电信计费系统设计的经验。
(3) 发现某个表的记录太多,例如超过一千万条,则要对该表进行水平分割。水平分割的做法是,以该表主键PK的某个值为界线,将该表的记录水平分割为两个表。若发现某个表的字段太多,例如超过八十个,则垂直分割该表,将原来的一个表分解为两个表。
(4) 对数据库管理系统DBMS进行系统优化,即优化各种系统参数,如缓冲区个数。
(5) 在使用面向数据的SQL语言进行程序设计时,尽量采取优化算法。
总之,要提高数据库的运行效率,必须从数据库系统级优化、数据库设计级优化、程序实现级优化,这三个层次上同时下功夫。
⑶ 数据库设计依据
中国典型地质景观成因及全球对比
表6-5 景区和景点数据实例
中国典型地质景观成因及全球对比
⑷ UG二次开发与数据库应用基础与典型范例的目录
第1章UG二次开发概述
1.1uG简介
1.2uG软件的二次开发
1.2.1uG二次开发概述
1.2.2uG二次开发工具
1.3一个简单的例子
第2章UG/OpenAPI基础知识
2.1概述
2.2uG/OpenAPI数据类型、函数及表达式
2.2.1uG/OpenAPI数据类型
2.2.2uG/OpenAPI函数
2.2.3uG/OpenAPI表达式
2.3uG/OpenAPI.的开发模式
2.4菜单、工具条的制作
2.4.1uG菜单文件及语法
2.4.2uG工具条文件及语法
2.5uIStyler对话框设计
2.5.1uG对话框的建立
2.5.2控件属性的设置
2.5.3回调函数
2.5.4对话框界面
2.5.5控件的访问
2.6uG/OpenAPI在矩形花键参数化建模中的应用实例
第3章UG/OpeflGrip开发基础
3.1概述
3.2uG/OpenGdp数据类型、运算符及表达式
3.2.1常量、变量与数组、子集
3.2.2数据类型
3.2.3运算符、内部函数及表达式
3.3常用几何体的生成
3.3.1点的生成及实例
3.3.2直线的生成及实例
3.3.3圆的生成及实例
3.3.4B样条曲线的生成及实例
3.3.5实体的生成及实例
3.3.6实体的运算及实例
3.4控制语句
3.4.1转移语句及实例
3.5.1变换及变换矩阵
3.5.2变换矩阵的UG/OpenGrip买现
3.5.3变换的UG/OpenGrip实现及实例
3.6人机交互
3.6.1响应变量
3.6.2MESSG语句
3.6.3PARAM语句
3.6.4TEXT语句
3.6.5CHOOSE语句
3.6.6POS语句
3.6.7GPOS语句
3.7uG/OpenGRip开发环境
3.8uG/OpenGrip在法兰参数化建模中的应用实例
第4章零件参数化系统的开发
4.1参数化设计概述
4.2uGCAD中的参数化设计方法
4.2.1利用UG/OpenAPI进行参数化设计
4.2.2利用UG/OpenGrip进行参数化设计
4.2.3利用UG/OpenAPI和UG/OpenGrip进行参数化设计
4.3渐开线直齿轮参数化设计实例
4.3.1uG应用开发环境设置
4.3.2菜单设计
4.3.3UIStyler对话框设计
4.3.4使用Visualc++建立应用程序框架
4.3.5用UG/OpenGrip编写齿轮参数化设计程序
4.3.6编译、连接
4.3.7运行过程
4.4菜单中ACTIONS调用方式
4.4.1调用对话框
4.4.2调用应用程序
4.5常用程序入口
4.5.1ufsta()
4.5.2ufusr()
4.5.3用户自定义入口
第5章数据库技术在UG开发中的应用
5.1概述
5.2数据库基础知识
5.2.1数据库、数据库管理系统和数据库系统.
5.2.2数据模型
5.2.3数据库的表结构设计
5.3客户机/服务器(C/S)结构开发模式
5.3.1客户机/服务器结构
5.3.2ODBC数据库访问接口
5.4Visualc++平台上基于ODBC的数据库系统开发
……
第6章渐开线斜齿轮参数化设计系统开发实例
第7章基于UG模型文件管理系统开发实例
第8章齿轮仿真加工系统开发实例
⑸ 数据库设计主要包括哪几部分,分别包括哪些内容
数据库设计主要包括需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库的实施和数据库的运行和维护,具体内容如下:
1、需求分析
内容:调查和分析用户的业务活动和数据的使用情况,弄清所用数据的种类、范围、数量以及它们在业务活动中交流的情况,确定用户对数据库系统的使用要求和各种约束条件等,形成用户需求规约。
2、概念设计
内容:对用户要求描述的现实世界,通过对其中诸处的分类、聚集和概括,建立抽象的概念数据模型。这个概念模型应反映现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息储存、查询和加工的要求等。
3、逻辑设计
内容:主要工作是将现实世界的概念数据模型设计成数据库的一种逻辑模式,即适应于某种特定数据库管理系统所支持的逻辑数据模式。与此同时,可能还需为各种数据处理应用领域产生相应的逻辑子模式。这一步设计的结果就是所谓“逻辑数据库”。
4、物理设计
内容:根据特定数据库管理系统所提供的多种存储结构和存取方法等依赖于具体计算机结构的各项物理设计措施,对具体的应用任务选定最合适的物理存储结构(包括文件类型、索引结构和数据的存放次序与位逻辑等)、存取方法和存取路径等。
5、验证设计
内容:收集数据并具体建立一个数据库,运行一些典型的应用任务来验证数据库设计的正确性和合理性。一般,一个大型数据库的设计过程往往需要经过多次循环反复。当设计的某步发现问题时,可能就需要返回到前面去进行修改。
6、运行与维护设计
内容:在数据库系统正式投入运行的过程中,必须不断地对其进行调整与修改。除了关系型数据库已有一套较完整的数据范式理论可用来部分地指导数据库设计之外,尚缺乏一套完善的数据库设计理论、方法和工具,以实现数据库设计的自动化或交互式的半自动化设计。
(5)数据库设计典型实例扩展阅读:
重要性
1、有利于资源节约
对计算机软件数据库设计加以重视不仅可减少软件后期的维修,达到节约人力与物力的目的,同时还有利于软件功能的高效发挥。
2、有利于软件运行速度的提高
高水平的数据库设计可满足不同计算机软件系统对于运行速度的需求,而且还可充分发挥并实现系统功能。计算机软件性能提高后,系统发出的运行指令在为用户提供信息时也将更加快速有效,软件运行速度自然得以提高。
3、有利于软件故障的减少
加强数据库设计可有效减少软件故障的发生几率,推动计算机软件功能的实现。
⑹ 数据库设计,地铁客票管理系统的实体及相关属性
摘要图书馆管理系统,图书管理系统是典型的管理信息系统(MIS),其开发主要包括建立和维护,以及后端数据库前端应用程序开发方面的发展。对于前者要求建立起数据一致性和完整性,数据安全性好的库。对于后者则要求应用程序功能完备,使用方便的特点。因此,结合开放式图书馆为MS SQL Server2000数据库管理系统,SQL语言原理,Delphi应用程序设计,Delphi数据库技术进行了较深入的研究和应用,主要完成对图书管理系统的需求分析,功能的要求模块划分,数据库模式分析,并由此设计了数据库结构和应用程序。结果证明,该系统运行时,这篇文章是为了满足三方面的图书管理系统借款,图书馆工作人员和高级管理人员的需求。数据库应用系统开发和图书管理系统,扼要地介绍和图书馆管理系统的开发工作分析的第一章进行。数据库设计和SQL语言的第二章采用了系统的分析,为深入数据库应用基础的了解。第三章研究的具体的开发工具Delphi的6.0,推出了其系统的数据库组件,在Delphi数据库编程等关键技术的SQL语言的应用。第四章分析了应用程序库管理信息系统,数据库设计理论是按照循序渐进的系统需求说明书,局部ER图,全局ER图给出的系统模式,子模式之间的关系,利用MS SQL Server2000中建立了第一个数据库五章具体的方案设计,具体的操作权限分为三类用户,这三个接口的设计。实现了数据库表的浏览记录的添加,删除和,生成报表,并实现了连接操作多个数据库表,实现了多条件查询和模糊查询,灵活实现了对不可更新的查询结果集的更新操作,以实现从操作主表,和密码维护功能,最后,该系统还可以与数据库结构来操作导入任何数据库。设计采用德尔福6,MS SQL Server2000数据库技术的强大功能,以提高编程效率和可靠性的优势。关键词:数据库,SQL语言,MS SQL Server中,的Delphi6,数据库组件,图书管理,表格,列表视图组件目录摘要......................... ........................................... ...... ...............我第一章................................ ..............................................1§1.1数据库应用程序开发简介............ ................................... .......1§1.2图书馆管理系统..................................... ..........................4§1.3的主要工作是做................ ............................................ 6第二章数据库的理论基础.................................................. ................ 7§2.1数据库系统的设计和分析范式......................... ..........................7§2.2SQL语言介绍.................. ....................................... ........... ....... 112.2.1基于SQL ...................................... ..................................... 112.2.2 SQL语句........ ................... ............................... ................. 12第三章应用程序开发工具........................... ..............................16§3.1Delphi6.0中VCL ............. ................................16§3.2数据库组件体系结构组件引入了.......... .................................................. .........在Delphi应用程序17§3.3 SQL语言................................. ..................18§3.4MS SQL Server说明......................... .......................... 22 .........第四章库管理系统的设计和分析应用需求分析... ............................................. ..... ...........................................24§4.1.... .................24§4.2系统功能模块........................... ....................................29§4.3系统数据库设计........ ................... ............................... ........ 29章图书管理系统的应用设计................................... .......37§5.1系统窗体模块............... ...................... .............................形式的37§5.2数据模块............ .................................................. 。37§5.3闪屏实现........................................... ..........................38§5.4实现用户登录表单................ ....................... ........................39§5.5用户密码验证,实现实现的一种形式......................................... ................39§5.6借款人服务模块......... ................... ................................ 405.6.1实现.............. ...........................................图书搜索功能415.6.2借款人登录实现的功能............................................. ............ 425.6.3借款人的贷款条件功能实现............................. ...................... 435.647§5.7人员0.4借款人的个人资料维护功能的实现............... .............................. - 借书/回报的实现模块............. ....................... ......... 495.7.1工作人员图书借阅功能的实现......... .................................... 505.7.2工作人员的职能,实现图书的回报... .................................实现................ ................................... .........53§5.8模块545.8。 1馆员馆员库管理功能,实现........................ .................. 555.8.2图书馆员和管理员的工作管理职能,实现........................ 585.8.3图书管理员实现的书籍和杂志类的功能... .........实现............... 605.8.4馆员借款人的管理功能.................. ..................... 625.8.5库维护 - 借款人的管理功能.................... 。..................维持身份625.8.6库函数执行...................... ....................... 645.8.7库借款人统计实现.................... .... ............... 655.8.8借阅图书馆的统计数据过时的记录来实现功能的实现................... ...........67§5.9信息显示系统................................. ............ ............ 68第六章结论...................... .................................................. 69致谢............................................. ... .......................................... 70参考书目70首先.... .................................................. .................................章介绍§1.1数据库应用程序开发前,数据库应用程序开发的介绍,数据库开发基本概念应理解,结构,数据库应用程序开发的步骤开发系统和数据库的方法应该有一个很清楚的了解和认识。数据库应用程序开发的目标是建立一个长期的,以满足用户的需求。主要工艺发展是:理解用户的需求,然后把它们变成有效的数据库设计。这些设计转化为实际的数据库,并且这些数据库具有全功能,高性能的应用程序。数据库技术在计算机软件研究附近一直是一个很重要的话题,在上世纪60年代生产的,30年以上的数据库技术得到了迅速发展,并已形成了比较完整的理论体系和大量实用的系统。并且,在近几年,随着万维网(WWW)的浪涌和互联网技术的迅速发展,因此,当在数据库技术已经成为最热门的技术之一。 1.1.1数据库图1.1示出了数据库系统的主要组件。由DBMS(数据库管理系统)的过程,DBMS开发商和直接或间接用户通过使用应用程序的数据库。它主要包括四个要素:用户数据,元数据,索引和应用元数据。 1.1.1.1用户数据目前,该用户数据的最主流的数据库管理系统被表示为关系。现在考虑的数据表之间的关系。表中的列包含的字段或属性,该表的相应行中包含的记录的商业环境中的实体。不是所有的关系也具有比一些的更结构化之间的关系的一些其他关系的要求相一致。第二章描述了一种生产结构良好的关系的过程中,所谓的正常化。为了比较的关系,图书和图书借贷关系的结构之间的关系的好与差结构的区别在此设计图书馆管理系统为例来说明设计的关系,如果R1(借书证号,姓名,性别,身份证号码,身份证,电话号码,书号,书名,书类别,作者,出版社,出版日期,票据,价格,数量);它具有相对于数据的两个不同的主题的关系的问题,这是借书籍和书籍。当以这种方式的关系组织之更改后,可能会出现问题。由于借款人可以借阅书籍和更多的书,如果一个借款人的书场发生(如电话)的变化,它借书记录(可能更多)将不得不改变,这是不好的。因此,这两个数据之间的关系表示的更好。现在,如果一本书的借款人改变了它的电话号码,只有关系(表)用户需要改变相应的行。当然,以产生一个显示名称和借款人的书籍电话报告中,我们需要这条线两个表一起。结果表明,该关系被存储时,在报告生成的时间将它们结合起来,而不是把它们存储在一个更好的合成表。用户(库卡号,姓名,性别,身份证号码,身份证,电话,)一书(ISBN,书名,书类别,作者,出版社,出版日期,票据,价格,数量)1.1.1.2元数据库是自-describing数据,这意味着它包含自己的结构的说明中,描述此结构被称为元数据。因为DBMS产品被用于存储和操作表,所以大部分的产品存储在表中的形式的元数据,有时叫做系统表。这些系统表存储在数据库中的情况下的表,每个表指出,列数,该列是主键中,描述了各列的数据类型的其它部分,这也存储索引,关键字,规则和数据库结构。存储在元数据中的表有效不仅对DBMS的,对用户来说也是便利的,因为它们可以使用相同的用户数据的查询的查询工具来查询的元数据。在第二章中介绍了SQL语言,可用于元数据和用户数据。 1.1.1.3第三种类型的索引数据,以提高数据库的性能和可访问的,此数据通常被称为开销数据,虽然有时用其它类型的数据结构,诸如链表的,但它仍然是主要的索引。该指数可以用来排序和快速访问的数据。在这里,在我的媒体库管理信息系统的书表为例来说明。它假定磁盘上的数据是按“国际标准书号”递增的顺序,用户想打印一本书的报表数据按“书名”排序。为此,所有的数据需要从源表中提取和梳理,除非该表较小,否则它是一个非常耗时的过程。或者,您可以在“书名”字段创建一个索引,按照“图书名称”排序索引项,所以索引条目可以读出,并以访问的数据手册中。指数快速访问的数据。例如,用户要对这些学生访问表的书“图书类别”值“01”。如果没有索引,则必须搜索整个源表;但有索引之后,索引项可以发现,并用它来接所有相应的行。指数排序和搜索是有益的,但它是要付出代价的。当书每次改变表中的行的时候,该指数必须改变,这意味着该索引不是随机的,它应该被保存时确实需要的。 1.1.1.4存储数据库中的数据的第四个应用程序元数据是应用程序的元数据,它被用来存储用户表格,报告,查询和其他形式的查询组件。并非所有的DBMS支持的应用程序组件,支持的DBMS部件不一定所有的结构存储在数据库中的应用程序元数据的组件。然而,大多数现代DBMS产品存放这样的数据作为数据库的一部分。在一般情况下,数据库开发者和用户不直接访问该应用程序的元数据,与此相反,它们是处理通过数据库管理系统工具这些数据。 MS SQL Server2000中以元数据的形式,以支持应用程序,存储的过程,等等。 1.1.2数据库管理系统数据库管理系统(DBMS)是指在数据库系统中的数据管理软件系统。 DBMS是数据库系统的核心部件。在数据库上的所有操作,包括定义,更新和各种控制由DBMS进行。数据库管理系统总是基于一个数据模型,它可以被看作是一个计算机系统上的某种DBMS数据模型实现的。根据数据模型,数据库管理系统可分为层次,网眼,关系,面向对象的,等等。 MS SQL Server2000的是关系型数据库管理系统。关系模型。关系模型的主要表现是一组具有外键关联实体之间代表实体的二维表结构。这种关系模型是由若干个关系模式的集合。前面提到的等效关系模式的记录类型,它被称为关系的一个实例,每个关系实际上是一个两维的形式。关系模型和确定的网格模型的最大电平是键,而不是一个指针导航数据,用户简单易懂的形式,不涉及存储结构,获得的技术和其他编程的细节。关系模型是一个数学模型。 SQL语言是关系数据库的标准化语言,已被广泛使用。如图1.1所示,数据库管理系统的特征和功能可以被划分成三个子系统:子系统设计工具,工作系统和DBMS引擎。设计子系统有一系列的工具,以方便数据库及其应用程序创建。它通常包含生成表格,表单,查询和报表工具。 DBMS产品还提供编程语言和编程语言界面。跑分处理子系统的设计开发应用程序组件。运行处理器,用于处理包含交互式表单和数据库,以及回答查询和打印报告的数据。 DBMS的发动机接受来自其他两个组件的请求,并将它们成对操作系统命令来读取和物理介质上写数据转换。 DBMS引擎还涉及事务管理,锁定,备份和恢复。 1.1.3创建数据库1.1.3.1数据库模式定义数据库架构,表,关系,域名和业务规则数据库的结构。是数据库模式设计,数据库和应用程序是在此基础上构建的。域是值的集合?人们可能有。必须确定每个表的每列的域。除了数据的物理格式,还需要确定一些字段是否是表是唯一的。数据库模式的最后一个元素业务规则,这是为了在商业活动的限制数据库和数据库应用中得到反映。业务规则是该模式的重要组成部分,因为他们指定的任何到达DBMS引擎数据的变化,让数据值必须满足的约束条件。无论变更请求是通过用户表单无效数据,查询/请求或应用程序,数据库管理系统应予以拒绝。不幸的是,不同的DBMS产品使用不同的方法来实现业务规则。在一些情况下,DBMS产品不必实现业务规则的必要能力,必须把它们编程到应用程序代码。创建定义的联系人数据库应用程序,包括表单,查询,报表,菜单和应用程序表1.1.3.3 1.1.3.2 1.1.4应用程序组件。在当今信息时代§1.2图书馆管理系统是快速发展的时代。离不开在各行各业的信息处理,它被广泛应用于计算机信息管理系统的环境。最大的好处是,电脑可以使用它来管理信息。计算机信息控制的使用,不仅提高了工作效率,同时也大大提升了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优势。计算机信息管理和信息管理系统的发展密切相关,该系统的开发是为系统管理的先决条件。该系统是管理图书馆信息而设计的。作为信息资源集散地的图书馆,图书借阅和包含了大量的信息和数据管理,今天的用户数据范围内,有很多库都开始初步,甚至没有使用计算机信息化管理。据调查,他们的信息管理以前主要形式是基于手工处理文字,表格等纸介质,借阅图书(如图书馆几天,多天的时间库的数量)的统计数据之类的经常被用来验证进行借款权的借款人人工检查,并用手工计算和其他贷款的天数借书证,是手写的。数据处理的工作量,容易出错;由于各种数据,不易丢失,不易发现。总体而言,缺乏系统化,规范化的信息管理工具。虽然有些图书馆有电脑,但尚未用于信息管理,没有发挥其效能,资源闲置比较突出,这是基本的环境管理信息系统的开发。手动数据处理,工作量,误码率,不容易改变的错误。图书馆借阅图书采取手工管理人造的情况,因为更多信息,图书借阅管理信息混乱和复杂的;一般贷款情况记录在库卡上的文件内容的书籍和记录数量,图书馆工作人员和管理人员不仅是它更清楚,随着时间的推移,如要进行进一步调查,已在许多材料阅读,检索,导致查询费时又费力。如果您想预订一个很久以前作出的改变,甚至更加困难。基于这个问题,我觉得有必要为图书馆管理系统,使图书管理规范化,系统化,程序,避免随意图书馆管理,提高速度和信息处理,及时,准确,有效的图书查询的准确性和的情况。 §1.1系统正常工作1)了解目前的情况2)Delphi6.0中编程基础3)MS SQL Server的基地4)数据库应用开发工具设计;设计界面5)数据库的发展。某些功能已经达到惊人的l数据库的数据和指令显示;升查询多个条件,多个记录检索,模糊查询; l数据存储格式导入数据文件某种形式,通过存储数据完整性校验l数据库安全设计;; L型的数据库,数据接口,接口设计数据库。在本文中,这项工作由数据库应用系统的介绍§1.3局部结构,简单介绍的发展,图书馆管理信息系统的设计功能和任务分析完成。第二章介绍数据库设计和分析范式,并介绍了SQL语言系统的设计和应用做了铺垫的理解。该系统的第三章介绍了Delphi 6.0数据库编程,SQL语言在Delphi 6.0,MS SQL Server的基础。第四章分析了应用的图书管理系统,设计了系统的数据库结构,根据需求和系统的功能进行了划分和细化。第五章已经根据第四章使用MSSQL Server2000的和Delphi 6.0的具体应用设计成果的设计。经验摘要部分描述的设计和编程经验,并指出了在系统设计的缺陷和改进的方向。对于一个成功的数据库的信息管理系统的理论基础的第二章是基于一些条件,并且该数据库的非常重要的条件和关键技术之一。信息管理系统的数据库设计包括5个步骤:数据库需求分析,概念设计,逻辑设计,物理设计和载荷试验。任务(1)数据库需求分析是企业文件管理到数据流中,主题之间划定边界,得出DFD图的数据流,并完成数据字典。 (2)概念设计的任务是从DFD出发,本主题中得出实体 - 图表,表格和列表勾勒出各种实体和关系。 (3)从E-R图相应的大纲表视图,逻辑设计任务来确定各实体之间的关系和属性表名。 (4)物理设计任务是确定所有属性的类型,范围宽,设计的主键基表,所有的表名和字段名英国文化(现在很多软件都支持中国的领域,如MS SQL服务器我只是用中国的字段名),建库,实现物理的,完整的物理数据库设计字典。 (5)负载测试程序在整个测试的整个过程中,整个输入,,查询处理负荷试验可以被认为是该数据库。要设计一个好的信息管理系统数据库,除满足系统功能的要求,还必须坚持以下原则:2号基本表的,就更好了。 2号主键,就更好了。键工具被连接在表之间,表之间的更简单的少的主键。数2字段成为可能。 2所有表的基本设计应尽可能与第三范例线。数据库设计,以及如何处理多对多关系以及如何设计的主键,有两个问题更加困难,重要的是要考虑的。下面我们重点从SQL,数据库设计范式和查询优化等方面的应用来分析这个问题,并实现关键技术和难点制度加以解决。 §2.1信息系统范式的主要任务数据库系统的设计和分析是获得通过大量的数据,这些数据必须存储和管理大量数据的信息化管理需求。因此,建立了良好的数据结构和数据库,使整个系统能够快速,容易和精确地管理呼叫和所需的数据,它是衡量信息系统开发的质量的主要指标之一。 2.1.1数据库系统设计数据库设计是数据库的逻辑设计,数据是关于某个分类,分组和逻辑层次结构组织系统是面向用户的。数据库设计需要各个部门的综合企业数据存档和数据需求,分析各种数据之间的关系,根据与DBMS提供的功能和信息,工具,设计适当大小的正确反映数据关系,以及较少的冗余数据,访问效率高的数据模型以满足各种查询的要求。数据库设计步骤是:(1)数据库结构的定义:当前数据库管理系统(DBMS)支持某些联机事务处理CLTP(负责交易的数据采集,处理,存储)运营DBMS,有的可以支持数据仓库,联机分析处理一击(指支持数据处理操作之一的决策)设有一个大型数据库管理系统,一些关系型数据库,并为面向对象的数据库的一些支持。对于选定的数据库管理系统,结构定义数据库。 (2)数据表定义:数据结构定义表定义是指数据库中的数据表,该数据表包含的逻辑结构:属性名称,类型,格式,缺省值,验证规则,是否一个关键字,它是否是空白。关系数据库来尝试按数据库设计关系标准化要求,但为了使高效率,标准化程度应根据应用环境和条件来确定。数据表设计不仅要满足数据存储需求,同时也增加此类信息的数量,以反映工作职责,中间数据的字段或临时数据表。 (3)存储设备和存储空间组织:确定存储位置,存储路径,和其它数据存储设备,为的是如何以确保数据的完整性和一致性多个版本的备份解决方案。 (4)数据权限设置:针对不同用户的要求来确定用户权限的数据,确保数据安全。 (5)数据字典设计:数据字典描述了数据库设计,易于维护和。为了更好地组织数据,并设计一个实际应用的数据库中,我们应注意以下问题:标准化整理的数据结构:该数据是标准化的表达,将专门在后面讨论。关系的数据结构:数据标准化基本结构的重组期间,它也必须建立的整体数据结构之间的关系。之后这一步完成数据库设计和数据结构设计几乎完整,系统只要当数据分析和数据字典的内容数据代入设计的整体关系结构来实现,一个标准化的数据库系统的结构设置。建立一个关系数据结构涉及三个方面:确定关键指标有关的项目和表相关联;确定一个记录父系结构;建立整个数据库的关系结构。 (1)确定的重组过程中数据的标准化之间的联系,这已经能够保证每一个基本数据表(我们简称为表)是常态,但这些单独的表不能完全反映的事情,通常通过指标总体指标数据系统,以充分反映整体的问题。每个在基本段表,这些建筑物被存储在相同的硬币特性的不同侧面的。那么,你如何知道哪个计算机系统,表中的记录应该对应于其中记录了另一个表,它们代表了同样的事情?这就需要设计数据结构记录该数据时,表之间的关系最终定稿。在关键字之间的主或从连接表之间的数据关系通常是由实现。因为每个表仅主密钥来唯一地标识记录在该值(因为,根据该表的第三范例的要求,其他的数据字段的功能是依赖于主关键字),因此通过关键词连接表将能够唯一地标识一个东西在不同的表不同的属性在所述存储位置。 (2)确定一个单一结构的侍叫建立的结构之间的单个父系关系是消除多对多(以下,M:N表示),在试图使所有的现象中创建的各种表格的在表中的记录它呈树形结构之间的关系(一个数仅由一个中继发出分支的,但交错发布了大量的分支条件不能有多个中继线)。所谓“父”,是指在桌子上关系表。您可以消除E-R图的方法来解决的手段多的关系,注意也可以在系统中,以防止这种情况的发生进行分析。消除这种M:N情况下的做法很简单,只需添加两个表,原来的M之间的表:N的关系对并购改变:1,1:N的关系了。安全性和保密性属性标识数据资源:一般DBMS可用来定义自己的数据安全性和保密性的特点。系统提供的安全功能一般有八级(0-7级),四种不同的方式(只读,只写,删除,),而且还允许用户利用这个八级的优势四种方式为自由定义每个表。的方法的安全性和保密性的定义通常概括如下:一。所有文件都在四个原则的定义,尤其是高优先级的个人办公室(终端或微机网络帐户)定义高于4的水平,否则定义为小于4级湾统计文件(表)和数据输入文件通常只对工作站被定义为只写模式,在其他工作站被定义为只读模式。 C。一个。
⑺ 基于GIS数字地质图数据库的组成
1.数字地质图
传统的纸质模拟地图是根据地图模型(map model),按照一定的数学法则、符号、制图综合原理和比例,将地球空间实体和现象的形状、大小、相互位置、基本属性等表示在二维平面上。“数字地图”,简单地说,就是存储在计算机中数字化了的地图。一般来讲,数字地图是以地图数据库为基础,以数字形式存贮于计算机外存储器上,并能在电子屏幕上实时显示的可视地图,又称“屏幕地图”或“瞬时地图”。
(1)地质图
“地质图”乃是一切地质工作中的基本图件,用规定的符号、不同的颜色、描绘一地区的地质现象,反映沉积岩、岩浆岩、变质岩、各类矿产、各种型式的地质构造线等,反映它们形成的时代、分布和相互关系,以三维空间的立体形状表示在二维空间的平面上。金泽兰等在《地质图编汇法》中,提出地质图是一种将出露在地表的地质构造现象按比例投影到平面图(通常带有地形等高线,即地形图)上,并用规定的符号、色谱、花纹予以表示的图件。它是为特定目的服务的、有选择性地表示地质对象的时间和空间分布的符号化表现形式。在地质图上表示的地质对象即可以根据地质属性分类集合进行选择,也可以按照地理范围进行表示,一般情况下是两者结合进行的。总的来说,地质图是现实世界中地质客体在人脑中抽象的、具体的表达,是现实地质对象在图纸上的映射。如图7-11所示。
图7-15 以对象为中心的面向对象数据模型实现图形和属性统一存储
这种数据模型彻底解决了长期以来空间对象与其属性数据,在物理上分离带来的诸多难题,进而实现基于关系数据库的GIS空间数据一与其他非空间关系数据一体化管理,给GIS系统开发、应用带来了极大的便捷性。如利用空间引擎对空间与非空间数据进行操作,同时可以利用大型关系数据库海量数据管理、事务处理(transaction)、记录锁定、并发控制、数据仓库等功能。
4.GIS与数字地质图数据库的结合
GIS是分析和处理海量地理数据的通用技术,借助GIS,基于大量综合信息,可进行空间采样,对构造演化、火成活动、沉积相、矿产形成、模拟区域地质演化等复杂问题进行时空和多元统计分析,对成矿预测和矿产勘查提供有力分析工具。在数据量充裕前提下,GIS分析具有定量、定时、定位的特点,可给出动态(不同时间、不同位置)结果。借助深部与时间数据,GIS分析实际上可拓展到四维空间。
P.Gardenfors提出在客观世界和符号表达之间存在着概念层,他将知识表达分为三个层次,即:亚概念层、概念层、符号层,通过亚概念层感知客观世界,然后通过概念层将感知的内容抽象成为概念进行分类,将概念(分类)通过符号层表达出来。地理信息在概念层形成,在符号层表达,所以地理信息库的建立就是通过概念层对地理空间(客观世界)的抽象而形成地理信息概念空间,将该概念空间形式化后就成为本体化的地理信息空间,即可在计算环境下通过符号层(图形)表达出来。
地质信息系统研究的关键问题之一,就是构造图7-16中的地质模型,目的是通过有限的、不完全的并且含有各种噪声的观测数据来推断地下空间的物质、能量的分布和流动情况。
图7-16 地质认知过程的简化示意图
大部分矿产都不是暴露在表面,而是埋在地表深部。利用GIS的方法通过了解地表上层物质的空间分布,就可以判断矿藏存在的可能性。在一个找矿预测区域往往已知部分矿区和矿点,这些矿区和矿点具有很多的空间属性和地理属性,要想很直观的用以往普通的数据库管理系统去把它表达出来,可谓耗时费力。而GIS的出现为矿产资源评价和管理提供了前所未有的评价工具与手段。GIS是采集、管理、处理、分析、显示、输出多种来源的与地理空间位置相关信息的计算机系统。随着GIS与RS(遥感)、GPS(全球卫星定位系统)相结合的“3 S”集成以及计算机互联网的迅速发展,GIS在地质找矿中将发挥更加重要的作用。
目前,GIS与地质空间数据库的结合主要体现在以下几点:
(1)建立地质矿产资源数据库
描述矿产地属性的数据内容繁杂,类别众多,可分为属性数据和空间数据,矿产地各类属性信息认识、分析和评价该矿区也很重要。因此,地理空间信息在矿产资源管理中占有非常重要的地位。地质矿产数据库在GIS的支持下,结合矿产资源数据类型可建立多种地理空间数据库和属性数据库,利用GIS先进的数据库和图库管理对于各种地质图件和数据的长期保存及修改变得容易。
(2)图形显示的直观性和形象性
专题图不仅是一种重要的研究手段,同时也能有效而直观的反映研究成果。在地质数据库基础上,GIS可将各种数据或分析成果以专题图的形式直观而有效的显示,并可进行人机交互式地设计、编辑、修改。在成果输出方面,GIS能够提供高质量的预测成果图件,直观清晰,一目了然。GIS的这些功能,能将各种矿产资源的文字描述与空间地理位置有效的结合与表达,大大提高了矿产资源数据的直观性和形象性。
(3)空间分析功能
GIS的空间分析功能是GIS区别于其他计算机系统的主要标志。地质数据库系统涉及GIS多种空间分析功能,结合地质“专家知识”,为大范围大区域内实现快速、准确的成矿预测创造了有利条件。GIS吸取专家的经验及知识较容易,并且进行成矿预测具有空间直观性,避免了预测中的人为因素;能够弥补一些人工方法的缺陷(如对于断裂控矿影响宽度带的确定)。与传统的方法相比,GIS空间分析功能可以更加迅速地对大量数据进行对比和分析,大大节约了时间,缩短了研究周期,
(4)多源信息的集成
地质数据库的数据是多源数据。有不同精度、不同比例尺、不同数据源、不同格式的数据,借助GIS能将这些多源的数据有机地集成在一起,能提供集成管理多源地学数据(包括以文字、数字为主的属性信息和以图形图像为主的空间信息),具有方便建立模型及进行空间模拟分析的能力,使数据的分析更有效和定量化。进而,可以以多尺度、多方位反映某个地区的地质成矿信息。
由此可见,海量的地质数据与GIS强大的空间信息处理和分析功能的有机结合,是地质领域对多源地学信息综合分析进行成矿预测划时代的理想工具。
通过以上三个章节的分析论述,GIS在理论和技术上的日臻完善和强大,使得基于GIS地质图数据库的应用更加深入人心。在理论上,地理空间和地理信息空间的点本质认识以及地理信息元组概念的提出对地理信息应用特别是在地质领域的应用理论体系的建立提供了一条理论依据和入口;在技术上,以ArcGIS为代表的新一代地理信息系统的日益完善:在地理信息表达上,以本体为核心的地理信息表达方式为地质信息的表达及应用提供了强有力的工具,使得原有地理信息所不能完成的知识发现、复杂环境建模等复杂应用在新地理信息系统下成为现实;在地理信息分析技术上,ArcGIS从地理信息库(知识库)、基于知识库的智能可视化,以及地理信息处理三个角度为地理信息的各种应用提供了强有力的工具支持,特别是9.0版本开发以后,对探索式空间数据分析方法整合使从海量日益复杂的地理信息中进行数据挖掘和知识发现可以在空间、时间、属性一体化方式下进行。
⑻ 数据库系统原理论文
库存管理数据库系统原理与应用
【摘 要】库存管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强.数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。
经过分析如此情况,我们使用微软公司的VisualBasic开发工具,利用其提供的各种面向对象的开发工具,尤其是ADO,是能方便而简洁操纵数据库的智能化对象,短期内就可以开发出用户满意的可行系统。
关键字: 库存管理 ADO 面相对象 库存ABC分析
第一章 概述
1.1 库存管理的必要性
大多数库存管理理论认为,库存是物理上和逻辑上库房库位的所有有形和无形物料极其价值的总和,具体包括成品、原材料、在制品、在途品、生产前物料、备品备件等。虽然持有一些库存是必要的,过量的库存却非但没有用处而且占用了资金。占用的资金对于公司发展、新产品开发等都是非常需要的;减少资金占用还可以大大减少来自银行贷款的利息和风险。对那些采购量特别大、采购件市场价格有波动的物料库存,加强库存管理效果更为明显。因此,平衡公司库存投资与其它资金需求至关重要。
1.2 库存分类
企业怎样管理库存,是库存管理的最大难点和挑战。因此,通过MRPII物料主计划模块和采购模块建立计划与控制系统以有效地实施库存管理和采购补偿成为题中应有之义。通过调查,我们得知任何库存均可分为如下三类:
A类物品:高值──价值占库存总值70-80%的相对少数物品。通常为物品的15-20%。
B类物品:中值──总值占库存总值的15-20%。物品数居中,通常占物品的30-40%。
C类物品:低值──库存总值几乎可以忽略不计,只占5-10%。是物品的大多数,通常占60-70%。
显然,A类物品是关键;如果我们把精力集中于A类物品,使其库存压缩10-50%,就是总库存的相当可观的一笔压缩。
关于ABC分类方法有几条基本法则:
a. 控制的程度:
对A类物品严加控制,包括做完备、准确的记录,高层监督和经常评审,从供应商按大合同订单频繁交货,对车间紧密跟踪以压缩提前期。
对B类物品做正常控制,包括良好的记录与常规的关注。
对C类物品尽可能使用简便的控制,诸如定期目视检查库存实物、简要记录或以简便标志法表明补充存货已经订货,采用大库存量与订货量以避免缺货,安排车间日程计划时给以低优先级。
b.优先级
在一切活动中给A类物品以高优先级以压缩其提前期与库存。
对B类物品予以正常处理,仅在关键时给以高优先级。
予C类物品以最低优先级。
c.订货过程
对A类物品提供及时、准确的采购信息和状态查询。计算机数据需要人工加以核对,进行阶段性盘点,以及频繁的评审以压缩库存。
对B类物品,按一定周期或当发生重大变化时评审一次库存数据和订货点,MRPII操作按例行公事处理。
对C类物品可以盘点处理或订货点计算。订货往往不用MRPII作计划。可以凭业务人员的经验加以控制。
由上可以看出库存管理的重要性。因此,库存管理是企业管理的重要组成部分。市场需要库存商品提供给用户,企业的经营需要库存保证各种药品的供应以进行药品的销售,库存对生产效率的提高有着极其重要的影响。因此,库存管理系统是计算机管理系统的中心。因为,所有企业的经营活动都离不开物流的活动。
1.3 库存管理的目标
库存管理的主要目标就是通过对仓库所有入出库活动的管理和控制及对库存数据有效的统计和分析,以保证企业生产中畅通的物流,使决策人员及早发现问题,采取相应措施,调整库存结构,缩短储备周期,加速资金周转,最大限度地降低库存占用,同时,通过周期性的仓库盘点,及时补救管理中的漏洞,使库存管理系统实时地反映企业中各个仓库的现时情况,为各类管理人员从不同侧面提供所需信息,以便协调企业经营收到更大效益,库存管理系统是协调企业生产经营的基础,其数据的准确性、方便的查询、有效的分析是整个计算机管理系统顺利运行的关键。
第二章 开发背景
企业的库存物资管理往往是很复杂、很繁琐的。由于所掌握的物资种类众多,订货、管理、发放的渠道各有差异,各个企业之间的管理体制不尽相同,各类统计报表繁多,因此仓库的库存管理必须编制一套库存管理信息系统,实现计算机化操作,而且必须根据企业的具体情况制定相应的方案。
根据当前的企业管理体制,一般的库存管理系统,总是根据所掌握的物资类别,相应分成几个科室来进行物资的计划,订货,核销托收,验收入库,根据企业各个部门的需求来发送物资设备,并随时按期进行库存盘点,作台帐,根据企业领导和自身管理的需要按月、季度、年度进行统计分析,产生相应报表。为了加强关键物资、设备的管理,要定期掌握其储备,消耗情况,根据计划定额和实际纤毫定额的比较,进行定额管理,使得资金使用合理,物资设备的储备最佳。
一个完整的企业物资供应管理系统应包括采购计划管理,合同收托管理、仓库库存管理、定额管理、统计管理、财务管理等模块。其中仓库的库存管理是整个物资供应管理系统的核心。因此有必要开发一套独立的库存管理系统来提高企业工作效率, 而所使用的这套库存管理系统是企业生产经营管理活动中的核心,此系统必须可以用来控制合理的库存费用、适时适量的库存数量,使企业生产活动效率最大化。通过对这些情况的仔细调查,我开发了下面的仓库库存管理系统。
第三章 系统分析
本系统采用了结构化生命周期法,结构化生命周期法是最常用的管理信息系统开发方法,分为四个步骤,即系统调研分析、数据库设计实现、界面设计实现和系统功能设计实现。其中系统调研分析阶段是最基础、也是最容易被开发人员忽视的环节。
3.1进行资料收集
在整个系统分析阶段,我在图书馆认真查看了很多关于仓库库存管理方面的书籍,收集到了相应的入库单、领料单、台账、物料卡、报表等资料。
入库单是入库单位在把相应的零部件送人仓库时必须填写的单据;领料单是领料人员从仓库中领取零部件时必须填写的单据(即出库);零部件台账(相当于本系统中的操作日志)实际是一个流水账,用于记录每天发生的入库、出库信息;物料卡(在本系统中用现有库存信息来表示)的作用是记录某一种零部件的数量变化,以便库管员盘查;报表是仓库向有关领导和部门定期提交的零部件库存汇总信息。收集到的入库单、领料单、零部件库存台账、零部件物料卡等单据和报表的实物样式在此略去,有兴趣者请参考有关类似企业的样本即可。
3.2绘制业务流程图
3.3用户需求分析
用户需求分析就是在用户需求调研的基础上,确定系统的总体结构方案,完成相应的需求分析报告。在确定系统的总体结构方案过程中,包括确定应用程序的结构、系统开发环境和系统的功能模块。用户需求调研结束之后,应该立即进行用户需求分析。
3.3.1应用程序结构确定
从用户应用角度来看,可把应用程序系统的组成部分分成数据存储层、业务处理层和界面表示层等3个层次,而应用程序结构可归纳为:集中式应用程序结构、单用户应用程序结构、多层服务器应用程序结构、浏览器/服务器应用程序结构、客户机/服务器应用程序结构等5种类型。
本库存管理系统就采用了当前最流行的客户机/服务器应用程序结构(即C/S结构),此时,客户机提出请求,服务器对客户机的请求作出回应。通过对服务功能的分布实现了分工服务。数据存储层放在服务器上,业务处理层和界面表示层放在客户机上,因此又被称为“灵敏的客户机”结构。许多操作可以在本地的客户机上执行,只是当需要数据时,才向服务器发出请求。并使应用程序的处理更接近用户,使整个系统具有较好的性能,可以并行地处理应用程序的请求、减少了数据传输量、降低了服务器的负荷。由于条件所限,将此系统所有程序都置于一台计算机上,以便调试运行。
3.3.2确定系统开发环境
由于大多数公司内部使用的计算机平台都是基于Windows环境的。为了降低系统成本,应最大程度地利用现有的资源、兼容现有的环境,可确定使用下面的开发环境:
★网络操作系统:Windows2000;★数据库服务器:MicrosoftAccessr2000;
★服务器平台:Windows2000;★客户机平台:Windows95/98/NT/2000;
★前端开发工具:visualBasic6.0(企业版);★数据访问对象:ADO(本系统使用ADO控件,简化编程)。
3.3.3确定系统的功能模块
通过分析确定库存系统将包含6个主要功能模块,即系统模块、入库业务管理模块、出库业务管理模块、退料业务管理模块(还库业务管理模块)、盘点业务管理模块(报表输出)、需求管理模块。对于每一个功能模块,都包含了数据录入、编辑、查询、统计、打印、应急、帮助等功能。
第四章 系统设计
4. 1总体设计
4.1.1系统目标设计
系统开发的总体任务是实现企业物资设备管理的系统化、规范化和自动化,从而达到企业仓库库存管理效率的目的。
4.1.2开发设计思想
库存管理的物资主要是企业生产中所需要的各种设备、原材料及零部件。进货时经检查合同确认为有效托收后,进行验收入库,填写入库单,进行入库登记。企业各个部门根据所需要的物资设备总额和部门生产活动需要提出物资需求申请。计划员根据整个企业的需求开出物资设备出库单,仓库管理员根据出库单核对发放设备、原材料及零部件。有些设备使用完毕需要及时归还入库,填写还库单。根据需要按照月、季、年进行统计分析,产生相应报表。
仓库库存管理的特点是信息处理量比较大。所管理的物资设备、原材料及零部件种类繁多,而且由于入库单、出库单、需求单等单据发生量特别大,关联信息多,查询和统计的方式各不相同,因此在管理上实现起来有一定的困难。在管理的过程中经常会出现信息的重复传递;单据、报表种类繁多,各个部门规格不统等问题。
在本系统的设计过程中,为了克服这些困难,满足计算机管理的需要,我们采取了下面的一些原则:
统一各种原始单据的格式,统一帐目和报表的格式。
删除不必要的管理冗余,实现管理规范化、科学化。
程序代码标准化,软件统一化,确保软件的可维护性和实用性。
界面尽量简单化,做到实用、方便,尽量满足企业中不同层次员工的需要。
建立操作日志,系统自动记录所进行的各种操作。
4.1.3系统功能分析
本系统需要完成的功能主要有以下几点。
库存管理的各种信息的输入,包括入库、出库、还库、需求信息的输入等。
库存管理的各种信息的查询、修改和维护。
设备采购报表的生成。
在材料库存中加入所允许的最大库存合最小库存字段,对所有库存物资实现监控和报警。
企业各个部门的物资需求管理。
操作日志的管理
库存管理系统的使用帮助。
4.2详细设计
4.2.1 系统功能模块设计
系统模块
a. 包括报表的打印及设置,操作日志的管理。
b. 管理员可以通过管理界面添加或删除用户,添加新管理员或删除原有管理员,验证用户的合法性,阻止非法用户登录。
c. 管理员或其他用户可以修改自己的密码。
(2) 入库模块
包括填写入库单,更新,删除入库记录,查看现有库存信息,入库记录的查询及打印
(3) 出库模块
包括填写出库单,更新,删除出库记录,查看现有库存信息,出库记录的查询及打印
(4) 还库模块
包括填写还库单,更新,删除还库记录,还库记录的查询及打印
(5) 需求模块
包括填写需求计划表,更新,删除采购计划信息,查看现有采购信息,采购信息的查询及打印,以及预测短期内的需求计划。
4.2.2数据库设计
数据库需求分析
通过对企业仓库管理内容和数据流程分析,设计的数据项合数据结构如下:
设备代码信息。包括的数据项有设备号、设备名称。
现有库存信息。包括的数据项有现有设备、现有数目、最大库存、最小库存等。
设备使用信息。包括的数据项有使用的设备、使用部门。数目。使用时间、出库时状态等。
设备采购信息。包括的数据项有采购的设备、采购员、供应商、采购数目、采购时间等。
设备归还信息。包括的数据项有归还设备、归还部门、归还数目、归还时间、经手人等。
设备需求信息。包括的数据项有需求的部门、需求设备、需求数目、需求时间等。
有了上面的数据结构、数据项和数据流程,就可以进行下面的数据库设计。
数据库概念结构设计
这一设计阶段是在需求分析的基础上,设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。根据上面的设计规划出的实体有库存实体、出库实体、入库实体、采购实体、还库实体、需求实体。 数据库逻辑结构设计
在上面的实体以及实体之间关系的基础上,形成各个表格之间的关系。
4.3 代码设计
任何库存均可分为如下三类:
A类物品:高值──价值占库存总值70-80%的相对少数物品。通常为物品的15-20%。
B类物品:中值──总值占库存总值的15-20%。物品数居中,通常占物品的30-40%。
C类物品:低值──库存总值几乎可以忽略不计,只占5-10%。是物品的大多数,通常占60-70%。
4.4 输入输出设计
本系统界面标准Windows形式,键盘输入(也可以用条形码读取),人机交互,容易使用。输入输出的设计考虑美观实用和通俗易懂,图文并茂。
4.5系统安全性设计
系统数据库中包含多个二维表,所以在系统与数据库的连接上,并没有把数据库和系统的连接直接写入代码,而是通过对服务器端进行系统设置,使数据库名及路径不可见,并通过ACCESS的数据库安全设置,保证了数据库的安全性。系统根据用户身份不同赋予不同权限,用户用密码登陆,同样也保证了系统数据的安全性。
第五章 系统实施
5.1、开发工具简介
本系统的前端开发工具,我选择了Visual Basic6.0,后台数据库采用Access2000。
5.1.1 VB简介
Visual意为“可视化的”,指的是一种开发图形用户界面的方法,所以Visual Basic是基于Basic的可视化的程序设计语言。在Visual Basic中,一方面继承了Basic所具有的程序设计语言简单易用的特点,另一方面在其编程系统中采用了面向对象、事件驱动的编程机制,用一种巧妙的方法把Windows的编程复杂性封装起来,提供了一种所见即所得的可视化程序设计方法。
5.1.2 VB功能特点
具有面向对象的可视化设计工具
在VB中,应用面向对象的程序设计方法(OOP),把程序和数据封装起来视为一 个对象,每个对象都是可视的。程序员在设计时只需用现有工具根据界面设计要求,直接在屏幕上“画”出窗口、菜单、按钮、滚动条等不同类型的对象,并为每个对象设置属性。程序员的编程工作仅限于编写相关对象要完成的功能程序,因而程序设计的效率可大大提高。
事件驱动的编程机制
事件驱动是非常适合图形用户界面的编程方式。在图形用户界面的应用程序中,是由用户的动作即事件掌握着程序运行的流向,每个事件都能驱动一段程序的运行。程序员只要编写响应用户动作的代码,而各个动作之间不一定有联系。
提供了易学易用的应用程序集成开发环境
在VB集成开发环境中,用户可设计界面、编写代码、调试程序,直至把应用程序编译成可执行文件在Windows中运行,使用户在友好的开发环境中工作。
结构化的程序设计语言
VB具有丰富的数据类型和结构化程序结构,作为一种程序设计语言,它还有如下一些特点:
强大的数值和字符串处理功能
丰富的图形指令,可方便地绘制各种图形
提供静态和动态数组,有利于简化内存的管理
过程可递归调用,使程序更为简练
支持随机文件和顺序文件的访问
提供了一个可供应用程序调用的包含多种类型的图标库
具有完善的运行出错处理
支持多种数据库系统的访问
利用数据控件可访问的数据库系统有:Microsoft Access、Btrieve、DBASE、Microsfot FoxPro和Paradox等,也可以访问Microsoft Excel、Lotus1-2-3等多种电子表格。
支持动态数据交换(DDE)、动态链接库(DLL)和对象的链接与嵌入(OLE)技术
完备的HELP联机帮助功能
与Windows环境下的软件一样,在VB中,利用帮助菜单和F1功能键,用户可以随时方便地得到所需要的帮助信息。VB帮助窗口中显示了有关的示例代码,通过复制、粘贴操作可获取大量的示例代码,为用户的学习和使用提供了极大的方便。
VB程序设计的概念就是面向对象的概念,对象就是数据(DATA)和代码(CODE)互相结合的综合体。Windows上面的每一个图标,包括窗口本身都是对象,如果没有任何事情发生,对象处于停顿状态。当存在外来事件时,程序段执行,它的执 行是由外来事件决定的。因此是“事件”驱动的。
编写VB程序较为简单,首先将各个对象放在空白窗体上,然后将程序代码分别添加给对象或图标,将它们组合起来就可以随意运行了。
在VB中,窗体实际上是一个对象,VB的窗体含有许多内嵌特性,这使得用户界面部分的建立像是从一个目录中挑选一个个合适的控件,而不是从零开始一步一步地建立控件。这种开发者能亲眼看到的程序设计过程就是“可视化程序设计”(Visual Programming)
5.1.3 VB中的基本概念
对象:面向对象编程(OOP)的提法大家一定也很耳熟,虽然Visual Basic并不是完全的面向对象编程,但也利用了对象编程技术。对象简单地说就是大家经常看到的各种窗口、按钮、文本框甚至打印机等。
属性:如同电视有黑白、彩色之分一样,作为对象的Windows中的窗口也是有大有小,文本框的位置不可能完全一样,菜单要显示出不同的功能,这些都是由对象的属性决定的。不同对象的属性可能不同。属性一般决定了对象的位置、大小、显示等情况。
方法:就是对象能够做的事,如打印机对象就有打印(Print)方法、窗口对象支持隐藏(Hide)方法、很多对象支持移动(Move)方法等。
事件:就是对象对用户各种操作的反映情况。如用户用鼠标按一下按钮,就会触发按钮的“按”(Click)事件。
控件:控件就是Visual Basic提供的编程用的模块,与对象有直接的联系,如同积木的木块,使用这样的控件,就可以像拼图或堆积木一样“搭”、“拼”你的程序界面。Visual Basic中使用控件,简化了Windows中的窗口、按钮等对象的编程设计。每个控件都有各自的属性、事件及方法。只需修改这些特征你就可以随心所欲地编程了。最重要的是,你可以利用成千上万的各种扩充的控件来快速构造几乎能满足你任何要求的程序。例如,如果你不满意Windows简陋的媒体播放器,你就可以使用VB的多媒体控件在1小时以内设计一个完全自己风格的能够播放CD、VCD的多媒体播放器,而功能完全与之相当。
5.1.4 Access2000数据库简介
作为Microsoft的office套件产品之一,access已经成为世界上最流行的桌面数据库系统。Access与许多优秀的关系数据库一样,可以让你很容易地连接相关的信息而且还对其他的数据库系统有所补充。它能操作其它来源的资料,包括许多流行的PC数据库程序(如dBASE,Paradox,Microsoft FoxPro)和服务器、小型机及大型机上的许多SQL数据库。Access还完全支持Microsoft的OLE技术。
Access还提供windows操作系统的高级应用程序开发系统。Access与其它数据库开发系统之间相当显着的区别就是:您不用写一行代码,就可以在很短的时间里开发出一个功能强大而且相当专业的数据库应用程序,并且这一愉快的过程是完全可视的!如果您能给它加上简短的VBA代码,那么您的程序决不比专业程序员潜心开发的程序差。
Access的总体结构
Access将所有有名字的东西都成为对象(object),在Access 2000中,最重要的对象有表,查询,窗体,报表,宏和模块。
表 用户定义的存储资料的对象。每一个表都包含有关某个主体的信息。表包括存储不同种类资料的字段(列),而记录(行)则收集特定主体实例的所有信息。
查询 为来自一个或多个表的资料提供定制视图的对象。在Access中,可以利用图形化的实例查询机制(QBE)或通过SQL语句来建立查询。你可以在查询中选择、更新、插入或删除资料,也可以用查询来建立新表。
窗体 窗体是主要的人机接口。大量的操作(几乎所有)都要通过窗体完成。窗体通过运行宏(macro)或Visual Basic for Applicatinns(VBA)过程,来响应大量的事件。Access 2000为我们提供了强大的(同时也是相当方便的向导)来建立标准的Windows窗体。
报表 为格式化、计算、打印选定资料而设计的对象。它是衡量一个优秀的数据库的重要标准(有时甚至是唯一的标准)。
宏 为了响应已定义的事件,需要让Access去执行一个或多个操作,而宏就是对这些操作的结构化的定义对象。它可以让你像堆积木一样建立一个功能强大的程序,而无须写大量的代码。
模块 包括用VBA编码的定制过程的一个对象。模块提供了独立的动作流以捕获错误,而宏做不到。模块能直接响应窗体或报表事件,也可以从应用程序的任何地方被调用。
5.2 系统实现
5.2.1.系统管理模块实现
5..2.3入库模块的实现
5..2.4 出库模块实现
5.2.5设备采购模块实现,程序略
5.2.7设备代码模块实现
5.2.9 操作日志模块实现
第六章 系统使用说明
参考文献:
1. 数据库系统原理教程 王珊 陈红 清华大学出版社
2. 管理信息系统 王虎 张俊 武汉理工大学出版社
3. Visual Basic 数据库开发 E.Winemiller,J.Roff B.Heyman,R.Groom 着 清华大学出版社
4. PowerBuilder 8.0数据库系统开发实例导航 何旭洪 余建英 人民邮电出版社
5. VB6从入门道精通 ‘美’Gary cornell 着 北京希望电子出版社
6. managing Information Systems David L.Anderson着 清华大学出版社
7. Management Information Systems Raymond Mcleod,Jc George Schell 着 北京大学出版社