1. 程式人生 > >資料庫系統概論第五版課後習題答案王珊

資料庫系統概論第五版課後習題答案王珊

第1章 緒論

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 .什麼是概念模型?試述概念模型的作用。

答:概念模型,也稱資訊模型,是按使用者的觀點來對資料和資訊建模,主要用於資料庫設計。

概念模型實際上是現實世界到機器世界的一箇中間層次。概念模型用於資訊世界的建模,是現實世界到資訊世界的第一層抽象,是資料庫設計人員進行資料庫設計的有力工具,也是資料庫設計人員和使用者之間進行交流的語言。

8.定義並解釋概念模型中以下術語:實體,實體型,實體集,實體之間的聯絡。

答:

實體:客觀存在並可以相互區分的事物叫實體。實體型:具有相同屬性的實體具有相同的特徵和性質,用實體名及其屬性名集合來抽象和刻畫同類實體,稱為實體型。實體集:同型實體的集合稱為實體集;實體之間的聯絡:通常是指不同實體型的實體集之間的聯絡,實體之間的聯絡有一對一,一對多和多對多等多種型別。

 

9 .試述資料模型的概念、資料模型的作用和資料模型的三個要素。

答:

資料模型是資料庫中用來對現實世界進行抽象的工具,是資料庫中用於提供資訊表示和操作手段的形式構架。一般地講,資料模型是嚴格定義的概念的集合。這些概念精確描述了系統的靜態特性、動態特性和完整性約束條件。因此資料模型通常由資料結構、資料操作和完整性約束三部分組成。

 ( l )資料結構:是所研究的物件型別的集合,是對系統靜態特性的描述。

 ( 2 )資料操作:是指對資料庫中各種物件(型)的例項(值)允許進行的操作的集合,包括操作及有關的操作規則,是對系統動態特性的描述。

 ( 3 )資料的約束條件:是一組完整性規則的集合。完整性規則是給定的資料模型中資料及其聯絡所具有的制約和依存規則,用以限定符合資料模型的資料庫狀態以及狀態的變化,以保證資料的正確、有效、相容。解析資料模型是資料庫系統中最重要的概念之一。必須通過 《 概論 》 的學習真正掌握資料模型的概念和作用。資料模型是資料庫系統的基礎。任何一個 DBMS 都以某一個數據模型為基礎,或者說支援某一個數據模型。資料庫系統中,模型有不同的層次。根據模型應用的不同目的,可以將模型分成兩類或者說兩個層次:一類是概念模型,是按使用者的觀點來對資料和資訊建模,用於資訊世界的建模,強調語義表達能力,概念簡單清晰;另一類是資料模型,是按計算機系統的觀點對資料建模,用於機器世界,人們可以用它定義、操縱資料庫中的資料,一般需要有嚴格的形式化定義和一組嚴格定義了語法和語義的語言,並有一些規定和限制,便於在機器上實現。

10.試述層次模型的概念,舉出三個層次模型的例項。

答:

 ( l )教員學生層次資料庫模型

( 2 )行政機構層次資料庫模型

( 3 )行政區域層次資料庫模型

11.試述網狀模型的概念,舉出三個網狀模型的例項。

答:

滿足下面兩個條件的基本層次聯絡集合為網狀模型。

 ( l )允許一個以上的結點無雙親; ( 2 )一個結點可以有多於一個的雙親。

例項 1 :

例項 2 :

例項 3 :

12 .試述網狀、層次資料庫的優缺點。

答:

層次模型的優點主要有: ( l )模型簡單,對具有一對多層次關係的部門描述非常自然、直觀,容易理解,這是層次資料庫的突出優點; ( 2 )用層次模型的應用系統性能好,特別是對於那些實體間聯絡是固定的且預先定義好的應用,採用層次模型來實現,其效能優於關係模型; ( 3 )層次資料模型提供了良好的完整性支援。

層次模型的缺點主要有: ( l )現實世界中很多聯絡是非層次性的,如多對多聯絡、一個結點具有多個雙親等,層次模型不能自然地表示這類聯絡,只能通過引入冗餘資料或引入虛擬結點來解決; ( 2 )對插入和刪除操作的限制比較多; ( 3 )查詢子女結點必須通過雙親結點。

網狀資料模型的優點主要有: ( l )能夠更為直接地描述現實世界,如一個結點可以有多個雙親; ( 2 )具有良好的效能,存取效率較高。

網狀資料模型的缺點主要有: ( l )結構比較複雜,而且隨著應用環境的擴大,資料庫的結構就變得越來越複雜,不利於終端使用者掌握; ( 2 )其 DDL 、 DML 語言複雜,使用者不容易使用。由於記錄之間聯絡是通過存取路徑實現的,應用程式在訪問資料時必須選擇適當的存取路徑。因此,使用者必須瞭解系統結構的細節,加重了編寫應用程式的負擔。

13.試述關係模型的概念,定義並解釋以下術語: ( l )關係( 2 )屬性( 3 )域( 4 )元組 ( 5 )主碼( 6 )分量( 7 )關係模式

答:

