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