設有spj資料庫
❶ 璁炬湁涓涓猄PJ鏁版嵁搴擄紝鍖呮嫭S錛孭錛孞錛孲PJ鍥涗釜鍏崇郴妯″紡
1. 鍒涘緩琛
浠S琛ㄤ負渚嬶紝P琛ㄣ丣琛ㄣ丼PJ琛ㄥ悓鐞嗙殑銆
create table s
(sno char(5),
sname char(20),
status char(8),
city char(15))
鍚戣〃鍐呮彃鍏ヨ板綍錛屼互絎涓鏉′負渚嬶紝鍏跺畠鍚岀悊銆
insert into s values('s1','綺劇泭','20','澶╂觸')
2. 鏌ヨ
1錛塻elect sname,city
from s
2錛塻elect pname,color,weight
from p
3錛塻elect jno
from spj
where sno='s1'
4錛塻elect pname,qty
from p,spj
where p.pno=spj.pno and jno='j2'
5錛塻elect pno
from s,spj
where s.sno=spj.sno and city='涓婃搗'
6錛塻elect jno
from s,spj
where s.sno=spj.sno and city='涓婃搗'
7錛塻elect jno
from s,spj
where s.sno=spj.sno and city not in('涓婃搗')
8錛塽pdate p
set color='钃'
where color='綰'
9錛塽pdate spj
set sno='s3'
where sno='s5' and jno='j4' and pno='p6'
10錛塪elete
from s
where sno='s2'
delete
from spj
where sno='s2'
錛堝傛灉瀛﹁繃瑙﹀彂鍣鐨勮瘽錛屼篃鍙浠ョ敤瑙﹀彂鍣ㄥ仛錛
11錛塱nsert into spj
values('s2','j6','p4','200')
❷ 關於資料庫原理與應用的幾個問題
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 許可權又轉授給了其他用戶,那麼這些許可權也將從其他用戶處收回。
❸ 什麼是spj
s--supplier--供應商
p--part--零件
j--job--工程
spj是聯系s,p,j三個關系模式的綜合關系模式。
給你舉個典型的例子:
設有一個設有一個SPJ資料庫,包括S,P,J,SPJ四個關系模式:
S(SNO, SNAME, STATUS, CITY);
P(PNO, PNAME, COLOR, WEIGHT);
J(JNO, JNAME, CITY);
SPJ(SNO, PNO, JNO, QTY); //供應數量(QTY)
❹ 資料庫原理難題,設有一個SPJ資料庫,包括S,P,J,SPJ四個關系模式
這是難題?
(1)
create table S
(
SNO VARCHAR(20) PRIMARY KEY,
SNAME NVARCHAR(50) NOT NULL,
STATUS INT DEFAULT(0),
SCITY NVARCHAR(20)
)
CREATE TABLE P
(
PNO VARCHAR(20) PRIMARY KEY,
PNAME NVARCHAR(50) NOT NULL,
COLOR NVARCHAR(10),
WEIGHT NUMERIC(9,2)
)
CREATE TABLE J
(
JNO VARCHAR(20) PRIMARY KEY,
JNAME NVARCHAR(50) NOT NULL,
JCITY NVARCHAR(100)
)
CREATE TABLE SPJ
(
SNO VARCHAR(20),
PNO VARCHAR(20),
JNO VARCHAR(20),
QTY NEMERIC(9,2)
)
(2)
----------------------
SELECT PNAME, COLOR, WEIGHT FROM P
(3)
--------------------
SELECT SNO FROM SPJ AS T
WHERE JNO='J2'
AND EXISTS(SELECT 1 FROM P WHERE COLOR='紅色' AND PNO=T.JNO)
(4)
-----------------
UPDATE J SET JCITY='天津' WHERE JNO='J2'
(5)
-----------------
DELETE FROM P WHERE PNO = 'P4'