数据库--仪器仪表管理系统
数据库__仪器仪表管理系统方案
任何一个社会组织和企业公司在发展过程中都会产生大量的数据,这些数据的组织存储、分析统计有利于提高企业的发展,有利于提高企业的效率。
这些数据的组织和存储就是数据模型,就是数据库应用系统开发的任务。
数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理模式,并据此建立数据库及其应用环境,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。
随着现代企业规模的不断扩大,仪器仪表数量也相应的增加,有关仪器仪表的各种信息量也成倍增加,设计一个合理的仪器仪表管理系统已迫不及待,为此本课程设计设计了一个仪器仪表管理系统以供大型企业使用,但只设计了部分主要功能,详细细节还需完善。
第1章.概述 (3)1.1.项目背景 (3)1.2.编写目的 (3)1.3.软件设计 (3)1.4.开发环境 (4)第2章.需求分析 (5)1.1.系统目标设计 (5)1.2.本系统的开发设计思想 (5)1.3.数据流图 (5)1.4.数据字典 (6)第3章.概念结构设计 (12)第4章.逻辑结构设计 (15)第5章.软件功能设计 (18)第6章.界面设计 (19)第7章.小结 (21)第8章.参考文献 (22)第1章、概述1.1、项目背景:随着现代企业规模的不断扩大,仪器仪表数量也相应的增加,有关仪器仪表的各种信息量也成倍增加,面对着庞大的信息量,在大型企业里,传统的人工方式管理会导致仪器仪表管理上的混乱,人力与物力过多浪费,仪器仪表管理费用的增加,从而使企业的负担过重,影响整个企业的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的仪器仪表管理系统,对仪器仪表进行集中统一的管理。
另一方面,IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。
提高仪器仪表管理工作效率,做到信息的规范管理,科学统计和快速查询,让仪器仪表更好的为企业单位人员所使用。
pb+sql仪器管理系统-使用说明
系统简要使用说明一、启动双击桌面上“设备管理系统”图标,运行“设备管理系统”,屏幕出现splash画面(如下图所示),3秒钟自动关闭并打开登录界面。
二、系统登录屏幕出现登录界面如上图所示,分别输入正确的用户名称和用户口令。
用户名称或口令错误时将无法进入系统。
三、主界面介绍主界面包括菜单栏、工具栏、工作区和状态栏。
菜单栏包含系统全部功能并且按功能分类,可根据需要执行相应的功能。
工具栏集成了常用功能,方便用户进行操作。
状态栏可以提供一些提示和帮助。
四、功能介绍1)代码管理:代码管理主要包括:使用方向维护、经费科目维护、现状维护、国别维护、部门表维护和部门单位表维护(如图所示)1.1使用方向维护使用方向维护主要功能是就是将使用方向按编号和使用方向保存至数据库中,单击“添加”按钮后可输入新的记录,注意编号和使用方向名称不能相同,否则系统将无法保存。
删除记录,选择记录所在行,然后单击“删除”按钮即可执行删除操作。
无论是添加或删除,最后需要单击“保存”按钮,保存修改结果。
提示:使用方向功能请在系统建立之初进行维护,而且尽可能不要在仪器设备放库后再更改,否则容易造成数据错误。
1.2经费科目维护经费科目维护主要功能是就是将经费科目按编号和经费科目保存至数据库中,单击“添加”按钮后可输入新的记录,注意编号和经费科目名称不能相同,否则系统将无法保存。
删除记录,选择记录所在行,然后单击“删除”按钮即可执行删除操作。
无论是添加或删除,最后需要单击“保存”按钮,保存修改结果。
提示:经费科目功能请在系统建立之初进行维护,而且尽可能不要在仪器设备放库后再更改,否则容易造成数据错误。
1.3现状科目维护现状科目维护主要功能是就是将现状科目按编号和现状科目保存至数据库中,单击“添加”按钮后可输入新的记录,注意编号和现状科目名称不能相同,否则系统将无法保存。
删除记录,选择记录所在行,然后单击“删除”按钮即可执行删除操作。
无论是添加或删除,最后需要单击“保存”按钮,保存修改结果。
数据库系统概述
⑴数据项 数据项(Item)就是标记实体属性的命名单位,也称为元素或
字段。它是可以命名的最小信息单位。数据项的取值范围称 为域。
⑵记录 若干相关联的数据项的集合构成记录(Record)。记录是应
(2) 属性(Attributes):实体的某一特性称为属性。
◦ 如学生实体有学号、姓名、年龄、性别、系等方面的属性。 ◦ 属性有"型"和“值”之分,"型"即为属性名,如姓名、年龄、性别是属性
的型;“值”即为属性的具体内容,如(990001,张立,20,男,计算 机)这些属性值的集合表示了一个学生实体。
d.数据恢复(recovery):当数据库被破坏或数 据不可靠时,系统有能力将数据库从错误状态恢 复到最近某一时刻的正确状态。
1.2.1 信息的三个世界 1.2.2 概念模型 1.2.3 逻辑模型
将客观存在的事物以数据的形式存储到计算机中: ◦ 首先将现实世界的事物及联系抽象成信息世界的信息模型, ◦ 然后再抽象成计算机世界的数据模型。
现实世界
认识抽象
信息世界
计算机世界
▪图1-5 数据处理的抽象和转换过程
20
1. 现实世界
现实世界就是客观存在的事物及其相互联系。 事物之间的联系是由事物本身的性质决定的。现实世界中
的事物之间既有“共性”,又具有“个性”。 例如,学校的教学管理中涉及学生管理、教师管理及课程
管理等。 制作学生选修课程情况表,内容包括学号、姓名、课程名、
3.数据库系统阶段(60年代末开始)
➢ 数据量急剧增加;
仪器仪表管理系统概述
仪器仪表管理系统概述随着科学技术的进步和工业化的发展,仪器仪表在各个领域中扮演着至关重要的角色。
仪器仪表管理系统是一种集中管理和监控仪器仪表设备的系统,旨在提高设备的可靠性、准确性和安全性。
本文将对仪器仪表管理系统的概述进行详细介绍。
一、仪器仪表管理系统的定义和概念仪器仪表管理系统是一种集成了硬件设备、软件系统和相关技术的综合性管理系统。
它主要用于对实验室、工厂、医疗机构等场所内的仪器仪表设备进行监控、管理和维护。
该系统通过采集和分析仪器仪表设备的数据,帮助用户监测设备的状态、保养设备、提高设备的工作效率和性能。
二、仪器仪表管理系统的功能1. 设备监控:仪器仪表管理系统通过传感器和仪表设备本身的数据输出,实时监控设备的运行状态和性能。
用户可以通过系统界面查看设备的实时数据、报警信息以及设备的工作曲线等。
2. 设备管理:系统可对设备进行远程控制,比如设备的开关、调整参数等。
此外,系统还能够对设备进行排程管理、记录设备维护和保养情况,为设备的维护管理提供便利。
3. 数据分析:通过对所采集到的设备数据进行分析和处理,系统可以帮助用户发现设备的异常行为,提前预防设备故障的发生。
同时,通过数据分析,用户还可以了解设备的工作情况,提高设备的工作效率和性能。
4. 故障诊断:仪器仪表管理系统可以根据设备故障的数据特征和设备的工作状态,帮助用户诊断设备故障的原因和位置。
这对于快速解决设备故障以及减少故障对工作流程的影响具有重要意义。
5. 报表生成:系统能够根据用户的需求,生成各种设备工作报告、故障分析报告和维护记录报告等。
这方面的功能对于设备管理者了解设备运行情况、评估设备维护情况具有重要意义。
三、仪器仪表管理系统的优势1. 提高工作效率:通过实时监控和设备管理,仪器仪表管理系统能够及时发现设备故障和异常,并进行相应的处理,从而减少了因设备故障而造成的停机时间,提高了工作效率。
2. 降低维护成本:系统可以对设备进行维护计划的制定和执行,减少了设备的维护成本。
管理仪器设备系统
管理仪器设备系统1.1系统开发的背景目前国内有些小仪器设备自动化管理水平不是很高。
大多数仪器设备管理办法是仪器设备采购进来以后,将仪器设备的基本情况和相关信息登记存档,然后将档案存档。
以后档案基本就没人维护,如仪器设备位置变迁、检修情况、仪器设备当前运行状态等信息根本不会体现在仪器设备台帐上,即仪器设备跟踪信息不能及时体现在仪器设备档案上。
本信息系统的仪器设备管理思想并结有关仪器设备管理现状,可以完全能满足国内有些仪器设备管理的需要。
并通过对各行业仪器设备管理情况的长期研究探索,以灵活、通用为主要设计思想,开发适合于各行业仪器设备管理信息系统。
本系统将会提高办公效率和仪器设备可靠性,减少工作人员的劳动强度,减少办公耗材,提高的现代化管理水平。
因此,我们考虑着开发了这套仪器设备管理信息系统。
这就是本论文写作的背景和立题意义。
1.2课题中涉及的相关技术及概念1.2.1相关技术系统采用了先进的access数据库技术,面向对象的编程方法学以及软件工程方法学1.2.2Visual Basic概念简介什么是Visual Basicvisual Basic 6.0中文版是一种应用程序开发工具,它的功能就是用来编程——Windows 下的应用程序。
东莞德信诚精品培训课程(部分)内审员系列培训课程查看详情TS16949五大工具与QC/QA/QE品质管理类查看详情 JIT东莞德信诚公开课培训计划>>> 培训报名表下载>>> /download/dgSignUp.docVisual Basic 6.0是在原有的Basic语言的基础上的进一步发展,他包含了数百条语句。
函数及关键词,其中很多与Windows GUI有直接的关系。
Visual Basic 语言简单易学,只要稍有语言基础就可以很快的掌握并进而精通。
可视化的用户界面设计功能,把程序设计人员从繁琐复杂的截面设计中解脱出来;可视化编程环境的“所见即所得(WYSIWYG)”功能,是界面设计如积木游戏一般,编程变成了一种享受;强大的多媒体功能可轻而易举地开发出集声音,动画,影像和图片于一体的多媒体应用程序;新增的网络功能提供了编写Internet程序的能力。
设备仪器管理系统数据库设计
1.问题描述。
本次数据结构设计要求完成的任务是实现购买员购买到设备仪器,借用人借用设备仪器并且归还,当仪器出现问题需要报废处理时进行报废这一系列管理系统。
2.系统目标和基本原则2.1 仪器设备数据库设计简介目前,各个实验室都对仪器设备管理都实行了信息化管理,仪器设备管理中主要涉及到的任务有3个方面:入库,报废,借还。
本课程设计将设计一个实验室的仪器设备管理系统,通过此课程设计将初步了解到如何设计一个完整的管理信息系统.在设备仪器管理中涉及要求大致如下:实验室对设备仪器进行入库登记和维护,当报废时应办报废手续。
借出时,由借用人填写借条,办理借用手续如前所述,当前实验室,当归还时应归还借条并办归还手续1.入库采购员到生产厂家购入指定数量规格型号的仪器设备,放入仓库,并由管理员管理以及对仪器设备进行相应的入库登记。
记录下入库的时间,采购人,经费来源仪器设备的数量等等。
2.报废当设备仪器由于人为损坏或者使用期限已到而不能继续使用,则要做相应的报废处理,并做报废登记手续,记录下报废的仪器设备的名称,规格,型号,数量,报废原因和报废日期等等。
3.借用当有关单位或者个人要借用该实验室的仪器设备时,需要进行相应的借用登记。
并记录下借用人或者单位,借用的仪器的规格型号数量,借用的日期,归还日期以及批准人等。
2.2 数据需求根据系统的需求,首先将要记录的信息分类,要记录的信息如:入库单:(代码、院内编号、名称、规格、型号、单价、数量、金额、生产厂、购入单位、采购员、管理员、入库日期、经费来源、批准人)报废单:(代码、院内编号、名称、规格、型号、单价、数量、报废原因、批准人、管理员、报废日期)借条:(代码、院内编号、名称、规格、型号、单价、数量、借用日期、拟还时间、借用人、批准人、管理员、设备状况)2.3 事务需求经过实际考察、咨询和分析,高等院校图书管理系统主要应该具有以下功能模块:(1)入库信息部分要求如下1.根据入库单可以得出以下信息,可以知道采购员的信息采购的仪器设备的信息(包括名称、规格、型号、单价、数量,金额等);采购的信息(采购的时间等)以及入库时的信息等等。
C语言实习报告 仪器仪表管理系统
C 语言课程实习报告仪器仪表管理系统仪器仪表信息管理系统1.题目与题目分析2.主函数3.菜单函数4.功能模块(1)输入模块(2)添加模块(3)修改模块(4)删除模块(5)浏览模块(6)查找模块5.公共函数6.操作结果7.总结与心得1.仪器仪表信息管理系统题目与题目分析题目:仪器仪表管理[要求]系统功能的基本要求:⑴新的仪器仪表信息的录入;⑵在借出、归还、维修时对仪器仪表信息的修;⑶对报废仪器仪表信息的删除;⑷按照一定的条件查询、统计符合条件的仪器仪表信息;查询功能至少应该包括仪器仪表基本信息的查询、按时间段(如在2004年1月1日到2004年10月10日购买、借出的仪器仪表等)查询、按时间点(借入时间,借出时间,归还时间)查询等,统计功能至少包括按时间段(如在2004年1月1日到2004年10月10日购买、借出的仪器仪表等)统计、按仪器仪表基本住处的统计等;⑸对查询、统计的结果打印输出。
需求分析根据题目要求,由于仪器仪表信息是存放在文件中,所以应提供文件的输入、输出等操作;在程序中需要浏览仪器仪表的信息,应提供显示、查找、删除、添加、修改等操作;另外还提供键盘式选择菜单实现功能选择。
总体设计根据上面的需求分析,可以将这个系统的设计分为以下几个模块:输入模块、添加模块、修改模块、删除模块、查找模块、浏览模块详细设计2. 主函数主函数设计比较简单,只有一个函数调用,被调用的函数提供输入,处理和输出部分的函数调用。
其中各功能模块用菜单方式选择。
此函数为菜单函数,执行完每部分模块后能够方便返回到系统界面。
int main( ){ menu();}3.菜单函数菜单函数的主要结构用流程图表示如下:程序:void menu(){ int n,w;do{puts("\t\t*****************仪表仪器信息管理系统**********************\n\n");puts("\t\t\t\t 经济管理学院喻骏斯学号:20081003064");puts("\t\t\t\t 1.仪器信息录入");puts("\t\t\t\t 2.添加新的仪器");puts("\t\t\t\t 3.修改仪器信息");puts("\t\t\t\t 4.删除仪器信息");puts("\t\t\t\t 5.查询仪器信息");puts("\t\t\t\t 6.浏览");puts("\t\t\t\t 7.退出 ");puts("\n\n\t\t********************我是分界线********************\n");printf("选择您需要的服务(1-7):[ ]\b\b");scanf("%d",&n);if(n<1||n>7){ w=1;getchar();}else w=0;}while(w==1);switch(n){ case 1:enter();break;case 2:add();break;case 3:modify();break;case 4:del();break;case 5:search();break;case 6:browse();break;case 7:exit(0);}}4.功能模块(1)输入模块仪器仪表信息采用结构体变量类型存放,成员包括仪器名称、编号、购买时间、供稿时间、伸出时间、归还时间、维修时间、状态信息(0代表可借出,1代表已借出,2代表正在维修,-1代表删除).程序:void enter(){ int i,n;printf("您要输入的仪器数量(1-%d)?",N);scanf("%d",&n);printf("\n 请输入相关信息\n\n");for(i=0;i<n;i++){ printf("\n 输入第%d台仪器的信息.\n",i+1);input(i);}if(i!=0) save(n);menu();}(2)添加模块该模块的功能是用户需要增加新的仪器记录,请从键盘输入并逐条写到原来的输入文件中,采用追加方式打开文件。
仪器仪表管理系统概述
第1章仪器仪表管理系统概述1.1 用户特点仪器仪表管理系统的用户主要包括三类:1)系统管理员:负责系统的日常维护,人员权限和信息编码的管理。
2)管理者:对仪器仪表及部门的信息进行输入、修改、查询。
3)查询者:对仪器仪表及部门的信息进行查询。
1.2 业务概述随着设备数量的日趋增多,必须要有一套完整的信息管理系统,通过在管理系统中引入完善的管理机制,使系统能在现有基础上更为有力的进行组织和管理,从而达到节省资源,提高管理质量的目的。
仪器仪表管理系统正是基于此而进行开发的。
工厂由于拥有多种仪器仪表及其它的设备,这些仪器仪表在每天的使用中不光在损坏时进行待修或是进行流程式的工作检查,甚至是损坏严重不能维修进行报废处理,这样一来这些仪器仪表就会有各种状态(如正常、送检、待修、报废),如何对工厂中如此多种的这些仪器仪表进行有效的管理,就自然而然成了一个急需解决的问题了。
仪器仪表管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库。
而对于后者则要求应用程序功能完备,易于使用,界面美观等特点。
仪器仪表管理系统包括仪器仪表的基本信息,部门基本信息,同时进行仪器仪表信息的查询。
仪器仪表信息的输入用于对新仪器仪表的基本信息的输入;部门信息的用于对部门信息的修改;仪器仪表信息的查询用于对仪器仪表的库存信息,被领用信息及仪器仪表各个状态的数量的统计。
Inprise(原Borland)公司的Delphi6.0是Windows应用程序RAD开发工具,是面向对象编程技术和Windows可视化编程技术的最好结合。
Delphi提供了大量的控件及第三方组件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性,是目前最为广泛的、易学易用的面向对象开发工具之一。
仪器仪表管理系统
题目要求19、仪器仪表管理【要求】系统功能的基本要求:(1)新的仪器仪表信息的录入;(2)在借出、归还、维修时对仪器仪表信息的修改;(3)对报废仪器仪表信息的删除;(4)按照一定的条件查询符合条件的仪器仪表信息;查询功能至少应该包括仪器仪表基本信息(如仪器仪表名字、仪器仪表编等)的查询、按时间点(借入时间、借出时间、归还时间)查询等(5)对查询结果的输出。
【提示】数据结构采用结构体。
仪器仪表信息包括仪器仪表名、仪器仪表编号、购买时间、借入时间、借出时间、归还时间、维修时间、状态信息(0代表可借出,1代表已借出,2代表正在维修)等。
二、需求分析根据题目要求,需要把仪器仪表信息的的数据存储在文件里,所以需要提供文件的输入输出等操作;在程序中要提供修改,删除,查找等操作;另外还应该提供键盘式选择菜单实现功能选择。
三、总体设计系统功能模块图四、详细设计1.主函数主函数一般设计得比较简洁,只提供输入输出和功能处理的函数调用。
其各功能模块用菜单方式选择。
本题将main()函数体内的界面选择部分语句单独抽取出来作为一独立函数,目的在于系统执行完每部分功能模块后能够方便返回到系统界面。
【程序】main(){menu();}菜单部分设计如下:【流程图】N主函数的菜单流程图【程序】menu(){int n,w;/*变量n保存选择菜单数字,w判断输入的数字是否在功能菜单对应数字范围内*/ do{puts("\t\t**************MENU********************\n\n");puts("\t\t\t\t 1.enter");puts("\t\t\t\t 2.modify");puts("\t\t\t\t 3.search");puts("\t\t\t\t 4.delete");puts("\t\t\t\t 5.exit");puts("\n\n\t\t ******************************************\n");printf("Choice your number(1-5):[ ]\b\b");scanf("%d",&n);if(n<1||n>5) /*对选择的数字作判断*/{w=1;getchar();}else w=0;}while(w==1);switch(n){case 1:enter();break; /*输入模块*/case 2:modify();break; /*修改模块*/case 3:search();break; /*查找模块*/case 4:delete();break; /*删除模块*/case 5:exit(0); /*退出*/}}2.各功能模块设计(1)输入模块【数据结构】【分析】单独看各数据信息,仪器仪表名是字符型,可采用字符型数组;仪器仪表编号、购买时间、借入时间、借出时间、归还时间、维修时间应采用实型;状态信息是整数,采用整型。
测绘仪器管理信息系统
测绘仪器管理信息系统摘要:测绘仪器的管理是测量事业的重要组成部分,是一门技术性很强的专业工作.加强对测绘仪器的科学管理,对提高其社会效益和经济效益都起着重要的作用。
为了弥补这方面的不足,本设计从建立和维护后台数据库以及前台程序的开发两个方面完成测绘仪器信息管理系统以利于测绘仪器的管理和使用。
关键字:数据库,信息管理系统,测绘仪器管理0前言目前市场上各种管理软件花样繁多、层出不穷,更是涉及到社会各个领域,但是却没有任何一款软件是为测绘仪器的管理而开发的。
测绘仪器的管理是测量事业的重要组成部分,是一门技术性很强的专业工作,加强对测绘仪器的科学管理,对提高其社会效益和经济效益都起着重要的作用。
所以,本设计将要弥补这方面的不足,开发出测绘仪器信息管理系统,通过借出、还入、维修等功能可以对仪器进行维护,保证每一件测绘仪器都能得到很好的管理。
经过分析,本设计使用Microsoft公司的Visual C++开发工具,后台用Acess数据库,它是采用ODBC数据源动态加载的方法实现的[1]。
1测绘仪器管理的意义科学技术日新月异的今天,测绘仪器日趋电子化、自动化、精密化,这就对仪器的使用操作人员提出了新的更高的要求。
首先把爱护测绘仪器的宣传教育,当作一项经常性的工作来做,使每个测量人员树立主人翁责任感,养成爱护仪器的习惯,同时必须具有一定技术知识,熟练仪器的操作技能,对于精密电子仪器还应进行专门培养。
经过考核合格后,方能单独操作。
要使仪器处于良好状态,延长使用期限,还须创造良好的库房条件,按不同仪器的性能要求采取必要的防护、防潮、降湿等措施,才能确保仪器处于良好状态,否则将影响仪器精度妨碍正常使用[2]。
2测绘仪器管理信息系统的设计本设计就是通过一系列的查询功能,可以方便的知道测绘仪器现在的状态和所处的位置;通过查询、添加功能,可以动态的对测绘仪器进行管理;通过借出、还入、修理功能,可以对测绘仪器进行维护,保证每一件测绘仪器都能发挥最大的效力。
仪器仪表管理系统 MIS设计
目录引言 (1)第1章系统设计概述 (2)1.1课题的背景及意义 (2)1.2系统开发的环境及开发模式 (2)第2章系统可行性研究 (4)2.1系统总体需求 (4)2.2 技术上的可行性 (4)2.3 经济上的可行性 (4)2.4组织机构操作方式上的可行性 (5)第3章系统分析 (6)3.1系统业务流程描述 (6)3.2系统数据流程分析 (6)3.21 xx模块数据流图第一层数据流图3.22查询统计模块数据流图第2层数据流图(可选)3.3系统总E-R图 (6)第4章系统设计 (9)4.1系统总体结构设计 (9)4.2系统功能模块设计 (9)4.3系统主要功能模块设计(自己的模块) (15)4.4 输入设计4.5 输出设计4.6 数据库设计4.61 概述4.62 概念设计(自己的模块)4.63 逻辑设计(自己的模块)第5章系统实现和维护 (16)5.1系统测试5.2系统和设备的维护5.21系统维护5.22设备维护 (28)工作总结 (30)参考文献 (32)附录 (33)第二章系统可行性研究2.1 系统总体需求通过调研,仪器仪表管理系统的总体需求:(1)新的仪器仪表信息的录入(2)在借出、归还、维修时对仪器仪表信息的修改(3)对报废仪器仪表信息的删除(4)按照一定的条件查询、统计符合条件的仪器仪表信息;查询功能至少应该包括仪器仪表基本信息的查询、按时间段(如在2004年1月1日到2004年10月10日购买、借出、维修的仪器仪表等)查询、按时间点(借入时间,借出时间,归还时间)查询等,统计功能至少包括按时间段(如在2004年1月1日到2004年10月10日购买、借出、维修的仪器仪表等)统计、按仪器仪表基本信息的统计等2.2技术上的可行性如今电脑已经非常普编,价格也不高,性能越来越强。
使用MyEclipse8.5作为系统开发的开发环境,它是一个功能强大的集成式开发工具,利用它能够开发功能强大的、运行在多个平台的、能够操作多个数据库的应用系统,还可以开发客户/服务器、分布式和因特网应用系统等。
仪器仪表管理系统用户使用手册
仪器仪表管理系统用户使用手册
仪器仪表管理系统使用方法如下所示:
1.打开浏览器,在地址栏输入大型仪器管理系统网址。
2.在系统登陆界面,您可以在右边看到系统功能模块图标,未登录用户可以直接点击颜色较为明亮的图标,查看里面的内容,而反灰图标只有登陆用户才能点击查看。
3.注册:点击左侧“注册新用户”,请如实填写所有注册信息,如登录信息、个人信息、联系方式等。
点击“注册”后,您会看到“您已经成功注册用户,请等待审核通过”的提示。
帐号激活后,您的邮箱将会收到一封帐号激活的通知邮件。
4.登陆:在左边登陆框中输入帐号和密码,您可以选择“记住登陆”,则下次输入系统网址后,将直接登陆您的个人帐号(如果您使用的计算机为公共计算机,建议您不要勾选该项),点击“登录”,进入系统。
左侧您可以按分类管理图标Q和分类管理列表目两种方式进行查看。
图中所示的功能模块会根据具体客户的实际需求进行增减,实际使用界面以用户最终看到的产品为准。
课程设计-仪器仪表管理系统
C语言程序设计课程设计报告专业:材料化学班级: 034141 姓名:郭亮指导教师:薛思清2016 年 1 月 15 日目录1.课程设计目的______________________________________________________ 12.问题需求分析______________________________________________________ 13.系统设计__________________________________________________________ 24.编程实现__________________________________________________________ 25.系统测试_________________________________________________________ 236.实习总结_________________________________________________________ 267.部分关键源程序___________________________________________________ 27 参考书目___________________________________________________________ 401.课程设计目的仪器仪表管理系统[ 要求]系统功能的基本要求:(1).新的仪器仪表信息录入。
(2).在借出、归还、维修时对仪器仪表信息的修改。
(3).对报废仪器仪表信息的删除。
(4).按照一定的条件查询、统计符合条件的仪器仪表信息;查询功能至少应包括仪器仪表基本信息的查询、按时间段(如在2004年1月1日到2004年10月10日购买、借出、维修的仪器仪表等)查询、按时间点(借入时间、借出时间、归还时间)查询等,统计功能至少包括按时间段统计、安仪器仪表的基本信息统计等。
仪器仪表管理系统
仪器仪表管理系统系统功能的基本要求:(1)新的仪器仪表的信息的录入;(2)在借出、归还、维修时对仪器仪表信息的修改;(3)对报废仪器仪表信息的删除;(4)按照一定的条件查询、统计符合条件的仪器仪表信息;查询功能至少应该包括仪器仪表基本信息的查询、按时间段(如在2004年1月1日到2004年10月10日购买、借出、维修的仪器仪表等)查询、按时间点(借入时间、借入时间、归还时间)查询等,统计功能至少包括按时间段(如在2004年1月1日到2004年10月10日购买、借出、维修的仪器仪表等)统计、按仪器仪表基本信息的统计等;(5)对查询、统计的结果打印输出。
#include <stdio.h>#include <string.h>#include <stdlib.h>#include <conio.h>#define N 9999struct meter{int num;char name[20];int mt;int jrt;int jct;int gt;int wt;char zt[4];}met[N];void main(){void menu(int y); int enter(int y); int modify(int y); void search(int y);void search_1(int y); void search_2(int y); void search_3(int y); void search_4(int y); void search_5(int y);void search_m(int y); void search_jr(int y); void search_jc(int y); void search_g(int y); void search_w(int y);void search_md(int y); void search_jrd(int y); void search_jcd(int y); void search_gd(int y); void search_wd(int y);void save(int w,int n); void printf_face();void printf_back(int y); void exit();int f();int ff();void fff();void ffff(int y);static int y;puts("\n*******************************仪器仪表信息管理系统*****************************");y=f();menu(y);}void menu(int y){int n;puts("\n\n\n\t\t\t*************主菜单*************");puts("\n\t\t\t\t1.浏览仪器仪表信息");puts("\n\t\t\t\t2.录入仪器仪表信息");puts("\n\t\t\t\t3.查询仪器仪表信息");puts("\n\t\t\t\t4.修改仪器仪表信息");puts("\n\t\t\t\t5.退出信息管理系统");puts("\n\t\t\t****************************** **");printf("\t\t\t 请选择下一步操作:[ ]\b\b");scanf("%d",&n);while(n<1||n>5){puts("警告!!! 输入错误!");printf("\n\t\t\t 请选择下一步操作:[ ]\b\b");getchar();scanf("%d",&n);}system("cls");switch(n){case 1: fff();puts("\t\t\t*******1.浏览仪器仪表信息*******");ff();puts("\t\t\t**********退出浏览系统**********");puts("\t\t\t\t 浏览成功!");ffff(y);break;case 2: f();fff();y=enter(y);ffff(y);break;case 3: f();fff();puts("\t\t\t*******3.查询仪器仪表信息*******");search(y);ffff(y);break;case 4: f();fff();y=modify(y);ffff(y);break;case 5: exit(0);}}int enter(int y){int i,n,a,b,a2,p[4]={0,0,0,0};puts("\t\t\t*********2.录入仪器仪表信息*********");puts("\n\n仪器仪表信息储存示例: (y表示可借,n表示不可借)");printf("序号仪器编号名称购买时间借入时间借出时间归还时间维修时间状态信息");printf("0000 00000 aaaa 20100101 20100101 20100101 20100101 20100101 y\n");printf("9999 11111 bbbb 20100101 20100101 20100101 20100101 20100101 n");printf("\n新录入信息将储存在文件met.txt 中.");printf("\n\n扫描已储存信息文件met.txt?[ ] 1).是2).否\b\b\b\b\b\b\b\b");scanf("%d",&a);while(a<1||a>2){puts("警告!!! 输入错误!");printf("\n扫描已储存信息文件met.txt?[ ] 1).是2).否\b\b\b\b\b\b\b\b");getchar();scanf("%d",&a);if(a==1){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*********2.录入仪器仪表信息*********");ff();}printf("\n\t\t\t开始录入信息(剩余可用储存:%d条)",9999-y);printf("\n\n\n新录入仪器仪表信息个数:"); scanf("%d",&n);while(n<1||n>9999-y){puts("警告!!! 输入错误!");printf("\n录入的仪器仪表信息个数:");getchar();scanf("%d",&n);system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*********2.录入仪器仪表信息*********");printf("\n\n序号仪器编号名称购买时间借入时间借出时间归还时间维修时间状态信息");for(i=y;i<y+n;i++){if(i+1>=1000) b=0;else if(i+1>=100) b=1;else if(i+1>=10) b=2;else b=3;for(a2=0;a2<b;a2++) printf("%d",p[a2]); printf("%d ",i+1);scanf("%d%s%d%d%d%d%d%s",&met[i].num,met[i].name,&met[i].mt,&met[i].jrt,&met[i]. jct,&met[i].gt,&met[i].wt,met[i].zt);}save(0,y+n);y=y+n;puts("\t\t\t************退出录入系统************");puts("\t\t\t\t 保存成功!");return y;}int modify(int y){intc,w1,i,p,k,b1,a2,a1,a3,a4=-1,x,m[4]={0,0,0,0}; FILE *fp;struct meter b;struct meter p1;puts("\t\t\t*******4.修改仪器仪表信息*******");do{printf("\n仪器仪表序号(输入0可以退出):");scanf("%d",&p);k=p-1;while(p<0){puts("警告!!! 输入错误!");printf("\n仪器仪表序号(输入0可以退出):");getchar();scanf("%d",&p);k=p-1;}if(p==0){puts("\t\t\t**********退出修改系统**********");puts("\t\t\t\t 取消修改!");ffff(y);exit(0);}if(k>=y) printf("\n\t\t\t\t不存在此信息!");}while(k>=y);printf("\n序号仪器编号名称购买时间借入时间借出时间归还时间维修时间状态信息");if(k+1>=1000) b1=0;else if(k+1>=100) b1=1;else if(k+1>=10) b1=2;else b1=3;if(met[k].num>=10000) a2=0;else if(met[k].num>=1000) a2=1;else if(met[k].num>=100) a2=2;else if(met[k].num>=10) a2=3;else a2=4;for(x=0;x<b1;x++) printf("%d",m[x]);printf("%d ",k+1);for(a1=0;a1<a2;a1++) printf("%d",m[a1]);printf("%d",met[k].num);printf(" %-4s %-8d %-8d %-8d %-8d %-8d %s\n",met[k].name,met[k].mt,met [k].jrt,met[k].jct,met[k].gt,met[k].wt,met[k].zt ); printf("\n确认修改此信息?[ ] 1).确认2).退出系统\b\b\b\b\b\b\b\b\b\b\b\b");scanf("%d",&a3);while(a3<1||a3>2){puts("警告!!! 输入错误!");printf("\n确认修改此信息?[ ] 1).确认2).退出系统\b\b\b\b\b\b\b\b\b\b\b\b");getchar();scanf("%d",&a3);}if(a3==2){puts("\t\t\t**********退出修改系统**********");puts("\t\t\t\t 取消修改!");ffff(y);exit(0); }do{p1.num=met[k].num;strcpy(,met[k].na me);p1.mt=met[k].mt;p1.jrt=met[k].jrt;p1.jct= met[k].jct;p1.gt=met[k].gt;p1.wt=met[k].wt;strc py(p1.zt,met[k].zt);printf("\n\t\t\t\t1).仪器仪表编号\n\t\t\t\t2).仪器仪表名称\n\t\t\t\t3).购买时间\n\t\t\t\t4).借入时间\n\t\t\t\t5).借出时间\n\t\t\t\t6).归还时间\n\t\t\t\t7).维修时间\n\t\t\t\t8).状态信息\n\t\t\t\t9).删除此信息\n请选择修改操作[ ]\b\b");scanf("%d",&c);while(c<1||c>9){puts("警告!!! 输入错误!");printf("\n请重新选择:[ ]\b\b");getchar();scanf("%d",&c);}switch(c){case 1:printf("仪器仪表编号改为:");scanf("%d",&b.num);met[k].num=b.num ;break;case 2:printf("仪器仪表名称改为:");scanf("%s",);strcpy(met[k].name,);break;case 3:printf("购买时间改为:");scanf("%d",&b.mt);met[k].mt=b.mt;brea k;case 4:printf("借入时间改为:");scanf("%d",&b.jrt);met[k].jrt=b.jrt;brea k;case 5:printf("借出时间改为:");scanf("%d",&b.jct);met[k].jct=b.jct;brea k;case 6:printf("归还时间改为:");scanf("%d",&b.gt);met[k].gt=b.gt;break;case 7:printf("维修时间改为:");scanf("%d",&b.wt);met[k].wt=b.wt;brea k;case 8:printf("状态信息改为:");scanf("%s",b.zt);strcpy(met[k].zt,b.zt);br eak;case 9:a4=k;break;}if(c!=9){printf("\n序号仪器编号名称购买时间借入时间借出时间归还时间维修时间状态信息");if(k+1>=1000) b1=0;else if(k+1>=100) b1=1;else if(k+1>=10) b1=2;else b1=3;if(met[k].num>=10000) a2=0;else if(met[k].num>=1000) a2=1;else if(met[k].num>=100) a2=2;else if(met[k].num>=10) a2=3;else a2=4;for(x=0;x<b1;x++) printf("%d",m[x]);printf("%d ",k+1);for(a1=0;a1<a2;a1++) printf("%d",m[a1]);printf("%d",met[k].num);printf(" %-4s %-8d %-8d %-8d %-8d %-8d %s\n",met[k].name,met[k].mt,met [k].jrt,met[k].jct,met[k].gt,met[k].wt,met[k].zt ); }printf("\n确定修改?[ ]\t1).确定2).重新修改\b\b\b\b\b\b\b\b\b\b\b\b\b");scanf("%d",&w1);if(2==w1){met[k].num=p1.num;strcpy(met[k].name,p1.na me);met[k].mt=p1.mt;met[k].jrt=p1.jrt;met[k].j ct=p1.jct;met[k].gt=p1.gt;met[k].wt=p1.wt;strcp y(met[k].zt,p1.zt);a4=-1;}while(w1<1||w1>2){puts("警告!!! 输入错误!");printf("\n确定修改?[ ]\t1).确定2).重新修改\b\b\b\b\b\b\b\b\b\b\b\b\b");getchar();scanf("%d",&w1);}}while(w1==2);if((fp=fopen("met.txt","w"))==NULL){printf("\n不能打开文件!\n");return 0;}for(i=0;i<y;i++){if(i!=a4)fprintf(fp,"%d %s %d %d %d %d %d %s\n", met[i].num,met[i].name,met[i].mt,met[i].jrt,met[ i].jct,met[i].gt,met[i].wt,met[i].zt);}fclose(fp);puts("\t\t\t**********退出修改系统**********");puts("\t\t\t\t 修改成功!");if(a4!=-1) y=y-1;return y;}void search(int y){int c;printf("\n\t\t\t\t1).仪器仪表编号\n\t\t\t\t2).仪器仪表名称\n\t\t\t\t3).状态信息\n\t\t\t\t4).时间点查询\n\t\t\t\t5).时间段查询\n\n\t\t\t 请选择查找方式:[ ]\b\b");scanf("%d",&c);while(c<1||c>5){puts("警告!!! 输入错误!");printf("\n\t\t\t 请选择查找方式:[ ]\b\b");getchar();scanf("%d",&c);}switch(c){case 1:search_1(y);break;case 2:search_2(y);break;case 3:search_3(y);break;case 4:search_4(y);break;case 5:search_5(y);break;search(y);}void search_1(int y){int i,j,k=-1,x=0; struct meter a; int a1,a2,b,c,m[4]={0,0,0,0};puts("\n\t\t\t\t1.按编号查询==>");printf("\n\n请输入编号:");scanf("%d",&a.num);while(a.num<0){puts("警告!!! 输入错误!");getchar();printf("\n请输入编号:");scanf("%d",&a.num);}for(i=0;i<y;i++){if(a.num==met[i].num){k=i;if(x==0) printf_face();x=x+1;if(k+1>=1000) b=0;else if(k+1>=100) b=1;else if(k+1>=10) b=2;else b=3;if(met[k].num>=10000) c=0;else if(met[k].num>=1000) c=1;else if(met[k].num>=100) c=2;else if(met[k].num>=10) c=3;else c=4;for(a2=0;a2<b;a2++)printf("%d",m[a2]);printf("%d ",k+1);for(a1=0;a1<c;a1++)printf("%d",m[a1]);printf("%d",met[k].num);printf(" %-4s %-8d %-8d %-8d %-8d %-8d %s\n",met[k].name,met[k].mt,met[k].jrt,met[k].jct,met[k].gt,met[k].wt,met[k].zt );}}if(k==-1){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");printf("\n\t\t\t\t不存在此记录!");}printf("\n\n\t\t\t\t1).重新此类查询\n\t\t\t\t2).重新其他查询\n\t\t\t\t3).退出查询系统\n\n\t\t\t 请选择下一步操作:[ ]\b\b");scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}while(j<1||j>3){puts("警告!!! 输入错误!");printf("\n\t\t\t 请选择下一步操作:[ ]\b\b");getchar();scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}}if(j==1) {search_1(y);}else if(j!=2) {puts("\t\t\t**********退出查询系统**********");printf_back(y);}}void search_2(int y){int i,j,k=-1,x=0;struct meter a;int a1,a2,b,c,m[4]={0,0,0,0};puts("\n\t\t\t\t2.按名称查询==>");printf("\n\n请输入名称:");scanf("%s",);for(i=0;i<y;i++){if(strcmp(,met[i].name)==0){k=i;if(x==0) printf_face();x=x+1;if(k+1>=1000) b=0;else if(k+1>=100) b=1;else if(k+1>=10) b=2;else b=3;if(met[k].num>=10000) c=0;else if(met[k].num>=1000) c=1;else if(met[k].num>=100) c=2;else if(met[k].num>=10) c=3;else c=4;for(a2=0;a2<b;a2++)printf("%d",m[a2]);printf("%d ",k+1);for(a1=0;a1<c;a1++)printf("%d",m[a1]);printf("%d",met[k].num);printf(" %-4s %-8d %-8d %-8d %-8d %-8d %s\n",met[k].name,met[k].mt,met [k].jrt,met[k].jct,met[k].gt,met[k].wt,met[k].zt );}}if(k==-1){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");printf("\n\t\t\t\t不存在此记录!");}printf("\n\n\t\t\t\t1).重新此类查询\n\t\t\t\t2).重新其他查询\n\t\t\t\t3).退出查询系统\n\n\t\t\t 请选择下一步操作:[ ]\b\b");scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}while(j<1||j>3){puts("警告!!! 输入错误!");printf("\n\t\t\t 请选择下一步操作:[ ]\b\b");getchar();scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}}if(j==1) search_2(y);else if(j!=2) {puts("\t\t\t**********退出查询系统**********");printf_back(y);}}void search_3(int y){int i,j,k=-1,x=0;struct meter a;int a1,a2,b,c,m[4]={0,0,0,0};puts("\n3.按状态信息查询==>");printf("\n\n请输入状态信息:");scanf("%s",a.zt);while(strcmp(a.zt,"y")!=0&&strcmp(a.zt,"n")!= 0){puts("警告!!! 输入错误!");printf("\n\n请输入状态信息:");scanf("%s",a.zt);}for(i=0;i<y;i++){if(strcmp(a.zt,met[i].zt)==0){k=i;if(x==0) printf_face();x=x+1;if(k+1>=1000) b=0;else if(k+1>=100) b=1;else if(k+1>=10) b=2;else b=3;if(met[k].num>=10000) c=0;else if(met[k].num>=1000) c=1;else if(met[k].num>=100) c=2;else if(met[k].num>=10) c=3;else c=4;for(a2=0;a2<b;a2++)printf("%d",m[a2]);printf("%d ",k+1);for(a1=0;a1<c;a1++)printf("%d",m[a1]);printf("%d",met[k].num);printf(" %-4s %-8d %-8d %-8d %-8d %-8d %s\n",met[k].name,met[k].mt,met [k].jrt,met[k].jct,met[k].gt,met[k].wt,met[k].zt );}}if(k==-1){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");printf("\n\t\t\t\t不存在此记录!");}printf("\n\n\t\t\t\t1).重新此类查询\n\t\t\t\t2).重新其他查询\n\t\t\t\t3).退出查询系统\n\n\t\t\t 请选择下一步操作:[ ]\b\b");scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}while(j<1||j>3){puts("警告!!! 输入错误!");printf("\n\t\t\t 请选择下一步操作:[ ]\b\b");getchar();scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}}if(j==1) {search_3(y);}else if(j!=2) {puts("\t\t\t**********退出查询系统**********");printf_back(y);}}void search_4(int y){int n;puts("\n\t\t\t 4.按时间点查询==>"); printf("\n\t\t\t\t1).购买时间\n\t\t\t\t2).借入时间\n\t\t\t\t3).借出时间\n\t\t\t\t4).归还时间\n\t\t\t\t5).维修时间\n\t\t\t\t6).返回主菜单\n请选择查找项目:[ ]\b\b");scanf("%d",&n);while(n<1||n>6){puts("警告!!! 输入错误!");printf("\n请重新选择:[ ]\b\b");getchar();scanf("%d",&n);system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}if(n==1) search_m(y);else if(n==2) search_jr(y);else if(n==3) search_jc(y);else if(n==4) search_g(y);else if(n==5) search_w(y);else {puts("\t\t\t**********退出查询系统**********");printf_back(y);}}void search_m(int y){int i,j,k=-1,x=0;struct meter a;int a1,a2,b,c,m[4]={0,0,0,0};printf("\n\n请输入购买时间:");scanf("%d",&a.mt);for(i=0;i<y;i++){if(a.mt==met[i].mt){k=i;if(x==0) printf_face();x=x+1;if(k+1>=1000) b=0;else if(k+1>=100) b=1;else if(k+1>=10) b=2;else b=3;if(met[k].num>=10000) c=0;else if(met[k].num>=1000) c=1;else if(met[k].num>=100) c=2;else if(met[k].num>=10) c=3;else c=4;for(a2=0;a2<b;a2++)printf("%d",m[a2]);printf("%d ",k+1);for(a1=0;a1<c;a1++)printf("%d",m[a1]);printf("%d",met[k].num);printf(" %-4s %-8d %-8d %-8d %-8d %-8d %s\n",met[k].name,met[k].mt,met [k].jrt,met[k].jct,met[k].gt,met[k].wt,met[k].zt );}}if(k==-1){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");printf("\n\t\t\t\t不存在此记录!");}printf("\n\n\t\t\t\t1).重新此类查询\n\t\t\t\t2).重新其他查询\n\t\t\t\t3).退出查询系统\n\n\t\t\t 请选择下一步操作:[ ]\b\b");scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}while(j<1||j>3){puts("警告!!! 输入错误!");printf("\n\t\t\t 请选择下一步操作:[ ]\b\b");getchar();scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}}if(j==1) {search_m(y);}else if(j!=2) {puts("\t\t\t**********退出查询系统**********");printf_back(y);}}void search_jr(int y){int i,j,k=-1,x=0;struct meter a;int a1,a2,b,c,m[4]={0,0,0,0};printf("\n\n请输入借入时间:");scanf("%d",&a.jrt);for(i=0;i<y;i++){if(a.jrt==met[i].jrt){k=i;if(x==0) printf_face();x=x+1;if(k+1>=1000) b=0;else if(k+1>=100) b=1;else if(k+1>=10) b=2;else b=3;if(met[k].num>=10000) c=0;else if(met[k].num>=1000) c=1;else if(met[k].num>=100) c=2;else if(met[k].num>=10) c=3;else c=4;for(a2=0;a2<b;a2++)printf("%d",m[a2]);printf("%d ",k+1);for(a1=0;a1<c;a1++)printf("%d",m[a1]);printf("%d",met[k].num);printf(" %-4s %-8d %-8d %-8d %-8d %-8d %s\n",met[k].name,met[k].mt,met [k].jrt,met[k].jct,met[k].gt,met[k].wt,met[k].zt );}}if(k==-1){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");printf("\n\t\t\t\t不存在此记录!");}printf("\n\n\t\t\t\t1).重新此类查询\n\t\t\t\t2).重新其他查询\n\t\t\t\t3).退出查询系统\n\n\t\t\t 请选择下一步操作:[ ]\b\b");scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}while(j<1||j>3){puts("警告!!! 输入错误!");printf("\n\t\t\t 请选择下一步操作:[ ]\b\b");getchar();scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}}if(j==1) {search_jr(y);}else if(j!=2) {puts("\t\t\t**********退出查询系统**********");printf_back(y);}}void search_jc(int y){int i,j,k=-1,x=0;struct meter a;int a1,a2,b,c,m[4]={0,0,0,0};printf("\n\n请输入借出时间:");scanf("%d",&a.jct);for(i=0;i<y;i++){if(a.jct==met[i].jct){k=i;if(x==0) printf_face();x=x+1;if(k+1>=1000) b=0;else if(k+1>=100) b=1;else if(k+1>=10) b=2;else b=3;if(met[k].num>=10000) c=0;else if(met[k].num>=1000) c=1;else if(met[k].num>=100) c=2;else if(met[k].num>=10) c=3;else c=4;for(a2=0;a2<b;a2++)printf("%d",m[a2]);printf("%d ",k+1);for(a1=0;a1<c;a1++)printf("%d",m[a1]);printf("%d",met[k].num);printf(" %-4s %-8d %-8d %-8d %-8d %-8d %s\n",met[k].name,met[k].mt,met [k].jrt,met[k].jct,met[k].gt,met[k].wt,met[k].zt );}}if(k==-1){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");printf("\n\t\t\t\t不存在此记录!");}printf("\n\n\t\t\t\t1).重新此类查询\n\t\t\t\t2).重新其他查询\n\t\t\t\t3).退出查询系统\n\n\t\t\t 请选择下一步操作:[ ]\b\b");scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}while(j<1||j>3){puts("警告!!! 输入错误!");printf("\n\t\t\t 请选择下一步操作:[ ]\b\b");getchar();scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}}if(j==1) {search_jc(y);}else if(j!=2) {puts("\t\t\t**********退出查询系统**********");printf_back(y);}}void search_g(int y){int i,j,k=-1,x=0;struct meter a;int a1,a2,b,c,m[4]={0,0,0,0};printf("\n\n请输入归还时间:");scanf("%d",&a.gt);for(i=0;i<y;i++){if(a.gt==met[i].gt){k=i;if(x==0) printf_face();x=x+1;if(k+1>=1000) b=0;else if(k+1>=100) b=1;else if(k+1>=10) b=2;else b=3;if(met[k].num>=10000) c=0;else if(met[k].num>=1000) c=1;else if(met[k].num>=100) c=2;else if(met[k].num>=10) c=3;else c=4;for(a2=0;a2<b;a2++)printf("%d",m[a2]);printf("%d ",k+1);for(a1=0;a1<c;a1++)printf("%d",m[a1]);printf("%d",met[k].num);printf(" %-4s %-8d %-8d %-8d %-8d %-8d %s\n",met[k].name,met[k].mt,met [k].jrt,met[k].jct,met[k].gt,met[k].wt,met[k].zt );}}if(k==-1){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");printf("\n\t\t\t\t不存在此记录!");}printf("\n\n\t\t\t\t1).重新此类查询\n\t\t\t\t2).重新其他查询\n\t\t\t\t3).退出查询系统\n\n\t\t\t 请选择下一步操作:[ ]\b\b");scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}while(j<1||j>3){puts("警告!!! 输入错误!");printf("\n\t\t\t 请选择下一步操作:[ ]\b\b");getchar();scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}}if(j==1) {search_g(y);}else if(j!=2) {puts("\t\t\t**********退出查询系统**********");printf_back(y);}}void search_w(int y){int i,j,k=-1,x=0;struct meter a;int a1,a2,b,c,m[4]={0,0,0,0};printf("\n\n请输入维修时间:");scanf("%d",&a.wt);for(i=0;i<y;i++){if(a.wt==met[i].wt){k=i;if(x==0) printf_face();x=x+1;if(k+1>=1000) b=0;else if(k+1>=100) b=1;else if(k+1>=10) b=2;else b=3;if(met[k].num>=10000) c=0;else if(met[k].num>=1000) c=1;else if(met[k].num>=100) c=2;else if(met[k].num>=10) c=3;else c=4;for(a2=0;a2<b;a2++)printf("%d",m[a2]);printf("%d ",k+1);for(a1=0;a1<c;a1++)printf("%d",m[a1]);printf("%d",met[k].num);printf(" %-4s %-8d %-8d %-8d %-8d %-8d %s\n",met[k].name,met[k].mt,met [k].jrt,met[k].jct,met[k].gt,met[k].wt,met[k].zt );}}if(k==-1){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");printf("\n\t\t\t\t不存在此记录!");}printf("\n\n\t\t\t\t1).重新此类查询\n\t\t\t\t2).重新其他查询\n\t\t\t\t3).退出查询系统\n\n\t\t\t 请选择下一步操作:[ ]\b\b");scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}while(j<1||j>3){puts("警告!!! 输入错误!");printf("\n\t\t\t 请选择下一步操作:[ ]\b\b");getchar();scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}。
数据库设计教案
数据库课程设计教案一、课程设计目的数据库系统课程设计是计算机科学与技术专业集中实践性环节之一,是学习完《数据库系统概论》课程后进行的一次全面的综合练习。
其目的在于加深对数据库基础理论和基本知识的理解,掌握使用数据库进行软件设计的基本方法,提高运用数据库解决实际问题的能力,最终实现对于给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求。
1)熟悉数据库系统的开发流程;2)培养学生实际规划开发项目的能力;3)培养学生的团队协作精神。
二、课程设计要求运用某个数据库管理系统及开发工具制作一个小型管理信息系统。
所设计的管理系统应包含输入输出、查询统计、插入、删除、报表及数据备份等基本功能。
题目的选择可以是实际问题,也可以是虚构的问题。
根据所学的软件软件工程和数据库设计理论、方法,写出详细的设计说明书。
三、课程设计的组织形式数据库系统课程设计分小组进行,每组学生人数一般3-5人。
分组按成绩好差、能力强弱搭配的原则,每个小组由1名组长负责安排和协调组员的任务。
四、课程设计开发环境数据库设计环境及程序设计语言可以自选。
五、课程设计参考教材《数据库系统概论》萨师煊王珊编著,高等教育版社,2000.2《软件工程—理论、方法与实践》刘强编著,高等教育版社,2005.7六、课程设计时间课程设计时间为18周,每周2节课,学分1分,第18周提交设计文档及源代码。
七、课程设计考核方式学生所完成的数据库管理系统的设计文档和程序设计结果,以此作为考核依据。
八、附录1、附录1 设计文档参考格式2、附录2 设计参考题目1、附录1 设计文档参考格式1) 封面数据库系统课程设计人事薪资管理系统的设计班级____________________________________________学号____________________________________________姓名____________________________________________成绩____________________________________________完成日期:年月日2) 文档格式(1)、概述包括项目背景、编写目的、软件定义、开发环境等内容。
基于ASP的继电保护实验室仪器仪表管理系统
系统
联 网应 用 中。 同 时 , ces数 据 库 作 为 微 软 推 出 的 A cs 以标 准 J T为 引 擎 的桌 面型 数 据 库 系 统 , E 由于 具 有
操作 简单 、 面 友 好 等 特 点 , 具 有 较 大 的用 户 群 界 故
对 领导来 说 , 及 时 了解 现 有 仪 器 仪 表 的状 况 并 做 能 好 决策 。总 之 , 系 统 的 建 立 可 大 大 提 高 仪 器 仪 表 此
的管理 水平 。
H ML融 合 在 一起 , 建 简 单 , 需 要 编译 和 链 接 , T 创 不 脚本 可 以在 A P环境 下 直接 运 行 。A P支持 多 种脚 S S 本. 比较 常用 的有 V S r t Jei 。 B ci 和 Sr t p p
( )脚本 在 服务 器端 执 行 , 客 户端 平 台无 关 , 3 与 可 以支持 任 何 一种浏 览 器 。
2 A P+A cs 系统 结 构 S ces
继 通 用 网关接 口( G ) 后 , S C I之 A P作 为 一种 典 型
的服务 器端 网页设 计技 术 , 广 泛 地 应 用 在 各 种 互 被
仪 器仪表 信 息 , 理 员 在 服 务 器 端 修 改 数 据 库 。 此 管
系统 的建立 对使 用 者 来 说, 很 方 便 地 在 局域 网 上 能
式 服务器端 脚本开 发环境 。 它很 好 地把 H M T L和脚本
开发融合 在一 起 , 高 了编程 的灵 活性 , 提 降低 了开 发
实验 室 仪 器 仪 表 管 理 系 统 采 用 A cs 据 库 ces数 技 术储 存仪 器仪 表 的 资料 , 采 用 了浏 览 器/ 务器 并 服 体 系结 构 ,I 设 we I S架 b站 点 ; S A P通 过 A O 访 问 D A cs 数据 库 ; 主 页 中 采 用 V Sr t 程 等 网络 ces 在 B ci 编 p 新 技术 。该 系 统可 使 所有 使用 者 在 网上浏 览或 查 寻
仪器仪表销售管理系统
系统介绍《仪器仪表销售管理系统》是一套协助各地区仪器仪表销售并且与商品流通企业通过精诚合作而产生的一套软件,是广泛适用于商品流通行业的进销存管理软件,是一款集基本数据、采购进货、销售管理、库存统计、统计查询于一体的软件。
在软件的操作方上可以不用专门的学习就可以顺利的使用,这一点已经得到广大用户的认同。
我们在软件规划面,本系统做到了较好的易用效果.用户基本时就考虑到了用户的计算机操作水平不一,所以,我们力求做到操作思路清晰、简洁.具体是:在软件界面上,做到了层次分明,这样的好处是可以让用户清楚的知道自己操作的步骤;在软件的流程上,做到了最大限度的仿真现实.该软件在功能方面主要包括:基本数据(职员资料录入、产品资料录入、客户资料录入);采购进货(公司进货录入、公司退货录入);销售管理(客户销售录入、客户销售报表、客户退货录入、客户退货录入报表);库存统计(产品库存报表);统计查询(期间入库、期间出库、实际销售、公司实际进货、按流水号查看销售情况、按编号查询进货信息、按产品名称查询退货信息、按流水号查询销售退货信息)因为有您的支持,所以我们才会进步,我们进步了,您将更加满意;只因为我们力求完美,力求使您满意,仪器仪表销售管理软件的每一点成长都离不开您的支持!仪器仪表销售管理软件的每一点进步都有您的功劳!系统网站提供免费的下载试用,而且试用版本是没有时间限制也没有记录条数限制的,只是打印功能不能用,详细的可以到网站:h ttp://w w w.i n m i s.co m下载试用;该软件购买之后将提供终生的免费升级、免费技术支持、免费售后服务。
如有任何问题您可以随时和我们联系,联系电话:0635-8386265(销售部)0635-8386255(技术部)Q Q:375400084(销售部)(表格界面)很多情况下希望一步得到多个条件复合在一起的查询,这种情况下使用复合查询,单击主窗口工具栏上的“复合筛选”按钮,进入复合筛选窗口。
实验室仪器设备数据管理系统的开发(1)
实验室仪器设备数据管理系统的开发(1)1引言近年来,随着计算机技术渗透到各个领域,利用计算机技术管理浩瀚的数据已成为数据管理的必然趋势。
数据库技术也随着迅速发展和得到广泛使用.满足各个领域要求的各种专业性的数据库也就应运而生。
实验室仪器数据就是其中一种,在国内外大型的实验室有很多设备,对这些仪器设备的管理就是非常繁重的事情,所以设计系统来管理这些仪器设备成为必然趋势[1~6]。
建立数据库具有功能强大、操作简便、快捷、方便等诸多优点.像CAS、NIST、Chemistry WebBook、ChemInfo Ultra5。
0、CHIN、万方数据等都是成功的说明。
基于目前化工原理实验室仪器设备的管理,设计开发了一套实验室仪器设备数据管理系统,通过该管理系统,可能很方便地实现对数据库的浏览、修改、查询和报表输出。
利用该管理系统能减轻管理人员的基础工作量,对提高工作效率和节约社会成本有很大的帮助. 2软件结构与功能 2.1系统运行环境要求本系统硬件开发环境为:奔腾Ⅲ或以上处理器;内存32M;声卡及音箱需安装软件:Windows98;Visual Basic6.0;Access2000 2.2程序结构与主要功能该系统软件具有查询、添加、修改、删除、报表等功能,程序结构图如图1所示. 3软件设计3。
1用Access建立数据库打开Access,在[新建数据库],选中[空数据库],再按[确定],进入数据库命名对话框,这里取名db,然后“确定",进入数据库表设计器,选取使用设计器创建表,双击进入表,依次添加字段名称并设定“数据类型”单击新建按钮,弹出“新建表”对话框,选中表对话框,选中“表向导",并按下“确定”按钮。
再在“表向导”窗口内选择15个任意字段,将字段依次修改为仪器编号、分类号、仪器名称、型号、规格、单价、出厂号、国别、厂家、出厂日期、购置日期、经费科目、现状、使用方向、备注,后设定主健为“实验室仪器设备数据管理系统”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
前言任何一个社会组织和企业公司在发展过程中都会产生大量的数据,这些数据的组织存储、分析统计有利于提高企业的发展,有利于提高企业的效率。
这些数据的组织和存储就是数据模型,就是数据库应用系统开发的任务。
数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理模式,并据此建立数据库及其应用环境,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。
随着现代企业规模的不断扩大,仪器仪表数量也相应的增加,有关仪器仪表的各种信息量也成倍增加,设计一个合理的仪器仪表管理系统已迫不及待,为此本课程设计设计了一个仪器仪表管理系统以供大型企业使用,但只设计了部分主要功能,详细细节还需完善。
目录第1章.概述 (3)1.1.项目背景 (3)1.2.编写目的 (3)1.3.软件设计 (3)1.4.开发环境 (4)第2章.需求分析 (5)1.1.系统目标设计 (5)1.2.本系统的开发设计思想 (5)1.3.数据流图 (5)1.4.数据字典 (6)第3章.概念结构设计 (12)第4章.逻辑结构设计 (15)第5章.软件功能设计 (18)第6章.界面设计 (19)第7章.小结 (21)第8章.参考文献 (22)第1章、概述1.1、项目背景:随着现代企业规模的不断扩大,仪器仪表数量也相应的增加,有关仪器仪表的各种信息量也成倍增加,面对着庞大的信息量,在大型企业里,传统的人工方式管理会导致仪器仪表管理上的混乱,人力与物力过多浪费,仪器仪表管理费用的增加,从而使企业的负担过重,影响整个企业的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的仪器仪表管理系统,对仪器仪表进行集中统一的管理。
另一方面,IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。
提高仪器仪表管理工作效率,做到信息的规范管理,科学统计和快速查询,让仪器仪表更好的为企业单位人员所使用。
1.2、编写目的:一方面设计一个仪器仪表管理系统,能够实现企业对自己的仪器仪表进行科学的管理。
该应用系统应能录入新的仪器仪表信息、借出、归还、维修仪器仪表信息。
并能够完成各种查询、统计工作,从而提高仪器仪表管理工作效率,满足企业该方面的需求。
另一方面也希望通过这次课程设计巩固自己所学的数据库基本原理,并且能够灵活运用所学知识设计一个具有简单功能的数据库系统,进一步掌握数据库原理的相关理论和数据库的设计实现过程,进一步提高自己的分析问题和解决问题的能力以及动手能力。
1.3、软件定义:软件是一系列按照特定顺序组织的计算机数据和指令的集合。
一般来讲软件被划分为系统软件、应用软件和介于这两者之间的中间件。
其中系统软件为计算机使用提供最基本的功能,但是并不针对某一特定应用领域。
而应用软件则恰好相反,不同的应用软件根据用户和所服务的领域提供不同的功能。
软件并不只是包括可以在计算机上运行的程序,与这些程序相关的文档一般也被认为是软件的一部分。
简单的说软件就是程序加文档的集合体。
数据库是常驻在计算机系统内的一组数据,它们之间的关系用数据模式来定义,并用数据定义语言来描述;数据库管理系统是使用户可以把数据作为抽象数据进行存取、使用和修改的软件。
在这次数据库课程设计中,仪器仪表管理系统软件应用在一家企业中,仅管理人员和高层人员可以访问,管理人员在本台计算机上使用,高层人员可通过企业内部网络使用。
1.4、开发环境:本课程设计应用的开发环境是SQL SERVER 2000。
SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS)。
SQL Server 是真正的客户机/服务器体系结构,它提供了图形化用户界面,使系统管理和数据库管理更加直观、简单。
附带了丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。
由于SQL Server 与Windows NT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等,而且SQL Server也可以很好地与Microsoft BackOffice产品集成。
另外,SQL Server具有很好的伸缩性,可跨越从运行Windows 95/98的笔记本电脑到运行Windows 2000的大型多处理器等多种平台使用。
再加上SQL Server对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。
第2章、需求分析2.1、系统目标设计通过一个仪器仪表管理系统,使仪器仪表的信息管理工作系统化、规范化、自动化,从而达到提高企业管理效率的目的。
2.2、本系统的开发设计思想系统应符合仪器仪表信息管理的规定,满足仪器仪表日常管理的工作需要,并达到操作过程中的直观、方便、实用、安全等要求;系统采用模块化程序设计方法,既便于各种查询、统计工作,又便于系统功能的修改,及时根据企业仪器仪表的变更信息进行数据的添加、删除、修改、查询等操作。
2、3、数据流图基于以上设计目标和设计思想,采用自顶向下、逐层分解的方式分析所需系统,将功能分解为若干子功能,每个子功能还可以继续分解,直到把系统工作过程表示清楚为止。
在处理功能逐步分解的同时,它们所用的数据也逐级分解,形成若干层次的数据流图,如下图所示。
图2.1总数据流图图2.2借用仪器仪表数据流图图2.3归还仪器仪表数据流图图2.4维修仪器仪表数据流图图2.5管理人员管理仪器仪表数据流图2.4、数据字典(部分)数据流图表达了数据和处理的关系,数据字典则是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。
数据字典在数据库设计中占有很重要的地位。
数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程5个部分。
其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑过程。
根据以上所得到的数据流图可得出如下数据字典。
第3章、概念结构设计在需求分析阶段所得到的应用需求应该首先抽象为信息世界的结构,才能更好地、更准确地用某一DBMS实现这些需求。
而概念结构能真实、充分地反映现实世界,能满足用户对数据的处理要求,是对现实世界的一个真实模型;而且易于理解,易于更改等。
它是各种数据模型的共同基础,而描述概念模型的有力工具是E-R模型。
所以根据前章的需求分析中数据流图和数据字典,可得出系统的总体概念模型(E-R)如图所示。
图3.1管理人员E-R图图3.2仪器仪表E-R图图3.3借用者E-R图图3.4维修人员E-R图图3.5维修E-R图图3.6借用E-R图图3.8总E-R图第4章、逻辑结构设计概念结构是独立于任何一种数据模型的信息结构。
逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。
由上章得到的E-R图,再根据E-R图向关系模型的转换,可得到如下关系模式(如表所示)。
仪器仪表信息表Instrumentation借用者信息表Borrowing管理人员信息表Operator维修人员信息表Serviceman借用仪器仪表信息表Borrow归还仪器仪表信息表Restore维修仪器仪表信息表Service第5章、软件功能设计当一个数据库已搭建成功,剩下的还有对数据库的软件功能设计,方便用户使用,下图为仪器仪表管理系统软件功能的总体框架。
通过仪器仪表管理系统管理人员可以简捷、方便的对仪器仪表记录查询、增加、删除等功能,对于大型企业来说,管理仪器仪表带来方便。
第6章、界面设计图6.1登陆界面图6.2仪器仪表管理系统界面图6.3仪器仪表信息界面图6.4借用办理界面第7章、小结数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理模式,并据此建立数据库及其应用环境,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。
任何一个社会组织和企业公司在发展过程中都会产生大量的数据,这些数据的组织存储、分析统计有利于提高企业的发展,有利于提高企业的效率。
这些数据的组织和存储就是数据模型,就是数据库应用系统开发的任务。
通过这次课程设计,确实学到了很多东西,也了解了如何设计一个数据库系统。
在具体的设计与实施中,我看到并感受到了一个管理系统从无到有的过程,对具体的设计步骤、思路、方法、技巧都有了进一步的了解,并感受深刻。
数据库设计分6个阶段:需求分析阶段,概念结构设计阶段,逻辑结构设计阶段,物理结构设计阶段,数据库实施阶段,数据库运行和维护阶段。
本课程设计主要注重前三个阶段,后面有软件功能设计和界面设计阶段。
在设计的过程中,遇到了许多难题,通过查资料,翻阅课本,询问老师,反复思考,最终完成课程设计。
但其中还有不完善的地方,个人的力量毕竟薄弱,以后还需继续努力学习这方面的知识,希望有更高的提高。
第8章、参考文献[1]王珊,萨师煊数据库系统概论(第4版)干等教育出版社2011[2] 温贤发﹒VB数据库程序设计高手[M]﹒科学出版社﹒2001[3] 钱雪忠,李京﹒数据库原理及应用(第三版)[M]﹒北京邮电大学出版社﹒2010[4] 萨师煊,王珊﹒数据库系统概论(第三版)[M]﹒高等教育出版社﹒2000[5] 王珊,陈红﹒数据库系统原理教程[M]﹒清华大学出版社﹒1998【本文档内容可以自由复制内容或自由编辑修改内容期待你的好评和关注,我们将会做得更好】。