關係模型由關係資料結構、關係操作集合和關係完整性約束三部分組成。在使用者觀點下,關係模型中資料的邏輯結構是一張二維表,它由行和列組成。 ( l )關係:一個關係對應通常說的一張表; ( 2 )屬性:表中的一列即為一個屬性; ( 3 )域:屬性的取值範圍; ( 4 )元組:表中的一行即為一個元組; ( 5 )主碼:表中的某個屬性組,它可以惟一確定一個元組; ( 6 )分量:元組中的一個屬性值; ( 7 )關係模式:對關係的描述,一般表示為關係名(屬性 1 ,屬性 2 , … ,屬性 n )

14 .試述關係資料庫的特點。

答:

關係資料模型具有下列優點: ( l )關係模型與非關係模型不同,它是建立在嚴格的數學概念的基礎上的。 ( 2 )關係模型的概念單一,無論實體還是實體之間的聯絡都用關係表示,操作的物件和操作的結果都是關係,所以其資料結構簡單、清晰,使用者易懂易用。 ( 3 )關係模型的存取路徑對使用者透明,從而具有更高的資料獨立性、更好的安全保密性,也簡化了程式設計師的工作和資料庫開發建立的工作。當然,關係資料模型也有缺點,其中最主要的缺點是,由於存取路徑對使用者透明,查詢效率往往不如非關係資料模型。因此為了提高效能,必須對使用者的查詢請求進行優化,增加了開發資料庫管理系統的難度。

15.試述資料庫系統三級模式結構,這種結構的優點是什麼?

答:

資料庫系統的三級模式結構由外模式、模式和內模式組成。(參見書上圖 1 . 29 ) 外模式,亦稱子模式或使用者模式,是資料庫使用者(包括應用程式設計師和終端使用者)能夠看見和使用的區域性資料的邏輯結構和特徵的描述,是資料庫使用者的資料檢視,是與某一應用有關的資料的邏輯表示。模式,亦稱邏輯模式,是資料庫中全體資料的邏輯結構和特徵的描述,是所有使用者的公共資料檢視。模式描述的是資料的全域性邏輯結構。外模式涉及的是資料的區域性邏輯結構,通常是模式的子集。內模式,亦稱儲存模式,是資料在資料庫系統內部的表示,即對資料的物理結構和儲存方式的描述。資料庫系統的三級模式是對資料的三個抽象級別,它把資料的具體組織留給 DBMs 管理,使使用者能邏輯抽象地處理資料,而不必關心資料在計算機中的表示和儲存。為了能夠在內部實現這三個抽象層次的聯絡和轉換,資料庫系統在這三級模式之間提供了兩層映像:外模式/模式映像和模式/內模式映像。正是這兩層映像保證了資料庫系統中的資料能夠具有較高的邏輯獨立性和物理獨立性。

16 .定義並解釋以下術語:模式、外模式、內模式、 DDL 、 DML 。

模式、外模式、內模式,亦稱邏輯模式,是資料庫中全體資料的邏輯結構和特徵的描述,是所有使用者的公共資料檢視。模式描述的是資料的全域性邏輯結構。外模式涉及的是資料的區域性邏輯結構,通常是模式的子集。內模式,亦稱儲存模式,是資料在資料庫系統內部的表示,即對資料的物理結構和儲存方式的描述。 DDL :資料定義語言,用來定義資料庫模式、外模式、內模式的語言。 DML :資料操縱語言,用來對資料庫中的資料進行查詢、插入、刪除和修改的語句。

17.什麼叫資料與程式的物理獨立性?什麼叫資料與程式的邏輯獨立性?為什麼資料庫系統具有資料與程式的獨立性?

答:

資料與程式的邏輯獨立性:當模式改變時(例如增加新的關係、新的屬性、改變屬性的資料型別等),由資料庫管理員對各個外模式/模式的映像做相應改變,可以使外模式保持不變。應用程式是依據資料的外模式編寫的,從而應用程式不必修改,保證了資料與程式的邏輯獨立性,簡稱資料的邏輯獨立性。資料與程式的物理獨立性:當資料庫的儲存結構改變了,由資料庫管理員對模式/內模式映像做相應改變,可以使模式保持不變,從而應用程式也不必改變,保證了資料與程式的物理獨立性,簡稱資料的物理獨立性。資料庫管理系統在三級模式之間提供的兩層映像保證了資料庫系統中的資料能夠具有較高的邏輯獨立性和物理獨立性。

18 .試述資料庫系統的組成。

答:

資料庫系統一般由資料庫、資料庫管理系統(及其開發工具)、應用系統、資料庫管理員和使用者構成。

19 .資料庫管理員、系統分析員、資料庫設計人員、應用程式設計師的職責是什麼?

答:

資料庫管理員的職責:(1)決定資料庫中的資訊內容和結構;

(2)決定資料庫的儲存結構和存取策略;

(3)定義資料的安全性要求和完整性約束條件;

(4)監控資料庫的使用和執行;

(5)資料庫的改進和重組、重構。

