A. Red Hat下怎么安装gcc编译器
选工作站模式会自动安装gcc编译器。
B. 单位预购CAD/CAE/CAM高端工作站配置工作站。望高手给出详细配置方案!
一.中小规模CAE前后处理求解的工作站配置
求解规模:100万~1000万自由度(300万节点以内)
工作站配置要求:
CPUCorei7920/940/965/975
内存6~12GBDDR3800
显卡QuadroFX580/QuadroFX1700
硬盘SATA300G以上7200转或1万转,可选RAID0、5
操作系统WindowsXP64位SP2中文版
XASUN四核静音级图形工作站
型号XASUNMi713012-T2AA
配置明细
主要配置 4核Corei73.06/12GB/Qadro600/1TBSATA
工作站硬件性能指标
CPU 运算速度每秒490亿次
GPU 几何三角形处理:2.1亿/秒,96个流处理器
磁盘阵列 IO读写带宽100MB/S,IOPS200次/秒
网络端口 1Gbps
硬件配置明细
配件 品牌和型号 数量
CPU 四核Corei7950 1
3.06G/8MB/6.4GTs/超线程/Turbo
芯片组 intelX58Chips 1
内存 2GDDR31333 6
显卡 NvidiaQuadro6001GB 1
系统盘 1TBSATA企业级7200转 2
光驱 DVD刻录机 1
网卡 千兆以太端口 1
工作站平台 XASUNAGEN2SG02P7V,700WEPS
噪音控制系统 静音级(全速计算在45分贝以内)
升级能力
显卡 支持NvidiaQuadro全系列专业图卡
内存槽 6个,单根内存最大12GB,最大容量12GB
硬盘位 2个,单块最大SATA:2TB
PCI扩展 1*PCIEx8,1*PCIEx4,1*PCI
操作系统
支持WindowsServer2003、2008
支持WindowsXP、Vista、7
应用软件
基于windows环境下高性能计算应用软件全系列
报价 ¥12,900元
二.CAE中大规模前后处理的工作站配置
求解规模:大约2000万自由度(600万节点以内)
工作站配置要求:
CPU双路12核XeonX5650X5660X5670
内存24GBDDR3-1333EccReg
显卡QuadroFX1800/QuadroFX3800
硬盘SAS300G15000转,可选RAID0、5
SATA32MB500G7200转,可选RAID0、10
操作系统WindowsXP64位SP2中文版
XASUN12核静音级工作站
型号XASUNT522724-T2AB
配置明细
主要配置
12核Xeon2.66/24GB/Qadro2000/450GSAS+1TB*2SATA
工作站硬件性能指标
CPU 运算速度每秒1277亿次
GPU 几何三角形处理:4.1亿/秒192流处理器
磁盘陈列 RAID5下,IO读写带宽200MB/S,IOPS200次/秒
网络端口 通过汇聚功能,实现20Gbps
硬件配置明细
配件 品牌和型号 数量
CPU 六核XeonX5650 2
2.66G/12MB/6.4GTs/超线程/Turbo
芯片组 intelS5520Chips
内存 4GDDR31333RegECC 6
显卡 NvidiaQuadro20001GB 1
系统盘 450G6GbpsSAS 1
超级硬盘系统 1TBSATA企业级 2
RAID0
光驱 DVD刻录机 1
网卡 千兆以太端口 2
工作站平台 XASUNSD6C105PAS,1000WEPS
噪音控制系统 静音级(全速计算45分贝以内)
硬件升级能力
显卡 支持NvidiaQuadro全系列专业图卡
内存槽 12个,单根内存最大16GB,最大容量192GB
硬盘位 4个,单块最大SAS:1TB、SATA:2TB
PCI扩展 1*PCIEx8,2*PCIEx4,3*PCI-X
操作系统
支持WindowsServer2003、2008
支持WindowsXP、Vista、7
支持Redhat、Suselinux全系列
应用软件
基于windows、linux环境下软件全系列
报价 ¥39,999元
三.CAE超大规模前后处理的工作站配置
求解规模:4000~1亿自由度(1000万节点以内)
工作站配置要求:
CPU双路12核XeonX5680
内存48G~96GDDR3-1333EccReg
显卡QuadroFX4800/QuadroFX5800
硬盘SAS450G15000转,可选RAID0、5、10
阵列卡硬SAS高速阵列卡
操作系统WindowsXP64位SP2中文版
XASUN顶级12核超静音图形工作站
型号XASUNEX523396-A64RD
配置明细
主要配置 12核Xeon3.33/96GB/Qadro5000/高速阵列
工作站硬件性能指标
CPU 运算速度每秒1598亿次
GPU 几何三角形处理:9.5亿/秒,352流处理器
磁盘阵列 RAID5下,IO读写带宽300MB/S,IOPS400次/秒
网络端口 通过汇聚功能,实现2Gbps
硬件配置明细
配件 品牌和型号 数量
CPU 六核XeonX5680 2
3.33G/12MB/6.4GTs/超线程/Turbo
芯片组 intelS5520Chips
内存 8GDDR31333RegECC 12
显卡 NvidiaQuadro50002.5GB 1
系统盘 450G6GbpsSAS 1
超级硬盘系统 450G6GbpsSAS 5
8口SAS2-RAID 1
光驱 DVD刻录机 1
网卡 千兆以太端口 2
工作站平台 XASUNSA6C107PBV,1200WEPS
噪音控制系统 静音级(全速计算45分贝以内)
硬件升级能力
显卡 支持NvidiaQuadro全系列专业图卡
内存槽 12个,单根内存最大16GB,最大容量192GB
硬盘位 8个热插拔,单块最大SAS:1TB、SATA:2TB
PCI扩展 1*PCIEx8,2*PCIEx4,3*PCI-X
操作系统
支持WindowsServer2003、2008
支持WindowsXP、Vista、7
支持Redhat、SuseLinux全系列
应用软件
基于windows、linux环境下应用软件全系列
报价 ¥115,000元
四.CAE超大规模前后处理---桌面静音集群配置
求解规模:1亿自由度以上
方案1:
类别 配置 数量 单位
集群硬件
主计算节点 19"标准,4U机架式 1 台
◇2颗6核XeonX56502.66GHz,12ML3,QPI6.4GTs
◇48GBDDR3-1333RECC
◇系统盘1块450G6GbpsSAS硬盘
◇阵列盘2块450G6GbpsSAS硬盘
◇双1000M以太网接口
◇1000WEPS电源
从计算节点 19"标准,4U机架式 3 台
◇2颗6核XeonX56502.66GHz,12ML3,QPI6.4GTs
◇24GBDDR3-1333RECC
◇系统盘1块300G6GpsSAS硬盘
◇双1000M以太网接口
◇1000WEPS电源
管理节点 19"标准,4U机架式 1 台
◇2颗四核XeonE56202.4GHz,12ML3,QPI5.86GTs
◇24GBDDR3-1333RECC
◇系统盘1块450G6GpsSAS硬盘
◇数据盘2块1000GSATA企业级
◇双1000M以太网接口
◇1000WEPS电源
交换机 16口千兆交换 1 台
KVM系统 8口KVM切换器 1 套
机柜 19"标准,含网络布线系统、散热系统、供电系统、导轨、托架,22U 1 套
稳压源 净化稳压电源5KVA 1 台
操作系统与软件部分
操作系统 WinHPCServer2008或Linux 5 套
并行环境 OpenMPI(支持Infiniband和以太网MPI环境); 1 套
编译器 INTEL/PGI编译器支持C和Fortran; 1 套
数据库 MPICH/Lam-MPI(支持千兆以太网的MPI环境); 1 套
应用软件 可选
总计 ¥198,000.00
备注 集群浮点运算速度:3400亿次/秒
方案2
类别 配置 数量 单位
集群硬件
主计算节点 19"标准,4U机架式 1 台
◇2颗6核XeonX56803.33GHz,12ML3,QPI6.4GTs
◇48GBDDR3-1333RECC
◇系统盘1块450G6GbpsSAS硬盘
◇阵列盘4块450G6GbpsSAS硬盘
◇阵列卡1块支持6GpsSAS硬盘,4内+4外接口
◇双1000M以太网接口
◇20GbpsINFINIBAND网卡
◇1000WEPS电源
从计算节点 19"标准,4U机架式 3 台
◇2颗6核XeonX56803.33GHz,12ML3,QPI6.4GTs
◇48GBDDR3-1333RECC
◇系统盘1块300G6GpsSAS硬盘
◇双1000M以太网接口
◇20GbINFINIBAND网卡
◇1000WEPS电源
管理节点 19"标准,4U机架式 1 台
◇2颗四核XeonE55202.26GHz,8ML3,QPI5.86GTs
◇24GBDDR3-1333RECC
◇系统盘1块300G6GpsSAS硬盘
◇数据盘2块1000GSATA企业级
◇双1000M以太网接口
◇20GbINFINIBAND网卡
◇1000WEPS电源
交换机 8-port4XDDRw/20Gb/s 1 台
MellanoxMCC4L30-003,3米长CX4接口铜缆
16口千兆交换 1 台
KVM系统 16口KVM切换器 1 套
机柜 19"标准,含网络布线系统、散热系统、供电系统、导轨、托架,22U 1 套
稳压源 净化稳压电源5KVA 1 台
操作系统与软件
操作系统 WinHPCServer2008或Linux 5 套
并行环境 OpenMPI(支持Infiniband和以太网MPI环境); 1 套
编译器 INTEL/PGI编译器支持C和Fortran; 1 套
数据库 MPICH/Lam-MPI(支持千兆以太网的MPI环境); 1 套
应用软件 可选
总计 ¥338,000.00
备注 集群浮点运算速度:4096亿次/秒
XASUN静音集群系统特点
硬件配备更高端,单节点速度最强
全球第一款采用12核Xeon5680高端处理器的集群
较之传统集群普遍使用L5520,浮点计算速度提升142%和147%%以上
48核Xeon3.33G全部参加计算,浮点处理速度:639.36Gflops,即6394亿次/秒
全球第一家采用SASII接口硬盘,大幅提升IO读写带宽
较之传统SAS3Gbps硬盘读写带宽提升80%以上
SASII硬盘直接读写带宽200MB/S,叫上一代SAS提升80%以上
独有的超静音技术和迷你架构,高性能真正进入办公环境
无论是白天还是黑夜,高速计算集群,与非常安静环境,完美融合在一起
面向办公环境,费用更低,维护更少
无需专门计算中心,无需专业的维护人员
使用简单,操作方便,开机就可计算
集群速度优异,成本更低廉
惠及更多办公环境计算需求
C. 如何解决linux下编译环境,运行环境不同的问题
基于Linux操作系统的应用开发环境一般是由目标系统硬件(开发板)和宿主PC机所构成。目标硬件开发板用于运行操作系统和系统应用软件,而目标板所用到的操作系统的内核编译、应用程序的开发和调试则需要通过宿主PC机来完成(所以称为交叉编译)。双方之间一般通过串口,并口或以太网接口建立连接关系。
但在此我建议构建如下的交叉编译环境,适合个人或研发小组使用:单独拿出一台PC机(PII以上即可,就用以前淘汰的旧机器就可以),在该PC上安装桌面的Linux操作系统(如Red Hat Linux 8.0及以上),可以采用默认的安装选项(注意要包含FTP服务),这台PC作为Linux服务器,除管理员以外,一般不直接让其他人去操作。
将该Linux服务器接入局域网,并新建一些合法用户,以便其他的PC机(在此我们将其称为工作站)的合法用户能访问到Linux服务器。而其他的PC机(工作站)仍然使用Windows操作系统,原来干啥继续干啥。
需要的软件工具包括:
1、FTP客户端程序(如Cuteftp,可到网上下载)。
2、Telnet工具(如SecureCRT,可到网上下载)。
3、移植到某一特定ARM平台的Linux操作系统内核源码(一般由销售商整理提供)。
4、GNU编译工具,可由相关网站下载,或由销售商整理提供。
在工作站安装:
在某工作站PC上安装FTP客户端程序和Telnet工具,安装完毕后应该可以在该工作站PC和Linux服务器之间进行文件的传输,并在工作站PC可以通过Telnet登陆到Linux服务器(可能需要将Linux服务器的防火墙服务关闭才能完成)。
在Linux服务器安装:
将工作站PC上的Linux操作系统内核源码压缩包和GNU编译工具通过FTP传送到Linux服务器的某个目录(如合法的用户目录),然后在该目录下解压,并将GNU编译工具安装到默认的工作目录即可,以上工作通过在工作站PC使用Telnet工具完成,而不需要在Linux服务器上进行。
Linux操作系统内核的编译:
Linux操作系统内核的编译一般有一个比较固定的步骤,会根据MakeFile文件的不同而略有差异,可参考相关文档,编译的工作在工作站PC使用Telnet工具完成。
D. 工作站的功能
由计算机和相应的外部设备以及成套的应用软件包所组成的信息处理系统。它能够完成用户交给的特定任务,是推动计算机普及应用的有效方式。工作站应具备强大的数据处理能力,有直观的便于人机交换信息的用户接口,可以与计算机网络相连,在更大的范围内互通信息,共享资源。工作站在编程、计算、文件书写、存档、通信等各方面给专业工作者以综合的帮助。常见的工作站有计算机辅助设计 (CAD)工作站(或称工程工作站),办公自动化(OA)工作站,图像处理工作站等。不同任务的工作站有不同的硬件和软件配置。
例如,一个小型CAD工作站的典型硬件配置为:普通计算机,带有功能键的CRT终端,光笔,平面绘图仪,数字化仪,打印机等。软件配置为:操作系统,编译程序,相应的数据库和数据库管理系统,二维和三维的绘图软件,以及成套的计算、分析软件包。它可以完成用户提交的各种机械的、电气的设计任务。
OA工作站的主要硬件配置为:普通计算机,办公用终端设备(如电传打字机、交互式终端、传真机、激光打印机、智能复印机等),通信设施(如局部区域网)、程控交换机、公用数据网、综合业务数字网等)。软件配置为:操作系统,编译程序,各种服务程序,通信软件,数据库管理系统,电子邮件,文字处理软件,表格处理软件,各种编辑软件以及专门业务活动的软件包,如人事管理、财务管理、行政事务管理等软件,并配备相应的数据库。OA工作站的任务是完成各种办公信息的处理。
图像处理工作站的主要硬件配置为:顶级计算机,一般还包括超强性能的显卡(由于CUDA并行编程的发展所致);图像数字化设备(包括电子的、光学的或机电的扫描设备,数字化仪),图像输出设备,交互式图像终端。软件配置除了一般的系统软件外还要有成套的图像处理软件包。它可以完成用户提出的各种图像处理任务。越来越多的计算机厂家在生产和销售各种工作站。
E. 什么样的工作站配置适合Android系统级编译
ips 每秒钟虚拟的指令数.该值为Bochs在您的机器能够虚拟的IPS的值.你可以使用—enable -show-ips选项编译bochs来找到您的工作站的性能.该IPS将会被存储到日志文件或者显示在状态栏中(如果支持GUI). IPS用于校准Bochs模拟过程中的许多与时间有关的事件.比如,改变IPS会影响到VGA更新的频率,当按住一个键时自动重复的时间,BogoMips以及其他benchmarks的结果.下表列出了各种机器常规的IPS设定. 我下载的bochsrc.txt默认是ips=6000000 你准备要运行什么系统。
F. 编译安卓源码,需要工作站级别的电脑吗比如至强e5平台12核24线程或双路24核48线程。
编译又不是渲染,又不吃配置。这么高端的电脑有毛用。
G. 主要用于分子模拟计算,该怎么选购工作站
技术过硬可以买部件自己装,自己装唯一的好处就是省钱,但是像保修这些就不好整了。虽然各部件都是有保修的,但是要搞清楚哪个部件损坏还是挺麻烦的。懂的话自己装也无妨,要是我买会倾向于自己折腾。既然您提问了,应该是不大了解这方面。如此,直接买整机吧。
如果买整机,在预算多的情况下,可以买大品牌,大牌子的优势就是售后方便。大品牌机子一般会比我们自己组装的贵2~3倍吧。其实,大品牌的机器也是组装起来的,只是多了些测试环节。
如果预算紧张的话,要考虑性价比的话,可以去网络搜或者上某宝买些其他牌子吧,这更划算,只是记得要选正规的,这个自己判断。无论是大牌子还是小牌子,机器内部的部件都是一样的、没有任何差别,毕竟能制造机器内部部件,如处理器、显卡这些,全球也就几家。所以,只要确保机器内部部件是全新的就没问题了。
具体一些的话就是,做计算的,大家多用的Intel的处理器吧,我们老师两台都是Intel的。AMD的没怎么了解过。详细参数,如处理器架构、核心数、频率,还有内存、硬盘等相关参数,网上一搜一大把,反正就是规格越高性能越好,同时价格也高。但是,需要记住的是,电子产品几乎都如此,就是处于中端的产品一般性价比是较高的。反正就是自己详细斟酌。
还有,就跑分子动力学来说,其实最重要的是要有显卡(计算卡)加速。跑分子动力学,一块不错的显卡(计算卡)的计算速度可以是十多核心CPU的几十倍。比如在Amber18下,使用Tesla V100 加速卡,对于20000万原子左右的体系,在NVE下能做到每天900纳秒的水平。但是,一张专业的计算卡通常要好几万,市面上有些牌子会用消费级显卡来加速分子模拟,而其速度也能达到十多核心CPU的十倍以上,所以这是可以考虑的。大多分子模拟软件都支持GPU加速,比如Amber,Gromacs等,只是需要额外编译软件的GPU加速版本。如果计算任务多是分子模拟的话,CPU方面可以不用下太多成本,十多核心差不多,预算多也可以往上加。如果涉及的量化计算比较多就要考虑提高CPU的配置了。还有,就是我们老师最新那台就是网上买的,具体什么牌子就不说了,除了整机还带计算环境的安装,感觉还可以,也是刷新了我的认知,没想到还有专门提供这方面服务的。
H. 如何组建一个无盘工作站,具体步骤
无盘工作站构架指南2(5-10)
5、486运行Win2000?无盘工作站
你想用486机运行Win2000吗?你想不买终端卡组建无盘Win2000网络吗?好了,请跟我来吧。根据本人长期的组网实践经验,总结出一套完整的无盘Win2000方案,给大家分享!
首先说说大致工作原理:
主要先通过Win2000远程无盘引导Win32工作站,再利用Win2000终端服务和终端连网软件从无盘win32中登陆到终端服务器上。
请看以下具体步骤:
一、硬件配置:
1.服务器:建议CPU PIII500 以上、256M内存,硬盘15G以上(经济允许的话最好用SCSI)因为服务器是整个网络核心的核心,所以配置一定要好。
2.工作站:低配置的486,586即可。笔者这里是奔腾75,8M内存,无硬盘。
二、安装步骤:
1.首先把服务器装好Win2000 Server,并配置好所有硬件。
2.为window2000安装终端服务。
打开控制面版---添加/删除程序---添加/删除Windows组件--选中Windows终端服务确定。安装时要放入Win2000光盘.
3.在服务器上安装MetaFrame。Metaframe是citrix公司在Win2000下的终端服务器他比Win2000的终端服务更加强大,提供多种客户终端接入服务。
4.安装好Metafrmae后,开始制作终端客户安装软盘.
开始---程序---Metaframe tools---Ica client creator----Ica Client For win3x
5.为Win2000添加远程启动服务。由于Win2000已经不在支持远程启动服务。因此,我们考虑将NT4的远程启动服务移植到Win2000中。可到凌心之 家(www.lingxin-home.com)或我的主页(networld2001.8u8.com)去下载远程服务安装工具。
6.在Win2000下依次配一台Dos、win32无盘站.方法与nt下一模一样,别告诉我你不会配置.不会的,以下就不用看了。
7.以无盘win32启动工作站,把第4步制作的终端客户盘安装在无盘站上。
8.配置客户端。双击citrix图标,建立一个新连接,这里注意:要填好主机名(服务器名称),协议选择Netbios,的其它全部用他的默认就可以了。
9.建立连接完成后,双击刚才建立的连接,就出现梦寐以求的Win2000桌面了。你可以运行任何在服务器的软件了!
6、安装Linux无盘工作站
[文章导读]
其实Linux 对远程引导的支持非常好,Linnx内核自身又支持网络文件系统,因此非常适合做无盘工作站,本文将以一个实例向大家详细介绍无盘Linux工作站的安装办法。
[正文]
当年Novell下的无盘DOS工作站很是流行,后来又流行过Win95无盘工作站,只是由于问题多多,后来微软自己停止了对无盘Windows的支持。随着Linux的日益流行,使用Linux的人越来越多,其实Linux 对远程引导的支持非常好,Linnx内核自身又支持网络文件系统,因此非常适合做无盘工作站,本文将以一个实例向大家详细介绍无盘Linux工作站的安装办法。
这个网络是一个小的局域网,有1台服务器和4台 Linux 无盘工作站,彼此之间用双绞线通过HUB连接,服务器的IP地址定为192.168.0.80 ,名字是server ,5台无盘工作站的地址由服务器动态分配,地址范围从 192.168.0.1 到192.168.0.4 ,名字分别是c1,c2, c3,c4,服务器和无盘工作站使用的都是NE2000 兼容网卡,无盘工作站使用的网卡上都安 装了BOOTROM 启动芯片,服务器操作系统安装的是 RedHat Linux 6.0 ,安装时选用定制安装,并安装了全部软件。
Linux的远程引导有两种方式,一是利用Bootp协议,有一个专门的项目EtherBoot 提供支持(http://www.slug.org.au/etherboot/),这种方式引导 Linux 的速度是最快的,但这种方式有一个最大的问题,就是在市场上找不到支持这种远程引导协议的 BOOTROM 启动 芯片(除非自己刻录),因为市场上几乎所有的 BOOTROM 启动芯片都是遵循NOVELL远程引导 协议的,于是有人提出另外一种方式,就是服务器端用 NetWare 服务器,客户端就可以用现 有的BOOTROM 启动芯片了,说到这里大家一定胡涂了,作Linux无盘工作站岂不是还一台 NetWare 服务器?不是的,因为神通广大的 Linux 可以模拟 NetWare 服务器,就象Samba 可以把 Linux 模拟成 NT 一样,mars_nwe 可以把 Linux 模拟成 NetWare,不仅能提供 NetWare 文件和打印服务,还能提供远程引导支持(知道Linux的厉害了吧),本文讲述的 Linux 无盘工作站就是用这种方式作远程引导的。
准备启动盘
由于在 Linux 下没有制作符合 NetWare 远程引导协议启动映象的工具,所以只能用早期的Win95提供的工具(遗憾)。找一台装有 Win95 的机器启动后按 F8 进入纯DOS方式,格式化一张启动盘 format a: /s ,然后将RedHat Linux安装光盘上 dosutils 目录下的 loadlin.exe复制到启动盘,在启动盘上作一个 autoexec.bat 文件,代码只有一行 loadlin.exe bzImage root=/dev/nfsroot从 Windows 95 安装光盘的 Win95 目录下的cab文件中解出 rplboot.sys 文件放在启动 盘上,命令如下:
extract.exe /a /l a:\ win95-27.cab rplboot.sys
一张用来做启动映象的启动盘就作好了,保存好启动盘,以后作启动映象时会用到它。
编译内核
用于无盘工作站的Linux内核与用于从本地硬盘引导的Linux内核是不同的,无盘工作站的内核必须支持NFS作为根文件系统,即远程根文件系统,所以必须编译无盘工作站专用的内核。笔者使用的内核代码版本是2.2.16,将内核源代码解压到/usr/src下, cd /usr/src/linux 进入内核子目录,执行命令make menuconfig 进行内核编译配置,下列项目必须按要求设置:
Processor type and features 该项目下面的选项必须根据无盘工作站的CPU类型设置,而不是根据服务器的CPU类型设置
Loadable mole support 该项目下面的所有选项都禁止,即不支持模块功能
Plug and Play support 设置为有效
Block devices 该项目下面的
Loopback device support
Network block device support
都设置为有效
Networking option 该项目下面的
kernel level autoconfiguration
DHCP support (NEW)
都设置为有效
Network device support 该项目下面的选项必须根据无盘工作站使用的网卡进 行设置,本例中使用的是NE2000兼容网卡,选项
Ethernet (10 or 100Mbit)
Other ISA cards
NE2000/NE1000 support (NEW)
都设置为有效
Filesystems 该项目下面的Network File Systems子项目下面的
NFS filesystem support
Root file system on NFS (NEW)
都设置为有效
以上设置完成后,退出内核编译设置程序,会出现一个对话框:Do you wish to save your new kernel configuration?
然后执行 make dep && make bzImage 进行内核编译,这个过程得花一点时间,特别是如果计算机的速度不快的话,花的时间会更长一些。编译内核如果没有错误,会得到内核映象文件/usr/src/linux/arch/i386/boot/bzImage ,将启动软盘插入计算机,执行下面的命令 mount -t vfat /dev/fd0 /mnt/floopy cp /usr/src/linux/arch/i386/boot/bzImage /mnt/floppy umount /dev/fd0
好了,启动盘上的文件都准备齐全了,等会儿用它到Win95环境下制作启动映象。
服务器设置
服务器端需要运行nfsd、dhcpd、mars_new等几个服务进程,这些软件在ReHat Linux 发行套件里都有,如果在安装 Linux 的时候选择全部安装,这些软件都会随着安装操作 系统而装好了,下面对这些软件进行设置,注意,下面的操作要以 root 身份进行。
1、 NFS 守护进程nfsd
首先要建立几个供无盘工作站使用的目录,并通过nfsd 导出,命令如下:
mkdir /tftpboot
然后编辑文件 /etc/hosts ,加入下面的内容
192.168.0.80 server server.domain
192.168.0.1 c1 c1.domain
192.168.0.2 c2 c2.domain
192.168.0.3 c3 c3.domain
192.168.0.4 c4 c4.domain
第一台工作站的工作目录设置方法如下:
mkdir /tftpboot/192.168.0.1
cd /tftpboot/192.168.0.1
c000p -a /bin .
cp -a /dev .
mknod dev/nd0 b 43 0
chmod 600 dev/nd0
cp -a /etc .
cp -a /home .
cp -a /lib .
rm -rf lib/moles
cp -a /root .
cp -a /sbin .
cp -a /var .
mkdir proc
mkdir usr
mkdir tmp
chmod 777 tmp
touch fastboot
chattr +i fastboot
cd etc
编辑文件 sysconfig/network-scripts/ifcfg-eth0
保留其中的
DEVICE=eth0
ONBOOT=yes
其余的行全部删除,然后增加一行
BOOTPROTO=dhcp
编辑文件 rc.d/rc.sysinit ,在文件最后加上两行
mount -t nfs server:/usr /usr
/usr/X11R6/bin/xfs
编辑文件 fstab
保留其中的
none /proc proc defaults 0 0
其余的行全部删除,然后增加一行
server:/tftpboot/192.168.0.1 / nfs defaults 1 1
其它工作站的工作目录设置方法就简单多了
cd /tftpboot
cp -a 192.168.0.1 192.168.0.2
cp -a 192.168.0.1 192.168.0.3
cp -a 192.168.0.1 192.168.0.4
编辑文件 /etc/exports ,加入以下内容
/usr (ro,no_root_squash)
/tftpboot/192.168.0.1 (rw,no_root_squash)
/tftpboot/192.168.0.2 (rw,no_root_squash)
/tftpboot/192.168.0.3 (rw,no_root_squash)
/tftpboot/192.168.0.4 (rw,no_root_squash)
2、动态主机配置协议服务器 dpchd
检查一下文件/etc/dhcpd.leases是否存在,若不存在就用命令touch /etc/dhcpd.leases 创建一个,然后编辑文件 /etc/dhcpd.conf ,加入以下内容
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.1 192.168.0.4;
}
3、NetWare 模拟器 marsw_nwe
编辑文件 /etc/nwserv.conf,找到下面的行
# 4 0x10 eth0 802.3 1
将该行开头的'#'去掉,再找到
4 0x0 * 802.3 1
在该行开头加上'#'
制作启动映象
进入Win95,将Win95(早期的版本,可以用服务器安装方式安装)安装光盘的admin\nettools\netsetup\rplimage.exe 复制到硬盘,将启动软盘插入软驱,然后在纯MSDOS方式下执行 rplimage a: 就会得到启动映象 net$dos.sys,再将启动映象 net$dos.sys 复制到启动盘上(如果启动盘空间不够,可以先删除启动盘上的一些文件以留出空间)。
启动 Linux 服务器,以 root 用户登录,将启动软盘插入软驱,执行下面的命令 mount -t vfat /dev/fd0 /mnt/floppy cp /mnt/floppy/net\$dos.sys /var/mars_nwe\sys\login umount /dev/fd0 然后执行 setup ,移动光棒至 System services 选项回车,出现 Services 设置画面,将dhcpd,nfs,mars-nwe 都设为有效,退出 setup 程序,执行以下的命令以启动上述服务进程:
/etc/rc.d/rc3.d/*mars-nwe restart
/etc/rc.d/rc3.d/*dhcpd restart
/etc/rc.d/rc3.d/*nfs restart
下一次再启动服务器时,上述服务进程会自动执行。
至此,所有的设置工作全部完成了,联好网络随便打开一台无盘工作站,稍等一下,出现远程引导的信息,接着会启动 Win95,接下来很快就会装载 Linux ,在一大堆 Linux 的启动信息之后如果看到 Linux 的登录提示,就说明远程启动成功了。
Linux 无盘工作站虽然运转起来了,但还有一个问题,就是交换的问题,因为Linux 是一个支持虚拟存储的操作系统,当机器内存不够时,Linux 就会把内存中暂时不用的数 据换出到交换设备上,等需要时再换回来,刚才我们没有设置交换区,在无盘工作站上用 free 命令就会发现交换区为零,如果无盘工作站内存较大,运行一些不大的程序,没有交换区还是可以的,但若运行大型程序就会出问题,下面介绍在服务器上设置交换区即远 程交换的方法。
对于2.1.101版以前的内核,要实现远程交换可有点费事,得从网络上下载有关的补丁来修改内核代码,然后再编译内核映象。从2.1.101版后的内核支持网络块设备,这样,实现远程交换就容易了。首先编译内核时要使 Network block device support 选项有效(刚才编译内核时就是这么作的),再从http://atrey.karlin.mff.cuni.cz/~pavel/nbd/nbd.html 下载实用程序 nbd.14.tar.gz ,执行下面的命令
tar zxvf nbd.14.tar.gz
cd nbd
./configure
make
编译完后会得到文件 nbd-server 和 nbd-client,将它们复制到 /usr/sbin 下面:
cp nbd-server nbd-client /usr/sbin
然后编辑文件 /etc/rc.d/rc.sysinit,在文件最后加上一行
/usr/sbin/nbd-server 7999 /tftpboot/%s/swap > /dev/null &
执行刚才的命令激活nbd服务:
/usr/sbin/nbd-server 7999 /tftpboot/%s/swap > /dev/null &
下一次服务器启动时,上述命令会自动执行。
再在服务器上每个工作站目录(/tftpboot/192.168.0.1,/tftpboot/192.168.0.2等等)下为各个无盘工作站建立交换文件,命令如下(本例中交换区大小为32M):
dd if=/dev/zero of=swap count=32768 bs=1024
mkswap swap
在每个工作站目录下文件 /etc/rc.d/rc.sysinit 的最后加上两行
/usr/sbin/nbd-client server 7999 /dev/nd0
swapon /dev/nd0
就这么简单,再打开无盘工作站试一试启动成功后登录系统,执行命令 free 就会看到在显示信息的最后有这样一行:
Swap: 32764 XX XXXX
这说明交换区设置成功了。
通过以上步骤,一个完整的 Linux 无盘工作站网络就作好了,Linux 无盘工作站的用法很灵活,既可以象使用普通有盘工作站一样使用,还可以把无盘工作站当成别的 Unix 主机的终端,特别是可以作为 X 终端,运行远程 Unix 主机上的 X 应用。
7、实战Linux无盘工作站
[文章导读]
本文将详细叙述一下建立linux无盘工作站的步骤。
[正文]
LINUX无盘工作站的建立,需要作客户端和服务器端两方面的工作,本文将详细叙述一下建立linux无盘工作站的步骤。
一.无盘工作站客户端
这部分的主要任务是做一个EPROM的启动文件,还包括一个处理Linux内核的工具mknbi-linux。有两个package:etherboot和netboot可供选用, etherboot对网卡型号有要求,支持的网卡种类不算很多,但对最常用的网卡如3c503/507/509/905b、NE1000/2000/PCIne2000、Intel eepro等基本上都能支持;Netboot可以用ndis或pktdrv,这些文件一般在随卡附带的驱动盘上都有,但这仅限于网络启动,对网卡的要求首先是Linux能识别。
以下步骤所述适用于etherboot;
1. 展开etherboot,进入src-32,编辑Config。有许多选项可以让你做多重启动、显示信息、询问口令之类的事情,这时你需要做的是用bootp代替dhcp,即在Config中定义-DNO_DHCP_SUPPORT设置。因为我们打算在服务器端用bootp,所以这是必须的,否则在启动时会因为未能寻找到dhcp server而启动不了。如果你准备在服务器端使用dhcp,那么这一步就不需要了。
2. make。对每种网卡都会生成两个文件 .rom和 .lzrom,后者是压缩过的。
3. 使用软盘启动验证所作的启动ROM没问题,假设你用的网卡是ne2000兼容的:
cat ../src/floppyload.bin ne.lzrom > /dev/fd0
如用软盘启动,系统能探测到你的网卡并发出bootp请求。如果一切OK,你就可以把ROM文件刻写到EPROM里了。
4. cd ../netboot*;make;make install。make如果出错,解决办法是把系统中的bcc改名,然后将gcc连接成bcc,再重新make。最后在系统中会增加一个程序mknbi-linux,这是用来处理linux内核的,在服务器端设置部分会讲它的用法。
客户端的工作完成了。
二、服务器端:
假设你的无盘工作站ip为10.0.0.1; 机器名为dc1.subnet.net,另一台无盘工作站ip为10.0.0.2,机器名为dc2.subnet.net, 服务器ip为10.0.0.254,名为server.subnet.net。
1. 修改/etc/hosts,增加dc1.subnet.net,dc2.subnet.net
2. 取得bootp-2.x.x,展开后注意把带的各种patch都打上。然后make; make install
3. 建立/etc/bootptab,如下:
global.prof:
:sm=255.255.255.0:
:bf=/tftpboot/vmlinuz.nb:
dc1:tc=global.prof:ha=0000c0863d7a:ip=10.0.0.1:
dc2:tc=global.prof:ha=0800110244e1:ip=10.0.0.2:
ha用无盘工作站网卡的MAC地址代替。
4. 修改inetd.conf,去掉bootpd和tftpd的#号,如下:
tftp dgram udp wait root /usr/sbin/tcpd tftpd –s /tftpboot
bootps dgram udp wait root /usr/sbin/tcpd bootpd -i
kill –HUP `cat /var/run/inetd.pif`
5. 建立/tftpboot/10.0.0.1,cd /tftpboot/10.0.0.1,
(cd /; tar cpf – lib sbin bin var etc dev)| tar xpf –
mkdir usr; mkdir tmp; chmod 1777 tmp; mkdir home;mkdir root; makdir
proc; mkdir mnt
6. touch fastboot; chattr +i fastboot
(fstab 中 / 和 /usr 的最后一项设成0,也许不需要这一步了,但我没试过)
以下是一个shell script,可用于自动执行以上操作。
#!/bin/sh
if [ $# != 1 ]
then
echo Usage: $0 client-IP-addr
exit 1
fi
cd /
umask 022
mkdir -p /tftpboot/$1
# just make these ones
for d in home mnt proc tmp usr
do
mkdir /tftpboot/$1/$d
done
chmod 1777 /tftpboot/$1/tmp
touch /tftpboot/$1/fastboot
chattr +i /tftpboot/$1/fastboot
# these ones
(cd /; tar cpf - bin lib sbin dev etc var) | (cd /tftpboot/$1; tar xpf -)
7. 删除var下一切不需要的东西, 减小空间。删除lib/moles下一切不需要的模块。
8. 修改etc/sysconfig/network,etc/sysconfig/network-scripts/ifcfg-eth0,
etc/fstab,etc/conf.mole
fstab中指明root在服务器server上,like this
server:/tftpboot/10.0.0.1 / nfs default 0 0
server:/usr /usr nfs default 0 0
9. 配置etc/rc.d/rc3.d,关掉一切不需要的网络服务。
10. 删除etc/rc.d/rc6.d/K??network。
11. 修改etc/rc.d/rc.sysinit,寻找“mount –a –t nonfs,smbfs…"改成
“mount.–a –t nosmbfs…"
12. mkdir /tftpboot/10.0.0.2; cd /tftpboot/10.0.0.2;
13. 修改etc/sysconfig/network,etc/sysconfig/network-scripts/ifcfg-eth0,
etc/fstab,etc/conf.mole
14. cd /etc; vi exports;
/usr dc*.subnet.net(ro)
/tftpboot/10.0.0.1 dc1.subnet.net(rw,no_root_squash)
/tftpboot/10.0.0.2 dc2.subnet.net(rw,no_root_squash)
exportfs –a
15. 编译一个新内核,必须包含以下特性:
NFS filesystem 支持
Root on NFS 支持
Bootp 支持
无盘工作站所用的网卡型号支持
编译出新内核之后,用mknbi-linux处理,
mknbi-linux bzImage vmlinuz.nb
将vmlinuz.nb放在/tftpboot下即可。
至此,服务器端的工作就完成了。
注意事项:
1. 如果你打算在服务器端用dhcp,需要自己配置,参看dhcp的文档。
2. Rh6.1自带一个bootparamd,也应该能完成同样的工作,但在manual中语焉不详,不知该如何设置。
3. 服务器端 / 和 /usr 最好单独分区。
4. etherboot的文档上说对有些网卡比如PCI NE2000兼容网卡,可能需要调整Makefile中的vendor信息和ID信息,我还未试过。
启动你的无盘工作站,如一切操作无误的话,工作站则应该能启动起来。启动过程中如果有一些地方不顺利,可以在启动之后对无盘工作站上按一般方法进行设置。
希望以上的讲述能给读者有所帮助和启迪!
8、Linux无盘工作站架设实例
后面还有实例你自己看吧!
I. 彻底绝望!!!c语言编译器就那么难下吗!!!!!!!!
直接装上VC不就行了吗?如果是linux操作系统,一般安装时都安装了GCC,不用下载呀。
J. 求一份用TC编译的图书管理系统程序
图书馆管理系统
摘 要
图书管理系统是典型的信息管理系统(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组件
24
37
§5.2 数据模块窗体的设置 ……………………………………………………… 第一章 绪 论
§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实际上是没有什么意义的。因为我们按规范化建立的指标体系和表的过程都自动保证了所有?/div>