基本定義 資料庫系統的個體含義是指一個具體的資料庫管理系統軟體和用它建立起來的資料庫;它的學科含義是指研究、開發、建立、維護和套用資料庫系統所涉及的理論、方法、技術所構成的學科。在這一含義下,資料庫系統是軟體研究領域的一個重要分支,常稱為資料庫領域。
資料庫 研究跨越於
計算機套用 、
系統軟體 和理論三個領域,其中套用促進新系統的研製開發,新系統帶來新的理論研究,而理論研究又對前兩個領域起著指導作用。
資料庫系統 的出現是
計算機套用 的一個里程牌,它使得
計算機套用 從以科學計算為主轉向以
數據處理 為主,並從而使計算機得以在各行各業乃至家庭普遍使用。在它之前的
檔案 系統雖然也能處理持久數據,但是檔案系統不提供對任意部分數據的快速訪問,而這對數據量不斷增大的套用來說是至關重要的。為了實現對任意部分數據的快速訪問,就要研究許多最佳化技術。這些最佳化技術往往很複雜,是普通用戶難以實現的,所以就由
系統軟體 (
資料庫管理系統 )來完成,而提供給用戶的是簡單易用的
資料庫語言 。由於對
資料庫 的操作都由
資料庫管理系統 完成,所以
資料庫 就可以獨立於具體的
應用程式 而存在,從而資料庫又可以為多個用戶所共享。因此,數據的獨立性和共享性是
資料庫系統 的重要特徵。數據共享節省了大量人力物力,為
資料庫系統 的廣泛套用奠定了基礎。
資料庫系統 的出現使得普通用戶能夠方便地將日常數據存入
計算機 並在需要的時候快速訪問它們,從而使
計算機 走出科研機構進入各行各業、進入家庭。
資料庫系統有大小之分,大型資料庫系統有SQL Server、Oracle、DB2等,中小型資料庫系統有Foxpro、Access、MySQL。
構成 (1)
資料庫 (database,DB)是指長期存儲在
計算機 內的,有組織,可共享的數據的集合。
資料庫 中的數據按一定的數學模型組織、描述和存儲,具有較小的
冗餘 ,較高的
數據獨立性 和易擴展性,並可為各種用戶共享。
(4)人員:主要有4類。第一類為
系統分析員 和
資料庫設計 人員:系統分析員負責套用系統的
需求分析 和規範說明,他們和用戶及
資料庫管理員 一起確定系統的硬體配置,並參與
資料庫系統 的
概要設計 。
資料庫設計 人員負責資料庫中數據的確定、資料庫各級模式的設計。第二類為
應用程式 員,負責編寫使用
資料庫 的應用程式。這些
應用程式 可對數據進行檢索、建立、刪除或修改。第三類為最終用戶,他們利用系統的接口或查詢語言訪問
資料庫 。第四類用戶是
資料庫管理員 (data base administrator,DBA),負責資料庫的總體信息控制。DBA的具體職責包括:具體
資料庫 中的信息內容和結構,決定資料庫的
存儲結構 和存取策略,定義資料庫的安全性要求和完整性約束條件,監控資料庫的使用和運行,負責資料庫的性能改進、資料庫的重組和重構,以提高系統的性能。
特點 數據的結構化,數據的共享性好,數據的獨立性好,
數據存儲 粒度小,
數據管理 系統,為用戶提供了友好的接口。
基本要求 ①能夠保證數據的獨立性。數據和程式相互獨立有利於加快
軟體開發 速度,節省開發費用。
②冗餘數據少,數據共享程度高。
④能夠確保系統運行可靠,出現故障時能迅速排除;能夠保護數據不受非受權者訪問或破壞;能夠防止錯誤數據的產生,一旦產生也能及時發現。
⑤有重新組織數據的能力,能改變數據的
存儲結構 或
數據存儲 位置,以適套用戶操作特性的變化,改善由於頻繁插入、刪除操作造成的
數據組織 零亂和時空性能變壞的狀況。
⑥具有可修改性和可擴充性。
⑦能夠充分描述數據間的內在聯繫。
數據模式 層次模型 是一種用樹形結構描述實體及其之間關係的數據模型。在這種結構中,每一個記錄類型都是用節點表示,記錄類型之間的聯繫則用結點之間的有向線段來表示。每一個雙親結點可以有多個子節點但是每一個子節點只能有一個雙親結點。這種結構決定了採用層次模型作為數系組織方式的層次資料庫系統只能處理一對多的實體聯繫。
網狀模型 允許一個結點可以同時擁有多個雙親結點和子節點。因而同層次模型相比,網狀結構更具有普遍性,能夠直接地描述現實世界的實體。也可以認為層次模型是網狀模型的一個特例。
(3)
關係模型 關係模型 是採用二維表格結構表達實體類型及實體間聯繫的數據模型,它的基本假定是所有數據都表示為數學上的關係。
關係模式的特點 訪問過程 資料庫管理系統是
資料庫系統 的核心,對資料庫的一切操作,如
原始數據 的裝入、檢索、更新、再組織等等,都是在DBMS的指揮、調度下進行的,它是用戶與物理資料庫之間的橋樑,根據用戶的
命令 對資料庫執行必要的操作。
資料庫系統
安全策略 第一,系統安全策略:包括了資料庫用戶管理、資料庫操作規範、用戶認證、作業系統安全4個部分。
1)資料庫用戶管理。資料庫用戶對信息訪問的最直接途徑就是通過用戶訪問。因此需要對用戶進行嚴格的管理,只有真正可信的人員才擁有管理資料庫用戶的許可權;
2)資料庫需要有操作規範。資料庫中數據才是核心,不能有任何的破壞,資料庫管理員是唯一能直接訪問資料庫的人員,管理員的操作是非常重要的,因此需要對資料庫維護人員培訓,樹立嚴謹的工作態度,同時需要規範操作流程;
3)用戶身份的認證。Oracle資料庫可以使用主機作業系統認證用戶,也可以使用資料庫的用戶認證,從安全形度出發,initSID.ora檔案中的remote_os_authent參數設成FALSE,以防止沒有口令的連線。建議將remote_os_roles設成FALSE,防止欺騙性連線;
4)作業系統安全。對於運行任何一種資料庫的作業系統來說,都需要考慮安全問題。資料庫管理員以及系統賬戶的口令都必須符合規定,不能過於簡單而且需要定期的更換口令,對於口令的安全同樣重要。系統管理員在給作業系統做維護的時候,需要與資料庫管理員合作,避免。
第二,數據安全策略。
數據
安全策略 決定了可以訪問特定數據的用戶組,以及這些用戶的操作許可權。數據的安全性取決數據的敏感程度,如果數據不是那么敏感,則數據的安全策略則可以稍微松一些;反之則需要制定特定的安全策略,嚴格的控制訪問對象,確保數據的安全。
第三,用戶安全策略。
用戶安全策略是由一般用戶安全、最終用戶安全、管理員安全、應用程式及開發人員安全、應用程式
管理員 安全5個部分組成。
1)一般用戶安全。如果對於用戶的認證由資料庫進行管理,則安全管理員就應該制定口令安全策略來維護資料庫訪問的安全性。可以配置oracle使用加密口令來進行客戶機/伺服器連線;
2)最終用戶安全。安全管理員必須為最終用戶安全制定策略。如果使用的是大型資料庫同時還有許多用戶,這是就需要安全管理員對用戶組進行分類,為每個用戶組創建用戶角色,並且對每個角色授予相應的許可權;
3)管理員安全。安全管理員應當擁有闡述管理員安全的策略。在資料庫創建後,應對SYS和SYSTEM
用戶名 更改口令,以防止對資料庫的未認證訪問,且只有資料庫管理員才可用;
4)應用程式開發人員安全。安全管理員必須為使用資料庫的應用程式開發人員制定一套特殊的安全策略。安全管理員可以把創建必要對象的許可權授予應用程式開發人員。反之,創建對象的許可權只能授予資料庫管理員,他從開發人員那裡接收對象創建請求;
5)應用程式管理員安全。在有許多資料庫套用
程式 的大型資料庫系統中,可以設立應用程式管理員
第四,口令管理策略。口令管理包括賬戶鎖定、口令老化及到期、口令歷史記錄、口令複雜性校驗。
1)帳戶鎖定。當某一特定用戶超過了失敗登錄嘗試的指定次數,伺服器會自動鎖定這個用戶帳戶;
2)口令老化及到期。DBA使用CREATE PROFILE語句指定口令的最大生存期,當到達了指定的時間長度則口令到期,用戶或DBA必須變更口令;
3)口令歷史記錄。DBA使用CREATE PROFILE語句指定時間間隔,在這一間隔內用戶不能重用口令;
4)口令複雜性校驗。通過使用PL/SQL腳本utlpwdmg.sql(它設定預設的概要檔案參數),可以指定口令複雜性校驗例行程式。
常見資料庫系統 MySQL
MySQL是一個快速的、多執行緒、多用戶和健壯的SQL資料庫伺服器。MySQL伺服器支持關鍵任務、重負載生產系統的使用,也可以將它嵌入到一個大配置(mass- deployed)的軟體中去。
SQL Server
SQL Server 提供了眾多的Web和電子商務功能,如對XML和Internet標準的豐富支持,通過Web對數據進行輕鬆安全的訪問,具有強大的、靈活的、基於Web的和安全的應用程式管理等。
Oracle
Oracle產品系列齊全,幾乎囊括所有套用領域,大型,完善,安全,可以支持多個實例同時運行,功能強。能在所有主流平台上運行。完全支持所有的工業標準。採用完全開放策略。可以使客戶選擇最適合的解決方案。對開發商全力支持。