系統分析員負責應用系統的需求分析和規範說明,系統分析員要和使用者及 DBA 相結合,確定系統的硬體、軟體配置,並參與資料庫系統的概要設計。資料庫設計人員負責資料庫中資料的確定、資料庫各級模式的設計。資料庫設計人員必須參加使用者需求調查和系統分析,然後進行資料庫設計。在很多情況下,資料庫設計人員就由資料庫管理員擔任。應用程式設計師負責設計和編寫應用系統的程式模組,並進行除錯和安裝。

 

第二章 關係資料庫

1 .試述關係模型的三個組成部分。
答:關係模型由關係資料結構、關係操作集合和關係完整性約束三部分組成。

 

2 .試述關係資料語言的特點和分類。

答:關係資料語言可以分為三類:

關係代數語言。

關係演算語言:元組關係演算語言和域關係演算語言。

SQL:具有關係代數和關係演算雙重特點的語言。

這些關係資料語言的共同特點是,語言具有完備的表達能力,是非過程化的集合操作語言,功能強,能夠嵌入高階語言中使用。

3 (略)

4 .

5 . 述關係模型的完整性規則。在參照完整性中,為什麼外部碼屬性的值也可以為空?什麼情況下才可以為空?

答:實體完整性規則是指若屬性A是基本關係R的主屬性,則屬性A不能取空值。

若屬性(或屬性組)F是基本關係R的外碼,它與基本關係S的主碼Ks相對應(基本關係R和S不一定是不同的關係),則對於R中每個元組在F上的值必須為:或者取空值(F的每個屬性值均為空值);或者等於S中某個元組的主碼值。即屬性F本身不是主屬性,則可以取空值,否則不能取空值。

6.設有一個SPJ資料庫,包括S,P,J,SPJ四個關係模式:

1)求供應工程J1零件的供應商號碼SNO:

πSno(σJno=‘J1’(SPJ))

2)求供應工程J1零件P1的供應商號碼SNO:

πSno(σJno=‘J1’∧Pno=‘P1‘(SPJ))

3)求供應工程J1零件為紅色的供應商號碼SNO:

πSno(πSno,,Pno(σJno=‘J1‘ (SPJ))∞πPno(σCOLOR=’紅‘ (P)))

4)求沒有使用天津供應商生產的紅色零件的工程號JNO:

πJno(SPJ)- πJNO(σcity=‘天津’∧Color=‘紅‘ (S∞SPJ∞P)

5)求至少用了供應商S1所供應的全部零件的工程號JNO:

πJno,Pno(SPJ)÷ πPno(σSno=‘S1‘ (SPJ))

7. 試述等值連線與自然連線的區別和聯絡。

答:連線運算子是“=”的連線運算稱為等值連線。它是從關係R與S的廣義笛卡爾積中選取A,B屬性值相等的那些元組

自然連線是一種特殊的等值連線,它要求兩個關係中進行比較的分量必須是相同的屬性組,並且在結果中把重複的屬性列去掉。

8.關係代數的基本運算有哪些 ? 如何用這些基本運算來表示其他運算?

答:並、差、笛卡爾積、投影和選擇5種運算為基本的運算。其他3種運算,即交、連線和除,均可以用這5種基本運算來表達。

 

第三章 關係資料庫語言SQL

1 .試述 sQL 語言的特點。

答:

(l)綜合統一。 sQL 語言集資料定義語言 DDL 、資料操縱語言 DML 、資料控制語言 DCL 的功能於一體。

(2)高度非過程化。用 sQL 語言進行資料操作,只要提出“做什麼”,而無需指明“怎麼做”,因此無需瞭解存取路徑,存取路徑的選擇以及 sQL 語句的操作過程由系統自動完成。

(3)面向集合的操作方式。 sQL 語言採用集合操作方式,不僅操作物件、查詢結果可以是元組的集合,而且一次插入、刪除、更新操作的物件也可以是元組的集合。

(4)以同一種語法結構提供兩種使用方式。 sQL 語言既是自含式語言,又是嵌入式語言。作為自含式語言,它能夠獨立地用於聯機互動的使用方式;作為嵌入式語言,它能夠嵌入到高階語言程式中,供程式設計師設計程式時使用。

(5)語言簡捷,易學易用。

2.

3 (1) select * from S where A='10';

 (2) select  A,B  from S;

 (3) select A,B,S.C,S.D,E,F from S ,T  where S.C=T.C and S.D=T.D;

 (4) select * from S ,T  where S.C=T.C;

 (5) select * from S ,T  where S.A<T.E;

 (6) select S.C,S.D,T.* from S ,T ;

 

 

4.用 sQL 語句建立第二章習題 6中的 4 個表。

答:

對於 S 表: S ( SNO , SNAME , STATUS , CITY ) ;

建 S 表:

    CREATE TABLE S ( Sno C(2) UNIQUE,Sname C(6) ,Status  C(2),City C(4));

對於 P 表: P ( PNO , PNAME , COLOR , WEIGHT );

建 P 表 :

CREATE TABLE P(Pno  C(2)  UNIQUE,Pname  C(6),COLOR  C(2),  WEIGHT INT);

對於 J 表: J ( JNO , JNAME , CITY) ;

建 J 表:

CREATE  TABLE  J(Jno  C(2) UNlQUE,JNAME  C(8), CITY C(4))

