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 登錄界面