A. 資料庫原理與應用
摘要 資料庫的原理是實現數據共享,減少數據的冗餘度,加強數據的獨立性,使數據實現集中控制,數據一致性和可維護性,以確保數據的安全性和可靠性,故障恢復。
B. 建立空間資料庫的原理、方法和步驟
一、目標任務
1.主要工作任務
《1∶25萬內陸乾旱區地下水資源評價塔里木盆地地下水勘查空間資料庫》是在綜合研究已有資料的基礎上,補充野外實際工作,建立了58個標准圖幅的1∶25萬空間資料庫。
2.技術要求
採用中國地質大學開發的MAPGIS軟體平台,完全依照中國地質調查局提出的各項技術標准,執行中國地質調查局最新修訂的《西北地下水資源勘查評價空間資料庫工作指南》2.0版及其他相關標准。對選定的58幅1∶25萬標准圖幅綜合水文地質圖、地質圖、生態環境水文地質圖、地貌圖、地下水開發利用規劃圖、地下水水化學類型圖、地下水資源分布圖、平原區地下水質量分區圖、綜合水文地質剖面圖、重點流域等水位線圖等圖件進行數字化處理和空間資料庫的建立。
參考標准或引用標准:
GB 2260中華人民共和國行政區劃代碼
GB 9649地質礦產術語分類代碼
GB/14157水文地質術語
GB/T 14538-93綜合水文地質圖圖例及色標(1∶200000~1∶500000)
GB/T 14848地下水質量標准
GB/T 13923-92,國土基礎信息數據分類與代碼(中國標准出版社,1992)
DZ/T 0197-1997數字化地質圖圖層及屬性文件格式(國家行業標准)
西北地下水資源勘查評價空間資料庫工作指南
3.提交成果
1)資料庫成果(光碟匯交):見表6-1。
2)文檔:屬性表、圖幅基本概況表、工作日誌、自檢表、互檢表、質檢組檢查表、圖面檢查表。
表6-1 成果匯交光碟物理存儲結構
3)塔里木盆地地下水勘查包括58個標准圖幅的水文地質專業圖件共7張彩色噴墨全要素圖各1張、重點流域等水位線圖3張和綜合水文地質剖面圖1張。
4)《1∶25萬內陸乾旱區地下水資源評價塔里木盆地地下水勘查空間資料庫》建庫報告一份。
二、工作方法及流程
(一)項目組織與實施
項目由新疆地質調查院組織,由水文地質工程地質、繪圖、計算機等專業技術骨幹組成,嚴格按照規范和技術要求實施。
(二)工作方法
概據任務書的要求,收集、購買已出版的塔里木盆地58幅圖的地理信息數字化成果數據,採用中國地質大學開發的MAPGIS6.1軟體平台,將此數據在經緯秒格式下進行拼接,按《西北地下水資源勘查評價空間資料庫工作指南》標准對地理屬性進行了修改。各類專業圖件經過專業人員的編圖,經審查合格後,採用彩色或灰度掃描,進行圖形數字化,做到圖元丟失率為0,誤差小於0.02mm,其精度均達到設計要求。數據在矢量化過程中以作者原圖為主的原則,屬性內容以報告和圖面內容相結合的方法採集,成果資料中沒有的不予反映。
(三)工作流程
本次資料庫建設完全按照《西北地下水資源勘查評價空間資料庫工作指南》的具體要求,對相關數據資料進行整理。在MAPGIS支持環境下完成圖形數據的輸入和編輯,利用Access系統下創建的滿足《西北地下水資源勘查評價空間資料庫工作指南》數據結構要求的數據表,完成外掛屬性數據的錄入,並實現圖層與屬性數據的連接。
1.數據信息組成
根據新疆塔里木盆地地下水勘查總體設計書的要求,確定此次工作數據信息的內容為基礎地理、基礎地質、社會經濟信息、水文地質信息(含水文地質條件、水文地質觀測、地下水資源等)、環境地質信息、元數據信息,具體的數據信息與內容見表6-2。
表6-2 主要數據類型與數據特徵
2.圖層劃分
新疆塔里木盆地空間資料庫的建設,從基礎資料圖件到成果表達圖件,多數內容涉及大量的矢量圖形。因此,標准化處理必須確定各種圖件的圖層劃分、圖元、屬性等方面的內容,以使圖形庫最大限度地達到共享。圖形分層主要考慮到便於圖形的操作、管理和計算,同時考慮數據本身的專業數據特點。圖層劃分詳見表6-3 。
表6-3 塔里木盆地地下水勘查空間資料庫圖層劃分
續表
注:#代表含水層編號,含水層未分時,#用「0」替代。
圖6-1 工作流程示意圖
3.數據准備階段
作者原圖及簡單圖件用二值或灰度,以300dpi精度掃描,復雜圖件用彩色以300DPI精度掃描。所有圖件的圖式圖例參數說明文件放入README文件夾中。
4.數據矢量化階段
放大70倍進行圖件的數字化處理。點線數字化時,要保證其准確性和自然光滑,有坐標的點採用單點展繪的方法直接投影到1∶25萬圖中,保證了精度。線數字化時,為確保拓撲時弧段不變形,未採用MAPGIS系統提供的線圓滑功能。
5.檢查矢量化圖件
噴繪數字化圖件,對照原圖進行自檢、互檢、抽檢,並由水文地質專家進行100%的檢查,確保矢量化後的圖形數據與原圖件一致性和完整性。
6.誤差校正
塔里木盆地面積大,橫跨4個帶。各帶圖件經檢查無誤後,生成基於原圖高斯北京投影帶方式的理論圖框,進行誤差校正。每標准圖幅採集13個控制點,除4個角點外,其餘點均勻分布在圖幅內。
7.無投影格式下重新拓撲
將檢查無誤的數據投影到經緯度格式。在經緯度下再進行各帶各類圖件的拼接,為確保套合精度,重新進行拓撲,錄入面屬性,再將參與做面的線從整體拓撲圖層中弧轉線中分離出來,做線屬性。
8.噴繪圖件
對參與整體拓撲的圖層進行拓撲處理、錯誤檢查、修改,然後編輯區顏色。將各圖層形成工程文件後,彩噴出圖。再由繪圖專業人員和水文地質專家對照原圖檢查,檢查出錯誤進行修改,再出圖,再次檢查,直至完全無誤,最後彩噴成果圖件。
9.填寫屬性卡片
屬性卡片的內容以原圖和原報告為主要依據。
10.錄入屬性
在MAPGIS屬性庫管理模塊中將各圖層ID號和圖元編號做唯一。
11.轉換文件格式
將經緯度格式下的屬性文件,生成E00文件,轉入ARCINFO中,形成最終的ARCINFO格式數據。
工作流程見圖6-1。
C. 關於資料庫原理與應用的幾個問題
1 .試述數據、資料庫、資料庫系統、資料庫管理系統的概念。
答:
( l )數據( Data ) :描述事物的符號記錄稱為數據。數據的種類有數字、文字、圖形、圖像、聲音、正文等。數據與其語義是不可分的。解析在現代計算機系統中數據的概念是廣義的。早期的計算機系統主要用於科學計算,處理的數據是整數、實數、浮點數等傳統數學中的數據。現代計算機能存儲和處理的對象十分廣泛,表示這些對象的數據也越來越復雜。數據與其語義是不可分的。 500 這個數字可以表示一件物品的價格是 500 元,也可以表示一個學術會議參加的人數有 500 人,還可以表示一袋奶粉重 500 克。
( 2 )資料庫( DataBase ,簡稱 DB ) :資料庫是長期儲存在計算機內的、有組織的、可共享的數據集合。資料庫中的數據按一定的數據模型組織、描述和儲存,具有較小的冗餘度、較高的數據獨立性和易擴展性,並可為各種用戶共享。
( 3 )資料庫系統( DataBas 。 Sytem ,簡稱 DBS ) :資料庫系統是指在計算機系統中引入資料庫後的系統構成,一般由資料庫、資料庫管理系統(及其開發工具)、應用系統、資料庫管理員構成。解析資料庫系統和資料庫是兩個概念。資料庫系統是一個人一機系統,資料庫是資料庫系統的一個組成部分。但是在日常工作中人們常常把資料庫系統簡稱為資料庫。希望讀者能夠從人們講話或文章的上下文中區分「資料庫系統」和「資料庫」,不要引起混淆。
( 4 )資料庫管理系統( DataBase Management sytem ,簡稱 DBMs ) :資料庫管理系統是位於用戶與操作系統之間的一層數據管理軟體,用於科學地組織和存儲數據、高效地獲取和維護數據。 DBMS 的主要功能包括數據定義功能、數據操縱功能、資料庫的運行管理功能、資料庫的建立和維護功能。解析 DBMS 是一個大型的復雜的軟體系統,是計算機中的基礎軟體。目前,專門研製 DBMS 的廠商及其研製的 DBMS 產品很多。著名的有美國 IBM 公司的 DBZ 關系資料庫管理系統和 IMS 層次資料庫管理系統、美國 Oracle 公司的 orade 關系資料庫管理系統、 s 油 ase 公司的 s 油 ase 關系資料庫管理系統、美國微軟公司的 sql Serve ,關系資料庫管理系統等。
2 .使用資料庫系統有什麼好處?
答:
使用資料庫系統的好處是由資料庫管理系統的特點或優點決定的。使用資料庫系統的好處很多,例如,可以大大提高應用開發的效率,方便用戶的使用,減輕資料庫系統管理人員維護的負擔,等等。使用資料庫系統可以大大提高應用開發的效率。因為在資料庫系統中應用程序不必考慮數據的定義、存儲和數據存取的具體路徑,這些工作都由 DBMS 來完成。用一個通俗的比喻,使用了 DBMS 就如有了一個好參謀、好助手,許多具體的技術工作都由這個助手來完成。開發人員就可以專注於應用邏輯的設計,而不必為數據管理的許許多多復雜的細節操心。還有,當應用邏輯改變,數據的邏輯結構也需要改變時,由於資料庫系統提供了數據與程序之間的獨立性,數據邏輯結構的改變是 DBA 的責任,開發人員不必修改應用程序,或者只需要修改很少的應用程序,從而既簡化了應用程序的編制,又大大減少了應用程序的維護和修改。使用資料庫系統可以減輕資料庫系統管理人員維護系統的負擔。因為 DBMS 在資料庫建立、運用和維護時對資料庫進行統一的管理和控制,包括數據的完整性、安全性、多用戶並發控制、故障恢復等,都由 DBMS 執行。總之,使用資料庫系統的優點是很多的,既便於數據的集中管理,控制數據冗餘,提高數據的利用率和一致性,又有利於應用程序的開發和維護。讀者可以在自己今後的工作中結合具體應用,認真加以體會和總結。
3 .試述文件系統與資料庫系統的區別和聯系。
答:
文件系統與資料庫系統的區別是:文件系統面向某一應用程序,共享性差,冗餘度大,數據獨立性差,記錄內有結構,整體無結構,由應用程序自己控制。資料庫系統面向現實世界,共享性高,冗餘度小,具有較高的物理獨立性和一定的邏輯獨立性,整體結構化,用數據模型描述,由資料庫管理系統提供數據的安全性、完整性、並發控制和恢復能力。
文件系統與資料庫系統的聯系是:文件系統與資料庫系統都是計算機系統中管理數據的軟體。解析文件系統是操作系統的重要組成部分;而 DBMS 是獨立於操作系統的軟體。但是 DBMS 是在操作系統的基礎上實現的;資料庫中數據的組織和存儲是通過操作系統中的文件系統來實現的。
4 .舉出適合用文件系統而不是資料庫系統的例子;再舉出適合用資料庫系統的應用例子。答 :
( l )適用於文件系統而不是資料庫系統的應用例子數據的備份、軟體或應用程序使用過程中的臨時數據存儲一般使用文件比較合適。早期功能比較簡單、比較固定的應用系統也適合用文件系統。
( 2 )適用於資料庫系統而非文件系統的應用例子目前,幾乎所有企業或部門的信息系統都以資料庫系統為基礎,都使用資料庫。例如,一個工廠的管理信息系統(其中會包括許多子系統,如庫存管理系統、物資采購系統、作業調度系統、設備管理系統、人事管理系統等),學校的學生管理系統,人事管理系統,圖書館的圖書管理系統,等等,都適合用資料庫系統。希望讀者能舉出自己了解的應用例子。
5 .試述資料庫系統的特點。
答:
資料庫系統的主要特點有:
( l )數據結構化資料庫系統實現整體數據的結構化,這是資料庫的主要特徵之一,也是資料庫系統與文件系統的本質區別。解析注意這里的「整體』夕兩個字。在資料庫系統中,數據不再針對某一個應用,而是面向全組織,具有整體的結構化。不僅數據是結構化的,而且數據的存取單位即一次可以存取數據的大小也很靈活,可以小到某一個數據項(如一個學生的姓名),大到一組記錄(成千上萬個學生記錄)。而在文件系統中,數據的存取單位只有一個:記錄,如一個學生的完整記錄。
( 2 )數據的共享性高,冗餘度低,易擴充資料庫的數據不再面向某個應用而是面向整個系統,因此可以被多個用戶、多個應用以多種不同的語言共享使用。由於數據面向整個系統,是有結構的數據,不僅可以被多個應用共享使用,而且容易增加新的應用,這就使得資料庫系統彈性大,易於擴充。解析數據共享可以大大減少數據冗餘,節約存儲空間,同時還能夠避免數據之間的不相容性與不一致性。所謂「數據面向某個應用」是指數據結構是針對某個應用設計的,只被這個應用程序或應用系統使用,可以說數據是某個應用的「私有資源」。所謂「彈性大」是指系統容易擴充也容易收縮,即應用增加或減少時不必修改整個資料庫的結構,只需做很少的改動。可以取整體數據的各種子集用於不同的應用系統,當應用需求改變或增加時,只要重新選取不同的子集或加上一部分數據,便可以滿足新的需求。
( 3 )數據獨立性高數據獨立性包括數據的物理獨立性和數據的邏輯獨立性。資料庫管理系統的模式結構和二級映像功能保證了資料庫中的數據具有很高的物理獨立性和邏輯獨立性。
( 4 )數據由 DBMS 統一管理和控制資料庫的共享是並發的共享,即多個用戶可以同時存取資料庫中的數據甚至可以同時存取資料庫中同一個數據。為此, DBMS 必須提供統一的數據控制功能,包括數據的安全性保護、數據的完整性檢查、並發控制和資料庫恢復。解析 DBMS 數據控制功能包括四個方面:數據的安全性保護:保護數據以防止不合法的使用造成的數據的泄密和破壞;數據的完整性檢查:將數據控制在有效的范圍內,或保證數據之間滿足一定的關系;並發控制:對多用戶的並發操作加以控制和協調,保證並發操作的正確性;資料庫恢復:當計算機系統發生硬體故障、軟體故障,或者由於操作員的失誤以及故意的破壞影響資料庫中數據的正確性,甚至造成資料庫部分或全部數據的丟失時,能將資料庫從錯誤狀態恢復到某一已知的正確狀態(亦稱為完整狀態或一致狀態)。下面可以得到「什麼是資料庫」的一個定義:資料庫是長期存儲在計算機內有組織的大量的共享的數據集合,它可以供各種用戶共享,具有最小冗餘度和較高的數據獨立性。 DBMS 在資料庫建立、運用和維護時對資料庫進行統一控制,以保證數據的完整性、安全性,並在多用戶同時使用資料庫時進行並發控制,在發生故障後對系統進行恢復。資料庫系統的出現使信息系統從以加工數據的程序為中心轉向圍繞共享的資料庫為中心的新階段。
6 .資料庫管理系統的主要功能有哪些?
答:
( l )資料庫定義功能;
( 2 )數據存取功能;
( 3 )資料庫運行管理;
( 4 )資料庫的建立和維護功能。
7 .試述數據模型的概念、數據模型的作用和數據模型的三個要素。
答:
數據模型是資料庫中用來對現實世界進行抽象的工具,是資料庫中用於提供信息表示和操作手段的形式構架。一般地講,數據模型是嚴格定義的概念的集合。這些概念精確描述了系統的靜態特性、動態特性和完整性約束條件。因此數據模型通常由數據結構、數據操作和完整性約束三部分組成。
( l )數據結構:是所研究的對象類型的集合,是對系統靜態特性的描述。
( 2 )數據操作:是指對資料庫中各種對象(型)的實例(值)允許進行的操作的集合,包括操作及有關的操作規則,是對系統動態特性的描述。
( 3 )數據的約束條件:是一組完整性規則的集合。完整性規則是給定的數據模型中數據及其聯系所具有的制約和依存規則,用以限定符合數據模型的資料庫狀態以及狀態的變化,以保證數據的正確、有效、相容。解析數據模型是資料庫系統中最重要的概念之一。必須通過 《 概論 》 的學習真正掌握數據模型的概念和作用。數據模型是資料庫系統的基礎。任何一個 DBMS 都以某一個數據模型為基礎,或者說支持某一個數據模型。資料庫系統中,模型有不同的層次。根據模型應用的不同目的,可以將模型分成兩類或者說兩個層次:一類是概念模型,是按用戶的觀點來對數據和信息建模,用於信息世界的建模,強調語義表達能力,概念簡單清晰;另一類是數據模型,是按計算機系統的觀點對數據建模,用於機器世界,人們可以用它定義、操縱資料庫中的數據,一般需要有嚴格的形式化定義和一組嚴格定義了語法和語義的語言,並有一些規定和限制,便於在機器上實現。
8 .試述概念模型的作用。
答:
概念模型實際上是現實世界到機器世界的一個中間層次。概念模型用於信息世界的建模,是現實世界到信息世界的第一層抽象,是資料庫設計人員進行資料庫設計的有力工具,也是資料庫設計人員和用戶之間進行交流的語言。
9 .定義並解釋概念模型中以下術語:實體,實體型,實體集,屬性,碼,實體聯系圖( E 一 R 圖)
答:
實體:客觀存在並可以相互區分的事物叫實體。實體型:具有相同屬性的實體具有相同的特徵和性質,用實體名及其屬性名集合來抽象和刻畫同類實體,稱為實體型。實體集:同型實體的集合稱為實體集。屬性:實體所具有的某一特性,一個實體可由若干個屬性來刻畫。碼:惟一標識實體的屬性集稱為碼。實體聯系圖( E 一 R 圖):提供了表示實體型、屬性和聯系的方法: • 實體型:用矩形表示,矩形框內寫明實體名; • 屬性:用橢圓形表示,並用無向邊將其與相應的實體連接起來; • 聯系:用菱形表示,菱形框內寫明聯系名,並用無向邊分別與有關實體連接起來,同時在無向邊旁標上聯系的類型( 1 : 1 , 1 : n 或 m : n )。
17 .試述網狀、層次資料庫的優缺點。
答:
層次模型的優點主要有: ( l )模型簡單,對具有一對多層次關系的部門描述非常自然、直觀,容易理解,這是層次資料庫的突出優點; ( 2 )用層次模型的應用系統性能好,特別是對於那些實體間聯系是固定的且預先定義好的應用,採用層次模型來實現,其性能優於關系模型; ( 3 )層次數據模型提供了良好的完整性支持。
層次模型的缺點主要有: ( l )現實世界中很多聯系是非層次性的,如多對多聯系、一個結點具有多個雙親等,層次模型不能自然地表示這類聯系,只能通過引入冗餘數據或引入虛擬結點來解決; ( 2 )對插入和刪除操作的限制比較多; ( 3 )查詢子女結點必須通過雙親結點。
網狀數據模型的優點主要有: ( l )能夠更為直接地描述現實世界,如一個結點可以有多個雙親; ( 2 )具有良好的性能,存取效率較高。
網狀數據模型的缺點主要有: ( l )結構比較復雜,而且隨著應用環境的擴大,資料庫的結構就變得越來越復雜,不利於最終用戶掌握; ( 2 )其 DDL 、 DML 語言復雜,用戶不容易使用。由於記錄之間聯系是通過存取路徑實現的,應用程序在訪問數據時必須選擇適當的存取路徑。因此,用戶必須了解系統結構的細節,加重了編寫應用程序的負擔。
18 .試述關系模型的概念,定義並解釋以下術語: ( l )關系( 2 )屬性( 3 )域( 4 )元組 ( 5 )主碼( 6 )分量( 7 )關系模式
答:
關系模型由關系數據結構、關系操作集合和關系完整性約束三部分組成。在用戶觀點下,關系模型中數據的邏輯結構是一張二維表,它由行和列組成。 ( l )關系:一個關系對應通常說的一張表; ( 2 )屬性:表中的一列即為一個屬性; ( 3 )域:屬性的取值范圍; ( 4 )元組:表中的一行即為一個元組; ( 5 )主碼:表中的某個屬性組,它可以惟一確定一個元組; ( 6 )分量:元組中的一個屬性值; ( 7 )關系模式:對關系的描述,一般表示為關系名(屬性 1 ,屬性 2 , … ,屬性 n )
19 .試述關系資料庫的特點。
答:
關系數據模型具有下列優點: ( l )關系模型與非關系模型不同,它是建立在嚴格的數學概念的基礎上的。 ( 2 )關系模型的概念單一,無論實體還是實體之間的聯系都用關系表示,操作的對象和操作的結果都是關系,所以其數據結構簡單、清晰,用戶易懂易用。 ( 3 )關系模型的存取路徑對用戶透明,從而具有更高的數據獨立性、更好的安全保密性,也簡化了程序員的工作和資料庫開發建立的工作。當然,關系數據模型也有缺點,其中最主要的缺點是,由於存取路徑對用戶透明,查詢效率往往不如非關系數據模型。因此為了提高性能,必須對用戶的查詢請求進行優化,增加了開發資料庫管理系統的難度。
20 .試述資料庫系統三級模式結構,這種結構的優點是什麼?
答:
資料庫系統的三級模式結構由外模式、模式和內模式組成。(參見書上圖 1 . 29 ) 外模式,亦稱子模式或用戶模式,是資料庫用戶(包括應用程序員和最終用戶)能夠看見和使用的局部數據的邏輯結構和特徵的描述,是資料庫用戶的數據視圖,是與某一應用有關的數據的邏輯表示。模式,亦稱邏輯模式,是資料庫中全體數據的邏輯結構和特徵的描述,是所有用戶的公共數據視圖。模式描述的是數據的全局邏輯結構。外模式涉及的是數據的局部邏輯結構,通常是模式的子集。內模式,亦稱存儲模式,是數據在資料庫系統內部的表示,即對數據的物理結構和存儲方式的描述。資料庫系統的三級模式是對數據的三個抽象級別,它把數據的具體組織留給 DBMs 管理,使用戶能邏輯抽象地處理數據,而不必關心數據在計算機中的表示和存儲。為了能夠在內部實現這三個抽象層次的聯系和轉換,資料庫系統在這三級模式之間提供了兩層映像:外模式/模式映像和模式/內模式映像。正是這兩層映像保證了資料庫系統中的數據能夠具有較高的邏輯獨立性和物理獨立性。
21 .定義並解釋以下術語:模式、外模式、內模式、 DDL 、 DML 模式、外模式、內模式,亦稱邏輯模式,是資料庫中全體數據的邏輯結構和特徵的描述,是所有用戶的公共數據視圖。模式描述的是數據的全局邏輯結構。外模式涉及的是數據的局部邏輯結構,通常是模式的子集。內模式,亦稱存儲模式,是數據在資料庫系統內部的表示,即對數據的物理結構和存儲方式的描述。 DDL :數據定義語言,用來定義資料庫模式、外模式、內模式的語言。 DML :數據操縱語言,用來對資料庫中的數據進行查詢、插入、刪除和修改的語句。
22 .什麼叫數據與程序的物理獨立性?什麼叫數據與程序的邏輯獨立性?為什麼資料庫系統具有數據與程序的獨立性?
答:
數據與程序的邏輯獨立性:當模式改變時(例如增加新的關系、新的屬性、改變屬性的數據類型等),由資料庫管理員對各個外模式/模式的映像做相應改變,可以使外模式保持不變。應用程序是依據數據的外模式編寫的,從而應用程序不必修改,保證了數據與程序的邏輯獨立性,簡稱數據的邏輯獨立性。數據與程序的物理獨立性:當資料庫的存儲結構改變了,由資料庫管理員對模式/內模式映像做相應改變,可以使模式保持不變,從而應用程序也不必改變,保證了數據與程序的物理獨立性,簡稱數據的物理獨立性。資料庫管理系統在三級模式之間提供的兩層映像保證了資料庫系統中的數據能夠具有較高的邏輯獨立性和物理獨立性。
23 .試述資料庫系統的組成。
答:
資料庫系統一般由資料庫、資料庫管理系統(及其開發工具)、應用系統、資料庫管理員和用戶構成。
24 . DBA 的職責是什麼?
答:
負責全面地管理和控制資料庫系統。具體職責包括: ① 決定資料庫的信息內容和結構; ② 決定資料庫的存儲結構和存取策略; ③ 定義數據的安全性要求和完整性約束條件; ④ 監督和控制資料庫的使用和運行; ⑤ 改進和重組資料庫系統。 25 .系統分析員、資料庫設計人員、應用程序員的職責是什麼?答系統分析員負責應用系統的需求分析和規范說明,系統分析員要和用戶及 DBA 相結合,確定系統的硬體、軟體配置,並參與資料庫系統的概要設計。資料庫設計人員負責資料庫中數據的確定、資料庫各級模式的設計。資料庫設計人員必須參加用戶需求調查和系統分析,然後進行資料庫設計。在很多情況下,資料庫設計人員就由資料庫管理員擔任。應用程序員負責設計和編寫應用系統的程序模塊,並進行調試和安裝。
1 .試述關系模型的三個組成部分。
答:關系模型由關系數據結構、關系操作集合和關系完整性約束三部分組成。
2 .試述關系數據語言的特點和分類。
答:關系數據語言可以分為三類:
關系代數語言。
關系演算語言:元組關系演算語言和域關系演算語言。
SQL:具有關系代數和關系演算雙重特點的語言。
這些關系數據語言的共同特點是,語言具有完備的表達能力,是非過程化的集合操作語言,功能強,能夠嵌入高級語言中使用。
4 .試述關系模型的完整性規則。在參照完整性中,為什麼外部碼屬性的值也可以為空?什麼情況下才可以為空?
答:實體完整性規則是指若屬性A是基本關系R的主屬性,則屬性A不能取空值。
若屬性(或屬性組)F是基本關系R的外碼,它與基本關系S的主碼Ks相對應(基本關系R和S不一定是不同的關系),則對於R中每個元組在F上的值必須為:或者取空值(F的每個屬性值均為空值);或者等於S中某個元組的主碼值。即屬性F本身不是主屬性,則可以取空值,否則不能取空值。
5.設有一個SPJ資料庫,包括S,P,J,SPJ四個關系模式:
1)求供應工程J1零件的供應商號碼SNO:
πSno(σSno=『J1』(SPJ))
2)求供應工程J1零件P1的供應商號碼SNO:
πSno(σSno=『J1』∧Pno=『P1『(SPJ))
3)求供應工程J1零件為紅色的供應商號碼SNO:
πSno(σPno=『P1『 (σCOLOR=』紅『 (P)∞SPJ))
4)求沒有使用天津供應商生產的紅色零件的工程號JNO:
πJno(SPJ)- πJNO(σcity=『天津』∧Color=『紅『 (S∞SPJ∞P)
5)求至少用了供應商S1所供應的全部零件的工程號JNO:
πJno,Pno(SPJ)÷ πPno(σSno=『S1『 (SPJ))
6.試述等值連接與自然連接的區別和聯系。
答:連接運算符是「=」的連接運算稱為等值連接。它是從關系R與S的廣義笛卡爾積中選取A,B屬性值相等的那些元組
自然連接是一種特殊的等值連接,它要求兩個關系中進行比較的分量必須是相同的屬性組,並且在結果中把重復的屬性列去掉。
7.關系代數的基本運算有哪些 ? 如何用這些基本運算來表示其他運算?
答:並、差、笛卡爾積、投影和選擇5種運算為基本的運算。其他3種運算,即交、連接和除,均可以用這5種基本運算來表達。
1 .試述 sQL 語言的特點。
答:
(l)綜合統一。 sQL 語言集數據定義語言 DDL 、數據操縱語言 DML 、數據控制語言 DCL 的功能於一體。
(2)高度非過程化。用 sQL 語言進行數據操作,只要提出「做什麼」,而無需指明「怎麼做」,因此無需了解存取路徑,存取路徑的選擇以及 sQL 語句的操作過程由系統自動完成。
(3)面向集合的操作方式。 sQL 語言採用集合操作方式,不僅操作對象、查找結果可以是元組的集合,而且一次插入、刪除、更新操作的對象也可以是元組的集合。
(4)以同一種語法結構提供兩種使用方式。 sQL 語言既是自含式語言,又是嵌入式語言。作為自含式語言,它能夠獨立地用於聯機交互的使用方式;作為嵌入式語言,它能夠嵌入到高級語言程序中,供程序員設計程序時使用。
(5)語言簡捷,易學易用。
2 .試述 sQL 的定義功能。
sQL 的數據定義功能包括定義表、定義視圖和定義索引。 SQL 語言使用 cREATE TABLE 語句建立基本表, ALTER TABLE 語句修改基本表定義, DROP TABLE 語句刪除基本表;使用 CREATE INDEX 語句建立索引, DROP INDEX 語句刪除索引;使用 CREATE VIEW 語句建立視圖, DROP VIEW 語句刪除視圖。
1 .什麼是資料庫的安全性?
答:資料庫的安全性是指保護資料庫以防止不合法的使用所造成的數據泄露、更改或破壞。
2 .資料庫安全性和計算機系統的安全性有什麼關系?
答:安全性問題不是資料庫系統所獨有的,所有計算機系統都有這個問題。只是在資料庫系統中大量數據集中存放,而且為許多最終用戶直接共享,從而使安全性問題更為突出。
系統安全保護措施是否有效是資料庫系統的主要指標之一。
資料庫的安全性和計算機系統的安全性,包括操作系統、網路系統的安全性是緊密聯系、相互支持的,
3 .試述可信計算機系統評測標準的情況,試述TDI / TCSEC 標準的基本內容。
答:各個國家在計算機安全技術方面都建立了一套可信標准。目前各國引用或制定的一系列安全標准中,最重要的是美國國防部(DoD )正式頒布的《 DoD 可信計算機系統評估標准》 (伽sted Co 哪uter system Evaluation criteria ,簡稱TcsEc ,又稱桔皮書)。(TDI / TCSEC 標準是將TcsEc 擴展到資料庫管理系統,即《 可信計算機系統評估標准關於可信資料庫系統的解釋》 (Tmsted Database Interpretation 簡稱TDI , 又稱紫皮書)。在TDI 中定義了資料庫管理系統的設計與實現中需滿足和用以進行安全性級別評估的標准。
TDI 與TcsEc 一樣,從安全策略、責任、保證和文檔四個方面來描述安全性級別劃分的指標。每個方面又細分為若干項。
5 .試述實現資料庫安全性控制的常用方法和技術。
答:實現資料庫安全性控制的常用方法和技術有:
( l )用戶標識和鑒別:該方法由系統提供一定的方式讓用戶標識自己的名字或身份。每次用戶要求進入系統時,由系統進行核對,通過鑒定後才提供系統的使用權。
( 2 )存取控制:通過用戶許可權定義和合法權檢查確保只有合法許可權的用戶訪問資料庫,所有未被授權的人員無法存取數據。例如CZ 級中的自主存取控制( DAC ) , Bl 級中的強制存取控制(MAC )。
( 3 )視圖機制:為不同的用戶定義視圖,通過視圖機制把要保密的數據對無權存取的用戶隱藏起來,從而自動地對數據提供一定程度的安全保護。
( 4 )審計:建立審計日誌,把用戶對資料庫的所有操作自動記錄下來放入審計日誌中,DBA 可以利用審計跟蹤的信息,重現導致資料庫現有狀況的一系列事件,找出非法存取數據的人、時間和內容等。
( 5 )數據加密:對存儲和傳輸的數據進行加密處理,從而使得不知道解密演算法的人無法獲知數據的內容。
6 .什麼是資料庫中的自主存取控制方法和強制存取控制方法?
答:
自主存取控制方法:定義各個用戶對不同數據對象的存取許可權。當用戶對資料庫訪問時首先檢查用戶的存取許可權。防止不合法用戶對資料庫的存取。
強制存取控制方法:每一個數據對象被(強制地)標以一定的密級,每一個用戶也被(強制地)授予某一個級別的許可證。系統規定只有具有某一許可證級別的用戶才能存取某一個密級的數據對象。
7 .SQL 語言中提供了哪些數據控制(自主存取控制)的語句?請試舉幾例說明它們的使用方法。
答:
SQL 中的自主存取控制是通過GRANT語句和REVOKE語句來實現的。如:
GRANT SELECT , INSERT ON Student
TO 王平
WITH GRANT OPTION ;
就將Student 表的SELECT 和INSERT 許可權授予了用戶王平,後面的「WITH GRANT OPTION 」子句表示用戶王平同時也獲得了「授權」的許可權,即可以把得到的許可權繼續授予其他用戶。
REVOKE INSERT ON Student FROM 王平CASCADE ;
就將Student 表的INSERT 許可權從用戶王平處收回,選項CASCADE 表示,如果用戶王平將Student 的INSERT 許可權又轉授給了其他用戶,那麼這些許可權也將從其他用戶處收回。
D. Web資料庫的原理與步驟
萬維網簡稱為Web。Web可以描述為在Internet上運行的、全球的、交互的、動態的、跨平台的、分布式的、圖形化的超文本信息系統。
1.Web的工作原理
Web是伴隨著Internet技術而產生的。在計算機網路中,對於提供Web服務的計算機稱為Web伺服器。Web採用瀏覽器/伺服器的工作方式。每個Web伺服器上都放置著大量的Web信息。Web信息的基本單位是Web頁(網頁),多個網頁組成了一個Web節點。每個Web節點的起始頁稱為「主頁」,且擁有一個URL地址(統一資源定位地址)。Web節點之間及網頁之間都是以超文本結構(非線性的網狀結構)來進行組織的。
2.Web的工作步驟
Web的工作步驟如下。
(1)用戶打開客戶端計算機中的瀏覽器軟體(例如Internet Explorer)。
(2)用戶輸入要啟動的Web主頁的URL地址,瀏覽器將生成一個HTTP請求。
(3)瀏覽器連接到指定的Web伺服器,並發送HTTP請求。
(4)Web伺服器接到HTTP請求,根據請求的內容不同作相應的處理,再將網頁以HTML文件格式發回給瀏覽器。
(5)瀏覽器將網頁顯示到屏幕上。
WWW世界中的標記語言
HTML語言
HTML(Hypertext Markup Language,超文本標記語言)是創建網頁的計算機語言。所謂網頁實際上就是一個HTML文檔。文檔內容由文本和HTML標記組成。HTML文檔的擴展名就是.html或.htm。瀏覽器負責解釋HTML文檔中的標記,並將HTML文檔顯示成網頁。
(1)HTML標記
HTML標記的作用是告訴瀏覽器網頁的結構和格式。每一個標記用尖括弧<>括起來。大多數標記都有一個開始標記和一個結束標記。標記不分大小寫。多數標記都帶有自己的屬性。例如字體標記<FONT>有FACE、COLOR、SIZE等屬性:FACE定義字體;COLOR定義字體的顏色;SIZE定義字體的大小。
使用格式:<FONT FACE= SONG SIZE=3 COLOR=RED > BEIJING </FONT>。
網頁中有很多文本鏈接和圖片鏈接。鏈接,又被稱為超鏈接,用於鏈接到WWW萬維網中的其他網頁上。在HTML文檔中表示超鏈接的標記是<A>,通過屬性HREF指出鏈接的網頁地址URL。
(2)HTML程序
HTML程序必須以<HTML>標記開始,以</HTML>標記結束。在<HTML>和</HTML>標記之間主要由兩部分組成:文件頭和文件體。文件頭用標記<HEAD> </HEAD>來標識,文件體用標記<BODY></BODY>來標識。在文件的頭部通常包含整個網頁的一些信息。例如<TITLE></TITLE>標記是用來說明網頁的名稱;<META></META>標記是用來說明網頁的其他信息,如設計者姓名和版權信息等。所有在瀏覽器中要顯示的內容稱為網頁的主體,必須放在<BODY></BODY>標記中。下面給出的是一個空網頁的HTML程序。
<HTML>
<HEAD>
<TITLE>(在此標記中寫網頁的標題)</TITLE>
</HEAD>
<BODY>
(在此標記中寫網頁的內容)
</BODY>
</HTML>
(3)HTML規范
HTML規范又稱為HTML標准,它總在不斷地發展。每一新版本的出現,HTML都會增加新的特性和內容。
在不同的瀏覽器中,網頁的顯示效果可能會有所不同。每一個瀏覽器都使用自己獨特的方式解釋HTML文檔中的標記,並且多數瀏覽器不完全支持HTML的所有特性。因為,像Microsoft和Netscape公司在HTML標准上又開發了一些特有的HTML標記和屬性,稱之為HTML的擴展。這些標記和屬性只被他們自己的瀏覽器所識別,不可能被其他公司的瀏覽器識別。如果瀏覽器不能識別HTML文檔中的標記,則會忽略這個標記。
(4)HTML程序的編輯環境與運行環境
HTML文檔是一個普通的文本文件(ASCII),不包含任何與平台、程序有關的信息。因此HTML文檔可以利用任何文本編輯器來方便地生成。要注意的是HTML文檔的擴展名必須是.html或.htm。運行HTML文檔可以在任何瀏覽器下進行,並可在瀏覽器上查看網頁的HTML源代碼。
關於HTML語言中標記的種類與使用方法將會在第5章中更詳細地進行介紹。
可擴展標記語言(XML)
HTML是Web上的通用語言,隨著Internet的深入人心,WWW上的Web文件日益復雜化、多樣化,人們開始感到了HTML這種固定格式的標記語言的不足。1996年W3C開始對HTML的後續語言進行研究,並於1998年正式推出了XML(Extensible Markup Language,可擴展標記語言)。在設計網頁時,XML提供了比HTML更靈活的方法。
(1)XML語言的特點
XML是國際組織W3C為適應WWW的應用,將SGML (Standard Generalized Markup Language)標准進行簡化形成的元標記語言。簡單地說,XML是使用標記來描述內容或與內容相關的形式信息的通用語言。一個XML文檔由標記和字元數據組成。
而作為元標記語言,XML不再使標記固定,允許網頁的設計者定義數量不限的標記來描述內容,同時還允許設計者創建自己的使用規則。
(2)XML的DTD
DTD(Document Type Definition,文檔類型定義)是一組應用在XML文檔中的自定義標記語言的技術規范。DTD中定義了標記的含義及關於標記的語法規則。語法規則中確定了在XML文檔中使用哪些標記符,它們應該按什麼次序出現,標記符之間如何 嵌套,哪些標記符有屬性等等。DTD可以包含在它所描述的XML文檔中,但通常它是一份單獨的文檔或者一系列文檔。作為外部文件可通過URL鏈接,被不同的XML文檔 共享。
XML把DTD的定義權開放,不同行業可以根據自己的實際需求定義描述內容的DTD,以適應本行業內部的信息交流和存檔需要。因此,適合於不同行業、不同平台的標記語言大批涌現。
DTD定義的基本格式是:<!DOCTYPE 根元素[……規則……]>。其中的規則包括:元素聲明ELEMENT,屬性聲明ATTLIST,實體聲明ENTITY,等。通常出版發行業描述圖書的信息需要有:書號、書名、作者、出版社、出版日期等,那麼下面給出的便是為描述圖書信息而制定的一個DTD和與它對應的XML文檔。
<?xml version=1.0 encoding=iso-8859-1?>
<!DOCTYPE BookInformation [
<!ELEMENT BookInformation ((Book)+)>
<!ELEMENT Book(BookNumber, BookName, Writer, BookConcern, PublishingTime)>
<!ELEMENT BookNumber (#PCDATA)>
<!ELEMENT BookName (#PCDATA)>
<!ELEMENT Writer (#PCDATA)>
<!ELEMENT BookConcern (#PCDATA)>
<!ELEMENT PublishingTime(year, month)>
<!ELEMENT year(#PCDATA)>
<!ELEMENT month (#PCDATA)>
]>
<BookInformation>
<Book>
<BookNumber>ISBN0001</BookNumber>
<BookName>XML3.0技術內幕</BookName>
<Writer>John</Writer>
<BookConcern>清華大學出版社</BookConcern>
<PublishingTime>
<year>2001</year>
<month>8</month>
</PublishingTime>
</Book>
<Book>
另一本書信息省略
</Book>
</BookInformation>
不難看出,在XML的程序清單中使用了具有意義的標記,如<BookName>、<Writer>和<PublishingTime>等。這種用法的優點是:標記具有含義,源碼易於閱讀理解;其次是處理程序可以根據文檔類型定義來驗證XML文檔是否合法。
(3)XML的CSS與XSL
強調內容描述與形式描述的分離,一方面可以使XML文件的編寫者更集中精力於數據本身,而不受顯示方式的細節影響;另一方面允許為相同的數據定義不同的顯示方式,從而適合於不同應用、不同媒體,使XML數據得到最大程度的重用。XML文檔數據的顯示形式是通過樣式單定義的。CSS(Cascading Style Sheets)是XML使用的一種標準的級聯樣式單,XSL(Extensible Style Language)則是可擴展的樣式語言。
由於XML允許用戶創建任何所需的標記,而通用瀏覽器卻既無法預期用戶標記的意義,又無法為顯示這些標記而提供規則,因此用戶必須為自己創建的XML文檔編寫樣式單,樣式單可以實現共享。
瀏覽器對一個XML文檔的處理過程是,首先去關聯它所指定的樣式單文件,如果該樣式單是一個XSL文件,則按照規定對XML數據進行轉換然後再顯示,XSL本身也是基於XML語言的,可以將XML轉化為HTML後再顯示。如果該樣式單是一個CSS文件,瀏覽器就會按照樣式單的規定給每個標記賦予一組樣式後再顯示。
E. 資料庫原理
開始的時候你可以針對某一種資料庫學習,比如Sql Server 、Oracle、MySql,因為這些資料庫雖說有不同之處,但是大同小異,只要對一種資料庫了解了,其他的資料庫也就沒什麼問題了。相同之處:
1、SQL(標准化查詢語言),這個是所有資料庫都通用的,只要學會了這個語言,你就可以遊走在所有資料庫系統之間,屢試不爽!
2、原理,目前主流資料庫都是關系型資料庫,就如同面向對象程序設計語言一樣,雖說C#和java是兩款不同的語言,但是都是面向對象語言,只要是面向對象語言,所有程序無非就是對象和對象之間的關系和調用的過程集合而已。關系型資料庫也是同理。了解了一種關系型資料庫的原理之後,其他的也是無師自通。
不同之處:
1、方言,方言就通現實生活中不同地區的方言是一樣的。不同資料庫之間會有他們自己方言,像函數,不同資料庫有自己的不同的函數,雖說功能一樣,但是寫法不同。如果你在實際中用到了其他的資料庫就要學習他的函數,原理和大的思路上都是一樣的。所以方言其實一種不統一而帶來的產物,慢慢的應該會消減去掉!
2、細節方面的差異。
推薦一本好書。Oracle是非常強大的資料庫系統,大型的伺服器上都是運行的Oracle或是DB2,所以學習Oracle是非常主流的。而且Oracle的參考資料非常的多。用戶多。所以學習Oracle很必要。推薦《《ORACLE 9i/10g入門與實踐》。9i和10g是兩個不同的版本,是兩本書。
F. 資料庫的基本原理是
是計算機科學與技術專業的專業基礎課,主要討論資料庫系統的基本概念,基本原理,基本方法以及有關的應用。主要內容包括:資料庫的結構與特點、資料庫系統的組成及各部分的功能、關系資料庫、面向對象資料庫、結構化查詢語言(SQL)、資料庫設計以及數據保護等,同時講解一種重要的資料庫系統的應用。學生通過本課程的學習能夠了解有關資料庫系統的基本概念,掌握對資料庫查詢、更新等相關的知識,初步掌握資料庫設計方法,並能用資料庫系統建立資料庫及簡單的應用。
G. 資料庫原理及應用的內容簡介
《資料庫原理及應用》是上海市精品課程「資料庫原理及應用」的配套教材。
《資料庫原理及應用》較系統全面地闡述了資料庫系統的基礎理論、基本技術和基本方法,共分11章和2個附錄,具體內容主要包括資料庫的基本概念、數據模型、關系資料庫、關系資料庫標准語言sql、觸發器、存儲過程、數據完整性、資料庫安全、關系資料庫理論、索引、資料庫設計、事務管理、並發控制、資料庫備份與恢復、數據倉庫、數據挖掘及資料庫新技術、sql server 2005的使用、實驗指導等。
書中和sql語句有關的例子均在sql server 2005環境下測試通過。
本教材附帶的實驗指導(附錄b)是筆者多年資料庫實驗教學的積累,以sql server為實驗環境,內容豐富全面,非常具有實用性。
《資料庫原理及應用》既可以作為高等院校計算機、軟體工程、信息安全、信息管理與信息系統、信息與計算科學等相關專業本科生資料庫課程的教材,也可以作為電氣工程相關專業研究生資料庫課程及電力企業信息化教材。
H. 資料庫原理及應用說明視圖與基本表的區別和聯系
聯系:視圖(view)是在基本表之上建立的表,它的結構(即所定義的列)和內容(即所有數據行)都來自基本表,它依據基本表存在而存在。一個視圖可以對應一個基本表,也可以對應多個基本表。視圖是基本表的抽象和在邏輯意義上建立的新關系
區別:1、視圖是已經編譯好的sql語句。而表不是
2、視圖沒有實際的物理記錄。而表有。
3、表是內容,視圖是窗口
4、表只用物理空間而視圖不佔用物理空間,視圖只是邏輯概念的存在,表可以及時四對它進行修改,但視圖只能有創建的語句來修改
5、表是內模式,視圖是外模式
6、視圖是查看數據表的一種方法,可以查詢數據表中某些欄位構成的數據,只是一些SQL語句的集合。從安全的角度說,視圖可以不給用戶接觸數據表,從而不知道表結構。
7、表屬於全局模式中的表,是實表;視圖屬於局部模式的表,是虛表。
8、視圖的建立和刪除隻影響視圖本身,不影響對應的基本表。