對於 sPJ 表: sPJ ( sNo , PNo , JNo , QTY) ;

建 SPJ 表:SPJ(SNO,PNO,JNO,QTY)

CREATE TABLE SPJ(Sno  C(2),Pno  C(2),JNO  C(2),  QTY  INT))

針對建立的 4 個表用 sQL 語言完成第二章習題6中的查詢。

 ( l )求供應工程 Jl 零件的供應商號碼 SNO ;

SELECT DIST SNO FROM SPJ WHERE  JNO=’J1’

 ( 2 )求供應工程 Jl 零件 Pl 的供應商號碼 SNO ;

SELECT  DIST SNO FROM SPJ WHERE JNO='J1' AND PNO='P1'

( 3 )求供應工程 Jl 零件為紅色的供應商號碼 SNO ;

SELECT SNO FROM SPJ,P WHERE JNO='J1' AND SPJ.PNO=P.PNO AND COLOR='紅'

( 4 )求沒有使用天津供應商生產的紅色零件的工程號 JNO ;

SELECT  DIST  JNO FROM SPJ  WHERE JNO NOT IN (SELE JNO FROM SPJ,P,S WHERE S.CITY='天津' AND COLOR='紅' AND S.SNO=SPJ.SNO  AND P.PNO=SPJ.PNO)。

( 5 )求至少用了供應商 Sl 所供應的全部零件的工程號 JNO ;

由於VFP不允許子查詢巢狀太深,將查詢分為兩步

A、查詢S1供應商供應的零件號

SELECT DIST PNO FROM SPJ WHERE SNO='S1'結果是(P1,P2)

B、查詢哪一個工程既使用P1零件又使用P2零件。

SELECT JNO FROM SPJ WHERE PNO='P1'

AND JNO IN (SELECT JNO FROM SPJ WHERE PNO='P2')

 

5.針對上題中的四個表試用SQL語言完成以下各項操作:

(1)找出所有供應商的姓名和所在城市。

       SELECT SNAME,CITY FROM S

(2)找出所有零件的名稱、顏色、重量。

SELECT PNAME,COLOR,WEIGHT FROM P

(3)找出使用供應商S1所供應零件的工程號碼。

        SELECT  DIST JNO FROM SPJ WHERE SNO='S1'

(4)找出工程專案J2使用的各種零件的名稱及其數量。

SELECT PNAME,QTY FROM SPJ,P

WHERE P.PNO=SPJ.PNO AND SPJ.JNO='J2'

(5)找出上海廠商供應的所有零件號碼。

SELECT PNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND CITY='上海'

(6)出使用上海產的零件的工程名稱。

SELECT JNAME FROM SPJ,S,J

WHERE S.SNO=SPJ.SNO AND S.CITY='上海' AND J.JNO=SPJ.JNO

(7)找出沒有使用天津產的零件的工程號碼。

注意: SELECT DISP JNO FROM SPJ  WHERE JNO NOT IN (SELECT DIST JNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND S.CITY='天津') 適用於JNO是唯一或不唯一的情況.

    注意: SELECT DIST JNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND S.CITY<>'天津'適用於JNO是唯一的情況

(8)把全部紅色零件的顏色改成藍色。

UPDATE P SET COLOR='藍'  WHERE COLOR='紅'

(9)由S5供給J4的零件P6改為由S3供應。

    UPDATE  SPJ  SET SNO='S3' WHERE SNO='S5' AND JNO='J4' AND PNO='P6'

(10)從供應商關係中刪除供應商號是S2的記錄,並從供應情況關係中刪除相應的記錄。

    A、DELETE  FROM  S  WHERE  SNO=’S2’

    B、DELETE  FROM  SPJ  WHERE  SNO=‘S2’

(11)請將(S2,J6,P4,200)插入供應情況關係。

     INSERT  INTO  SPJ  VALUES(‘S2’,‘J6’,‘P4’,200)

 

6 .什麼是基本表?什麼是檢視?兩者的區別和聯絡是什麼?

答:基本表是本身獨立存在的表,在 sQL 中一個關係就對應一個表。檢視是從一個或幾個基本表匯出的表。檢視本身不獨立儲存在資料庫中,是一個虛表。即資料庫中只存放檢視的定義而不存放檢視對應的資料,這些資料仍存放在匯出檢視的基本表中。檢視在概念上與基本表等同,使用者可以如同基本表那樣使用檢視,可以在檢視上再定義檢視。

 

7 .試述檢視的優點。

( l )檢視能夠簡化使用者的操作; ( 2 )檢視使使用者能以多種角度看待同一資料; ( 3 )檢視對重構資料庫提供了一定程度的邏輯獨立性; ( 4 )檢視能夠對機密資料提供安全保護。

 

8 .哪類檢視是可以更新的?哪類檢視是不可更新的?各舉一例說明。

答:基本表的行列子集檢視一般是可更新的。若檢視的屬性來自集合函式、表示式,則該檢視肯定是不可以更新的。

 

所有的檢視是否都可以更新?為什麼?

