① 資料庫技術及應用(SQL server 2008)陳立潮 課後習題 第五章
1.
SELECT cname,avg(grade) 平均成績
FROM Course join sc on course.cno=sc.cno
where teacher like '張%'
2.
SELECT CNO,COUNT(*) 人數
FROM SC
GROUP BY CNO
ORDER BY 2 DESC,1
3
SELECT sname,sno
FROM student
where sno in(select sno
from sc
where cno in(select cno
from student join sc on student.sno=sc.sno
where sname='張三'))
and sname<>『張三』
4.
UPDATE SC SET GRADE=GRADE+5
FROM SC JOIN student on sc.sno=student.sno
join course on course.cno=sc.cno
where ssex='女' and cname='計算機基礎'
5.
DELETE SC
FROM SC JOIN student on sc.sno=student.sno
where sname='王五'
6.
select cname
from student join sc on student.sno=sc.sno
join course on course.cno=sc.cno
where sname in('張三','李四')
group by cname
having count(*)=2
7.
select sname
from student
where sno not in(select sno from sc)
② 關於資料庫原理與應用的幾個問題
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 許可權又轉授給了其他用戶,那麼這些許可權也將從其他用戶處收回。
③ mysql資料庫原理及應用第三版答案在哪裡找
mysql資料庫原理及應用 資料庫原理與應用(第3版)答案《資料庫原理與應用》(第三版)習題參考答案 第 1 章 資料庫概述 1. 試說明數據、資料庫、資料庫管理系統和資料庫系統的概念。答:數據是描述事物的符號記錄。資料庫是長期存儲在計算機中的有組織的、可共享的大量數據的集合。資料庫管理系統是一個專門用於實現對數據進行管理和維護的系統軟體。資料庫系統是指在計算機中引入資料庫後的系統,一般由資料庫、資料庫管理系統(及相關的實用工具)、應用程序、資料庫管理員組成。2. 數據管理技術的發展主要經歷了哪幾個階段?答:文件管理和資料庫管理。3. 與文件管理相比,資料庫管理有哪些優點? 答:與文件系統管理數據相比,資料庫系統管理數據帶來了如下好處:將相互關聯的數據集成在一起,較少的數據冗餘,程序與數據相互獨立,保證數據的安全可靠,最大限度地保證數據的正確性,數據可以共享並能保證數據的一致性。4. 在資料庫管理方式中,應用程序是否需要關心數據的存儲位置和存儲結構?為什麼? 答:不需要。因為資料庫管理系統提供了邏輯獨立性和物理獨立性。5. 在資料庫系統中,資料庫的作用是什麼? 答:資料庫是數據的匯集,它以一定的組織形式保存在存儲介質上。6. 在資料庫系統中,應用程序可以不通過資料庫管理系統而直接訪問數據文件嗎? 答:不能7. 數據獨立性指的是什麼?它能帶來哪些好處? 答:數據獨立性是指應用程序不會因數據的物理表示方式和訪問技術的改變而改變,即應用程序不依賴於任何特定的物理表示方式和訪問技術,它包含兩個方面:邏輯獨立性和物理獨立性。物理獨立性是指當數據的存儲位置或存儲結構發生變化時,不影響應用程序的特性;邏輯獨立性是指當表達現實世界的信息內容發生變化時,不影響應用程序的特性。8. 資料庫系統由哪幾部分組成,每一部分在資料庫系統中的作用大致是什麼? 答:資料庫系統一般包括資料庫、資料庫管理系統(及相應的實用工具)、應用程序和資料庫管理員四個部分。資料庫是數據的匯集,它以一定的組織形式保存在存儲介質上;資料庫管理系統是管理資料庫的系統軟體,它可以實現資料庫系統的各種功能;應用程序專指以資料庫數據為基礎的程序,資料庫管理員負責整個資料庫系統的正常運行。
第2章 數據模型與資料庫結構 1. 解釋數據模型的概念,為什麼要將數據模型分成兩個層次? 答:答:數據模型是對現實世界數據特徵的抽象。數據模型一般要滿足三個條件:第一是數據模型要能夠比較真實地模擬現實世界;第二是數據模型要容易被人們理解;第三是數據模型要能夠很方便地在計算機上實現。由於用一種模型來同時很好地滿足這三方面的要求在目前是比較困難的,因此在資料庫系統中就可以針對不同的使用對象和應用目的,採用不同的數據模型。根據模型應用的不同目的,將這些模型分為兩大類:概念層數據模型和組織層數據模型,以方便對信息的描述。2. 概念層數據模型和組織層數據模型分別是針對什麼進行的抽象? 答:概念層數據模型是對現實世界的抽象,形成信息世界模型,組織層數據模型是對信息世界進行抽象和轉換,形成具體的DBMS支持的數據組織模型。3. 實體之間的聯系有哪幾種?請為每一種聯系舉出一個例子。答:實體之間的聯系有一對一、一對多和多對多三種。例如:系和正系主任是一對一聯系(假設一個系只有一個正系主任),系和教師是一對多聯系(假設一個教師只在一個系工作),教師和課程是多對多聯系(假設一個教師可以講授多門課程,一門課程可由多個教師講授)。4. 說明實體-聯系模型中的實體、屬性和聯系的概念。5.指明下列實體間聯系的種類:(1)教研室和教師(設一個教師只屬於一個教研室,一個教研室可有多名教師)。(2)商品和顧客。(3)國家和首都(假設一個國家的首都可以變化)。(4)飛機和乘客。(5)銀行和賬戶。(6)圖書和借閱者。(設一個借閱者可同時借閱多本書,可在不同時間對同一本書借閱多次) 6.資料庫系統包含哪三級模式?試分別說明每一級模式的作用? 答:資料庫系統包含的三級模式為:內模式、模式和外模式。外模式是對現實系統中用戶感興趣的整體數據結構的局部描述,用於滿足不同資料庫用戶需求的數據視圖,是資料庫用戶能夠看見和使用的局部數據的邏輯結構和特徵的描述,是對資料庫整體數據結構的子集或局部重構。模式是資料庫中全體數據的邏輯結構和特徵的描述,是所有用戶的公共數據視圖。內模式是對整個資料庫的底層表示,它描述了數據的存儲結構。
7. 資料庫管理系統提供的兩級映像的作用是什麼?它帶來了哪些功能? 答:資料庫系統的兩級映象是模式與內描述間的映象和外模式與模式間的映象。模式/內模式的映象帶來了物理獨立性,即如果資料庫的存儲結構改變了,可通過調整模式/內模式的映象,使模式能夠保持不變。外模式/概念模式間的映象帶來了邏輯獨立性,當概念模式的結構可發生改變時,也可通過調整外模式/模式間的映象關系,使外模式可以保持不變。8.資料庫三級模式劃分的優點是什麼?它能帶來哪些數據獨立性? 答:資料庫的三級模式的劃分實際上將用戶、邏輯資料庫與物理資料庫進行了劃分,使彼此之間的相互干擾減到最少。這三個模式的劃分實際上帶來了兩個數據獨立性:物理獨立性和邏輯獨立性。這使得底層的修改和變化盡量不影響到上層。第3章 關系資料庫 1. 試述關系模型的三個組成部分。答:關系數據結構、關系操作集合和關系完整性約束。2. 解釋下列術語的含義:(1) 笛卡爾積:設D1,D2,…,Dn為任意集合,定義笛卡爾積D1,D2,…,Dn為:D1×D2× …×Dn ={(d1,d2,…,dn) | di ∈Di,i=1,2,…,n }(2) 主鍵:也稱主碼為或主關鍵字,是表中的屬性或屬性組,用於惟一地確定一個元組。(3) 候選鍵:如果一個屬性或屬性集的值能夠惟一標識一個關系的元組而又不包含多餘的屬性,則稱該屬性或屬性集為候選鍵。(4) 外鍵:設F是關系R的一個或一組屬性,如果F與關系S的主鍵相對應,則稱F是關系R的外鍵。(5) 關系:關系就是簡單二維表。(6) 關系模式:二維表的結構稱為關系模式。(7) 關系資料庫:對應於一個關系模型的所有關系的集合稱為關系資料庫。3. 關系資料庫的三個完整性約束是什麼?各是什麼含義? 答:實體完整性、參照完整性和用戶定義的完整性。實體完整性是保證關系中的每個元組都是可識別的和惟一的。參照完整性也稱為引用完整性,用於表達現實世界中的實體之間的關聯關系。
用戶定義的完整性也稱為域完整性或語義完整性,用於保證資料庫中存儲的值與現實世界相符。4. 連接運算有哪些?等值連接和自然連接的區別是什麼? 答:連接運算中最重要也是最常用的連接有兩個,一個是等值連接,一個是自然連接。自然連接與等值連接的差別為:l 自然連接要求相等的分量必須有共同的屬性名,等值連接則不要求;l 自然連接要求把重復的屬性名去掉,等值連接卻不這樣做。5. 對參與並、交、差運算的兩個關系R、S有什麼要求? 答:必須結構相同,且相應的屬性值取自同一個值域。6. 對參與除運算的兩個關系(R÷S)有什麼要求?除運算的結果關系中包含哪些屬性? 答:R中必須包含S的全部或部分屬性,除運算的結果包含的屬性是只屬於R不屬於S的屬性。7. 對參與自然連接和等值連接操作的兩個關系R、S有什麼要求?答:有語義相同的屬性。8. 投影操作的結果關系中是否有可能存在重復的記錄?為什麼? 答:不可能,因為投影運算會自動去掉投影後重復的記錄。9.利用表3-10至3-12所示的三個關系,寫出實現如下查詢要求的關系代數表達式。(1)查詢「信息系」學生的選課情況,列出學號、姓名、課程號和成績。∏Sno, Sname, Cno, Grade(σSdept=『信息系』(SCStudent)) 或:∏Sno, Sname, Cno, Grade(SC σSdept=『信息系』(Student))(2) 查詢「VB」課程的考試情況,列出學生姓名、所在系和考試成績。∏Sname, Sdept, Grade(σCname=『VB』(CoureSCStudent)) 或:∏Sname, Sdept, Grade(σCname=『VB』(Coure) SCStudent)(3) 查詢考試成績高於90分的學生的姓名、課程名和成績。∏Sname, Cname, Grade(σGrade>90(CoureSCStudent)) 或:∏Sname, Cname, Grade(Coure
σGrade>90(SC)Student)(4) 查詢至少選修了0512號學生所選的全部課程的學生的姓名和所在系。∏Sname, Sdept(Student (SC ÷ ∏Cno(σsno=』0512』(SC))))(5) 查詢至少選了「C01」和「C02」兩門課程的學生的姓名、所在系和所選的課程號。∏Sname, Sdept, Cno(Student (SC ÷ ∏Sno(σcno=』C01』 V Cno=』C02』(SC))))(6) 查詢沒有選修第1學期開設的全部課程的學生的學號、姓名和所選的課程號。∏Sno, Sname, Cno(Student SC (∏sno(SC) - ∏sno(σsemester=1(Course)SC)))(7) 查詢計算機系和信息系選了VB課程的學生姓名。∏Sname(σsdept=』計算機系』V sdept=』信息系』)∧ cname=』vb』(StudentSC Course)) 或:∏Sname(σsdept=』計算機系』V sdept=』信息系』(Student)SC σcname=』vb』(Course)) 第4章 SQL Server 20__基礎 1. 安裝SQL Server 20__對硬碟及內存的要求分別是什麼? 答:SQL Server 20__實際硬碟空間需求取決於系統配置和您決定安裝的功能,一般應確保系統驅動器中是否有至少 6.0 GB 的可用磁碟空間。內存:E_press 版本:最少512 MB;其他版本:最少1 GB。2. SQL Server實例的含義是什麼?實例名的作用是什麼? 答:一個實例代表一個獨立的資料庫管理系統。實例名是實例的標識,用戶通過「計算機名/實例名」的方式可訪問指定的命令實例。3. SQL Server 20__的核心引擎是什麼? 答:SQL Server(MSSQLSERVER)4. SQL Server 20__提供的設置服務啟動方式的工具是哪個? 答:配置管理器
5. 在SQL Server 20__中,每個資料庫至少包含幾個文件? 答:2個文件,一個數據文件,一個日誌文件 6. SQL Server 20__資料庫文件分為幾類?每個文件有哪些屬性? 答:主要數據文件和次要數據文件,屬性有:物理文件名及其位置、邏輯文件名、初始大小、增長方式、最大大小。第 5 章 數據類型及關系表創建 1. Tinyint數據類型定義的數據的取值范圍是多少? 答:0-2552. SmallDatatime類型精確到哪個時間單位? 答:分鍾3. 定點小數類型numeric中的p和q的含義分別是什麼? 答:p代表整數位數+小數位數的和值,q代表小數位數。4. Char(n)、nchar(n)的區別是什麼?它們各能存放多少個字元? 答:Char(n)中的n代表能存放n個位元組的字元,如果是字母可以存放n個,如果是漢字可存放n/2個。Nchar(n)中的n代表能存放的字元個數。5. Char(n)和varchar(n)的區別是什麼?答:Char(n)是定長存儲,一定佔n個位元組的空間。Varchar(n)代表最多佔n個位元組的空間。6. 數據完整性約束的作用對象有哪些? 答:表和列7. CHECK約束的作用是什麼? 答:限制列的取值范圍。8. UNIQUE約束的作用是什麼? 答:限制列取值不重。9. DEFAULT約束的作用是什麼? 答:提供列的默認值。上機練習 1. 在第4章創建的Students資料庫中,寫出創建如下三張表的SQL語句,要求在定義表的同時定義數據的完整性約束:(1)「圖書」表結構如下:書號:統一字元
④ 資料庫sql 的課程設計怎麼做,要借哪些書看,求大神指教
IT行業,資料庫確實是一門相當重要的課程。但是在大學裡面,對待資料庫原理及應用這么課程以及其課程設計的重視程度就相差很大了,各個學校要求也不一樣。如果是要學好,那確實要下工夫;如果只是完成課程設計,交差了事,其實相當簡單。
既然是課程設計,也算是個小小的項目,既然是項目,也就離不開需求分析、資料庫設計、部署實現等環節。當然,這個小小的項目只需要前面的部分:需求和資料庫設計,資料庫設計是重點。
需求分析就不用多說,和所有其他項目一樣,無非就是用戶需求,功能需求,系統需求等,找任何一本關於需求分析的書都是可以,除了那些個空話之外,更多的是要根據設計需要進行分析。
資料庫設計就比較復雜一點,首先得把資料庫原理搞清楚,比如:符合什麼樣的範式,怎麼畫ER圖,如何理解用例圖。在設計資料庫之前,有一系列的分析要做:面向對象分析,用例分析,類和對象分析等等。分析到位是資料庫設計成功的重要保障。分析完成之後才是設計,比如:邏輯結構設計,關系模式設計,存取方法設計,存儲結構設計,數據完整性設計,參考完整性設計,Check約束,Default約束,觸發器設計,視圖設計,存儲過程設計,許可權設計等。這些都完成了,最後一步才是寫SQL代碼實現這些設計,創建資料庫及相關的數據表,關聯,視圖,觸發器,存儲過程等一些列的看得見的資料庫參數。
上面說的比較理論,也比較籠統。我想我可以用一個簡單例子告訴你我要表達的意思。例子很簡單,其中很多地方都不是太好,不過或許可以給你一個直觀的思路。
資料庫應用課程設計報告書
網上超市管理系統
成 績:
學 號:
姓 名:
指導教師:
20 年 月 日
目錄
任務書......................................... (3)
1. 需求調查、分析................................. (4)
1.1.企業介紹.................................... (4)
1.2.需求調查及分析.............................. (5)
2. 面向對象分析和設計............................. (7)
2.1. 用例分析 (7)
2.2.類和對象設計 (12)
3. 邏輯結構設計.................................. (15)
3.1. 類和對象向關系模式轉換............................................ (15)
3.2. 關系模式優化 (16)
4. 資料庫物理結構設計............................ (16)
4.1. 存取方法設計 (16)
4.2. 存儲結構設計 (17)
5. 資料庫完整性設計.............................. (17)
5.1. 主鍵及唯一性索引 (17)
5.2. 參照完整性設計 (18)
5.3. Check約束 (18)
5.4. Default約束 (18)
5.5. 觸發器設計 (19)
6. 資料庫視圖設計................................ (19)
7. 資料庫存儲過程設計............................ (20)
8. 許可權設計...................................... (20)
9. 總結.......................................... (21)