




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、數(shù)據(jù)庫原理綜合習(xí)題答案名詞解釋DB:即數(shù)據(jù)庫(Database),是統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合。DB能為各種用戶共享,具有最小冗余度,數(shù)據(jù)間聯(lián)系密切,而又有較高的數(shù)據(jù)獨立性。DBMS:即數(shù)據(jù)庫管理系統(tǒng)(DatabaseManagementSystem),是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,為用戶或應(yīng)用程序提供訪問DB的方法,包括DB的建立、查詢、更新及各種數(shù)據(jù)控制。DBMS總是基于某種數(shù)據(jù)模型,可以分為層次型、網(wǎng)狀型、關(guān)系型、面向?qū)ο笮虳BMS。(3)DBS:即數(shù)據(jù)庫系統(tǒng)(DatabaseSystem),是實現(xiàn)有組織地、動態(tài)地存儲大量關(guān)聯(lián)數(shù)據(jù),方便多用戶訪問的計算機軟件、硬件和數(shù)據(jù)資源組
2、成的系統(tǒng),即采用了數(shù)據(jù)庫技術(shù)的計算機系統(tǒng)。1:1聯(lián)系:如果實體集E1中的每個實體最多只能和實體集E2中的一個實體有聯(lián)系,反之亦然,那么實體集E1對E2的聯(lián)系稱為“一對一聯(lián)系”記為“1:1”1:N聯(lián)系:如果實體集E1中每個實體與實體集E2中任意個(零個或多個)實體有聯(lián)系,而E2中每個實體至多和E1中的一個實體有聯(lián)系,那么E1對E2的聯(lián)系是“一對多聯(lián)系”記為“1:N”M:N聯(lián)系:如果實體集E1中每個實體與實體集E2中任意個(零個或多個)實體有聯(lián)系,反之亦然,那么E1對E2的聯(lián)系是“多對多聯(lián)系”記為“M:N”(7)數(shù)據(jù)模型:模型是對現(xiàn)實世界的抽象。在數(shù)據(jù)庫技術(shù)中,表示實體類型及實體類型間聯(lián)系的模型稱
3、為“數(shù)據(jù)模型”。它可分為兩種類型:概念數(shù)據(jù)模型和結(jié)構(gòu)數(shù)據(jù)模型。(6)概念數(shù)據(jù)模型:是獨門于計算機系統(tǒng)的模型,完全不涉及信息在系統(tǒng)中的表示,只是用來描述某個特定組織所關(guān)心的信息結(jié)構(gòu)。結(jié)構(gòu)數(shù)據(jù)模型:是直接面向數(shù)據(jù)庫的邏輯結(jié)構(gòu),是現(xiàn)實世界的第二層抽象。這類模型涉及到計算機系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng),所以稱為“結(jié)構(gòu)數(shù)據(jù)模型”。結(jié)構(gòu)數(shù)據(jù)模型應(yīng)包含:數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作、數(shù)據(jù)完整性約束三部分。它主要有:層次、網(wǎng)狀、關(guān)系三種模型。層次模型:用樹型結(jié)構(gòu)表示實體類型及實體間聯(lián)系的數(shù)據(jù)模型。網(wǎng)狀模型:用有向圖結(jié)構(gòu)表示實體類型及實體間聯(lián)系的數(shù)據(jù)模型。關(guān)系模型:是目前最流行的數(shù)據(jù)庫模型。其主要特征是用二維表格結(jié)構(gòu)表達實體集,
4、用外鍵表示實體間聯(lián)系。關(guān)系模型是由若干個關(guān)系模式組成的集合。概念模式:是數(shù)據(jù)庫中全部數(shù)據(jù)的整體邏輯結(jié)構(gòu)的描述。它由若干個概念記錄類型組成。概念模式不僅要描述概念記錄類型,還要描述記錄間的聯(lián)系、操作、數(shù)據(jù)的完整性、安全性等要求。外模式:是用戶與數(shù)據(jù)庫系統(tǒng)的接口,是用戶用到的那部分?jǐn)?shù)據(jù)的描述。內(nèi)模式:是數(shù)據(jù)庫在物理存儲方面的描述,定義所有的內(nèi)部記錄類型、索引和文件的組成方式,以及數(shù)據(jù)控制方面的細節(jié)。模式/內(nèi)模式映象:這個映象存在于概念級和內(nèi)部級之間,用于定義概念模式和內(nèi)模式間的對應(yīng)性,即概念記錄和內(nèi)部記錄間的對應(yīng)性。此映象一般在內(nèi)模式中描述。外模式/模式映象:這人映象存在于外部級和概念級之間,用于
5、定義外模式和概念模式間的對應(yīng)性,即外部記錄和內(nèi)部記錄間的對應(yīng)性。此映象都是在外模式中描述。數(shù)據(jù)獨立性:在數(shù)據(jù)庫技術(shù)中,數(shù)據(jù)獨立性是指應(yīng)用程序和數(shù)據(jù)之間相互獨立,不受影響。數(shù)據(jù)獨立性分成物理數(shù)據(jù)獨立性和邏輯數(shù)據(jù)獨立性兩級。物理數(shù)據(jù)獨立性:如果數(shù)據(jù)庫的內(nèi)模式要進行修改,即數(shù)據(jù)庫的存儲設(shè)備和存儲方法有所變化,那么模式/內(nèi)模式映象也要進行相應(yīng)的修改,使概念模式盡可能保持不變。也就是對模式的修改盡量不影響概念模式。邏輯數(shù)據(jù)獨立性:如果數(shù)據(jù)庫的概念模式要進行修改(如增加記錄類型或增加數(shù)據(jù)項),那么外模式/模式映象也要進行相應(yīng)的修改,使外模式盡可能保持不變。也就是對概念模式的修改盡量不影響外模式和應(yīng)用程序。
6、宿主語言:在數(shù)據(jù)庫技術(shù)中,編寫應(yīng)用程序的語言仍然是一些高級程序設(shè)計語言,這些語言稱為宿主語言(hostlanguage),簡稱主語言。DDL:數(shù)據(jù)定義語言(DataDefinitionLanguage),用于定義數(shù)據(jù)庫的三級結(jié)構(gòu),包括外模式、概念模式、內(nèi)模式及其相互之間的映象,定義數(shù)據(jù)的完整性、安全控制等約束。DML:數(shù)據(jù)操縱語言(DataManipulationLanguage),由DBMS提供,用于讓用戶或程序員使用,實現(xiàn)對數(shù)據(jù)庫中數(shù)據(jù)的操作。DML分成交互型DML和嵌入型DML兩類。依據(jù)語言的級別,DML又可分成過程性DML和非過程性DML兩種。交互型DML:如果DML自成系統(tǒng),可在終端
7、上直接對數(shù)據(jù)庫進行操作,這種DML稱為交互型DML。嵌入型DML:如果DML嵌入在主語言中使用,此時主語言是經(jīng)過擴充能處理DML語句的語言,這種DML稱為嵌入型DML。過程性DML:用戶編程時,不僅需要指出“做什么”(需要什么樣的數(shù)據(jù)),還需要指出“怎么做”(怎么獲得數(shù)據(jù))。層狀、網(wǎng)狀的DML屬于過程性語言。非過程性DML:用戶編程時,只需要指出“做什么”,不需要指出“怎么做”。Notice:以上關(guān)于DML的各個概念單獨出現(xiàn)時,首先要解釋DML的含義。DD:數(shù)據(jù)字典(DataDictionary),數(shù)據(jù)庫系統(tǒng)中存放三級結(jié)構(gòu)定義的數(shù)據(jù)庫稱為數(shù)據(jù)字典。對數(shù)據(jù)庫的操作都要通過訪問DD才能實現(xiàn)。DD系
8、統(tǒng):管理DD的實用程序稱為“DD系統(tǒng)”。文件系統(tǒng)階段的數(shù)據(jù)管理有些什么缺陷?試舉例說明。文件系統(tǒng)有三個缺陷:數(shù)據(jù)冗余性(redundancy)。由于文件之間缺乏聯(lián)系,造成每個應(yīng)用程序都有對應(yīng)的文件,有可能同樣的數(shù)據(jù)在多個文件中重復(fù)存儲。數(shù)據(jù)不一致性(inconsistency)。這往往是由數(shù)據(jù)冗余造成的,在進行更新操作時,稍不謹(jǐn)慎,就可能使同樣的數(shù)據(jù)在不同的文件中不一樣。數(shù)據(jù)聯(lián)系弱(poordatarelationship)o這是由文件之間相互獨立,缺乏聯(lián)系造成的。數(shù)據(jù)庫階段的數(shù)據(jù)管理有些什么特點?采用復(fù)雜的數(shù)據(jù)模型表示數(shù)據(jù)結(jié)構(gòu)有較高的數(shù)據(jù)獨立性(數(shù)據(jù)結(jié)構(gòu)分成用戶的邏輯結(jié)構(gòu)、整體邏輯結(jié)構(gòu)和物理
9、結(jié)構(gòu)三級)數(shù)據(jù)庫系統(tǒng)為用戶提供方便的用戶接口,可以使用查詢語言、終端命令或程序方式操作數(shù)據(jù),也可以用程序方式操作數(shù)據(jù)庫。系統(tǒng)提供了四個方面的數(shù)據(jù)控制功能:數(shù)據(jù)庫的恢復(fù)、并發(fā)控制、數(shù)據(jù)完整性和數(shù)據(jù)安全性,以保證數(shù)據(jù)庫中數(shù)據(jù)是安全的、正確的和可靠的。對數(shù)據(jù)的操作不一定以記錄為單位,還可以數(shù)據(jù)項為單位,增加了系統(tǒng)的靈活性。你怎樣理解實體、屬性、記錄、字段這些概念的類型和值的差別?試舉例說明。實體(entity):是指客觀存在可以相互區(qū)別的事物。實體可以是具體的對象,如:一個學(xué)生,一輛汽車等;也可以是抽象的事件,如:一次借書、一場足球賽等。屬性(attribute):實體有很多特性,每一個特性稱為屬性
10、。每個屬性有一個值域,其類型可以是整數(shù)型、實數(shù)型、字符串型。比如,學(xué)生(實體)有學(xué)號、姓名、年齡、性別等屬性,相應(yīng)值域為字符、字符串、整數(shù)和字符串型。字段(field):標(biāo)記實體屬性的命名單位稱為字段或數(shù)據(jù)項。它是可以命名的最小信息單位,所以又稱為數(shù)據(jù)元素或初等項。字段的命名往往和屬性名相同,比如,學(xué)生有學(xué)號、姓名、年齡、性別等字段。記錄(record):字段的有序集合稱為記錄。一般用一個記錄描述一個實體,所以記錄又可以定義為能完整地描述一個實體的字段集。如:一個學(xué)生記錄,由有序的字段集(學(xué)號、姓名、年齡、性別等)組成。邏輯記錄與物理記錄,邏輯文件與物理文件有些什么聯(lián)系和區(qū)別?聯(lián)系:(1)邏輯
11、記錄與物理記錄都是記錄,是字段的有序集合;(2)邏輯文件與物理文件都是文件,是同一類記錄的匯集。區(qū)別:(1)邏輯記錄與邏輯文件是邏輯數(shù)據(jù)描述,物理記錄與物理文件是物理數(shù)據(jù)描述。(2)物理數(shù)據(jù)描述是指數(shù)據(jù)在存儲設(shè)備上的存儲方式,物理記錄、物理文件(還有物理聯(lián)系、物理結(jié)構(gòu)等術(shù)語),都是用來描述實際存儲設(shè)備上的數(shù)據(jù)。(3)邏輯數(shù)據(jù)描述是指程序員或用戶用以操作的數(shù)據(jù)形式,是抽象的概念化數(shù)據(jù)。邏輯記錄、邏輯文件(還有邏輯聯(lián)系、邏輯結(jié)構(gòu)等術(shù)語),都是用戶觀點的數(shù)據(jù)描述。1.6為某百貨公司設(shè)計一個ER模型。百貨管轄若干個連鎖商店,每家商店經(jīng)營若干商品,每家商店有若干職工,但每個職工只能服務(wù)于一家商店。實體類
12、型“商店”的屬性有:商店編號,店名,店址,店經(jīng)理。實體類型“商品”的屬性有:商品編號,商品名,單價,產(chǎn)地。實體類型“職工”的屬性有:職工編號,職工名,性別,工資。在聯(lián)系中應(yīng)反映出職工參加某商店工作的開始時間,商店銷售商品的月銷售量。試畫出反映商店、商品、職工實體類型及聯(lián)系類型的ER圖,并將其轉(zhuǎn)換成關(guān)系模式集。實體:商店(商店編號,店名,店址,店經(jīng)理)商品(商品編號,商品名,單價,產(chǎn)地)職工(職工編號,職工名,性別,工資)聯(lián)系:SC(商店一商品之間1:N的聯(lián)系,聯(lián)系屬性為“職工參加商店工作的開始時間”SE(商店一職工之間1:N的聯(lián)系),聯(lián)系屬性為“月銷售量”關(guān)系模式集:商店模式(商店編號,店名,
13、店址,店經(jīng)理)商品模式(商品編號,商品名,單價,產(chǎn)地,商店編號,月銷售量)職工模式(職工編號,職工名,性別,工資,商店編號,開始時間)試述ER模型、層次模型、網(wǎng)狀模型、關(guān)系模型和面向?qū)ο竽P偷闹饕攸c。ER模型的主要特點:(1)優(yōu)點:接近于人的思維,容易理解;與計算機無關(guān),用戶容易接受。(2)缺點:只能說明實體間語義的聯(lián)系,不能進一步說明詳細的數(shù)據(jù)結(jié)構(gòu)。層次模型的特點:優(yōu)點:記錄之間的聯(lián)系通過指針實現(xiàn),查詢效率較高。缺點:只能表示1:N聯(lián)系,實現(xiàn)M:N結(jié)構(gòu)較復(fù)雜;由于層次順序的嚴(yán)格和復(fù)雜,引起數(shù)據(jù)的查詢和更新操作也很復(fù)雜。網(wǎng)狀模型的特點:優(yōu)點:記錄之間聯(lián)系通過指針實現(xiàn),M:N聯(lián)系也容易實現(xiàn)(每
14、個M:N聯(lián)系可拆成兩個1:N聯(lián)系),查詢效率較高。缺點:編寫應(yīng)用程序比較復(fù)雜,程序員必須熟悉數(shù)據(jù)庫的邏輯結(jié)構(gòu)。關(guān)系模型的特點:用關(guān)鍵碼而不是用指針導(dǎo)航數(shù)據(jù),表格簡單,用戶易懂,編程時并不涉及存儲結(jié)構(gòu)、訪問技術(shù)等細節(jié)。試述概念模式在數(shù)據(jù)庫結(jié)構(gòu)中的重要地位。概念模式是數(shù)據(jù)庫中全部數(shù)據(jù)的整體邏輯結(jié)構(gòu)的描述。它由若干個概念記錄類型組成。概念模式不僅要描述概念記錄類型,還要描述記錄間的聯(lián)系、操作、數(shù)據(jù)的完整性、安全性等要求。數(shù)據(jù)按外模式的描述提供給用戶,按內(nèi)模式的描述存儲在磁盤中,而概念模式提供了連接這兩級的相對穩(wěn)定的中間觀點,并使得兩級的任何一級的改變都不受另一級的牽制。數(shù)據(jù)獨立性與數(shù)據(jù)聯(lián)系這兩個概念
15、有什么區(qū)別?數(shù)據(jù)獨立性是指應(yīng)用程序與數(shù)據(jù)之間相互獨立,不受影響。數(shù)據(jù)聯(lián)系是指同一記錄內(nèi)部各字段間的聯(lián)系,以及記錄之間的聯(lián)系。1.10試述DBMS在用戶訪問數(shù)據(jù)庫過程中所起的作用.用戶對數(shù)據(jù)庫進行操作,DBMS把操作從應(yīng)用程序帶到外部級、概念級、再導(dǎo)向內(nèi)部級,進而操作存儲器中的數(shù)據(jù)。(結(jié)合P22“用戶訪問數(shù)據(jù)的過程”來理解)1.11試述DBMS的主要功能。DBMS的主要功能有:數(shù)據(jù)庫的定義功能數(shù)據(jù)庫的操縱功能數(shù)據(jù)庫的保護功能數(shù)據(jù)庫的存儲管理數(shù)據(jù)庫的維護功能數(shù)據(jù)字典1.12試敘DBMS對數(shù)據(jù)庫的保護功能。DBMS對數(shù)據(jù)庫的保護主要通過四個方面實現(xiàn):數(shù)據(jù)庫的恢復(fù)。數(shù)據(jù)庫的并發(fā)控制。數(shù)據(jù)庫的完整性控制
16、。數(shù)據(jù)庫的安全性控制。1.13試敘DBMS對數(shù)據(jù)庫的維護功能。DBMS中有一些程序提供給數(shù)據(jù)庫管理員運行數(shù)據(jù)庫系統(tǒng)時使用,這些程序起著數(shù)據(jù)庫維護的功能。主要有四個實用程序:數(shù)據(jù)裝載程序(loading)備份程序(backup)文件重組織程序性能監(jiān)控程序1.14從模塊結(jié)構(gòu)看,DBMS由哪些部分組成?從模塊結(jié)構(gòu)看,DBMS由兩大部分組成:查詢處理器和存儲管理器查詢處理器有四個主要成分:DDL編譯器,DML編譯器,嵌入型DML的預(yù)編譯器,查詢運行核心程序存儲管理器有四個主要成分:授權(quán)和完整性管理器,事務(wù)管理器,文件管理器,緩沖區(qū)管理器(以上幾題具體可參照書上p20-21)1.15DBS由哪幾個部分組
17、成?DBS由四部分組成:數(shù)據(jù)庫、硬件、軟件、數(shù)據(jù)庫管理員。1.16什么樣的人是DBA?DBA應(yīng)具有什么素質(zhì)?DBA的職責(zé)是什么?DBA是控制數(shù)據(jù)整體結(jié)構(gòu)的人,負(fù)責(zé)DBS的正常運行。DBA可以是一個人,在大型系統(tǒng)中也可以是由幾個人組成的小組。DBA承擔(dān)創(chuàng)建、監(jiān)控和維護整個數(shù)據(jù)庫結(jié)構(gòu)的責(zé)任。DBA應(yīng)具有下列素質(zhì):(1)熟悉企業(yè)全部數(shù)據(jù)的性質(zhì)和用途;對用戶的需求有充分的了解;對系統(tǒng)的性能非常熟悉。DBA的主要職責(zé)有五點:概念模式定義內(nèi)模式定義根據(jù)要求修改數(shù)據(jù)庫的概念模式和內(nèi)模式對數(shù)據(jù)庫訪問的授權(quán)完整性約束的說明1.17試對DBS的全局結(jié)構(gòu)作詳細解釋。參照教材p24-25。1.18使用DBS的用戶有哪
18、幾類?使用DBS的用戶有四類:DBA專業(yè)用戶應(yīng)用程序員最終用戶DBMS的查詢處理器有哪些功能?DBMS的查詢處理器可分成四個成分:DML編譯器嵌入型DML的預(yù)編譯器DDL編譯器查詢運行核心程序(各成分功能參照P24)DBMS的存儲處理器有哪些功能?DBMS的存儲處理器提供了應(yīng)用程序訪問數(shù)據(jù)庫中數(shù)據(jù)的界面,可分成四個成分授權(quán)和完整性管理器事務(wù)管理器文件管理器緩沖區(qū)管理器(各成分功能參照P25)磁盤存儲器中有哪四類主要的數(shù)據(jù)結(jié)構(gòu)?數(shù)據(jù)文件:存儲了數(shù)據(jù)庫中的數(shù)據(jù);數(shù)據(jù)字典(DD):存儲三級結(jié)構(gòu)的描述;索引文件:為提高查詢速度而設(shè)置的邏輯排序手段;統(tǒng)計數(shù)據(jù)組織:存儲DBS運行時統(tǒng)計分析數(shù)據(jù)。關(guān)系模型:
19、用二維表格結(jié)構(gòu)表示實體集,外鍵表示實體間聯(lián)系的數(shù)據(jù)模型稱為關(guān)系模型。關(guān)系模式:關(guān)系模式實際上就是記錄類型。它的定義包括:模式名,屬性名,值域名以及模式的主鍵。關(guān)系模式不涉及到物理存儲方面的描述,僅僅是對數(shù)據(jù)特性的描述。關(guān)系實例:元組的集合稱為關(guān)系和實例,一個關(guān)系即一張二維表格。屬性:實體的一個特征。在關(guān)系模型中,字段稱為屬性。域:在關(guān)系中,每一個屬性都有一個取值范圍,稱為屬性的值域,簡稱域。元組:在關(guān)系中,記錄稱為元組。元組對應(yīng)表中的一行;表示一個實體。超鍵:在關(guān)系中能唯一標(biāo)識元組的屬性集稱為關(guān)系模式的超鍵。候選鍵:不含有多余屬性的超鍵稱為候選鍵。主鍵:用戶選作元組標(biāo)識的一個候選鍵為主鍵。(單
20、獨出現(xiàn),要先解釋“候選鍵”)外鍵:某個關(guān)系的主鍵相應(yīng)的屬性在另一關(guān)系中出現(xiàn),此時該主鍵在就是另一關(guān)系的外鍵,如有兩個關(guān)系S和SC,其中S#是關(guān)系S的主鍵,相應(yīng)的屬性S#在關(guān)系SC中也出現(xiàn),此時S#就是關(guān)系SC的外鍵。實體完整性規(guī)則:這條規(guī)則要求關(guān)系中元組在組成主鍵的屬性上不能有空值。如果出現(xiàn)空值,那么主鍵值就起不了唯一標(biāo)識元組的作用。參照完整性規(guī)則:這條規(guī)則要求“不引用不存在的實體”。其形式定義如下:如果屬性集K是關(guān)系模式R1的主鍵,K也是關(guān)系模式R2的外鍵,那么R2的關(guān)系中,K的取值只允許有兩種可能,或者為空值,或者等于R1關(guān)系中某個主鍵值。這條規(guī)則在使用時有三點應(yīng)注意:1)外鍵和相應(yīng)的主鍵
21、可以不同名,只要定義在相同值域上即可。2)R1和R2也可以是同一個關(guān)系模式,表示了屬性之間的聯(lián)系。3)外鍵值是否允許空應(yīng)視具體問題而定。過程性語言:在編程時必須給出獲得結(jié)果的操作步驟,即“干什么”和“怎么干”。如Pascal和C語言等。非過程性語言:編程時只須指出需要什么信息,不必給出具體的操作步驟。各種關(guān)系查詢語言均屬于非過程性語言。無限關(guān)系:當(dāng)一個關(guān)系中存在無窮多個元組時,此關(guān)系為無限關(guān)系。如元組表達式t円R(t)表示所有不在關(guān)系R中的元組的集合,這是一個無限關(guān)系。無窮驗證:在驗證公式時需對無窮多個元組進行驗證就是無窮驗證。如驗證公式(u)(P(u)的真假時需對所有的元組u進行驗證,這是一
22、個無窮驗證的問題。為什么關(guān)系中的元組沒有先后順序?因為關(guān)系是一個元組的集合,而元組在集合中的順序無關(guān)緊要。因此不考慮元組間的順序,即沒有行序。為什么關(guān)系中不允許有重復(fù)元組?因為關(guān)系是一個元組的集合,而集合中的元素不允許重復(fù)出現(xiàn),因此在關(guān)系模型中對關(guān)系作了限制,關(guān)系中的元組不能重復(fù),可以用鍵來標(biāo)識唯一的元組。關(guān)系與普通的表格、文件有什么區(qū)別?關(guān)系是一種規(guī)范化了的二維表格,在關(guān)系模型中,對關(guān)系作了下列規(guī)范性限制:關(guān)系中每一個屬性值都是不可分解的。關(guān)系中不允許出現(xiàn)相同的元組(沒有重復(fù)元組)。由于關(guān)系是一個集合,因此不考慮元組間的順序,即沒有行序。元組中,屬性在理論上也是無序的,但在使用時按習(xí)慣考慮列
23、的順序。笛卡爾積、等值聯(lián)接、自然聯(lián)接三者之間有什么區(qū)別?笛卡爾積對兩個關(guān)系R和S進行乘操作,產(chǎn)生的關(guān)系中元組個數(shù)為兩個關(guān)系中元組個數(shù)之積。等值聯(lián)接則是在笛卡爾積的結(jié)果上再進行選擇操作,從關(guān)系R和S的笛卡兒積中選擇對應(yīng)屬性值相等的元組;自然連接則是在等值聯(lián)接(以所有公共屬性值相等為條件)的基礎(chǔ)上再行投影操作,并去掉重復(fù)的公共屬性列。當(dāng)兩個關(guān)系沒有公共屬性時,自然連接就轉(zhuǎn)化我笛卡爾積。2.8如果R是二元關(guān)系,那么下列元組表達式的結(jié)果是什么?t|(u)(R(t)AR(u)人(t1Mu1Vt2Mu2)這個表達式的意思是:從關(guān)系R中選擇元組,該元組滿足:第1分量值或第2分量值至少有一個不等于其他某元組。
24、由于R是二元關(guān)系,只有兩個分量,由于沒有重復(fù)元組,上述條件顯然滿足。所以,這個表達式結(jié)果就是關(guān)系Ro2.9假設(shè)R和S分別是三元和二元關(guān)系,試把表達式n1,5(o2=4V3=4(RXS)轉(zhuǎn)換成等價的:漢語查詢句子;(2)元組表達式;域表達式。(1)漢語表達式:從RXS關(guān)系中選擇滿足下列條件的元組:第2分量(R中第2分量)與第4分量(S中第1分量)值相等,或第3分量(R中第3分量)與第4分量(S中第1分量)值相等;并取第1列與第5列組成的新關(guān)系。元組表達式:t|(u)(v)(R(u)AS(v)A(u2=v1Vu3=v1)At1=u1At2=v2)域表達式:xv|(y)(z)(u)(R(xyz)AS
25、(uv)A(y=uVz=u)2.10假設(shè)R和S都是二元關(guān)系,試把元組表達式t|R(t)A(u)(S(u)Au1Mt2)轉(zhuǎn)換成等價的:(1)漢語查詢句子;(2)域表達式:關(guān)系代數(shù)表達式。漢語表達式:選擇R關(guān)系中元組第2分量值不等于S關(guān)系中某元組第1分量值的元組。域表達式:xy|(u)(v)(R(xy)AS(uv)A(uMy)關(guān)系代數(shù)表達式:n1,2(02工3(RXS)2.11試把域表達式ab|R(ab)AR(ba)轉(zhuǎn)換成等價的:漢語查詢句子;(2)關(guān)系代數(shù)表達式;(3)元組表達式。漢語查詢句子:選擇R中元組第1分量值與第2分量值互換后仍存在于R中的元組。關(guān)系代數(shù)表達式:n1,2(01=4A2=3
26、(RXR);元組表達式:t|(u)(R(t)AR(u)At1=u2At2=u1)2.12設(shè)有兩個關(guān)系R(A,B,C)和S(D,E,F(xiàn)),試把下列關(guān)系代數(shù)表達式轉(zhuǎn)換成等價的元組表達式:nA(R);(2)0B=17(R);RXS;(4)nA,F(oC=D(RXS)t|(u)(R(u)At1=u1)t|R(t)At2=17)t|(u)(v)(R(u)AS(v)At1=u1At2=u2At3=u3At4=v1At5=v2At6=v3)t|(u)(v)(R(u)AS(v)Au3=v1At1=u1At2=v3)2.13設(shè)有三個關(guān)系:S(S#,SNAME,AGE,SEX)SC(S#,C#,GRADE)C(C
27、#,CNAME,TEACHER)試用關(guān)系代數(shù)表達式表示下列查詢語句。(見下一題)2.14試用元組表達式表示上題中各個查詢語句。檢索LIU老師所授課程的課程號、課程名。nC#,CNAME(oTEACHER=LIU(C)t|(u)(C(u)AC3=LIUAt1=u1At2=u2)檢索年齡大于23歲的男學(xué)生的學(xué)號與姓名。nS#,SNAME(oAGE23ASEX=男(S)t|(u)(S(u)Au323Au4=男At1=u1At2=u2)檢索學(xué)號為S3學(xué)生所學(xué)課程的課程名與任課教師名。nCNAME,TEACHER(oS#=S3(SCC)t|(u)(v)(SC(u)AC(v)Au1=S3Av1=u2At1
28、=v2At2=v3)檢索至少選修LIU老師所授課程中一門課程的女學(xué)生的姓名。nSNAME(oSEX=女ATEACHER=LIU(SSCC)t|(u)(v)(w)(S(u)ASC(v)AC(w)Au4=女Av1=u1Av2=w1Aw3=LIUAt1=u2)檢索WANG同學(xué)不學(xué)的課程號。nC#(C)-nC#(oSNAME=WANG(SSC)或者,nC#(SC)-nC#(oSNAME=WANG(SSC)(全部課程號減去WANG同學(xué)所學(xué)的課程號)t|(u)(v)(C(u)ASC(v)A(u1=v2=(w)(s(w)Aw1=v1AW2工wang)At1=u1)(從C中選擇滿足條件的元組:SC中的所有元組
29、,如果學(xué)號與C中所選元組相同的話,其在S中對應(yīng)的姓名肯定不是wango)Notice:p1=p2的含義是:如果pl為真,則p2為真。檢索至少選修兩門課程的學(xué)生學(xué)號。nS#(o1=4A25(SCXSC)SC自乘之后,再選擇(同一個學(xué)號中兩個課程號不同的元組),投影。t|(u)(v)(SC(u)ASC(v)Au1=v1Au2Mv2)At1=u1檢索全部學(xué)生都選修的課程的課程號與課程名。nC#,CNAME(C(nS#,C#(SC)FnS#(S)(涉及到全部值時,應(yīng)用除法,“除數(shù)”是全部)t|(u)(v)(w)(S(u)ASC(v)AC(w)Au1=v1Av2=w1At1=v1At2=V2)檢索選修課
30、程包含LIU老師所授課程的學(xué)生學(xué)號。nS#(oTEACHER=LIU(SCC)t|(u)(v)(SC(u)AC(v)Au2=v1Av3=LIUAt1=u1)如果LIU老師有多門課程,則選修課程包含LIU老師所授全部課程的學(xué)生學(xué)號為:nS#,C#(SC片nC#(oTEACHER=LIU(C)2.15在教學(xué)數(shù)據(jù)庫S、SC、C中,用戶有一查詢語句:檢索女同學(xué)選修課程的課程名和任課教師名。(1)試寫出該查詢的關(guān)系代數(shù)表達式;(2)試寫出查詢優(yōu)化的關(guān)系代數(shù)表達式。nCNAME,TEACHER(oSEX=女(SSCC)優(yōu)化為:nCNAME,TEACHER(CnC#(nS#,C#(SC)nS#(oSEX=女
31、(S)(基本思路:盡量提前做選擇操作;在每個操作后,應(yīng)做個投影操作,去掉不用的屬性值。2.16在2.15題中,畫出該查詢初始的關(guān)系代數(shù)表達式的語法樹。使用2.4.4節(jié)的優(yōu)化算法,對語法樹進行優(yōu)化,并畫出優(yōu)化后的語法樹。該查詢初始的關(guān)系代數(shù)表達式的語法樹優(yōu)化后的語法樹2.17為什么要對關(guān)系代數(shù)表達式進行優(yōu)化?在關(guān)系代數(shù)運算中,各個運算所費時間和空間是不一樣的。如何安排若干關(guān)系的運算操作步驟,直接影響到整個操作所需要的時間和空間。對關(guān)系代數(shù)表達式進行優(yōu)化,可以提高系統(tǒng)的操作效率,達到執(zhí)行過程即省時間又省空間的目的。名詞解釋SQL模式:SQL模式是表和授權(quán)的靜態(tài)定義。一個SQL模式定義為基本表的集合
32、。一個由模式名和模式擁有者的用戶名或賬號來確定,并包含模式中每一個元素(基本表、視圖、索引等)的定義。SQL數(shù)據(jù)庫:SQL(StructuredQueryLanguage),即結(jié)構(gòu)式查詢語言采用英語單詞表示和結(jié)構(gòu)式的語法規(guī)則。一個SQL數(shù)據(jù)庫是表的匯集,它用一個或多個SQL模式定義?;颈恚涸赟QL中,把傳統(tǒng)的關(guān)系模型中的關(guān)系模式稱為基本表(BaseTable)。基本表是實際存儲在數(shù)據(jù)庫中的表,對應(yīng)一個關(guān)系。存儲文件:在SQL中,把傳統(tǒng)的關(guān)系模型中的存儲模式稱為存儲文件(StoredFile)。每個存儲文件與外部存儲器上一個物理文件對應(yīng)。視圖:在SQL中,把傳統(tǒng)的關(guān)系模型中的子模式稱為視圖(V
33、iew),視圖是從若干基本表和(或)其他視圖構(gòu)造出來的表。行:在SQL中,把傳統(tǒng)的關(guān)系模型中的元組稱為行(row)。列:在SQL中,把傳統(tǒng)的關(guān)系模型中的屬性稱為列(coloumn)。實表:基本表被稱為“實表”,它是實際存放在數(shù)據(jù)庫中的表。虛表:視圖被稱為“虛表”,創(chuàng)建一個視圖時,只把視圖的定義存儲在數(shù)據(jù)詞典中,而不存儲視圖所對應(yīng)的數(shù)據(jù)。相關(guān)子查詢:在嵌套查詢中出現(xiàn)的符合以下特征的子查詢:子查詢中查詢條件依賴于外層查詢中的某個值,所以子查詢的處理不只一次,要反復(fù)求值,以供外層查詢使用。聯(lián)接查詢:查詢時先對表進行笛卡爾積操作,然后再做等值聯(lián)接、選擇、投影等操作。聯(lián)接查詢的效率比嵌套查詢低。交互式S
34、QL:在終端交互方式下使用的SQL語言稱為交互式SQL。嵌入式SQL:嵌入在高級語言的程序中使用的SQL語言稱為嵌入式SQL。共享變量:SQL和宿主語言的接口。共享變量有宿主語言程序定義,再用SQL的DECLARE語句說明,SQL語句就可引用這些變量傳遞數(shù)據(jù)庫信息。游標(biāo):游標(biāo)是與某一查詢結(jié)果相聯(lián)系的符號名,用于把集合操作轉(zhuǎn)換成單記錄處理方式。卷游標(biāo):為了克服游標(biāo)在推進時不能返回的不便,SQL2提供了卷游標(biāo)技術(shù)。卷游標(biāo)在推進時不但能沿查詢結(jié)果中元組順序從頭到尾一行行推進,也能一行行返回。對于教學(xué)數(shù)據(jù)庫的三個基本表學(xué)生S(S#,SNAME,AGE,SEX)學(xué)習(xí)SC(S#,C#,GRADE)課程C(
35、C#,CNAME,TEACHER)試用SQL的查詢語句表達下列查詢:檢索LIU老師所授課程的課程號和課程名。SELECTC#,CNAMEFROMCWHERETEACHER=LIU檢索年齡大于23歲的男學(xué)生的學(xué)號和姓名。SELECTS#,SNAMEFROMSWHERE(AGE23)AND(SEX=M)檢索至少選修LIU老師所授課程中一門課程的女學(xué)生姓名。SELECTSNAMEFROMSWHERESEX=FANDS#IN(SELECTS#FROMSCWHEREC#IN(SELECTC#FROMCWHERETEACHER=LIU)NOTICE:有多種寫法,比如聯(lián)接查詢寫法:SELECTSNAMEFR
36、OMS,SC,CWHERESEX=FANDSC.S#=S.S#ANDSC.C#=C.C#ANDTEACHER=LIU但上一種寫法更好一些。檢索WANG同學(xué)不學(xué)的課程的課程號。SELECTC#FROMCWHEREC#NOTIN(SELECTC#FROMSCWHERES#IN(SELECTS#FROMSWHERESNAME=WANG)檢索至少選修兩門課程的學(xué)生學(xué)號。SELECTDISTINCTX.SNOFROMSCX,SCYWHEREX.SNO=Y.SNOANDX.CNOY.CNONotice:對表SC進行自連接,X,Y是SC的兩個別名。檢索全部學(xué)生都選修的課程的課程號與課程名。SELECTC#,
37、CNAMEFROMCWHERENOTEXISTS(SELECT*FROMSWHERES#NOTIN(SELECT*FROMSCWHERESC.C#=C.C#)要從語義上分解:(1)選擇課程的課程號與課程名,不存在不選這門課的同學(xué)其中,“不選這門課的同學(xué)”可以表示為:SELECT*FROMSWHERES#NOTIN(SELECT*FROMSCWHERESC.C#=C.C#)或者SELECT*FROMSWHERENOTEXISTS(SELECT*FROMSCWHERES.S#=C.S#ANDSC.C#=C.C#)檢索選修課程包含LIU老師所授課的學(xué)生學(xué)號。SELECTDISTINCTS#FROMS
38、CWHEREC#IN(SELECTC#FROMCWHERETEACHER=LIU)3.3設(shè)有兩個基本表R(A,B,C)和S(D,E,F),試用SQL查詢語句表達下列關(guān)系代數(shù)表達式:nA(R)(2)oB=17(R)(3)RXS(4)nA,F(oC=D(RXS)SELECTAFROMRSELECT*FROMRWHEREB=17SELECTA,B,C,D,E,FFROMR,SSELECTA,FFROMR,SWHERER.C=S.D3.43.4設(shè)有兩個基本表R(A,B,C)和S(A,B,C)試用SQL查詢語句表達下列關(guān)系代數(shù)表達式:(1)RUS(2)Rns(3)R-S(4)nA,B(R)nB,C(S)
39、SELECTA,B,CFROMRUNIONSELECTA,B,CFROMSSELECTA,B,CFROMRINTERSECTSELECTA,B,CFROMSSELECTA,B,CFROMRWHERENOTEXISTS(SELECTA,B,CFROMSWHERER.A=S.AANDR.B=S.BANDR.C=S.C)SELECTR.A,R.B,S.CFROMR,SWHERER.B=S.B3.5試敘述SQL語言的關(guān)系代數(shù)特點和元組演算特點。(P61-62)3.6試用SQL查詢語句表達下列對教學(xué)數(shù)據(jù)庫中三個基本表S、SC、C的查詢:統(tǒng)計有學(xué)生選修的課程門數(shù)。SELECTCOUNT(DISTINCTC
40、#)FROMSC求選修C4課程的學(xué)生的平均年齡。SELECTAVG(AGE)FROMSWHERES#IN(SELECTS#FROMSCWHEREC#=C4)或者,SELECTAVG(AGE)FROMS,SCWHERES.S#=SC.S#ANDC#=004求LIU老師所授課程的每門課程的學(xué)生平均成績。SELECTCNAME,AVG(GRADE)FROMSC,CWHERESC.C#=C.C#ANDTEACHER=LIUGROUPBYC#統(tǒng)計每門課程的學(xué)生選修人數(shù)(超過10人的課程才統(tǒng)計)。要求輸出課程號和選修人數(shù),查詢結(jié)果按人數(shù)降序排列,若人數(shù)相同,按課程號升序排列。SELECTDISTINCTC
41、#,COUNT(S#)FROMSCGROUPBYC#HAVINGCOUNT(S#)10ORDERBY2DESC,C#ASC檢索學(xué)號比WANG同學(xué)大,而年齡比他小的學(xué)生姓名。SELECTX.SNAMEFROMSASX,SASYWHEREY.SNAME=WANGANDX.S#Y.S#ANDX.AGE(SELECTAVG(AGE)FROMSASYWHEREY.SEX=女)(9)求年齡大于所有女同學(xué)年齡的男學(xué)生姓名和年齡。SELECTSNAME,AGEFROMSASXWHEREX.SEX=男ANDX.AGEALL(SELECTAGEFROMSASYWHEREY.SEX=女)3.7試用SQL更新語句表達
42、對教學(xué)數(shù)據(jù)庫中三個基本表S、SC、C的各個更新操作:往基本表S中插入一個學(xué)生元組S9,WU,18)。INSERTINTOS(S#,SNAME,AGE)VALUES(59,WU,18)在基本表S中檢索每一門課程成績都大于等于80分的學(xué)生學(xué)號、姓名和性別,并把檢索到的值送往另一個已存在的基本表STUDENT(S#,SANME,SEX)。INSERTINTOSTUDENT(S#,SNAME,SEX)SELECTS#,SNAME,SEXFROMSWHERENOTEXISTS(SELECT*FROMSCWHEREGRADE80ANDS.S#=SC.S#)在基本表SC中刪除尚無成績的選課元組。DELETEFROMSCWHEREGRADEISNULL把WANG同學(xué)的學(xué)習(xí)選課和成績?nèi)縿h去。DELETEFROMSCWHERES#IN(SELECTS#FROMSWHERESNAME=WANG)把選修MATHS課不及格的成績?nèi)臑榭罩?。UPDATESCSETGRADE=NULLWHEREGRADE60ANDC#IN(SELECTC#FROMCWHERECNAME=MATHS)把低于總平均成績的女同學(xué)成績提高5%。UPDATESCSETGRADE=GRADE*1.05WHEREGRADE(SELECTAVG(GRADE)FROMSC)ANDS#IN(SELECTS#FROMSWHE
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東2025年02月青島市嶗山區(qū)事業(yè)單位公開招考22名工作人員筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 生產(chǎn)和銷售合同范本
- 杭州奧體游泳館采光設(shè)計課件
- 建設(shè)工程施工過程的質(zhì)量管理學(xué)習(xí)情境五建設(shè)工程合同課件
- 管網(wǎng)布置原則張志英課件
- 2025陜煤電力略陽有限公司招聘(20人)筆試參考題庫附帶答案詳解
- 雞西市密山市2024-2025學(xué)年小升初??家族e數(shù)學(xué)檢測卷含解析
- 四川省成都市2025屆三下數(shù)學(xué)期末考試試題含解析
- 跑者心理健康與科學(xué)訓(xùn)練計劃的結(jié)合
- 山西職業(yè)技術(shù)學(xué)院《分子與細胞生物學(xué)檢測技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 安全生產(chǎn)責(zé)任體系重點崗位履職清單
- 四川省成都市2024年中考道德與法治真題試卷(含答案)
- 《東北財經(jīng)大學(xué)審計》課件
- 牧童謠課件教學(xué)
- 大學(xué)物理實驗(緒論)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 圖書出版項目合作協(xié)議
- 《現(xiàn)代家政導(dǎo)論》電子教案 2.2模塊二項目二家庭制度認(rèn)知
- 商務(wù)禮儀課件教學(xué)課件
- 部編版七年級歷史下冊全冊導(dǎo)學(xué)案
- 酒店住宿投標(biāo)方案(技術(shù)標(biāo))
- 2024風(fēng)力發(fā)電葉片維保作業(yè)技術(shù)規(guī)范
評論
0/150
提交評論