答:不是。檢視是不實際儲存資料的虛表,因此對檢視的更新,最終要轉換為對基本表的更新。因為有些檢視的更新不能惟一有意義地轉換成對相應基本表的更新,所以,並不是所有的檢視都是可更新的.

 

9 .請為三建工程專案建立一個供應情況的檢視,包括供應商程式碼(SNO)、零件程式碼(PNO)、供應數量(QTY)。

CREATE VIEW VSP AS SELECT SNO,SPJ.PNO,QTY FROM SPJ,J

 WHERE SPJ.JNO=J.JNO AND J.JNAME='三建'

針對該檢視VSP完成下列查詢:

(1)找出三建工程專案使用的各種零件程式碼及其數量。

SELECT  DIST  PNO,QTY  FROM  VSP

(2)找出供應商S1的供應情況。

SELECT  DIST * FROM VSP WHERE SNO='S1'

 

第4章 資料庫安全性

1 .什麼是資料庫的安全性?

答:資料庫的安全性是指保護資料庫以防止不合法的使用所造成的資料洩露、更改或破壞。


2 .資料庫安全性和計算機系統的安全性有什麼關係?
答:安全性問題不是資料庫系統所獨有的,所有計算機系統都有這個問題。只是在資料庫系統中大量資料集中存放,而且為許多終端使用者直接共享,從而使安全性問題更為突出。
系統安全保護措施是否有效是資料庫系統的主要指標之一。
資料庫的安全性和計算機系統的安全性,包括作業系統、網路系統的安全性是緊密聯絡、相互支援的,

4 .試述實現資料庫安全性控制的常用方法和技術。

答:實現資料庫安全性控制的常用方法和技術有:
( l )使用者標識和鑑別:該方法由系統提供一定的方式讓使用者標識自己的名字或身份。每次使用者要求進入系統時,由系統進行核對,通過鑑定後才提供系統的使用權。
( 2 )存取控制:通過使用者許可權定義和合法權檢查確保只有合法許可權的使用者訪問資料庫,所有未被授權的人員無法存取資料。例如CZ 級中的自主存取控制( DAC ) , Bl 級中的強制存取控制(MAC )。
( 3 )檢視機制:為不同的使用者定義檢視,通過檢視機制把要保密的資料對無權存取的使用者隱藏起來,從而自動地對資料提供一定程度的安全保護。

( 4 )審計:建立審計日誌,把使用者對資料庫的所有操作自動記錄下來放入審計日誌中,DBA 可以利用審計跟蹤的資訊,重現導致資料庫現有狀況的一系列事件,找出非法存取資料的人、時間和內容等。
( 5 )資料加密:對儲存和傳輸的資料進行加密處理,從而使得不知道解密演算法的人無法獲知資料的內容。

 

5.什麼是資料庫中的自主存取控制方法和強制存取控制方法?

答:

自主存取控制方法:定義各個使用者對不同資料物件的存取許可權。當用戶對資料庫訪問時首先檢查使用者的存取許可權。防止不合法使用者對資料庫的存取。

強制存取控制方法:每一個數據物件被(強制地)標以一定的密級,每一個使用者也被(強制地)授予某一個級別的許可證。系統規定只有具有某一許可證級別的使用者才能存取某一個密級的資料物件。

 

6. (1) GRANT ALL PRIVILEGES ON Student,Class 

TO U1
WITH GRANT OPTION ;

  (2)GRANT SELECT,UPDATE(家庭住址),DELETE ON Student TO U2;

  (3)GRANT SELECT ON Class TO PUBLIC;

  (4)GRANT SELECT,UPDATE ON Student TO R1;

  (5)GRANT R1 TO U1 WITH ADMIN OPTION ;

 

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 許可權又轉授給了其他使用者,那麼這些許可權也將從其他使用者處收回。

 

 

7.請用SQL的GRANT 和REVOKE語句(加上檢視機制)完成以下授權定義或存取控制功能:

( a )使用者王明對兩個表有SELECT 權力。

   GRANT SELECT ON 職工,部門

   TO 王明

( b )使用者李勇對兩個表有INSERT 和DELETE 權力。

   GRANT INSERT,DELETE ON 職工,部門

   TO 李勇

( c ) 每個職工只對自己的記錄有SELECT 權力。

   GRANT SELECT ON 職工

   WHEN USER()=NAME

   TO ALL;

( d )使用者劉星對職工表有SELECT 權力,對工資欄位具有更新權力。

   GRANT SELECT,UPDATE(工資) ON 職工

   TO 劉星

 ( e )使用者張新具有修改這兩個表的結構的權力。

   GRANT ALTER TABLE ON 職工,部門

   TO 張新;

 ( f )使用者周平具有對兩個表所有權力(讀,插,改,刪資料),並具有給其他使用者授權的權力。

   GRANT ALL PRIVILIGES ON 職工,部門

   TO 周平

   WITH GRANT OPTION;

( g )使用者楊蘭具有從每個部門職工中SELECT 最高工資、最低工資、平均工資的權力,他不能檢視每個人的工資。

   CREATE VIEW 部門工資 AS

     SELECT 部門.名稱,MAX(工資),MIN(工資),AVG(工資)

     FROM 職工,部門

     WHERE 職工.部門號=部門.部門號

     GROUP BY 職工.部門號

   GRANT SELECT ON 部門工資

   TO 楊蘭;

 

