1. 学习操作系统的知识,看哪本书好
一个操作系统的实现。
1、进程管理,其工作主要是进程调度,在单用户单任务的情况下,处理器仅为一个用户的一个任务所独占,进程管理的工作十分简单。但在多道程序或多用户的情况下,组织多个作业或任务时,就要解决处理器的调度、分配和回收等问题 。
2、存储管理分为几种功能:存储分配、存储共享、存储保护 、存储扩张。
3、设备管理分有以下功能:设备分配、设备传输控制、设备独立性。
4、文件管理:文件存储空间的管理、目录管理 、文件操作管理、文件保护。
5、作业管理是负责处理用户提交的任何要求。
从使用者角度来说,操作系统可以对计算机系统的各项资源板块开展调度工作,其中包括软硬件设备、数据信息等,运用计算机操作系统可以减少人工资源分配的工作强度,使用者对于计算的操作干预程度减少,计算机的智能化工作效率就可以得到很大的提升。
2. 关于java学习,有什么书籍或者教程推荐不啦
Java视频推荐:
Java学习路线:
javase->数据库->jdbc->前端基础->jquery->javaweb->spring->mybatis->maven->springboot->springcloud->redis->git->linux
由于发不了链接,可以去最后面的原文链接里面去看
《2020最新Java基础精讲视频教程和学习路线!》
JavaSE:
Java开发环境的搭建提取码:32nt
Java语法基础提取码:jv4i
Java条件结构提取码:w6pd
Java循环结构提取码:ctax
Java 数组提取码:eib9
核心面向对象提取码:xhq4
Java常用类库提取码:7ov7
IO流输入输出提取码:u4h5
Java多线程提取码:mniv
网络编程提取码:a0nx
高级扩展提取码:0mqv
《Head First Java》(推荐,豆瓣评分 8.7,1.0K+人评价): 可以说是我的 Java 启蒙书籍了,特别适合新手读当然也适合我们用来温故 Java 知识点。
《Java 核心技术卷 1+卷 2》(推荐): 很棒的两本书,建议有点 Java 基础之后再读,介绍的还是比较深入的,非常推荐。这两本书我一般也会用来巩固知识点,是两本适合放在自己身边的好书。
《JAVA 网络编程 第 4 版》: 可以系统的学习一下网络的一些概念以及网络编程在 Java 中的使用。
《Java 编程思想 (第 4 版)》(推荐,豆瓣评分 9.1,3.2K+人评价):大部分人称之为Java领域的圣经,但我不推荐初学者阅读,有点劝退的味道。稍微有点基础后阅读更好。
《Java 并发编程之美》(推荐):2018 年 10 月出版的一本书,个人感觉非常不错,对每个知识点的讲解都很棒。
《Java 并发编程的艺术》(推荐,豆瓣评分 7.2,0.2K+人评价): 这本书不是很适合作为 Java 并发入门书籍,需要具备一定的 JVM 基础。我感觉有些东西讲的还是挺深入的,推荐阅读。
《实战 Java 高并发程序设计》(推荐,豆瓣评分 8.3): 书的质量没的说,推荐大家好好看一下。
《Java 高并发编程详解》(豆瓣评分 7.6): 2018 年 6 月出版的一本书,内容很详细,但可能又有点过于啰嗦,不过这只是我的感觉。
《深入理解 Java 虚拟机(第 2 版)周志明》(推荐,豆瓣评分 8.9,1.0K+人评价):建议多刷几遍,书中的所有知识点可以通过 JAVA 运行时区域和 JAVA 的内存模型与线程两个大模块罗列完全。
《实战 JAVA 虚拟机》(推荐,豆瓣评分 8.0,1.0K+人评价):作为入门的了解 Java 虚拟机的知识还是不错的。
《Java 8 实战》(推荐,豆瓣评分 9.2 ):面向 Java 8 的技能升级,包括 Lambdas、流和函数式编程特性。实战系列的一贯风格让自己快速上手应用起来。Java 8 支持的 Lambda 是精简表达在语法上提供的支持。Java 8 提供了 Stream,学习和使用可以建立流式编程的认知。
《Java 8 编程参考官方教程》(推荐,豆瓣评分 9.2):也还不错吧。
《重构_改善既有代码的设计》(推荐):豆瓣 9.1 分,重构书籍的开山鼻祖。
《Effective java 》(推荐,豆瓣评分 9.0,1.4K+人评价):本书介绍了在 Java 编程中 78 条极具实用价值的经验规则,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。通过对 Java 平台设计专家所使用的技术的全面描述,揭示了应该做什么,不应该做什么才能产生清晰、健壮和高效的代码。本书中的每条规则都以简短、独立的小文章形式出现,并通过例子代码加以进一步说明。本书内容全面,结构清晰,讲解详细。可作为技术人员的参考用书。
《代码整洁之道》(推荐,豆瓣评分 9.1):虽然是用 Java 语言作为例子,全篇都是在阐述 Java 面向对象的思想,但是其中大部分内容其它语言也能应用到。
阿里巴巴 Java 开发手册(详尽版)https://github.com/alibaba/p3c/blob/master/阿里巴巴 Java 开发手册(详尽版).pdf
Google Java 编程风格指南:http://www.hawstein.com/posts/google-java-style.html
《图解 HTTP》(推荐,豆瓣评分 8.1 , 1.6K+人评价): 讲漫画一样的讲 HTTP,很有意思,不会觉得枯燥,大概也涵盖也 HTTP 常见的知识点。因为篇幅问题,内容可能不太全面。不过,如果不是专门做网络方向研究的小伙伴想研究 HTTP 相关知识的话,读这本书的话应该来说就差不多了。
《HTTP 权威指南》(推荐,豆瓣评分 8.6):如果要全面了解 HTTP 非此书不可!
《鸟哥的 Linux 私房菜》(推荐,,豆瓣评分 9.1,0.3K+人评价):本书是最具知名度的 Linux 入门书《鸟哥的 Linux 私房菜基础学习篇》的最新版,全面而详细地介绍了 Linux 操作系统。全书分为 5 个部分:第一部分着重说明 Linux 的起源及功能,如何规划和安装 Linux 主机;第二部分介绍 Linux 的文件系统、文件、目录与磁盘的管理;第三部分介绍文字模式接口 shell 和管理系统的好帮手 shell 脚本,另外还介绍了文字编辑器 vi 和 vim 的使用方法;第四部分介绍了对于系统安全非常重要的 Linux 账号的管理,以及主机系统与程序的管理,如查看进程、任务分配和作业管理;第五部分介绍了系统管理员 (root) 的管理事项,如了解系统运行状况、系统服务,针对登录文件进行解析,对系统进行备份以及核心的管理等。
《大话数据结构》(推荐,豆瓣评分 7.9 , 1K+人评价):入门类型的书籍,读起来比较浅显易懂,适合没有数据结构基础或者说数据结构没学好的小伙伴用来入门数据结构。
《数据结构与算法分析:C 语言描述》(推荐,豆瓣评分 8.9,1.6K+人评价):本书是《Data Structures and Algorithm Analysis in C》一书第 2 版的简体中译本。原书曾被评为 20 世纪顶尖的 30 部计算机着作之一,作者 Mark Allen Weiss 在数据结构和算法分析方面卓有建树,他的数据结构和算法分析的着作尤其畅销,并受到广泛好评.已被世界 500 余所大学用作教材。
《算法图解》(推荐,豆瓣评分 8.4,0.6K+人评价):入门类型的书籍,读起来比较浅显易懂,适合没有算法基础或者说算法没学好的小伙伴用来入门。示例丰富,图文并茂,以让人容易理解的方式阐释了算法.读起来比较快,内容不枯燥!
《算法 第四版》(推荐,豆瓣评分 9.3,0.4K+人评价):Java 语言描述,算法领域经典的参考书,全面介绍了关于算法和数据结构的必备知识,并特别针对排序、搜索、图处理和字符串处理进行了论述。书的内容非常多,可以说是 Java 程序员的必备书籍之一了。
《高性能 Mysql》(推荐,豆瓣评分 9.3,0.4K+人评价):mysql 领域的经典之作,拥有广泛的影响力。不但适合数据库管理员(dba)阅读,也适合开发人员参考学习。不管是数据库新手还是专家,相信都能从本书有所收获。
《Redis 实战》:如果你想了解 Redis 的一些概念性知识的话,这本书真的非常不错。
《Redis 设计与实现》(推荐,豆瓣评分 8.5,0.5K+人评价):也还行吧!
《MySQL 技术内幕-InnoDB 存储引擎》(推荐,豆瓣评分 8.7):了解 InnoDB 存储引擎底层原理必备的一本书,比较深入。
《设计模式 : 可复用面向对象软件的基础》(推荐,豆瓣评分 9.1):设计模式的经典!
《Head First 设计模式(中文版)》(推荐,豆瓣评分 9.2):相当赞的一本设计模式入门书籍。用实际的编程案例讲解算法设计中会遇到的各种问题和需求变更(对的,连需求变更都考虑到了!),并以此逐步推导出良好的设计模式解决办法。
《深入分析 Java Web 技术内幕》: 感觉还行,涉及的东西也蛮多。
《Netty 实战》(推荐,豆瓣评分 7.8,92 人评价):内容很细,如果想学 Netty 的话,推荐阅读这本书!
《从 Paxos 到 Zookeeper》(推荐,豆瓣评分 7.8,0.3K 人评价):简要介绍几种典型的分布式一致性协议,以及解决分布式一致性问题的思路,其中重点讲解了 Paxos 和 ZAB 协议。同时,本书深入介绍了分布式一致性问题的工业解决方案——ZooKeeper,并着重向读者展示这一分布式协调框架的使用方法、内部实现及运维技巧,旨在帮助读者全面了解 ZooKeeper,并更好地使用和运维 ZooKeeper。
《Spring 实战(第 4 版)》(推荐,豆瓣评分 8.3,0.3K+人评价):不建议当做入门书籍读,入门的话可以找点国人的书或者视频看。这本定位就相当于是关于 Spring 的新华字典,只有一些基本概念的介绍和示例,涵盖了 Spring 的各个方面,但都不够深入。就像作者在最后一页写的那样:“学习 Spring,这才刚刚开始”。
《RabbitMQ 实战指南》:《RabbitMQ 实战指南》从消息中间件的概念和 RabbitMQ 的历史切入,主要阐述 RabbitMQ 的安装、使用、配置、管理、运维、原理、扩展等方面的细节。如果你想浅尝 RabbitMQ 的使用,这本书是你最好的选择;如果你想深入 RabbitMQ 的原理,这本书也是你最好的选择;总之,如果你想玩转 RabbitMQ,这本书一定是最值得看的书之一
《Spring Cloud 微服务实战》:从时下流行的微服务架构概念出发,详细介绍了 Spring Cloud 针对微服务架构中几大核心要素的解决方案和基础组件。对于各个组件的介绍,《Spring Cloud 微服务实战》主要以示例与源码结合的方式来帮助读者更好地理解这些组件的使用方法以及运行原理。同时,在介绍的过程中,还包含了作者在实践中所遇到的一些问题和解决思路,可供读者在实践中作为参考。
《第一本 Docker 书》:Docker 入门书籍!
《大型网站技术架构:核心原理与案例分析+李智慧》(推荐):这本书我读过,基本不需要你有什么基础啊~读起来特别轻松,但是却可以学到很多东西,非常推荐了
《亿级流量网站架构核心技术》(推荐):一书总结并梳理了亿级流量网站高可用和高并发原则,通过实例详细介绍了如何落地这些原则。本书分为四部分:概述、高可用原则、高并发原则、案例实战。从负载均衡、限流、降级、隔离、超时与重试、回滚机制、压测与预案、缓存、池化、异步化、扩容、队列等多方面详细介绍了亿级流量网站的架构核心技术,让读者看后能快速运用到实践项目中。
《深入剖析 Tomcat》(推荐,豆瓣评分 8.4,0.2K+人评价):本书深入剖析 Tomcat 4 和 Tomcat 5 中的每个组件,并揭示其内部工作原理。通过学习本书,你将可以自行开发 Tomcat 组件,或者扩展已有的组件。 读完这本书,基本可以摆脱背诵面试题的尴尬。
《深入理解 Nginx(第 2 版)》:作者讲的非常细致,注释都写的都很工整,对于 Nginx 的开发人员非常有帮助。优点是细致,缺点是过于细致,到处都是代码片段,缺少一些抽象。
《黑客与画家》:这本书是硅谷创业之父,Y Combinator 创始人 Paul Graham 的文集。之所以叫这个名字,是因为作者认为黑客(并非负面的那个意思)与画家有着极大的相似性,他们都是在创造,而不是完成某个任务。
Java书籍推荐:
基础
并发
JVM
Java8 新特性
代码优化
网络
操作系统
数据结构与算法
数据库
系统设计
设计模式
常用框架
网站架构
软件底层
其他
原文链接:网页链接
3. 图书管理系统有哪些功能
图书馆管理系统的功能:
1. 准备和提供统一格式的信息,使各种统计工作简化,使信息成本最低;
2. 及时全面地提供不同要求的、不同细度的信息,以期分析解释现象最快,及时产生正确的控制。
3. 全面系统的保存大量的信息,并能很快的查询和综合,为组织的决策提出信息支持。
4. 利用数学方法和各种模型处理信息,以期预测未来和科学地进行决策。
图书管理系统,是一个由人、计算机等组成的能进行管理信息的收集、传递、加工、保存、维护和使用的系统。利用信息控制企业的行为;帮助企业实现其规划目标。
系统特点
1、方便读者自己检索资料的接触和归还情况
2、高效的检测率
3、显着减少出口警报的误报率
4、高速查阅存货清单,减少工作人员为开架阅览和其他清查工作的时间
5、自动返回资料列表,加速资料的分类和重新放置,提高图书借阅率
6、比条形码和磁条的使用时间长。
4. 《计算机组成原理》书籍推荐有哪些
若需要深入学习计算机原理,为你推荐以下书籍:
1、David A. Patterson等,《Computer Organization and Design—The Hardware/ Software Interface》(Fifth Edition) ,2014。
2、Randal E. Bryant等,《深入理解计算机系统》, (第二版)机械工业出版社,2011。
3、王保恒等,《计算机组成原理与设计》,机械工业出版社,2005。
建议直接看英文原版:David A. Patterson等,《Computer Organization and Design—The Hardware/ Software Interface》(Fifth Edition) ,2014,这是由计算机系统结构领域的超级大牛编写的。
如果阅读英文教材不太习惯,可以看机械工业出版社出版的中译本:计算机组成与设计:计算机组成与设计—硬件/软件接口(原书第5版),2015。
要是说考试的话,就没有完全应付考试的书籍了。理解了老师课上的内容,并对课后习题掌握较好的话,应试的问题不会很大。
计算机组成原理主要有四大块内容。
第一大块,计算机的基本组成,主要包含:
硬件设备组成:CPU、主板、内存、硬盘、显示器等。
冯诺依曼体系结构:运算器、控制器、存储器、输入设备、输出设备。
计算机性能:CPU 主频、响应时间、吞吐率。
第二块,计算机的指令和运算,主要包含:
计算机指令:机器码(编译 -> 汇编 -> 机器码、指令格式和跳转、函数调用和程序栈)、程序的编译、链接、装载和执行。
计算机运算:二进制编码(整数、反码、补码、浮点数、定点数)、数字电路(门电路、加法器、乘法器)。
第三块,处理器设计,主要包含:
CPU:建立数据通路、面向流水线和设计、控制冒险和数据冒险、分支预测、异常和中断、并行计算。
第四块,存储器和 I/O 系统,主要包含:
存储器的层次结构:SRAM 存储技术、寄存器、CPU 高速缓存、内存、固态硬盘、机械硬盘。
存储器和 I/O 系统:虚拟内存、CPU和内存的通信、DMA技术、访问输入输出设备。
CPU 高速缓存:局部性原理、缓存一致性协议、伪共享问题、write through 和 write back。
虚拟存储:缺页异常、TLB 加速地址转化、MMU 虚拟地址和物理地址转换;其中第一、第二、第四是对开发者而言是比较重要的内容,而第三部分处理器的设计如果没时间可以先不用去了解。
5. 我想好好学习一下SQL存储过程,推荐一本书
SQL Server2000存储过程与XML编程(第2版) 桑德里克、陈浩奎 清华大学出版社
内容简介
书中每一章针对SQL Server开发的各个专业领域提供相应知识讲解。前12章专门讲述存储过程编程,而第13-第15章则专注于SQL Server 2000中的XML编程。全书通过一个贯穿始终的数据库实例,展示如何使用企业管理器、查询分析器、事件探查器、Visual SourceSafe、Visual Basic和Visual Studio.NET来管理SQL Server资源,并解释了基本的和高级的XML知识,注重Microsoft数据库和开发工具中使用的XML相关特性。
--------------------------------------------------------------------------------
作者简介
Dejan Sunderic是Trigon Blue公司的首席顾问。他专门研究面向Internet和Windows平台的数据库和应用程序开发。Dejan曾经参与的项目涉及B2C和B2B电子商务、金融、文档管理、抵押、资产管理、保险、房地产、IT供应链、过程控制、通信、数据仓库和OLAP系统等多个领域。担任过数据库架构师、数据库和应用程序开发人员、数据库管理员、开发组组长、项目经理。
--------------------------------------------------------------------------------
媒体推荐
书评
本书面向寻求最有效方式使用存储过程和XML进行编程的开发人员。书中详细描述专业开发人员需要掌握的关键概念、应用技巧和最佳实践,使读者能够充分利用SQL Server存储过程和SQL XML扩展,为客户提供高质量的服务。
6. 求一本计算机组成原理的书籍 入门级别的通俗易懂,类似于操作系统计算机的心智操作系统之哲学原理那样的
计算机组成原理(高等教育出版社出版作品)
高等教育出版社出版作品是普通高等教育“十一五”国家级规划教材。本书第1版被列为“ 面向21世纪课程教材”,是教育部高等学校计算机科学与技术教学指导委员会组织编写的“体系结构一组成原理一微机技术”系列教材之一,是 2005年国家精品课程主讲教材,于2002年获普通高等学校优秀教材二等奖。
为了紧跟国际上计算机技术的新发展,本书对第1版各章节的内容进行了补充和修改,并增加了例题分析,以加深对各知识点的理解和掌握。本书通过对一台实际计算机的剖析,使读者更深入地理解总线是如何将计算机各大部件互连成整机的。
全书共分为4篇,第1篇(第1、2章)介绍计算机的基本组成、发展及应用;第2篇(第3~5章)介绍系统总线、存储器(包括主存储器、高速缓冲存储器和辅助存储器)和输入输出系统;第3篇(第6~8章)介绍CPU的特性、结构和功能,包括计算机的算术逻辑单元、指令系统、指令流水、RISC技术及中断系统;第4篇(第9、10章)介绍控制单元的功能和设计,包括时序系统以及采用组合逻辑和微程序设计控制单元的设计思想与实现措施。每章后均附有思考题与习题。
本书概念清楚,通俗易懂,书中举例力求与当代计算机技术相结合,可作为高等学校计算机专业教材,也可作为其他科技人员的参考书。
7. 有没有详细介绍文件系统的书籍
其实你想知道什么想弄明白什么可以直接在网上搜下资料很全想要专业性的书籍大概免费的很少比如你想了解ZFS文件系统
查得(你还可以继续深入的去查……不好意思,或者我说的与你的意思拧了,^_^建议而已):ZFS文件系统的英文名称为Zettabyte File System,也叫动态文件系统(Dynamic File System),是第一个128位文件系统。
ZFS是基于存储池的,与典型的映射物理存储设备的传统文件系统不同,ZFS所有在存储池中的文件系统都可以使用存储池的资源。
什么是ZFS
ZFS 文件系统是一个革命性的全新的文件系统,它从根本上改变了文件系统的管理方式,这个文件系统的特色和其带来的好处至今没有其他文件系统可以与之媲美,ZFS 被设计成强大的、可升级并易于管理的。
ZFS 用“存储池”的概念来管理物理存储空间。过去,文件系统都是构建在物理设备之上的。为了管理这些物理设备,并为数据提供冗余,“卷管理”的概念提供了一个单设备的映像。但是这种设计增加了复杂性,同时根本没法使文件系统向更高层次发展,因为文件系统不能跨越数据的物理位置。
ZFS 完全抛弃了“卷管理”,不再创建虚拟的卷,而是把所有设备集中到一个存储池中来进行管理!“存储池”描述了存储的物理特征(设备的布局,数据的冗余等等),并扮演一个能够创建文件系统的专门存储空间。从此,文件系统不再局限于单独的物理设备,而且文件系统还允许物理设备把他们自带的那些文件系统共享到这个“池”中。你也不再需要预先规划好文件系统的大小,因为文件系统可以在“池”的空间内自动的增大。当增加新的存贮介质时,所有“池”中的所有文件系统能立即使用新增的空间,而不需要而外的操作。在很多情况下,存储池扮演了一个虚拟内存。
创建一个池的例子
# zpool create tank mirror c1t0d0 c1t1d0
这是一个被镜像了的池,名叫“tank”。如果命令中的设备包含有其他的文件系统或者以别的形式被使用,那么命令不能执行。
要查看池是否成功创建,用 zpool list 命令,例如:
# zpool list
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
tank 80G 137K 80G 0% ONLINE -
ZFS 文件系统的层次
不管层次如何,根总是池的名字。
1、为每个用户及项目创建一个文件系统是个不错的办法!
2、ZFS可以为文件系统分组,属于同一组的文件系统具有相似的性质,这有点像用户组的概念!相似的文件系统能够使用一个共同的名字。
3、大多数文件系统的特性都被用简单的方式进行控制,这些特征控制了各种行为,包括文件系统被mount在哪里,怎么被共享,是否被压缩,是否有限额
创建一个文件系统
# zfs create tank/home
下一步,就可以创建各个文件系统,把它们都归组到 home 这个文件系统中。
同时可以设置home的特性,让组内的其他文件系统继承的它的这些特性。
当一个文件系统层次创建之后,可以为这个文件系统设置一些特性,这些特性将被所有的用户共享:
# zfs set mountpoint=/export/zfs tank/home
# zfs set sharenfs=on tank/home
# zfs set compression=on tank/home
# zfs get compression tank/home
NAME PROPERTY VALUE SOURCE
tank/home compression on local
4、创建单个的文件系统
注意:这些文件系统如果被创建好,他们的特性的改变将被限制在home级别,所有的特性能够在文件系统的使用过程中动态的改变。
# zfs create tank/home/bonwick
# zfs create tank/home/billm
bonwick、billm文件系统从父文件系统home中继承了特性,因此他们被自动的mount到/export/zfs/user 同时作为被共享的NFS。管理员根本不需要再手工去编辑 /etc/vfstab 或 /etc/dfs/dfstab 文件。
每个文件系统除了继承特性外,还可以有自己的特性,如果用户bonwick的磁盘空间要限制在10G。
# zfs set quota=10G tank/home/bonwick
5、用 zfs list 命令查看可获得的文件系统的信息,类似于过去的 df -k 命令了,呵呵 .
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
tank 92.0K 67.0G 9.5K /tank
tank/home 24.0K 67.0G 8K /export/zfs
tank/home/billm 8K 67.0G 8K /export/zfs/billm
tank/home/bonwick 8K 10.0G 8K /export/zfs/bonwick
ZFS和传统文件系统的区别
1、传统的文件系统被限制在单个磁盘设备之内,它们的尺寸是不能超越单个磁盘设备。
2、过去的文件系统是被影射到一个物理存储单元,如:分区;所有的ZFS文件系统共享池内的可获得的存储空间。
3、ZFS 文件系统不需要通过编辑/etc/vfstab 文件来维护。
ZFS已经抛弃了卷管理,逻辑卷可以不再使用。因为ZFS在使用和管理raw设备能够有更好的表现。
Components of a ZFS Storage Pool
组成ZFS存储池的元件有:磁盘、文件、虚拟设备,其中磁盘可以是整个硬盘(c1t0d0),也可以是单个slice(c0t0d0s7)。推荐使用整个硬盘,这样可以省去分区操作(format)。
RAID-Z 跟 RAID-5的区别
传统的raid-5都存在着“写漏洞”,就是说如果raid-5的stripe在正写数据时,如果这时候电源中断,那么奇偶校验数据将跟该部分数据不同步,因此前边的写无效;RAID-Z用了“variable-width RAID stripes”技术,因此所有的写都是full-stripe writes。之所以能实现这种技术,就是因为ZFS集成了文件系统和设备管理,使得文件系统的元数据有足够的信息来控制“variable-width RAID stripes”
理论上说,创建RAID-Z需要至少三块磁盘,这跟raid-5差不多。例如:
raidz c1t0d0 c2t0d0 c3t0d0
还可以更加复杂一点,例如:
raidz c1t0d0 c2t0d0 c3t0d0 c4t0d0 c5t0d0 c6t0d0 c7t0d0 raidz c8t0d0 c9t0d0 c10t0d0 c11t0d0 c12t0d0 c13t0d0 c14t0d0
上边这个例子创建了14个磁盘的RAID-Z , 这14个盘被分成了两组,但下边这句话有点不大明白:
RAID-Z configurations with single-digit groupings of disks should perform better.
RAID-Z具有自动修复数据的功能
当有损坏的数据块被检测到,ZFS不但能从备份中找到相同的正确的数据,而且还能自动的用正确数据修复损坏的数据。
创建ZFS存储池
1、创建一个基本的存储池,方法很简单:
# zpool create tank c1t0d0 c1t1d0
这时可以在 /dev/dsk 目录下看到一个大的slice,数据动态的stripe跨过所有磁盘!
2、创建一个镜像的存储池
也是很简单,只要在上边命令基础上增加“mirror”关键字就可以了,下边是创建一个两路(two-way)镜像的例子:
# zpool create tank mirror c1d0 c2d0 mirror c3d0 c4d0
3、创建RAID-Z存储池
使用“raidz”关键字就可以了,例如:
# zpool create tank raidz c1t0d0 c2t0d0 c3t0d0 c4t0d0 /dev/dsk/c5t0d0
这里/dev/dsk/c5t0d0其实跟用c5t0d0是一样的,由此可以看出,在创建ZFS的时候,磁盘完全可以用物理设备名就可以,不需要指出全路径。
这句话不大明白:However, the disks must be preformatted to have an appropriately sized slice zero.
4、检测正在使用的设备
在格式化设备之前,ZFS首先决定磁盘是否已经在用或者是否装有操作系统,如果磁盘在用了,那么将会出现下边的错误提示:
# zpool create tank c1t0d0 c1t1d0
invalid vdev specification
use ’-f’ to override the following errors:
/dev/dsk/c1t0d0s0 is currentlymounted on /
/dev/dsk/c1t0d0s1 is currentlymounted on swap
/dev/dsk/c1t1d0s0 is part of active ZFS pool ’zeepool’
Please see zpool(1M)
有些错误可以用 -f 选项来强制覆盖,但是大多错误是不能的。下边给出不能用-f覆盖的错误情况,这时只能手工纠正错误:
Mounted file system The disk or one of its slices contains a file system that is currently mounted. To correct this error, use the umount command.
File system in /etc/vfstab The disk contains a file system that is listed in the /etc/vfstab file,but the file system is not currently mounted.To correct this error,remove or comment out the line in the /etc/vfstab file.
Dedicated mp device The disk is in use as the dedicated mp device for the system. To correct this error, use the mpadm command.
Part of a ZFS pool The disk or file is part of an active ZFS storage pool. To correct this error, use the zpool command to destroy the pool.
5、创建存储池时默认的mount点
在创建存储池时,如果mount点所在目录不存在,系统会自动创建,如果存在,根数据集(root dataset)会自动mount到这个目录上。
To create a pool with a different default mount point, use the -m option of the zpool create command:
# zpool create home c1t0d0
default mountpoint ’/home’ exists and is not empty
use ’-m’ option to specifya different default
# zpool create -m /export/zfs home c1t0d0
This command creates a new pool home and the home dataset with a mount point of /export/zfs.
6、删除存储池
Pools are destroyed by using the zpool destroy command. This command destroys the pool even if it contains mounted datasets.
# zpool destroy tank
用ZFS存储池管理设备
1、增加设备到存储池
用户可以通过增加一个新的顶级虚拟设备的方法动态给存储池增加空间,这个空间立即对空间中的所有数据集(dataset)有效。要增加一个虚拟设备到池中,用“zpool add”命令,例如:
# zpool add zeepool mirror c2t1d0 c2t2d0
该命令也可以用 -n选项进行预览,例如:
# zpool add -n zeepool mirror c3t1d0 c3t2d0
would update ’zeepool’ to the following configuration:
zeepool
mirror
c1t0d0
c1t1d0
mirror
c2t1d0
c2t2d0
mirror
c3t1d0
c3t2d0
2、增加和减少一路镜像
用“zpool attach”命令增加一路镜像,例如:
# zpool attach zeepool c1t1d0 c2t1d0
在这个例子中,假设 zeepool 是第一点里的那个zeepool(已经是两路镜像),那么这个命令将把zeepool升级成三路镜像。
用“zpool detach”命令来分离一路镜像
# zpool detach zeepool c2t1d0
如果池中不存在镜像,这个才操作将被拒绝。错误提示如下边这个例子:
# zpool detach newpool c1t2d0 cannot detach c1t2d0: onlyapplicable to mirror and replacing vdevs
3、管理设备的“上线”和“下线”
ZFS允许个别的设备处于offline或者online状态。当硬件不可靠或者还没有完全不能用的时候,ZFS会继续向设备读写数据,但不过是临时这么做,因为设备还能将就使用。一旦设备不能使用,就要指示ZFS忽略该设备,并让这个坏掉的设备下线。ZFS不会向offline的设备发送任何请求。
注意:如果只是为了更换设备(被换设备并没有出问题),不需要把他们offline。如果offline设备,然后换了一个新设备上去,再把新设备online,这么做会出错!
用“zpool offline”命令让设备下线。例如:
# zpool offline tank c1t0d0
bringing device c1t0d0 offline
下边这句话没怎么看懂:
You cannot take a pool offline to the point where it becomes faulted. For example, you cannot take offline two devices out of a RAID-Z configuration, nor can you take offline a top-level virtual device.
# zpool offline tank c1t0d0
cannot offline c1t0d0: no valid replicas
默认情况下,offline设备将永久保持offline状态,直到系统重新启动。
要临时offline一个设备,用-t选项,例如:
# zpool offline -t tank c1t0d0
bringing device ’c1t0d0’ offline
用“zpool onine”命令使设备上线
# zpool online tank c1t0d0
bringing device c1t0d0 online
注意:如果只是为了更换设备(被换设备并没有出问题),不需要把他们offline。如果offline设备,然后换了一个新设备上去,再把新设备online,这么做会出错!在这个问题上文档是这么说的:(但愿我没理解错)
Note that you cannot use device onlining to replace a disk. If you offline a
device, replace the drive, and try to bring it online, it remains in the faulted state.
4、清扫存储池设备
如果设备因为出现错误,被offline了,可以用“zpool clear”命令清扫错误。
如果没有特别指定,zpool clear命令清扫池里所有设备。例如:
# zpool clear tank
如果要清扫指定设备,例如:
# zpool clear tank c1t0d0
5、替换存储池里的设备
用“zpool replace”命令替换池中设备,例如:
# zpool replace tank c1t1d0 c1t2d0
c1t1d0 被 c1t2d0 替换
注意:如果是mirror或者RAID-Z,替换设备的容量必须大于或等于所有设备最小容量!
查询ZFS存储池的状态
1、ZFS存储池的基本信息
用“zpool list”命令查看存储池的基本信息,例如:
# zpool list
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
tank 80.0G 22.3G 47.7G 28% ONLINE -
dozer 1.2T 384G 816G 32% ONLINE -
NAME: The name of the pool.
SIZE: The total size of the pool, equal to the sum of the size of all top-level virtual
devices.
USED: The amount of space allocated by all datasets and internal metadata. Note that
this amount is different from the amount of space as reported at the file system level.
AVAILABLE: The amount of unallocated space in the pool.
CAPACITY (CAP): The amount of space used, expressed as a percentage of total space.
HEALTH: The current health status of the pool.
ALTROOT: The alternate root of the pool, if any.
可以通过指定名字来查看某一个池的状态,例如:
# zpool list tank
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
tank 80.0G 22.3G 47.7G 28% ONLINE -
8. 学计算机买什么书好
《计算机组成原理》
是清华大学出版社出版的图书,作者是蒋本珊。
《计算机组成原理》系统地介绍了计算机的基本组成原理和内部工作机制。《计算机组成原理》共分8章,主要内容分成两个部分:第1、2章介绍了计算机的基础知识;第3~8章介绍了计算机的各子系统(包括运算器、存储器、控制器、外部设备和输入输出子系统等)的基本组成原理、设计方法、相互关系以及各子系统互相连接构成整机系统的技术。
《计算机组成原理》讲述了计算机的一般原理,并注意到与实际应用相结合。全书内容由浅入深,每章之后均附有习题,便于自学。
《计算机组成原理》可以作为高等院校计算机及相关专业“计算机组成原理”课程的教材,也可供从事计算机工作的工程技术人员参考。
蒋本珊北京理工大学计算机科学技术学院教授,主要研究方向是嵌入式片上系统(SOPC)、软硬件协同设计。主讲“计算机组成原理”等课程二十余年,具有丰富的教学经验,多次获得北京市和北京理工大学教学优秀成果奖,被评为三育人和师德先进个人。正式出版教材和教学参考书十余本,其中1本被评为北京市精品教材,3本入选教育部普通高等教育“十一五”国家级规划教材。主持和参与科研项目5项,主持教学改革立项1项,其中主持开发的计算机组成实验多媒体教学软件荣获北京市高教学会优秀软件二等奖。
《计算机操作系统》
是2003年武汉大学出版社出版的图书,作者是黄水松。本教材全面系统地介绍了现代计算机操作系统的基本概念、原理和实现方法。全书共分十二章,第一章讲述了现代操作系统的发展概况;第二章至第十章分别阐述了操作系统的基本原理 、概念和实现方法,包括中断技术。
进程和线程的管理、进程的同步和通信,存储器管理,虚似存储器,处理机调度,死锁问题,设备管理和文件系统;第十一章介绍了,第十三章介绍Windows2000/XP操作系统,并较详细地分析了这两个系统的基本结构、主要的功能模块及其相互之间的关系。
本书吸收了国内外近几年出版的同类教材的优点,内容丰富,既可以作为计算机和相关专业的教材,也可作为从事计算机工作人员的参考书。
《计算机网络》
是2008年电子工业出版社出版的图书,作者是谢希仁。该书全面系统地介绍了计算机网络的发展和原理体系结构、物理层、数据链路层等内容。
《计算机网络》是由谢希仁编写的国内外使用最广泛、最权威的计算机网络经典教材。自1989年首次出版以来,于1994年、1999年和2003年分别出了修订版。2006年8月本教材通过了教育部的评审,被纳入普通高等教育“十一五”国家级规划教材。《计算机网络》的第5版,在内容和结构方面都有了很大的修改。
全书分为10章,比较全面系统地介绍了计算机网络的发展和原理体系结构、物理层、数据链路层、网络层、运输层、应用层、网络安全、因特网上的音频/视频服务、无线网络和下一代因特网等内容。可供电气信息类和计算机类专业的大学本科生和研究生使用,对从事计算机网络工作的工程技术人员也有学习参考价值。
《计算机网络》的特点是概念准确、论述严谨、内容新颖、图文并茂。突出基本原理和基本概念的阐述,同时力图反映出计算机网络的一些最新发展。《计算机网络》可供电气信息类和计算机类专业的大学本科生和研究生使用,对从事计算机网络工作的工程技术人员也有学习参考价值。
在讲述网络各层次内容的同时,还与时俱进地引入了最新的网络技术,包括无线网络、3g蜂窝网络、rfid与传感器网络、内容分发与p2p网络、流媒体传输与ip语音,以及延迟容忍网络等。另外,《计算机网络》针对当前网络应用中日益突出的安全问题,用了一整章的篇幅对计算机网络的安全性进行了深入讨论,而且把相关内容与最新网络技术结合起来阐述。
《数据结构》
本书可作为计算机类专业的本科或专科教材,也可以作为信息类相关专业的选修教材,讲授学时可为50至80。教师可根据学时、专业和学生的实际情况,选讲或不讲目录页中带**的章节,甚至删去第5,8,11和12章。本书文字通俗、简明易懂、便于自学,也可供从事计算机应用等工作的科技人员参考。只需掌握程序设计基本技术便可学习本书。若具有离散数学和概率论的知识,则对书中某些内容更易理解。如果将本书《数据结构》(C语言版)
《数据结构》(C语言版)是为“数据结构”课程编写的教材,也可作为学习数据结构及其算法的C程序设计的参考教材。
本书的前半部分从抽象数据类型的角度讨论各种基本类型的数据结构及其应用;后半部分主要讨论查找和排序的各种实现方法及其综合分析比较。其内容和章节编排与1992年4月出版的《数据结构》(第二版)基本一致,但在本书中更突出了抽象数据类型的概念。全书采用类C语言作为数据结构和算法的描述语言。
本书概念表述严谨,逻辑推理严密,语言精炼,用词达意。并有配套出版的《数据结构题集)(C语言版)。既便于教学,又便于自学。
本书后附有光盘,光盘中含有可在DOS环境下运行的以类C语言描述的“数据结构算法动态模拟辅助教学软件,以及在Windows环境下运行的以类PASCAL或类C两种语言描述的“数据结构算法动态模拟辅助教学软件”。
本书可作为计算机类专业或信息类相关专业的本科或专科教材,也可供从事计算机工程与应用工作的科技工作者参考。
9. SQL设计图书管理系统
目 录
图书管理信息系统的设计和实现
端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库。而对于后者则要求应用程序功能完备,易使用等特点。
本图书管理信息系统是利用计算机管理信息处理的迅速、准确、可靠且具有强大存储能力的突出特点,全面提高图书馆的管理水平和工作效率,并以及时、完整的业务经营资料,为图书馆的及时转换提供一定的支持。本图书管理系统涵盖了六个主要的子系统:图书资料管理、读者资料管理、借书操作、还书操作、修改密码和查询处理,并通过信息的收集、整理、存储、传递将它们有机地结合起来,提高了工作的准确率和效率。
本论文从系统分析、需求分析、概要分析、详细分析到系统实施、系统运行、系统维护等几个方面详细阐述了图书管理系统的开发过程,记录了开发过程中的分析依据和设计思路及相关图表,阐明了主要的设计内容和实施、运行情况,为本系统的使用、升级提供了完备的资料。
本系统开发时间将近四个月,初步完成了图书管理信息系统的初级版本,系统基本上实现了原定的基本功能,并将在以后进行陆续的改进和完善。
关键词:Delphi;SQL Server 2000;数据库;图书管理信息系统
Design And Implementation of The Books Management Information System
Abstract:The books management information system is the typical information management system (MIS), It mainly develops including two respects ,one is setting-up and maintenance of backstage supporter's database . Another is developing the front application program. As to the former demand set up data consistency , integrality strong and data security kind database.require to the latter the function of the application program is complete , Easy to use and so on the characteristic.
This books management information system is using the computer management information processing rapid, accurate, is reliable also has the formidable memory property the prominent characteristic, comprehensively enhances the library the management level and the working efficiency, and take the prompt integrity account executive material, provides the certain support for newer books and reference materials in time of the library. The books management information system has covered six subsystems: The books and reference materials management, the reader material management, taking advantage of the book operation, modify password and also the book operation, inquiry processing, and through the information collection, the reorganization, the memory, the transmission organically unifies them, enhanced the work rate of accuracy and the efficiency.
This thesis from the system analysis, the demand analysis, the outline analysis, the multianalysis to the system implementation, the system movement, the system maintenance and so on several aspects in detail elaborated the books management information system performance history, recorded in the performance history analysis to rest on and to design the mentality and the correlation graph, had expounded the main design content and the implementation, the movement situation, for this system use, the promotion have provided the complete material.
This system is nearly four months construction period, finished the elementary edition of the books administrative system tentatively, the system has basically realized the original basic function, and will carry on improvement and completion successively afterwards.
Keyword: Delphi ; SQL; database; books management information system
前 言
随着我国经济的高速发展,人们的物质需求已趋向饱和,而精神上的需求却日益提高。学习的繁重、工作的压力、竞争的刺激使人们感到知识的困乏,渴望进一步的充电。同时当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,正是因此计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。管理信息系统是先进的科学技术和现代管理相结合的产物,建立以计算机为主要手段的管理信息系统,已成为现代企业、政府部门等各类组织提高自身素质、实现组织的战略目标。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。
为满足图书馆业务发展的需要,提高竞争能力,我决定利用计算机来提高图书馆管理水平和工作效率。根据图书馆的日常需要,确定系统要实现六个基本功能:图书资料管理、读者资料管理、借书操作、还书操作、修改密码和查询处理。同时该系统具有强大的查询功能和可靠性。
目标是努力达到:读者满意。图书馆内藏书丰富,品种齐全,但随着信息处理量的快速增大,工作越来越繁多、要求全面、先进、高效。纯办公软件无论从准确度还是及时性上都已无法满足业务的需要。因此,开发一个界面友好,易于操作的图书馆软件进行自动化处理变得十分重要,本系统开发目的和意义就是为了管理好图书馆信息,使图书管理工作规范化、系统化、程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。此图书管理信息系统以“以人为本”为服务宗旨,提高对读者的服务质量。
1 Delphi和SQL简介
1.1 数据库的介绍
数据库技术是计算机科学技术中的重要领域,也是应用最广的技术之一,而且已经成为电子信息系统的重要核心技术。众所周知,计算机应用从科学计算进入数据处理是一个划时代的转折。数据处理是指对各种形式的数据进行收集、存储、加工和传播的一系列活动的总和。其目的是从大量的,原始的数据中抽取,推导出对人们有价值的信息经作为行动和决策的依据,是为了借助计算机科学地保存和管理复杂的,大量的数据以便人们能方便而充分地利用这些宝贵的信息资源。数据库技术所研究的问题就是如何科学地组织和存储数据,如何高效地获取和处理数据。数据库系统就是当代计算机系统的重要组成部分。
数据处理的中心问题是数据管理,数据管理随着计算机硬件和软件的发展而不断发展,经历了三个阶段:人工管理阶段,文件系统阶段和数据库系统阶段。数据库系统具有以下特点:(1)数据结构化。(2)数据的共享性高、冗余度低、易扩展。(3)数据独立性高。(4)数据由DBMS统一管理和控制。包括数据的安全性保护,数据的完整性检查,并发控制以及数据库备份和恢复[2]。我做的图书管理系统中主要是用了Delphi和SQL 。
1.2 Delphi的简介
计算机软件的开发分为两个不同的分支,其中一个分支是使用传统的程序设计语言开发数值控制、数值运算等软件,围绕它们的重点是算法,数据结构以及面向对象技术,这里基本采用Pascal,Basic和C等到高级程序设计语言。另一个分支则是通用的数据库管理软件领域即数据库应用程序的开发。这两个分支的发展都有极为迅速,但是二者并没出现混合渗透的迹象。如果使用数据库语言进行传统的编程,虽然也能完成相应的功能,但是其编程过程可能极为复杂。反之,如果使用传统的编程语言进行数据库编程,通过调用专用的数据库应用程序接口函数据和过程,可能也会做出比较完善的数据库管理程序,但做起来大多是极其困难的。而Delphi结合了两个分支的优点,它结合了传统的编程语言Object Pascal和数据库语言的强大功能,既可以用于传统的算法编程,又可以用于数据库编程。特别是Delphi具有强大的数据库开发功能,利用Delphi的数据库开发工具,根本不需要编写任何Object Pascal代码便可以创建一个一般的数据库应用。
Delphi是面向对象的开发工具,它是目前开发客户/服务器数据库应用程序的强有力的工具。Delphi目前有两个版本:标准版本和客户/服务器版本。标准版本包含一个Borland Database Engine的局部拷贝,它允许用户创建能访问Dbase,Paradox 和 Local Inter Base服务器的数据库应用,它还支持具有ODBC(Open Database Connecticity)接口的数据库。客户/服务器版本包括Borland SQL Link,它能直接访问Oracle,SyBase 和Microsoft SQL Server,Informix等多种数据库服务器。
Delphi可以访问多种数据库管理系统的数据库,凭借窗体和报表,BDE(Borland Database Engine)可以访问Paradox,dbase,本地Inter Base服务器的数据库,也可以访问远程数据库服务器的
2 系统分析
2.1 系统调查
系统调查的主要内容有:系统的基本情况、系统中信息处理的状况、系统的资源情况及系统的各类人员对信息系统的态度。同时我了解到图书馆的使用人员有(1)系统管理员:维护整个系统的正常运行、及时更新系统,给每个新用户建立读者信息,给每个注销用户删除相应的读者信息。(2)图书管理员:负责给同学办理借书、还书、修改图书基本信息和图书流通状态。(3)读者:包括学生用户、老师用户和外界人士。
图书馆的组织机构设置如图1所示。
图1图书馆的组织结构
系统中信息处理状况:
通过对原有系统数据流程的分析,可以发现这种模式存在着一些不合理之处,完全可以改进,使工作效率提高,减少信息迂回。
图书馆现行系统存在的问题:第一,日常管理工作缺乏规范性,随意性很大,对人的经验水平有很大的依赖性,因此具体操作往往因人而异;第二,资料多次手工处理,如逾期通知等,出错率高,完全可以用数据库检索自动生成。第三,数据重复率高,有些地方人员多次使用相同数据,有些信息完全可以归类,第四,缺乏统计工作。
所以完全可以通过建立一套完整的图书管理信息系统,来对信息进行查询、修改、统计、检索等日常管理工作,尽量减少的人员介入和数据冗余,以简练实用为基础,实现信息管理计算机化提高工作效率和信息化水平。
2.2 可行性分析
可行性分析对系统的开发至关重要,可以大幅减少不必要的损失,保证系统开发的顺利进行。因此要对系统进行技术可行性、经济可行性、操作可行性三方面的系统可行性分析:
2.2.1 技术可行性
近几年来计算机技术发展异常迅猛,高速度大容量的电脑已成为许多学校里日常工作必不可少的设备,随着办公自动化的软件不断涌现,微机的普及为该系统的开发奠定了坚实的基础。
2.2.2 经济可行性
一方面,系统的开发不需要额外增加设备购置费、软件开发费、管理和维护费用。另一方面,系统的开发可以较好地解决图书馆因日常事务繁杂而造成的处理效率低,出错率偏高的局面,并可以及时了解各项日常事务的进展情况,为及时调整库存资料提供可靠的数据支持,从而明确工作目标,同时还可以减少人工劳动、提高工作效率、增加书本流通量。
2.2.3 操作可行性
计算机以强大的信息处理能力作为人类脑力劳动的有利助手登上历史舞台后,已渗透到社会生活的各个领域,使现代社会组织、特别是企业,学校的信息处理能力适应现代化管理的要求,且系统逐步从单项事务信息处理系统迅速向综合服务(决策支持系统)的管理信息系统发展。本系统使用界面良好,易于操作。图书馆拥有一批较高素质的员工,只需了解相关知识,就可熟练操作本系统了。
通过以上分析,图书馆管理信息系统的开发在经济上、技术上、操作上都是可行的。
2.3 系统的总目标
图书馆管理信息系统的总目标是按照管理信息系统的管理和开发方法,采用先进的信息技术和手段,支持并规范图书和读者资料的管理、借书、还书、修改密码、查询书本或学生等操作的全过程,并加强上述过程中各种信息资源的管理和应用,提高各部门管理工作的现代化水平,实现各部门信息的准确、及时处理和沟通及共享,为图书馆对库存资料的决策提供有利的支持和反馈信息,以实现图书馆的总体目标。
2.4 具体目标
(1)每年开学,新生报到的时候,图书馆系统管理员要给每一位新生的信息建立个人档案,办理图书借阅证。学生的个人档案包括学生的学号、姓名、性别、班级、年级、所属专业、电话号码。
(2)学生毕业的时候,图书馆系统管理员要及时对每位学生的信息进行删除。
(3)每次新进图书的时候,图书管理员要对每本图书的信息进行管理和录入,以方便读者的借阅。图书的基本信息有:图书索引号、图书名、作者、出版社、出版日期和图书的使用状态。
(4)当图书被读者借阅的时候,图书管理员要改变图书的使用状态,不再允许借阅,但是允许预约,而且每本书只允许被一个读者借阅,也只能被一个读者预约。
(5)当学生借阅的图书延期的时候,图书管理员要及时通知学生归还图书,并对其进行相应的处罚。学生可以在图书未超期的情况下办理续借。
(6)学生可以在图书管理系统中查询自己的借阅情况。
(7)当图书被损坏或图书出馆时,图书管理员要及时修改相应的图书信息。
(8)系统还应该提供强大的数据统计,查询等功能。
(9)系统应充许外界人士通过规定的步骤注册成为新用户,并享有一定的权利。
(10)系统应该有很好的可扩展性。
3 需求分析
需求分析阶段的根本任务是要明确图书馆在决策和日常事务处理上的信息需求,以便提出整个系统的总体方案。在需求分析中,主要采用流程图和数据字典来描述。
3.1 事务流程图
通过对图书馆的多次调查,大致了解了图书馆的日常的管理事务流程。每日处理的工作如图2所示。
图2图书馆的事务图
(1) 图书资料的管理
图书管理员将采购的图书入库分类处理,同时建立相关的图书资料信息,如果该书已有,则修改现有书本数等于原有书本数加新增书本数。如有图书损坏及罚款处理,也修改图书资料信息。如果图书出馆,则删除相关的图书资料信息。
(2) 读者资料管理
每年新生入校的时候,系统管理员要为每一个学生办理相应的图书借阅许可证,学生填写登记表包括学生学号、姓名、性别、年级、班级、专业名称、电话号码等基本信息。核对无误后交由系统管理员办理学生借阅证,如果读者更改任何个人信息,则应由学生写出书面申请,由系统管理员在相应的读者基本信息中进行修改。如果学生要离开学校,则审核该读者是否有逾期书籍和损坏,如无,则办理撤消业务,同时在读者资料库中删除该读者。最后给读者合格注销通知。对于教师用户也是一样的处理过程。
(3) 借书操作
读者把借阅证及想要借的图书交给图书管理员,图书管理员进行审核,如该读者是否有过期未还的图书,是否借阅图书已超过五本或未交清罚款,有上述情况之一则通知该读者借阅不成功。否则借阅成功,图书交给读者。同时图书管理员修改图书、读者及图书流通信息表。如读者逾期则可电话联系。如读者发现该图书已借出,则只可在图书资料库中进行预约。一本书同一时间只能被一个读者预约。如读者续借,则延长读者应还书日期。读者只可在该书本尚未超期的情况下才可以进行续借,否则续借不成功。
(4) 还书操作
读者把借阅证及要还图书交给图书管理员,由他进行审核,如该图书有逾期或破损,则通知该读者按比例罚款。否则图书交图书管理员放回书库。并修改图书、读者借书信息表。读者遗失书本则给予原价五倍赔偿。
(5) 查询处理
读者可以到图书馆内的电脑上查询自己的借书信息表,查询图书是否逾期,是否可以进行续借,也可以查找自己要借的图书是否在馆,以及近期图书馆的动态和公告。图书管理员可在图书到期前一天打印逾期清单,电话联系读者,以方便读者及时还书,加快书本流通。
(6) 修改密码
为了方便管理,图书馆系统管理员会给每一个新注册的用户一个初始密码,读者用初始密码首次登录系统后,应及时修改自己的密码,以保护自己的权利。或在使用的过程中通过修改密码来防
D1 库存清单
图7 归还图书的DFD
3.3 数据字典
int 4 f 所在专业代码
varchar 20 专业名称
表3图书基本信息表
字段名 字段类型 长度 NULL 字段意义
bookid varchar 10 f 图书索引号
bookname varchar 30 f 图书名称
Autor char 10 f 作者名字
department Int 4 所在书库代码
description char 20 描述
Lend char 1 f 是否借出
appoint char 1 f 是否预约
表4学生基本信息
userid varchar 10 f 用户编号
username varchar 10 f 用户名
sdepartment char 30 部门或专业
password varchar 20 f 密码
Right_1 bit 1 f 查询权
Ringht_2 bit 1 f 管理权
表6库存信息表
字段名 字段类型 长度 NULL 字段意义
department int 4 f 书库代码
description varchar 20 书库名称
3.4 数据项的页码设计
(1)对读者编号,为了便于查找采用层次码。
如:02(年级,即入学年份) 09(学院代码) 1(专业代码) 279
[注]: 学院代码如:商学院---01 信息学院---02 土木学院---03
外语学院---04 艺术学院---05 计算机科学与工程学院---09
计算机科学与工程学院的专业代码如:计算机科学与技术专业---1
网络专业---2
(2)图书编号,为了便于得到有关信息采用层次码。
如:TP(类别) 3111(编号) 01(内部编号)
[注]: 内部编号:同时采购了五本相同的图书,在类别和编号相同的时候,用01,02,03,04,05分别代表这五本相同的图书。
编号: 计算机应用基础---3111 计算机网络---3112
计算机组成原理---3113 数据库---3114
类别: 计算机类--- TP 文学类--- I 艺术类---V
数理化---O 英语类---H
4 概要设计
4.1 总体设计
系统功能结构如图8所示。
图8系统功能结构示意图
4.2 局部 E_R图
学生基本信息,图书基本信息,用户信息和读者借书情况表的局部E-R图如图9至图12所示。
图10书本基本信息表
图12 读者借书信息表
4.3 总体E-R图
本图书管理信息系统的总体E-R图如图13所示。
图13 总体E-R图
部分联系的属性如下:
1.借阅{借阅编号、图书索引号、借阅证号、借书日期、还书日期}
2.预订{预订编号、图书索引号、借阅证号、预订日期}
3.采购{采购编号、图书索引号、采购价格、采购数量}
4.报废{图书索引号,报废时间,报废原因}
4.4 E_R图向关系模型的转化
E_R图向关系模型的转化要解决的问题是如何将实体和实体之间的联系转化为关系模式,如何
图15 修改图书记录
图16 修改学生记录
图17 查询/借阅/预约图书
图18 查询/归还已借阅图书
5.2 建立索引和嵌套查询
索引是数据库中一常用而重要的数据库对象集。索引改进了数据库的性能和可访问性,可以用来排序和快速访问数据。大大改善了数据库的性能。下面以本人的图书管理信息系统中的book表为被借出时不能被预约。
(8) 修改图书的基本信息
这是图书管理员的权力,包括添加,删除和修改图书信息。当有新添加进来的图书时,图书管理员要查看图书馆里是不是已存有这样的图书,发现已有库存时,要修改图书的数目,否则就加入新的图书信息。当有旧书或损坏了的图书要退出的时候,要及时减少相应图书的数目或是删除相应的图书信息。学生借出书或归还图书时,要及时地修改图书流通信息表。
(9) 修改学生用户的基本信息
系统管理员在这里添加,删除和修改学生和教师的基本信息。当有新生入校时,根据学生填写的基本信息表为每个新生注册一个用户名,在校期间如果学生基本信息有变化可以交系统管理员审核后修改相应的信息,毕业或注销用户时,管理员要及时删除相应的记录。教师的处理情况相同。
(10)初始化系统
当遇到不可恢复的重大意外损伤时系统管理员可以用它来重新恢复图书馆的基本信息,保证图书管理系统正常工作。除了用户信息表恢复初始值外,其它的数据信息都会被清零。
(11) 公告栏
系统管理员向所有登录用户和外界人士及时发布图书馆最新消息的地方,包括注意事项等。
(12) 意见箱
所有登录用户可以在这里向系统管理员和图书管理员提出对图书管理的宝贵意见,方便管理员及时采取相应措施修改管理方案,方便用户以后的使用,提高整个系统的性能。
本系统主要提供图书管理,学生用户管理和系统管理。以下列出了图书管理信息系统主模块,系统总体结构、图书/读者功能模块和图书流通功能模块的示意图如图19至图21所示。
图19系统总体结构
图20图书/读者功能模块
图21图书流通功能模块
5.5 界面设计及功能实现
5.5.1 登录界面设计及功能的实现
图22 登录界面