一、“數(shù)據(jù)庫”領(lǐng)域里面的“數(shù)據(jù)字典”到底是什么
數(shù)據(jù)字典是一個存放有數(shù)據(jù)庫所用的有關(guān)信息,在數(shù)據(jù)庫設(shè)計的初期將數(shù)據(jù)庫中的各類數(shù)據(jù)的描述集合在一起,用于在開發(fā),維護(hù)或者其他需要的時候使用,可以類比成我們現(xiàn)實(shí)中的字典。
數(shù)據(jù)字典通常包括:
數(shù)據(jù)項;數(shù)據(jù)結(jié)構(gòu);數(shù)據(jù)流;數(shù)據(jù)存儲;處理過程。其中數(shù)據(jù)項是數(shù)據(jù)的最小組成單位,若干個數(shù)據(jù)項可以組成一個數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)字典通過對數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)的定義來描述數(shù)據(jù)流和數(shù)據(jù)存儲的邏輯內(nèi)容。
而我們有的系統(tǒng)中,為系統(tǒng)的后臺提供的數(shù)據(jù)字典。以同樣的原則為用戶提供了一系列的標(biāo)準(zhǔn)。用于一些特定的數(shù)據(jù)的規(guī)范化處理。這些數(shù)據(jù)除了通過專門的維護(hù)入口對它進(jìn)行維護(hù)以外其他用戶是不允許對數(shù)據(jù)字典中的數(shù)據(jù)進(jìn)行操作的。
二、數(shù)據(jù)庫概述
1、定義
數(shù)據(jù)庫是存放數(shù)據(jù)的倉庫。它的存儲空間很大,可以存放百萬條、千萬條、上億條數(shù)據(jù)。但是數(shù)據(jù)庫并不是隨意地將數(shù)據(jù)進(jìn)行存放,是有一定的規(guī)則的,否則查詢的效率會很低。當(dāng)今世界是一個充滿著數(shù)據(jù)的互聯(lián)網(wǎng)世界,充斥著大量的數(shù)據(jù)。即這個互聯(lián)網(wǎng)世界就是數(shù)據(jù)世界。數(shù)據(jù)的來源有很多,比如出行記錄、消費(fèi)記錄、瀏覽的網(wǎng)頁、發(fā)送的消息等等。除了文本類型的數(shù)據(jù),圖像、音樂、聲音都是數(shù)據(jù)。
數(shù)據(jù)庫是一個按數(shù)據(jù)結(jié)構(gòu)來存儲和管理數(shù)據(jù)的計算機(jī)軟件系統(tǒng)。數(shù)據(jù)庫的概念實(shí)際包括兩層意思:
數(shù)據(jù)庫是一個實(shí)體,它是能夠合理保管數(shù)據(jù)的“倉庫”,用戶在該“倉庫”中存放要管理的事務(wù)數(shù)據(jù),“數(shù)據(jù)”和“庫”兩個概念結(jié)合成為數(shù)據(jù)庫。數(shù)據(jù)庫是數(shù)據(jù)管理的新方法和技術(shù),它能更合適的組織數(shù)據(jù)、更方便的維護(hù)數(shù)據(jù)、更嚴(yán)密的控制數(shù)據(jù)和更有效的利用數(shù)據(jù)。2、發(fā)展現(xiàn)狀
在數(shù)據(jù)庫的發(fā)展歷史上,數(shù)據(jù)庫先后經(jīng)歷了層次數(shù)據(jù)庫、網(wǎng)狀數(shù)據(jù)庫和關(guān)系數(shù)據(jù)庫等各個階段的發(fā)展,數(shù)據(jù)庫技術(shù)在各個方面的快速的發(fā)展。特別是關(guān)系型數(shù)據(jù)庫已經(jīng)成為目前數(shù)據(jù)庫產(chǎn)品中最重要的一員,80年代以來, 幾乎所有的數(shù)據(jù)庫廠商新出的數(shù)據(jù)庫產(chǎn)品都支持關(guān)系型數(shù)據(jù)庫,即使一些非關(guān)系數(shù)據(jù)庫產(chǎn)品也幾乎都有支持關(guān)系數(shù)據(jù)庫的接口。這主要是傳統(tǒng)的關(guān)系型數(shù)據(jù)庫可以比較好的解決管理和存儲關(guān)系型數(shù)據(jù)的問題。
隨著云計算的發(fā)展和大數(shù)據(jù)時代的到來,關(guān)系型數(shù)據(jù)庫越來越無法滿足需要,這主要是由于越來越多的半關(guān)系型和非關(guān)系型數(shù)據(jù)需要用數(shù)據(jù)庫進(jìn)行存儲管理,以此同時,分布式技術(shù)等新技術(shù)的出現(xiàn)也對數(shù)據(jù)庫的技術(shù)提出了新的要求,于是越來越多的非關(guān)系型數(shù)據(jù)庫就開始出現(xiàn),這類數(shù)據(jù)庫與傳統(tǒng)的關(guān)系型數(shù)據(jù)庫在設(shè)計和數(shù)據(jù)結(jié)構(gòu)有了很大的不同, 它們更強(qiáng)調(diào)數(shù)據(jù)庫數(shù)據(jù)的高并發(fā)讀寫和存儲大數(shù)據(jù),這類數(shù)據(jù)庫一般被稱為NoSQL(Not only SQL)數(shù)據(jù)庫。 而傳統(tǒng)的關(guān)系型數(shù)據(jù)庫在一些傳統(tǒng)領(lǐng)域依然保持了強(qiáng)大的生命力。
3、數(shù)據(jù)庫管理系統(tǒng)
數(shù)據(jù)庫管理系統(tǒng)是為管理數(shù)據(jù)庫而設(shè)計的電腦軟件系統(tǒng),一般具有存儲、截取、安全保障、備份等基礎(chǔ)功能。數(shù)據(jù)庫管理系統(tǒng)可以依據(jù)它所支持的數(shù)據(jù)庫模型來作分類,例如關(guān)系式、XML;或依據(jù)所支持的計算機(jī)類型來作分類,例如服務(wù)器群集、移動電話;或依據(jù)所用查詢語言來作分類,例如SQL、XQuery;或依據(jù)性能沖量重點(diǎn)來作分類,例如最大規(guī)模、較高運(yùn)行速度;亦或其他的分類方式。不論使用哪種分類方式,一些DBMS能夠跨類別,例如,同時支持多種查詢語言。
數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心組成部分,主要完成對數(shù)據(jù)庫的操作與管理功能,實(shí)現(xiàn)數(shù)據(jù)庫對象的創(chuàng)建、數(shù)據(jù)庫存儲數(shù)據(jù)的查詢、添加、修改與刪除操作和數(shù)據(jù)庫的用戶管理、權(quán)限管理等。它的安全直接關(guān)系到整個數(shù)據(jù)庫系統(tǒng)的安全,其防護(hù)手段主要有:
使用正版數(shù)據(jù)庫管理系統(tǒng)并及時安裝相關(guān)補(bǔ)丁。做好用戶賬戶管理,禁用默認(rèn)超級管理員賬戶或者為超級管理員賬戶設(shè)置復(fù)雜密碼;為應(yīng)用程序分別分配專用賬戶進(jìn)行訪問;設(shè)置用戶登錄時間及登錄失敗次數(shù)限制, 防止暴力破解用戶密碼。分配用戶訪問權(quán)限時,堅持最小權(quán)限分配原則,并限制用戶只能訪問特定數(shù)據(jù)庫,不能同時訪問其他數(shù)據(jù)庫。修改數(shù)據(jù)庫默認(rèn)訪問端口,使用防火墻屏蔽掉對 外開放的其他端口,禁止一切外部的端口探測行為。對數(shù)據(jù)庫內(nèi)存儲的重要數(shù)據(jù)、敏感數(shù)據(jù)進(jìn)行加密存儲,防止數(shù)據(jù)庫備份或數(shù)據(jù)文件被盜而造成數(shù)據(jù)泄露。設(shè)置好數(shù)據(jù)庫的備份策略,保證數(shù)據(jù)庫被破壞后能迅速恢復(fù)。對數(shù)據(jù)庫內(nèi)的系統(tǒng)存儲過程進(jìn)行合理管理,禁用掉不必要的存儲過程,防止利用存儲過程進(jìn)行數(shù)據(jù)庫探測與攻擊。啟用數(shù)據(jù)庫審核功能,對數(shù)據(jù)庫進(jìn)行全面的事件跟蹤和日志記錄。4、類型
關(guān)系數(shù)據(jù)庫:關(guān)系型數(shù)據(jù)庫和常見的表格比較相似,關(guān)系型數(shù)據(jù)庫中表與表之間是有很多復(fù)雜的關(guān)聯(lián)關(guān)系的。 常見的關(guān)系型數(shù)據(jù)庫有Mysql,SqlServer等。在輕量或者小型的應(yīng)用中,使用不同的關(guān)系型數(shù)據(jù)庫對系統(tǒng)的性能影響不大,但是在構(gòu)建大型應(yīng)用時,則需要根據(jù)應(yīng)用的業(yè)務(wù)需求和性能需求,選擇合適的關(guān)系型數(shù)據(jù)庫。非關(guān)系型數(shù)據(jù)庫(NoSQL):指的是分布式的、非關(guān)系型的、不保證遵循ACID原則的數(shù)據(jù)存儲系統(tǒng)。NoSQL數(shù)據(jù)庫技術(shù)與CAP理論、一致性哈希算法有密切關(guān)系。隨著近些年技術(shù)方向的不斷拓展,大量的NoSql數(shù)據(jù)庫如MongoDB、Redis、Memcache出于簡化數(shù)據(jù)庫結(jié)構(gòu)、避免冗余、影響性能的表連接、摒棄復(fù)雜分布式的目的被設(shè)計。延伸閱讀1:數(shù)據(jù)字典的作用
數(shù)據(jù)字典最重要的作用是作為分析階段的工具,任何字典最重要的用途都是供人查詢對不了解的條目的解釋,在結(jié)構(gòu)化分析中,數(shù)據(jù)字典的作用是給數(shù)據(jù)流圖上每個成分加以定義和說明。換句話說,數(shù)據(jù)流圖上所有的成分的定義和解釋的文字集合就是數(shù)據(jù)字典,而且在數(shù)據(jù)字典中建立的一組嚴(yán)密一致的定義,很有助于改進(jìn)分析員和用戶的通信。