8 .把習題8 中(1)---(7)的每一種情況,撤銷各使用者所授予的權力

(1) REVOKE SELECT ON 職工,部門 FROM 王明;

(2) REVOKE INSERT , DELETE ON 職工,部門 FROM 李勇;

(3) REOVKE SELECT ON 職工
WHEN USER ( ) =NAME
FROM ALI ;

(4) REVOKE SELECT , UPDATE ON 職工
FROM 劉星;

(5) REVOKE ALTER TABLE ON 職工,部門
FROM 張新;

(6) REVOKE ALL PRIVILIGES ON 職工,部門
FROM 周平;

(7) REVOKE SELECT ON 部門工資
FROM 楊蘭;
DROP VIEW 部門工資;

 

9.理解並解釋MAC 機制中主體、客體、敏感度標記的含義。

答:

主體是系統中的活動實體,既包括DBMS 所管理的實際使用者,也包括代表使用者的各程序。
客體是系統中的被動實體,是受主體操縱的,包括檔案、基表、索引、檢視等。對於主體和 客體,DBMS 為它們每個例項(值)指派一個敏感度標記(Label )。

敏感度標記被分成若干級別,例如絕密(Top Secret )、機密(Secret )· 可信( Confidential )、公開(PubliC )等。主體的敏感度標記稱為許可證級別(ClearanCe 玫vel ) ,客體的敏感度標記稱為密級(Classification Level )。

 

11 .什麼是資料庫的審計功能,為什麼要提供審計功能?

答:審計功能是指DBMS 的審計模組在使用者對資料庫執行操作的同時把所有操作自動記錄到系統的審計日誌中。
因為任何系統的安全保護措施都不是完美無缺的,蓄意盜竊破壞資料的人總可能存在。利用資料庫的審計功能,DBA 可以根據審計跟蹤的資訊,重現導致資料庫現有狀況的一系列事件,找出非法存取資料的人、時間和內容等。

 

第5章 資料庫完整性

1什麼是資料庫的完整性?

答:

資料庫的完整性是指資料的正確性和相容性。

 

2 .資料庫的完整性概念與資料庫的安全性概念有什麼區別和聯絡?

答:

資料的完整性和安全性是兩個不同的概念,但是有一定的聯絡。前者是為了防止資料庫中存在不符合語義的資料,防止錯誤資訊的輸入和輸出,即所謂垃圾進垃圾出( Garba : e In Garba : e out )所造成的無效操作和錯誤結果。後者是保護資料庫防止惡意的破壞和非法的存取。也就是說,安全性措施的防範物件是非法使用者和非法操作,完整性措施的防範物件是不合語義的資料。

 

3 .什麼是資料庫的完整性約束條件?可分為哪幾類?

完整性約束條件是指資料庫中的資料應該滿足的語義約束條件。一般可以分為六類:靜態列級約束、靜態元組約束、靜態關係約束、動態列級約束、動態元組約束、動態關係約束。靜態列級約束是對一個列的取值域的說明,包括以下幾個方面: ( l )對資料型別的約束,包括資料的型別、長度、單位、精度等; ( 2 )對資料格式的約束; ( 3 )對取值範圍或取值集合的約束; ( 4 )對空值的約束; ( 5 )其他約束。靜態元組約束就是規定組成一個元組的各個列之間的約束關係,靜態元組約束只侷限在單個元組上。靜態關係約束是在一個關係的各個元組之間或者若干關係之間常常存在各種聯絡或約束。

常見的靜態關係約束有: ( l )實體完整性約束; ( 2 )參照完整性約束; ( 3 )函式依賴約束。

動態列級約束是修改列定義或列值時應滿足的約束條件,包括下面兩方面: ( l )修改列定義時的約束; ( 2 )修改列值時的約束。動態元組約束是指修改某個元組的值時需要參照其舊值,並且新舊值之間需要滿足某種約束條件。動態關係約束是加在關係變化前後狀態上的限制條件,例如事務一致性、原子性等約束條件。

 

4 . DBMS 的完整性控制機制應具有哪些功能?

答:

DBMS 的完整性控制機制應具有三個方面的功能: ( l )定義功能,即提供定義完整性約束條件的機制; ( 2 )檢查功能,即檢查使用者發出的操作請求是否違背了完整性約束條件;( 3 )違約反應:如果發現使用者的操作請求使資料違背了完整性約束條件,則採取一定的動作來保證資料的完整性。

 

 5 . RDBMS 在實現參照完整性時需要考慮哪些方面?

RDBMs 在實現參照完整性時需要考慮以下幾個方面:

( l )外碼是否可以接受空值。

( 2 )冊 l 除被參照關係的元組時的考慮,這時系統可能採取的作法有三種: l )級聯刪除( CASCADES ) ; 2 )受限刪除( RESTRICTED ) ; 3 )置空值刪除( NULLIFIES )。 ( 3 )在參照關係中插入元組時的問題,這時系統可能採取的作法有: l )受限插入; 2 )遞迴插入。

