版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第7章 信息管理系统设计指导 第7章 信息管理系统设计指导 7.1 数据库应用简介数据库应用简介 7.2 设计实例设计实例1:学生宿舍管理系统:学生宿舍管理系统(VFP编程编程) 7.3 设计实例设计实例2:电信收费系统:电信收费系统(VB编程编程) 第7章 信息管理系统设计指导 7.1 数据库应用简介数据库应用简介 7.1.1 计算机信息管理系统的数据模型计算机信息管理系统的数据模型 数据模型是数据库系统的核心和基础,通常由数据结构、数据操作和完整性约束三部分组成。各种DBMS软件都是基于某种数据模型的。通常按照数据模型的特点将传统数据库系统分成网状数据库、层次数据库和关系数据库三大类。 第
2、7章 信息管理系统设计指导 7.1.2 主流数据库设计软件简介主流数据库设计软件简介 1IBM的的DB2 / DB2 universal database简介简介 作为关系数据库领域的开拓者和领航人,IBM于1980年开始提供集成的数据库服务器System/38,随后是SQL/DSforVSE和VM,其初始版本与SystemR研究原型密切相关。DB2 for MVSV1在1983年推出,该版本的目标是提供这一新方案所承诺的简单性、数据不相关性和用户生产率。DB2以后的版本的重点是改进其性能、可靠性和容量,以满足广泛的关键业务的行业需求。1988年DB2 for MVS提供了强大的在线事务处理(
3、OLTP)支持,1989年和1993年分别以远程工作单元和分布式工作单元实现了分布式数据库支持。最近推出的DB2 Universal Database 6.1则是通用数据库的典范,是第一个具备网上功能的多媒体关系数据库管理系统,支持包括Linux在内的一系列平台。 第7章 信息管理系统设计指导 2Informix简介简介 Informix公司在1980年成立,目的是为Unix等开放操作系统提供专业的关系型数据库产品。公司的名称Informix便是Information和Unix的结合。Informix第一个真正支持SQL语言的关系数据库产品是InformixSE(Standard Engine
4、)。InformixSE的特点是简单、轻便、适应性强。它的装机量非常大,尤其是在当时的微机Unix环境下,成为了主要的数据库产品。它也是第一个被移植到Linux上的商业数据库产品。 第7章 信息管理系统设计指导 事实上,Internet的普及从Web开始。Web应用以简便和图文并茂见长。但充斥整个系统的HTML文件又将我们不知不觉地带回了文件系统的时代。采用数据库管理Internet信息遇到的第一个挑战就是复杂信息的管理问题,Internet的出现将“数据”的概念在实际应用中扩大了。为此,自1995年起,Informix便着手进行新一代数据库系统的设计。作为专业的数据库厂商,Informix首
5、先针对Internet应用中数据类型的多样化,采用对象技术对关系数据库体系进行了扩展。与众不同之处在于,Informix并非将新的数据类型写在数据库核心中,而是将数据库系统中各个环节充分地抽象化,使用户有能力定义和描述自己需要管理的数据类型,将可管理的数据类型扩展到无限,同时适应了未来应用发展的需要。这就是Informix推出的数据库服务器Informix Dynamic Server.2000(简称IDS.2000)。 第7章 信息管理系统设计指导 3Sybase简介简介 Sybase公司成立于1984年,公司名称“Sybase”的含义是“System”和“Database”相结合。Syba
6、se公司的创始人之一Bob Epstein是Ingres大学版(与System/R同时期的关系数据库模型产品)的主要设计人员。公司的第一个关系数据库产品是1987年5月推出的Sybase SQL Server 1.0。Sybase首先提出了Client/Server数据库体系结构的思想,并率先在自己的Sybase SQL Server中实现。在此之前,计算机信息一般都存储在单一的主机中,最终用户一般都通过字符终端管理和访问主机,绝大多数的处理都由主机完成,终端主要完成输入和简单的显示功能。第7章 信息管理系统设计指导 这种主机/终端模式的软硬件费用相当高,中小型企业一般都无法实施。在20世纪7
7、0年代末80年代初,IT业发生了两件产生深远影响的事件:PC机和局域网络的迅速普及。PC机比终端的功能要强得多,局域网的速度也比主机终端之间的连接速度快得多,而且与主机系统相比,它们的费用较低。与此同时,工作站和小型机也飞速发展,在许多方面可以取代主机的功能,这些为实施Client/Server体系结构提供了硬件的基础。 第7章 信息管理系统设计指导 4Oracle简介简介 目前Oracle关系数据库产品的市场占有率名列前茅。其主要特性包括: (1) 在支持数据共享方面,OracleiFS使Oracle8i服务器具备了模拟网络文件系统的能力,方便了网络文件共享。 (2) 在管理工具方面,Ent
8、erprise Manager管理工具配备了Java界面,提供了对多平台的访问能力。 (3) 在安全性能方面,增加了“虚拟专用数据库”,允许用户直接对表和视图设置安全机制。 (4) 在Java支持方面,Oracle8i内部实现了Java虚拟机,支持在服务器上存储和执行Java代码。 第7章 信息管理系统设计指导 5MS SQL Server简介简介 MS SQL Server 是微软公司开发的一款非常优秀的数据库开发软件,较新的版本是SQL Server 2000。SQL功能强大,是一种完备的数据处理语言,不仅用于数据库查询,而且可用于数据库中的数据修改和更新,概括起来,它可以分成以下几组:
9、DML(Data Manipulation Language,数据操作语言):用于检索或修改数据; DDL(Data Definition Language,数据定义语言): 用于定义数据的结构,如创建、修改或者删除数据库对象; 第7章 信息管理系统设计指导 DCL(Data Control Language,数据控制语言):用于定义数据库用户的权限。 DML组可以细分为以下的几个语句: SELECT:用于检索数据; INSERT:用于增加数据到数据库; UPDATE:用于从数据库中修改现存的数据; DELETE:用于从数据库中删除数据。 DDL语句可以用于创建用户和重建数据库对象。下面是DD
10、L命令: CREATE TABLE,ALTER TABLE,DROP TABLE,CREATE INDEX,DROP INDEX。 第7章 信息管理系统设计指导 7.1.3 数据库设计技术的发展方向数据库设计技术的发展方向 1多媒体数据库多媒体数据库 所谓多媒体数据库,是指数据库中相互关联的数据的集合,是多媒体文档的汇集。其中包括文本、图片、音频、视频、半结构化数据、存储在数据库系统中的元数据等。在传统的数据库中引入多媒体的数据和操作,是一个极大的挑战。多媒体数据库具有以下特点: (1) 数据量巨大,数据长度的差异也极大,这给数据的组织和存储方法带来复杂性。由于数据量巨大,且数据的大小是可变的
11、,无法预先估计,因此就需要组织好多媒体数据库中的数据,包括通过网络加以分布存储,选择设计合适的物理结构和逻辑结构,保证磁盘的充分利用和快速存取。 第7章 信息管理系统设计指导 (2) 媒体种类增多,非格式化的数据多,数据结构复杂,给数据处理增加了困难。多媒体数据对应的是一个复杂的对象,每一种数据类型都要有自己的基本概念、数据定义、描述语言、数据结构、存取方法及操作语言等,很难构造出像常规数据一样的固定模型,也不能适应传统的关系数据库的处理方式。 (3) 需要支持声音与视频的同步机制。音、视频数据具有时间相关性、连续性、等时性(数据之间具有严格的时间间隔限制)、容错性(即使有一定的数据错误率,影
12、响也不大)等特性,它们要求多媒体技术必须提供媒体流内部的同步机制、媒体流间的同步机制和人机交互的同步机制。 第7章 信息管理系统设计指导 (4) 传统的只处理精确数据的概念和查询特点面临挑战,非精确匹配和相似性查询需求有待满足。多媒体的复合性和形象化特点,决定了只通过字符进行查询已不能适应需求,而应通过媒体的语义进行查询,但目前对基于多媒体内容的语义信息的确定和处理难度还比较大。 (5) 设备依赖性大,用户接口支持。对于多媒体的共性,每一种媒体的个性,都要在用户的接口上体现;用户对自己查询要求的描述,丰富的多媒体信息的查询结果,也需在用户接口上表现。第7章 信息管理系统设计指导 (6) 数据传
13、送的要求高。无论音频媒体还是视频媒体,都要求连续传送或输出,否则将导致严重失真,影响效果。它要求CPU计算能力、I/O系统的吞吐率、动态内存的刷新速度、网络传送带宽、服务质量及软件算法等要比处理常规数据时高一个档次。 第7章 信息管理系统设计指导 2面向对象数据库技术面向对象数据库技术 面向对象的方法和技术最适合描述复杂对象,它通过引入对象的类型、方法、消息、封装和继承等概念,可以有效地描述各种对象及其内部结构和联系。在面向对象的系统中,用对象来描述数据和程序实体;对象按其性质可划分为不同的类;某一特定类的操作与规则称为方法;对象间的通信采用消息;每一对象的数据和操作该类对象的方法被封装在一起
14、;通过继承可以在一个类的基础上建立子类,这样,多媒体资料可以抽象为被类型链链接在一起的结点网络。第7章 信息管理系统设计指导 利用上述特点就可以方便地描述多媒体信息,但目前面向对象数据库系统还不足以支持大规模数据的复杂查询。在这里需要指出的是,在支持XML格式的多媒体数据库的实现上,学术界是有不同看法的,一部分学者认为下一代数据库将是支持XML模型的新型的数据库,而另一部分学者则对此持否定态度,认为关系技术仍然是主流,无论是多媒体内容管理、XML数据支持,还是复杂对象支持等都将是在关系系统内核技术基础上的扩展。 第7章 信息管理系统设计指导 7.1.4 数据库应用一般开发步骤数据库应用一般开发
15、步骤 数据库应用的一般开发步骤如下: (1) 需求分析:这个阶段主要是通过调查研究,了解用户的具体需要,包括系统要实现哪些功能、数据完整性要求、系统安全性要求等。这一步的工作往往得不到重视,从而造成在后面的设计中出现不必要的麻烦,所以一定要重视需求分析阶段的工作,要尽可能写出详细的分析报告。 (2) 概念结构设计:这一步主要是产生一个概念模型,简要说明系统的数据流程。 (3) 逻辑结构设计:逻辑结构设计阶段的主要工作是把概念模型转换为关系数据模型。 第7章 信息管理系统设计指导 (4) 物理结构设计:数据库的物理结构设计完全依赖于数据库软件和硬件设备,不同的数据库管理系统对物理结构设计的要求有
16、很大差别,目前的关系数据库,对物理结构设计的要求很少,所以有时可以对这一步不作太多的考虑。 (5) 数据库的实施:首先要选择一种数据库管理软件来作为开发工具。数据库设计好后就是录入数据了,对大量的数据,可以设计导入模块来加快录入速度;对少量数据,可以用录入模块来实现。当然,对数据库的查询、修改等操作,也要设计出相应的模块。 第7章 信息管理系统设计指导 (6) 数据库的运行与维护:数据库开发完毕后,就可以投入试运行了。该阶段主要是对系统进行调试和维护,优化系统性能,修改软件运行中出现的一些错误,有时还应根据用户要求对系统进行升级。 当然,根据所开发系统的复杂程度,有些步骤可以简略,对于关键步骤
17、则一定要做出详细的设计。 第7章 信息管理系统设计指导 7.2 设计实例设计实例1:学生宿舍管理系统:学生宿舍管理系统(VFP编程编程) 7.2.1 开发背景简介开发背景简介 随着中国高等教育规模的不断扩大,各高校都面临着各种各样的问题,而共有的一个问题就是学生宿舍日益紧张。如何合理安排学生住宿是高校后勤改革中必须考虑的一个重要问题。设计一个宿舍管理系统可以使这个问题变得简单易行,并有一定的通用性,可以推广到不同的高校。 第7章 信息管理系统设计指导 7.2.2 系统设计的基本要求系统设计的基本要求 1基本要求基本要求 宿舍信息系统应该便于院系的宿舍管理,提高工作效率。能有效地对数据进行更新查
18、询,并能在一定程度上实现自动化。 (1) 本系统的主要功能:数据管理功能、查询统计功能、学生宿舍管理功能、系统维护功能。数据管理功能为:学生信息管理、学院系班级管理、宿舍管理员管理、宿舍楼管理、宿舍管理、维修损坏物登记、宿舍评比管理、数据输入输出。查询统计功能为:查询学生信息、查询宿舍信息、查询空房空床信息、查询评比信息、统计评比信息。学生宿舍管理功能包括:新生入住分配宿舍、调换房间、学生退房功能。系统维护功能包括:用户管理、数据恢复、数据备份、数据维护功能。 第7章 信息管理系统设计指导 (2) 系统性能:应方便快捷地完成宿舍管理的各项工作,数据查询速度快,查询安全、准确,数据合法性检验程度
19、高。 (3) 系统输入:学生的各种信息。包括专业信息、系信息、班级信息。 (4) 系统输出:各种报表信息。 第7章 信息管理系统设计指导 2设计条件设计条件 (1) 软件周期为5年。 (2) 硬件条件为PH或更高档的微机。运行时内存要求32 MB。硬盘至少5 MB。打印机可选。软件环境为中文Windows 98/ME/2000。开发环境为Visual FoxPro 6.0。 第7章 信息管理系统设计指导 3系统技术分析系统技术分析 (1) 本宿舍管理系统的简单描述:宿舍管理系统采用常规的数据管理方法,根据宿舍信息管理的特点对数据库操作,如对数据的增加、删除、修改等。 (2) 数据流程。本系统数
20、据流程如图7-1所示。 图7-1 数据流程图 输入数据输出数据用户信息反馈口令宿舍管理系统第7章 信息管理系统设计指导 (3) 与现有人工管理系统相比的优越性。宿舍管理系统有利于数据的集中、有效管理,与人工管理相比,本系统占据空间小,易更新,易备份,可有效地实现各种查询。 第7章 信息管理系统设计指导 7.2.3 开发任务开发任务 1项目计划项目计划 (1) 模块划分: 本项目设计的目的是为了方便地进行高等学校宿舍管理。主要有对学生宿舍的数据管理、查询学生住宿信息等功能,可分为四大模块: 宿舍信息管理、学生信息管理、查询统计、学生住宿及其他功能。第7章 信息管理系统设计指导 宿舍信息管理包括:
21、宿舍楼、宿舍、宿舍管理员管理,维修登记,损坏物品登记,宿舍评比等功能。 学生信息管理包括:学生基本信息,系、班级、专业设置,数据导入与导出功能。 查询统计包括:学生信息、宿舍信息、空房-空床查询、宿舍评比查询、统计评比情况等功能。 学生住宿及其他功能:新生入住宿舍分配、调整宿舍、学生退房、用户管理功能。 第7章 信息管理系统设计指导 (2) 需求分析说明。本系统应具有如下几点主要功能: 数据管理功能。 学生信息管理:对学生的信息进行管理。 学校、院(系)、班级、专业管理:对各院(系)、班级和专业进行管理。 宿舍楼管理:对本校所有宿舍楼信息进行管理。 宿舍管理:对宿舍资源进行管理。 维护损坏物品
22、管理:对各宿舍损坏物品登记管理。 宿舍评比管理:对各宿舍进行评比、登记和浏览。 第7章 信息管理系统设计指导 查询与统计功能。查询学生信息:根据相关条件,查询学生信息。查询宿舍信息:根据相关条件,查询宿舍信息。查询空房、空床信息:查询某栋宿舍楼的空房、空床数据。查询宿舍评比情况:设定条件,查询宿舍评比情况。统计评比情况:分类统计宿舍评比情况。 第7章 信息管理系统设计指导 学生住宿管理功能。新生入住:为新生分配宿舍。调换宿舍:完成宿舍人员调配。学生退房:完成毕业生或特殊情况学生的退房工作。 第7章 信息管理系统设计指导 系统维护功能。用户管理:管理系统用户,设置用户权限、口令。数据备份:用户可
23、随时备份数据。数据恢复:当数据被破坏时,可以用备份数据恢复。数据维护:提供数据更新功能。 第7章 信息管理系统设计指导 2开发过程及步骤开发过程及步骤 系统功能具体分析如下: (1) 信息要求。 数据管理。 A学生信息管理:主要功能有增加、删除、定位等,用以对学生信息进行维护。它所涉及到的数据有学号、姓名、性别、出生年月、政治面貌、班组、入学年份、是否分配宿舍、照片等,其中“是否分配宿舍”由系统自动完成,用户不用修改其值。第7章 信息管理系统设计指导 B学院(系)、班级、专业管理:可完成对学院(系)、班级信息的管理。主要功能有增加、删除、修改和定位,涉及的数据有: 学院(系):名称、代号、说明
24、。 班级:班级、专业、所在院(系)。 专业:专业代号、专业名称、注释。 C宿舍楼管理:可对多座宿舍楼进行增减,此管理功能的主要数据有楼号、宿舍数、床位数、管理员、注释。 第7章 信息管理系统设计指导 D宿舍管理:对每个宿舍的资源进行管理,同样具有录入、修改、删除、定位等功能,其操作的数据有宿舍号、床位数、人数、电话号码、所在楼号、家具套数和其他。 E宿舍评比情况:宿舍评比登记涉及的数据有宿舍号、地面得分、床铺得分、摆设得分、评比日期、评比单位等。 F损坏物品-维修登记:当宿舍需要维修物品时,可先登记,并可根据用户需要对数据查询、打印。主要数据有:宿舍号、物品名称、报修日期、维修日期、维修人员等
25、。 G数据输入与输出:可以从其他数据中导入学生信息、系别、班级信息,用户可以选择需要输出的数据。 第7章 信息管理系统设计指导 查询统计。 A查询学生信息:用户能够根据系别、班级、宿舍号、楼号、姓名等条件查询学生信息。所涉及的主要数据有学号、姓名、性别、出生日期、班级、入学年份、所住宿舍、院(系)等。 B查询宿舍信息:根据院(系)、班级学生的情况,查询宿舍的有关信息。如果用户需要,可以显示出指定宿舍的学生信息、评比信息。主要数据有:宿舍号、床位数、人数、电话号码、家具套数、楼号等。 C查询宿舍评比情况:根据院(系)、班级、宿舍号,显示指定日期的评比情况。主要数据有宿舍号、地面得分、床铺得分、摆
26、设得分、评比日期、评比单位等。 D查询空房、空床情况:按指定宿舍楼或全部宿舍楼查询、显示出空宿舍总数、空床位数及它们的宿舍号,数据有宿舍号、床位数、人数、空床位数等。 第7章 信息管理系统设计指导 学生住宿管理。 A新生入住:可以选择一个学生,分配到指定的宿舍中。这时需输入学生学号和宿舍号。也可以选择一批学生(某个院(系)、某个班级或指定入学年份的学生),指定宿舍楼后,系统自动以低层中的空房开始分配宿舍。 B调换宿舍:如学生需要调换宿舍,应首先输入需调换宿舍的学生学号,再输入现住宿舍号。 C学生退房:当学生需退房时,输入退房学生的学号或毕业学生的入学年份,系统会查询这些学生的有关物品登记情况,
27、并显示出来,以便用户选择。如果确定退房,系统会记录学号、姓名、宿舍号、检查人员、退房日期等信息。 第7章 信息管理系统设计指导 系统维护功能。 A用户管理:系统管理员可以增加用户和设置用户权限,普通用户只能有自己的用户名和密码。 B数据备份:用户可随时备份系统中的数据,备份时,需关闭所有子窗口。 C数据恢复:主要是恢复用户以前备份的数据,当数据库被毁坏,并且不能恢复时,用户可以用它来恢复以前备份的数据。 第7章 信息管理系统设计指导 (2) 处理要求。 A数据精度:查询时,保证所有包含查询关键字的记录都应能查到,查到的记录应与给定的单项或组合项条件完全匹配。 B时间特性:一般操作响应时间为11
28、0 s,对于软盘、打印机以及数据库的导入和导出,也应在可接受的时间内完成。 (3) 安全性与完整性要求。要求用户提供身份验证,连续三次不能通过身份验证者,不能登录该系统。此时,系统将强行关闭。 第7章 信息管理系统设计指导 (4) 数据类型定义。本系统中涉及到的数据定义如下: 学号数字8;院(系)名称0汉字20|0字母40;姓名1汉字10|字母20;备注0汉字50|0字母100;性别男|女;楼号0数字3;出生日期数字10;宿舍数0-32767;政治面貌团员|党员|其他;床位数0-32767;班级数字;入学年份数字10;宿舍号0数字7;是否分配宿舍TRUE|FALSE;电话号码0数字|SPACE
29、20;专业数字4;家具套数0-10;所在院(系)0数字2;其他0汉字50;楼号0数字|字母3;地面得分0-10,门窗得分0-10,床铺得分0-10;室内摆设得分0-10;专业代号数字5;专业名称0汉字20;登录级别用户|管理员;密码6字符20;评比日期0数字|SPACE10;评比单位0汉字10;现住宿舍数字7;维修日期数字10;维修物品汉字25;登记日期0数字10;检查日期数字10 第7章 信息管理系统设计指导 (5) 部分数据项名称。 A数据项名称:学号(本系统中所有学生编号)。类型:字符串,长度:8。 B数据项名称:班级代号(所有班级编号)。类型:字符串,长度:6。 C数据项名称:宿舍号(
30、所有宿舍编号)。类型:字符串,长度:7。 第7章 信息管理系统设计指导 7.2.4 总体设计总体设计 1总体设计总体设计 (1) 处理流程。系统启动时,首先进行初始化,设置全局变量、数据环境等,然后进行身份验证,通过身份验证后系统进入主界面。通过事件驱动机制激活各功能模块,并执行指定功能。各项功能执行完成后,执行系统关闭功能,退出本系统。 (2) 系统结构。本系统结构如图7-2所示。 第7章 信息管理系统设计指导 图7-2 系统结构图 数据导入与导出学生信息管理院系班级管理宿管人员管理宿舍楼信息管理宿舍信息管理损坏物品维修按学号查询按姓名查询按院系查询住宿情况统计评比情况统计新生入住调换宿舍学
31、生退房用户管理数据备份数据恢复数据维护数据管理查询统计系统维护宿舍管理系统主界面通过验证身份验证重新验证或退出没通过验证系统初始化第7章 信息管理系统设计指导 2各模块设计各模块设计 表表7-1 模模 块块 设设 计计 模块编号 模 块 名 称 备 注 M0 身份验证模块 M1.1 学生信息管理模块 出现主界面,进入循环 M2.1 学院(系)班级专业管理模块 M2.2 系统管理人员信息模块 M2.3 宿舍管理人员信息管理模块 第7章 信息管理系统设计指导 续表 模块编号 模 块 名 称 备 注 M2.4 宿舍楼信息管理模块 M2.6 损坏物品、维修登记管理模块 M2.7 数据导入模块 M2.8
32、 数据导出模块 M3.1 查询学生宿舍、评比信息模块 M3.2 查询空床与空房模块 M3.3 统计与信息模块 M4.1 新生入住、调换房间、学生退房管理模块 M5.1 用户管理模块 M5.2 数据备份数据恢复模块 M5.3 数据维护模块 M6.1 打印模块 第7章 信息管理系统设计指导 3接口设计接口设计 (1) 用户界面:采用目前流行的GUI,即诸如窗口、菜单、对话框的形式。 (2) 软件接口:运行于Windows98/Me/2000/XP中文版操作系统中。 (3) 硬件接口:支持一般的80 x86系列微机。 第7章 信息管理系统设计指导 7.2.5 数据结构设计数据结构设计 1数据库设计数
33、据库设计 表表7-2 student 字 段 类 型 备 注 学号 Char(10) 关键字 姓名 Char(10) 性别 Char(2) 男/女 出生年月 Date Mm/dd /yy 政治面貌 Char(4) 党员/团员/其他 班级 Char(6) 外码,可以为空,为 class 表中的班级号 家庭住址 Char(30) 邮政编码 Char(6) 电话号码 Char(11) 入学时间 Date Mm/dd /yy 是否分配宿舍 Boolean True/False,默认为 False 照片 Char(50) 备注 General 第7章 信息管理系统设计指导 表表7-3 class 字 段
34、 类 型 备 注 班级号 Char(6) 关键字 专业 Char(4) 外码,为 major 表中的专业号 院系代号 Char(2) 外码,不可为空,为 depart 表中的系号 第7章 信息管理系统设计指导 表表7-4 depart(系号为关键字系号为关键字) 字 段 类 型 院系代号 Char(2) 院系名称 Char(20) 说明 Char(50) 第7章 信息管理系统设计指导 表表7-5 build 字 段 类 型 备 注 楼号 Char(2) 关键字 宿舍数 Int(3) 床位 Int(4) 说明 Char(80) 管理员 Char(4) 外码,可以为空,为 manager 表中的编
35、号 第7章 信息管理系统设计指导 表表7-6 house 字 段 类 型 备 注 宿舍号 Char(3) 关键字 所能住人数 Int 默认为 4 现住人数 Int 默认为 0 电话 Char(20) 桌子 Int 默认为 2 其他 Char(100) 楼号 Char(2) 外码,不可为空,为 build 表中的楼号 第7章 信息管理系统设计指导 表表7-7 repair 字 段 类 型 备 注 宿舍号 Char(3) 外码,为 house 表中的宿舍号 维修物 Char(60) 登记日期 Date 维修日期 Date 默认为 date( ) 维修人 Char(10) 默认为 null 第7章
36、信息管理系统设计指导 表表7-8 house-student 字 段 类 型 备 注 学号 Char(10) 外码,为 student 表中的学号 宿舍号 Char(3) 外码,为 house 表中的宿舍号 入住日期 Date 默认为 date( ) 第7章 信息管理系统设计指导 表表7-9 manager 字 段 类 型 备 注 编号 Char(4) 关键字 姓名 Char(10) 性别 Char(2) 男/女 电话 Char(12) 住址 Char(50) 第7章 信息管理系统设计指导 表表7-10 user 字 段 类 型 备 注 编号 Char(4) 关键字 用户名 Char(10)
37、级别 Char(4) 设置/用户 密码 Char(16) 第7章 信息管理系统设计指导 表表7-11 changehouse 字 段 类 型 备 注 学号 Char(10) 外码,不可为空,为 student 表中的学号 姓名 Char(10) 外码,不可为空,为 build 表中的姓名 原住宿舍 Char(7) 外码,不可为空,为 house 表中的宿舍号 现住宿舍 Char(7) 外码,不可为空,为 house 表中的宿舍号 调换人 Char(10) 默认为操作员姓名 检验 Char(10) 默认为操作员姓名 调换日期 Date 默认为 date( ) 第7章 信息管理系统设计指导 表表7
38、-12 major 字 段 类 型 备 注 专业代号 Char(4) 关键字 专业名称 Char(20) 第7章 信息管理系统设计指导 2物理结构设计物理结构设计 数据库文件物理结构采用顺序记录方式。全局变量用于保存用户数据连接字符、用户权限、用户姓名等。 3运行设计运行设计 (1) 软件控制流程。首先由启动界面初始化数据环境,设置全局变量,然后进行身份验证,进入主界面,通过消息驱动激活相应的功能。 (2) 运行时间控制。各个功能模块响应时间一般不超过10 s。第7章 信息管理系统设计指导 4出错设计出错设计 (1) 充分考虑各种系统错误,给出相应提示信息,避免数据的不一致性或损坏数据。 (2
39、) 对重要操作提供确认机制。 第7章 信息管理系统设计指导 7.2.6 数据模块窗体的设计数据模块窗体的设计 1初始化界面的实现初始化界面的实现 图7-3 初始化界面 第7章 信息管理系统设计指导 2密码认证窗体的的实现密码认证窗体的的实现 密码认证窗体是用来让工作人员或其他用户按照用户名和密码进行登录,并且根据用户名检查user表中的“级别”字段,以分辨以何种身份登录。窗体界面如图7-4所示。 use susheguanli!userusername1trim(thisform.text1.value)password1trim(thisform.text2.value)goto topdo
40、 while .not. eof() if username1trim(用户名) then if password1trim(口令) then 第7章 信息管理系统设计指导 do form huanying.scx else skip 1 loop endif else skip 1 loopendifenddoif eof( ) thenmessagebox(对不起!你不是合法用户!,40)thisform.release( )endif“退出”按钮的Click代码如下:thisform.release( ) 第7章 信息管理系统设计指导 图7-4 登录界面 第7章 信息管理系统设计指导 3
41、口令更改功能的实现口令更改功能的实现 图7-5 口令更改模块 第7章 信息管理系统设计指导 “确认”按钮的Click事件代码如下:useuse susheguanli!usergoto topdo while .not. eof()if trim(thisform.text1.value)trim(用户名) then if trim(thisform.text2.value)trim(口令) then if trim(thisform.text3.value) then messagebox(没有输入新口令!,0,警告!) else if trim(thisform.text4.value)
42、then messagebox(没有输入新口令!,0,警告!) 第7章 信息管理系统设计指导 else if trim(thisform.text4.value)trim(thisform.text3.value) then replace 口令 with trim(thisform.text4.value) messagebox(口令更新结束!,0,提示!) thisform.release( )else messagebox(新口令和确认口令不一致!,警告!)endif endifendifexit else skip 1 第7章 信息管理系统设计指导 loop endifelse ski
43、p 1 loopendifenddoif eof( ) thenmessagebox(没有这个用户名!,0,警告)endif 第7章 信息管理系统设计指导 4学生信息更新功能的实现学生信息更新功能的实现 图7-6 学生信息更新界面 第7章 信息管理系统设计指导 图7-6中,“确认”按钮的Click事件代码如下:xuehaotemp=0re=recno( )ce=0rexuehao=alltrim(str(学号)mingtemp=xuehaotempval=学号 if alltrim(thisform.text1.value)=.or.alltrim(thisform.text2.value)=
44、.or.alltrim(thisform.text3.value)=.or.alltrim(bo1.value)= ce=messagebox(缺少完整的信息,最少必须填充 班级 学号 姓名 和 性别 ,0+64,提示) 第7章 信息管理系统设计指导 if !empty(rexuehao) thisform.text2.value=rexuehaoendif else if val(alltrim(thisform.text2.value)=0 ce=messagebox(学号格式不对,请输入自然数!,0+64,提示) thisform.text2.value=rexuehao else lo
45、cate for 学号=val(alltrim(thisform.text2.value)if (.not.eof( )xuehaotemp=xuehaotemp+1ce=recno( )CONTINUEendifgo reif xuehaotemp=0.or.re=ce 第7章 信息管理系统设计指导 chdir .sele 4use chengjiku EXCLUSIVElocate for 班级=alltrim(thisform.text1.value)chdir 数据库do while(.not.eof()mingtemp=alltrim(班级)+alltrim(学期) sele 5us
46、e &mingtemplocate for 学号=xuehaotempvalif(.not.eof()replace 班级 with alltrim(thisform.text1.value),学号 with val(alltrim(thisform.text2.value),姓名 with alltrim(thisform.text3.value) endif 第7章 信息管理系统设计指导 if(.not.eof() continueendif use sele 4 continue enddo sele 1 replace 班级 with alltrim(thisform.text
47、1.value),学号 with value(alltrim(thisform.text2.value),;姓名 with alltrim(thisform.text3.value),性别 with alltrim(bo1.value),;家庭住址 with alltrim(thisform.text6.value),邮政编码 with alltrim(thisform.text7.value),; 第7章 信息管理系统设计指导 电话号码 with alltrim(thisform.text8.value), 入学时间 with ctod(alltrim(thisform.text11.val
48、ue),是否分配宿舍 with alltrim(thisform.Optiongroup1.value) ,备注 with alltrim(thisform.edit1.value),政治面貌 with alltrim(thisform.text12.value)mand1.enabled=mand2.enabled=mand1.default=.t.else ce=messagebox(本班级的档案库里存在这个学号,无法录入,请重新指定学号!,0+64,警告) thisform.text2.value=rexuehao endif endif 第7章 信息管理系统设计指导 endif man
49、d1.setfocus “继续”按钮的Click事件代码如下:u=0zi=Tbo1.value=Sele 1re=recno( )Count all to num6Go reIf recno( )num6SkipIf alltrim(性别)=男Tbo1.selected(1)=.t.EndifIf alltrim(性别)=女 第7章 信息管理系统设计指导 Tbo1.selected(2)=.t.EndifIf alltrim(性别)=Tbo1.value=EndifThisform.text1.value=biaomingThisform.text2.value=alltrim(str(学号)
50、Thisform.text3.value=alltrim(姓名)Thisform.text4.value=dtoc(出生年月)Thisform.text5.value=家庭住址Thisform.text6.value=邮政编码Thisform.text7.value=电话号码Thisform.text8.value=dtoc(入学时间)Thisform.text9.value=政治面貌thisform.oleboundcontrol1.refresh 第7章 信息管理系统设计指导 Thisform.edit1.value=For num1=1 to memlines(备注) zi=zi+mli
51、ne(备注,num1)EndforIf alltrim(zi) Thisform.edit1.value=ziEndifTmand1.enabled=.f.Tmand2.enabled=.t.Tmand2.default=.t.Tmand3.enabled=.t.Elsew=messagebox(已到达最后一条记录,是否追加新的档案记录,不推荐用户在此追加新的记录!是否继续?,4+32,信息) 第7章 信息管理系统设计指导 If w=6Go bottomu=学号Append blankTbo1.value=Thisform.text1.value=biaomingThisform.text2.
52、value=alltrim(str(u+1)Thisform.text3.value=Thisform.text4.value=Thisform.text5.value=Thisform.text6.value=Thisform.text7.value=Thisform.text8.value=Thisform.text9.value=Thisform.edit1.value=thisform.oleboundcontrol1.refresh 第7章 信息管理系统设计指导 Tmand1.enabled=.f.Tmand2.enabled=.t.Tmand2.default=.t.Tmand3.
53、enabled=.t.ElseIf alltrim(性别)=男Tbo1.selected(1)=.t.EndifIf alltrim(性别)=女Tbo1.selected(2)=.t.EndifIf alltrim(性别)=Tbo1.value=EndifEndifEndif 第7章 信息管理系统设计指导 Tmand2.setfocus“返回”按钮的Click事件代码如下: If mand1.enabled=.f. If alltrim(thisform.text3.value)=.or.alltrim(thisform.text3.value)=. or.alltrim(thisform.t
54、ext3.value)= shi=messagebox(还没有输入新记录的资料,是否确定返回?单击时将删除新记录并返回,单击否将取消返回!,4+32,消息) If shi=6DeletePackOpen database &susheguanli EXCLUSIVESele 2 Use &student EXCLUSIVEDelete all 第7章 信息管理系统设计指导 PackAppend from studentClose databases allThisform.releaseChdir . Endifelse Open database &susheguan
55、li EXCLUSIVESele 2Use &student EXCLUSIVEDelete allPackAppend from studentClose databases allThisform.releaseChdir .Endif 第7章 信息管理系统设计指导 ElseOpen database &susheguanli XCLUSIVESele 2Use &biaoming EXCLUSIVEDelete allPackAppend from studentClose databases allThisform.releaseChdir .Endif 第7章
56、 信息管理系统设计指导 “导入相片”按钮的Click事件代码如下: Chdir . chdir 照片 pictemp=getpict(bmp,选择照片,导入) If !empty(pictemp) Wait windows 正在导入相片,请等待!. at 100,40 timeout 2 nowait Append general 照片 from &pictemp Tmand3.enabled=.f. Thisform.refreshEndifchdir .Chdir 数据库 第7章 信息管理系统设计指导 5查询功能的实现查询功能的实现 本系统实现的查询功能有多种,如按姓名、学号、院系
57、等字段进行完全匹配查找和部分匹配的模糊查找,还有按多个条件进行逻辑“与”、“或”组合的多条件查找。两种方式实现的方法大致相同,在此,只给出按学号查询的实现界面(如图7-7所示)和代码。 第7章 信息管理系统设计指导 图7-7 查询系统界面 第7章 信息管理系统设计指导 “确认”按钮的Click事件代码如下:bo1.valueif trim(no)trim()messageBox(输入无效!,40)elsedo anxuehaochaxun.qpr thisform.pageframe1.page1.grid1.recordsourceanxuehaochaxunendif 第7章 信息管理系统
58、设计指导 6报表的设计报表的设计 一个完善的数据库管理系统,必须能够打印出用户所需的各种类型的数据报表。设计不同用途、不同形式的报表和标签是程序设计中极其重要的一环。报表与日常所见的打印在纸上的诸如成绩一类的数据报表是两个不同的概念。报表在VFP中是以fpx为扩展名的特殊文件,这种文件中记录了两部分内容:一是使用数据源生成的数据报表。数据源可以是数据库表或视图;二是在打印时使用的输出格式和位置。打印机依数据来源和页面布局,就能打印出完整、清晰、美观的数据报表。 第7章 信息管理系统设计指导 在VFP中建立报表文件,有三种方式: (1) 自动报表,从单一数据表建立打印报表是最快的方法。 (2)
59、报表向导,从单一到多重数据表建立报表,也可以很方便地建立美观的报表。 (3) 报表设计器,可以按空白报表根据自己的爱好自行设计建立报表,也可以修改已经建好的报表文件。 大部分报表比较简单,用报表生成器就可以了,并且设计过程也大同小异,如图7-8所示是用报表生成器生成的“住宿情况通知单”。 第7章 信息管理系统设计指导 住宿情况通知单住宿情况通知单 学 号 姓 名 性别 入学时间 宿舍号 入住日期 9808114001 刘若英 女 1988.09.15 E521 09.10.00 9808114002 李亚红 女 1998.09.15 E523 09.10.00 9808114003 常正成 男
60、 1998.09.15 M417 08/23/99 图7-8 报表运行结果 第7章 信息管理系统设计指导 7菜单的设计菜单的设计 菜单分为系统菜单和快捷菜单两种,直接使用菜单生成器进行设计即可。图7-9所示是是宿舍管理系统系统菜单的运行情况。 图7-9 系统菜单运行情况 第7章 信息管理系统设计指导 主菜单里的大部分菜单项都是和表单相联系来实现一定功能的,所以在“结果”项里选择“命令,直接输入相应命令即可。但有些菜单功能是通过“过程”来实现的,所以就要编写相应的代码,例如“数据管理”菜单的“数据导出”子菜单就要通过“过程”来实现,其代码如下:public hh3do form daochu.scxif hh3 WAIT windows 数据导出成功
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年福建幼儿师范高等专科学校单招职业技能考试备考试题附答案详解
- 2026年广西蓝天航空职业学院单招综合素质考试模拟试题附答案详解
- 教育安全培训新闻报道课件
- 四年级数学(四则混合运算)计算题专项练习与答案
- 2026年时事政治题库测试卷附完整答案详解【历年真题】
- 教育培训企业安全承诺书课件
- 2025年漯河食品工程职业大学马克思主义基本原理概论期末考试参考题库
- 2025年开封空分设备厂职工大学马克思主义基本原理概论期末考试笔试题库
- 2025年湖北大学马克思主义基本原理概论期末考试笔试真题汇编
- 2025年宿州职业技术学院马克思主义基本原理概论期末考试笔试题库
- 2025重庆市涪陵区马武镇人民政府选聘本土人才14人参考题库附答案
- 二年级上册语文试题-第六单元测试题-人教部编版(含答案)
- 医院院感考试题库及答案
- 拣货主管年终总结
- 糖尿病重症患者肠内营养血糖调控方案
- 光伏钻孔灌注桩基础施工技术规范
- 安保部月度工作总结
- 防范和抵御宗教向校园渗透
- 【语文】四川省成都市实验小学小学一年级上册期末试卷(含答案)
- 设备点巡检基础知识培训课件
- 【招聘】招聘数据分析报告
评论
0/150
提交评论