( 4 )修改關係中主碼的問題。一般是不能用 UPDATE 語句修改關係主碼的。如果需要修改主碼值,只能先刪除該元組,然後再把具有新主碼值的元組插入到關係中。如果允許修改主碼,首先要保證主碼的惟一性和非空,否則拒絕修改。然後要區分是參照關係還是被參照關係。

 

6 .假設有下面兩個關係模式:職工(職工號,姓名,年齡,職務,工資,部門號),其中職工號為主碼;部門(部門號,名稱,經理名,電話),其中部門號為主碼。用 sQL 語言定義這兩個關係模式,要求在模式中完成以下完整性約束條件的定義:定義每個模式的主碼;定義參照完整性;定義職工年齡不得超過 60 歲。

CREATE TABLE DEPT

    (Deptno NUMBER(2),

     Deptname VARCHAR(10),

     Manager VARCHAR(10),

     PhoneNumber Char(12)

     CONSTRAINT PK_SC RIMARY KEY(Deptno));

CREATE TABLE EMP

    (Empno NUMBER(4),

     Ename VARCHAR(10),

     Age NUMBER(2),

     CONSTRAINT C1 CHECK ( Aage<=60),

      Job VARCHAR(9),

      Sal NUMBER(7,2),

      Deptno NUMBER(2),

      CONSTRAINT FK_DEPTNO

         FOREIGN KEY(Deptno)

         REFFERENCES DEPT(Deptno));

 

7 .關係系統中,當操作違反實體完整性、參照完整性和使用者定義的完整性約束條件時,一般是如何分別進行處理的?

答:

對於違反實體完整性和使用者定義的完整性的操作一般都採用拒絕執行的方式進行處理。而對於違反參照完整性的操作,並不都是簡單地拒絕執行,有時要根據應用語義執行一些附加的操作,以保證資料庫的正確性。

 

第6章 關係資料庫理論

1 .理解並給出下列術語的定義:
函式依賴、部分函式依賴、完全函式依賴、傳遞依賴、候選碼、主碼、外碼、全碼(All 一key )、1 NF 、ZNF 、3NF 、BcNF 、多值依賴、4NF 。

定義1:設R(U)是屬性集U上的關係模式。X,Y是屬性集U的子集。若對於R(U)的任意一個可能的關係r,r中不可能存在兩個元組在X上的屬性值相等,而在Y上的屬性值不等,則稱X函式確定Y或Y函式依賴於X,記作XàY。(即只要X上的屬性值相等,Y上的值一定相等。)

術語和記號:

XàY,但Y不是X的子集,則稱XàY是非平凡的函式依賴。若不特別宣告,總是討論非平凡的函式依賴。

XàY,但Y是X的子集,則稱XàY是平凡的函式依賴。

若XàY,則X叫做決定因素(Determinant)。

若XàY,YàX,則記作XßàY。

若Y不函式依賴於X,則記作X à Y。

定義2:在R(U)中,如果 XàY,並且對於X的任何一個真子集X’,都有X’ à Y,則稱Y對X完全函式依賴

       若XàY,但Y不完全函式依賴於X,則稱Y對X部分函式依賴

定義3:若關係模式R的每一個分量是不可再分的資料項,則關係模式R屬於第一正規化(1NF)。

定義4:若關係模式R∈1NF,且每一個非主屬性完全函式依賴於碼,則關係模式R∈2NF 。(即1NF消除了非主屬性對碼的部分函式依賴則成為2NF)。

定義5:關係模式R<U,F> 中若不存在這樣的碼X、屬性組Y及非主屬性Z(Z不是Y的子集)使得XàY,Y à X,Y à Z成立,則稱R<U,F>∈3NF。

定義6:關係模式R<U,F>∈1NF 。若XàY且Y不是X的子集時,X必含有碼,則R<U,F>∈BCNF。

定義7:關係模式R<U,F>∈1NF,如果對於R的每個非平凡多值依賴XààY(Y不是X的子集,Z=U-X-Y不為空),X都含有碼,則稱R<U,F>∈4NF。

 

2.建立一個關於系、學生、班級、學會等諸資訊的關係資料庫。

學生:學號、姓名、出生年月、系名、班號、宿舍區。

班級:班號、專業名、系名、人數、入校年份。

系:系名、系號、系辦公地點、人數。

學會:學會名、成立年份、辦公地點、人數。

    語義如下:一個繫有若干專業,每個專業每年只招一個班,每個班有若干學生。一個系的學生住在同一宿舍區。每個學生可參加若干學會,每個學會有若干學生。學生參加某學會有一個入會年份。

請給出關係模式,寫出每個關係模式的極小函式依賴集,指出是否存在傳遞函式依賴,對於函式依賴左部是多屬性的情況討論函式依賴是完全函式依賴,還是部分函式依賴。指出各關係模式的候選碼、外部碼,有沒有全碼存在?

解:(1)關係模式如下:

  學生:S(Sno,Sname,Sbirth,Dept,Class,Rno)

  班級:C(Class,Pname,Dept,Cnum,Cyear)

  系:D(Dept,Dno,Office,Dnum)

  學會:M(Mname,Myear,Maddr,Mnum)

  (2)每個關係模式的最小函式依賴集如下:

  A、學生S (Sno,Sname,Sbirth,Dept,Class,Rno) 的最小函式依賴集如下:SnoàSname,SnoàSbirth,SnoàClass,ClassàDept,DEPTàRno

    傳遞依賴如下:

由於SnoàDept,而DeptàSno ,DeptàRno(宿舍區)

 

所以Sno與Rno之間存在著傳遞函式依賴。

    由於ClassàDept,Dept à Class,DeptàRno

         所以Class與Rno之間存在著傳遞函式依賴。

    由於SnoàClass,ClassàSno,ClassàDept

         所以Sno與Dept之間存在著傳遞函式依賴。

  B、班級C(Class,Pname,Dept,Cnum,Cyear)的最小函式依賴集如下:

    ClassàPname,ClassàCnum,ClassàCyear,PnameàDept.

    由於ClassàPname,PnameàClass,PnameàDept

        所以C1ass與Dept之間存在著傳遞函式依賴。

 C、系D(Dept,Dno,Office,Dnum)的最小函式依賴集如下:

    DeptàDno,DnoàDept,DnoàOffice,DnoàDnum

    根據上述函式依賴可知,Dept與Office,Dept與Dnum之間不存在傳遞依賴。

 D、學會M(Mname,Myear,Maddr,Mnum)的最小函式依賴集如下:

    MnameàMyear,MnameàMaddr,MnameàMnum

     該模式不存在傳遞依賴。

  (3)各關係模式的候選碼、外部碼,全碼如下:

  A、學生S候選碼:Sno;外部碼:Dept、Class;無全碼

  B、班級C候選碼:Class;外部碼:Dept;無全碼

  C、系D候選碼:Dept或Dno;無外部碼;無全碼

  D、學會M候選碼:Mname;無外部碼;無全碼

7.下面的結論哪些是正確的? 哪些是錯誤的? 對於錯誤的請給一個反例說明之。

(1)任何一個二目關係是屬於3NF。

答:正確。因為關係模式中只有兩個屬性,所以無傳遞。

(2)任何一個二目關係是屬於BCNF.

答:正確。按BCNF的定義,若XàY,且Y不是X的子集時,每個決定因素都包含碼,對於二目關係決定因素必然包含碼。詳細證明如下:(任何二元關係模式必定是BCNF)。

證明:設R為一個二目關係R(A1,A2),則屬性A1和A2之間可能存在以下幾種依賴關係:

A、A1àA2,但A2àA1,則關係R的碼為A1,決定因素都包含碼,所以,R是BCNF。

B、A1àA2,A2àA1,則關係R的碼為A2,所以決定因素都包含碼,R是BCNF。

包含碼。R是BCNF。C、R的碼為(A1,A2)(即A1 àA2,A2 àA1),決定因素都

 

 

第七章 資料庫設計

 

1.試述資料庫設計過程。

答:這裡只概要列出資料庫設計過程的六個階段: ( l )需求分析; ( 2 )概念結構設計; ( 3 )邏輯結構設計; ( 4 )資料庫物理設計; ( 5 )資料庫實施; ( 6 )資料庫執行和維護。這是一個完整的實際資料庫及其應用系統的設計過程。不僅包括設計資料庫本身,還包括資料庫的實施、執行和維護。設計一個完善的資料庫應用系統往往是上述六個階段的不斷反覆。

 

2 .試述資料庫設計過程各個階段上的設計描述。

答:各階段的設計要點如下: ( l )需求分析:準確瞭解與分析使用者需求(包括資料與處理)。 ( 2 )概念結構設計:通過對使用者需求進行綜合、歸納與抽象,形成一個獨立於具體 DBMS 的概念模型。 ( 3 )邏輯結構設計:將概念結構轉換為某個 DBMS 所支援的資料模型,並對其進行優化。 ( 4 )資料庫物理設計:為邏輯資料模型選取一個最適合應用環境的物理結構(包括儲存結構和存取方法)。 ( 5 )資料庫實施:設計人員運用 DBMS 提供的資料語言、工具及宿主語言,根據邏輯設計和物理設計的結果建立資料庫,編制與除錯應用程式,組織資料入庫,並進行試執行。 ( 6 )資料庫執行和維護:在資料庫系統執行過程中對其進行評價、調整與修改。

 

3 .試述資料庫設計過程中結構設計部分形成的資料庫模式。

答:資料庫結構設計的不同階段形成資料庫的各級模式,即: ( l )在概念設計階段形成獨立於機器特點,獨立於各個 DBMS 產品的概念模式,在本篇中就是 E 一 R 圖; ( 2 )在邏輯設計階段將 E 一 R 圖轉換成具體的資料庫產品支援的資料模型,如關係模型,形成資料庫邏輯模式,然後在基本表的基礎上再建立必要的檢視 ( Vi 娜),形成資料的外模式; ( 3 )在物理設計階段,根據 DBMS 特點和處理的需要,進行物理儲存安排,建立索引,形成資料庫內模式。

 

5 .什麼是資料庫的概念結構?