版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
...wd......wd......wd...0000000000第1章數(shù)據(jù)庫系統(tǒng)概述習(xí)題參考答案稅務(wù)局使用數(shù)據(jù)庫存儲納稅人〔個(gè)人或公司〕信息、納稅人繳納稅款信息等。典型的數(shù)據(jù)處理包括納稅、退稅處理、統(tǒng)計(jì)各類納稅人納稅情況等。銀行使用數(shù)據(jù)庫存儲客戶基本信息、客戶存貸款信息等。典型的數(shù)據(jù)處理包括處理客戶存取款等。超市使用數(shù)據(jù)庫存儲商品的基本信息、會員客戶基本信息、客戶每次購物的詳細(xì)清單。典型的數(shù)據(jù)處理包括收銀臺記錄客戶每次購物的清單并計(jì)算應(yīng)交貨款。1.2DBMS是數(shù)據(jù)庫管理系統(tǒng)的簡稱,是一種重要的程序設(shè)計(jì)系統(tǒng)。它由一個(gè)相互關(guān)聯(lián)的數(shù)據(jù)集合和一組訪問這些數(shù)據(jù)的程序組成。數(shù)據(jù)庫是持久儲存在計(jì)算機(jī)中、有組織的、可共享的大量數(shù)據(jù)的集合。數(shù)據(jù)庫中的數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和存儲,可以被各種用戶共享,具有較小的冗余度、較高的數(shù)據(jù)獨(dú)立性,并且易于擴(kuò)展。數(shù)據(jù)庫系統(tǒng)由數(shù)據(jù)庫、DBMS〔及其開發(fā)工具〕、應(yīng)用系統(tǒng)和數(shù)據(jù)庫管理員組成。數(shù)據(jù)模型是一種形式機(jī)制,用于數(shù)據(jù)建模,描述數(shù)據(jù)、數(shù)據(jù)之間的聯(lián)系、數(shù)據(jù)的語義、數(shù)據(jù)上的操作和數(shù)據(jù)的完整性約束條件。數(shù)據(jù)庫模式是數(shù)據(jù)庫中使用數(shù)據(jù)模型對數(shù)據(jù)建模所產(chǎn)生設(shè)計(jì)結(jié)果。對于關(guān)系數(shù)據(jù)庫而言,數(shù)據(jù)庫模式由一組關(guān)系模式構(gòu)成。數(shù)據(jù)字典是DBMS維護(hù)的一系列內(nèi)部表,用來存放元數(shù)據(jù)。所謂元數(shù)據(jù)是關(guān)于數(shù)據(jù)的數(shù)據(jù)。1.3DBMS提供如下功能:數(shù)據(jù)定義:提供數(shù)據(jù)定義語言DDL,用于定義數(shù)據(jù)庫中的數(shù)據(jù)對象和它們的構(gòu)造。數(shù)據(jù)操縱:提供數(shù)據(jù)操縱語言DML,用于操縱數(shù)據(jù),實(shí)現(xiàn)對數(shù)據(jù)庫的基本操作〔查詢、插入、刪除和修改〕。事務(wù)管理和運(yùn)行管理:統(tǒng)一管理數(shù)據(jù)、控制對數(shù)據(jù)的并發(fā)訪問,保證數(shù)據(jù)的安全性、完整性,確保故障時(shí)數(shù)據(jù)庫中數(shù)據(jù)不被破壞,并且能夠恢復(fù)到一致狀態(tài)。數(shù)據(jù)存儲和查詢處理:確定數(shù)據(jù)的物理組織和存取方式,提供數(shù)據(jù)的持久存儲和有效訪問;確定查詢處理方法,優(yōu)化查詢處理過程。數(shù)據(jù)庫的建設(shè)和維護(hù):提供實(shí)用程序,完成數(shù)據(jù)庫數(shù)據(jù)批量裝載、數(shù)據(jù)庫轉(zhuǎn)儲、介質(zhì)故障恢復(fù)、數(shù)據(jù)庫的重組和性能監(jiān)測等。其他功能:包括DBMS與其它軟件通信、異構(gòu)數(shù)據(jù)庫之間數(shù)據(jù)轉(zhuǎn)換和互操作等。1.4使用數(shù)據(jù)庫進(jìn)展信息管理具有如下優(yōu)點(diǎn):數(shù)據(jù)整體構(gòu)造化:在數(shù)據(jù)庫中,數(shù)據(jù)的組織面向整個(gè)機(jī)構(gòu)、面向所有可能的應(yīng)用,而不是某個(gè)具體部門或某個(gè)特定的應(yīng)用。數(shù)據(jù)構(gòu)造不僅描述現(xiàn)實(shí)世界的對象,而且描述對象之間的聯(lián)系。數(shù)據(jù)可以充分共享:數(shù)據(jù)庫中的數(shù)據(jù)的面向整個(gè)機(jī)構(gòu)組織使得它能夠更好地被多個(gè)用戶、多個(gè)應(yīng)用程序共享。數(shù)據(jù)獨(dú)立性:數(shù)據(jù)獨(dú)立性是指數(shù)據(jù)與應(yīng)用程序相互獨(dú)立,包括數(shù)據(jù)的物理獨(dú)立性和數(shù)據(jù)的邏輯獨(dú)立性。數(shù)據(jù)的構(gòu)造用數(shù)據(jù)模型定義,無需程序定義和解釋。數(shù)據(jù)由DBMS同一管理和控制,使得系統(tǒng)能夠?yàn)閿?shù)據(jù)管理提供更多的支持。這些支持包括:提供事務(wù)支持、增強(qiáng)安全性、保證完整性、平衡相互沖突的請求和面對故障的彈性。標(biāo)準(zhǔn)化:使用數(shù)據(jù)庫進(jìn)展信息管理有利于制定部門標(biāo)準(zhǔn)、行業(yè)標(biāo)準(zhǔn)、工業(yè)標(biāo)準(zhǔn)、國家標(biāo)準(zhǔn)和國際標(biāo)準(zhǔn),促進(jìn)數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫開發(fā)工具的研制、開發(fā),推動數(shù)據(jù)管理應(yīng)用的安康開展。1.5數(shù)據(jù)模型的三個(gè)基本要素是:數(shù)據(jù)構(gòu)造:描述數(shù)據(jù)庫的對象和對象之間的聯(lián)系,是對數(shù)據(jù)的靜態(tài)描述。數(shù)據(jù)操作:數(shù)據(jù)庫中各種對象允許的操作和操作規(guī)那么,使對系統(tǒng)的動態(tài)描述。完整性約束:一組完整性規(guī)那么,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)和狀態(tài)的變化,保證數(shù)據(jù)的正確、有效和相容。對于關(guān)系數(shù)據(jù)庫而言,關(guān)系模型只有一種數(shù)據(jù)構(gòu)造——關(guān)系?,F(xiàn)實(shí)世界中的對象和對象之間的聯(lián)系都用關(guān)系表示。關(guān)系是元組的集合。從用戶角度來看,關(guān)系是一張二維表。在關(guān)系模型中,定義數(shù)據(jù)操作的方法有兩種:關(guān)系代數(shù)和關(guān)系演算。關(guān)系代數(shù)顯式地定義了一些關(guān)系運(yùn)算,而關(guān)系演算的根基是一階謂詞邏輯,它用邏輯公式表示查詢結(jié)果必須滿足的條件。關(guān)系模型的完整性約束包括實(shí)體完整性、參照完整性和用戶定義的完整性。其中實(shí)體完整性和參照完整性是通用完整性約束,由關(guān)系模型明確定義。1.6數(shù)據(jù)庫系統(tǒng)的三級模式是指外模式、模式和內(nèi)模式。外模式是特定數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是與某一具體應(yīng)用相關(guān)的數(shù)據(jù)局部邏輯構(gòu)造的描述。模式是數(shù)據(jù)庫中全體數(shù)據(jù)的總體邏輯構(gòu)造描述,是所有用戶的公共數(shù)據(jù)視圖。內(nèi)模式是數(shù)據(jù)物理構(gòu)造和存儲方式的描述,定義數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式。數(shù)據(jù)庫系統(tǒng)的三級模式提供了三個(gè)層次的數(shù)據(jù)抽象。這樣做的一個(gè)優(yōu)點(diǎn)是可以隱蔽數(shù)據(jù)存儲細(xì)節(jié),從而隱蔽系統(tǒng)內(nèi)部的復(fù)雜性,簡化系統(tǒng)的用戶界面。另一個(gè)優(yōu)點(diǎn)是可以帶來數(shù)據(jù)的獨(dú)立性。1.7所謂數(shù)據(jù)獨(dú)立性是指數(shù)據(jù)獨(dú)立于應(yīng)用程序,分?jǐn)?shù)據(jù)的邏輯獨(dú)立性和數(shù)據(jù)的物理獨(dú)立性兩種。數(shù)據(jù)的邏輯獨(dú)立性是指應(yīng)用程序與數(shù)據(jù)庫的邏輯構(gòu)造之間的相互獨(dú)立性。當(dāng)數(shù)據(jù)的邏輯構(gòu)造改變時(shí),通過修改外模式-模式映像,保持外模式不變,從而使得建設(shè)在外模式上的應(yīng)用程序也可以不變。數(shù)據(jù)的物理獨(dú)立性是指應(yīng)用程序與存儲在磁盤上的數(shù)據(jù)庫中數(shù)據(jù)之間的相互獨(dú)立性。當(dāng)數(shù)據(jù)的物理存儲構(gòu)造改變時(shí),通過修改模式-內(nèi)模式映像,保持模式不變。由于外模式是定義在模式上的,模式不變,那么外模式不需要改變,從而使得建設(shè)在外模式上的應(yīng)用程序也可以不變。數(shù)據(jù)的邏輯獨(dú)立性是指數(shù)據(jù)的邏輯構(gòu)造改變不影響應(yīng)用程序,而數(shù)據(jù)的物理獨(dú)立性是指數(shù)據(jù)的物理組織〔存儲構(gòu)造〕改變不影響應(yīng)用程序。1.8DBA的主要職責(zé)包括:決定數(shù)據(jù)庫中的信息內(nèi)容和數(shù)據(jù)的邏輯構(gòu)造。決定數(shù)據(jù)庫的存儲構(gòu)造和存取策略。定義數(shù)據(jù)的安全性要求和完整性約束條件。數(shù)據(jù)庫系統(tǒng)的日常維護(hù):周期性轉(zhuǎn)儲數(shù)據(jù)庫、故障恢復(fù)、監(jiān)視系統(tǒng)運(yùn)行、優(yōu)化系統(tǒng)性能、設(shè)置必要的審計(jì)。重組和重構(gòu)數(shù)據(jù)庫。第2章實(shí)體-聯(lián)系模型局部習(xí)題參考答案2.1解釋術(shù)語:實(shí)體是客觀存在并且可以相互區(qū)分的任何事物。實(shí)體集是具有一樣屬性的實(shí)體的集合。聯(lián)系是多個(gè)實(shí)體之間的相互關(guān)聯(lián)。聯(lián)系集是一樣類型聯(lián)系的集合。形式地說,設(shè)E1,E2,…,En是n〔n2〕個(gè)實(shí)體集,它們不必互不一樣。聯(lián)系集R是{(e1,e2,…,en)|e1E1,e2E2,…,enEn}的一個(gè)子集,其中(e1,e2,…,en)R是一個(gè)聯(lián)系,并稱ei〔1in〕是該聯(lián)系的參與者,n是聯(lián)系的度〔元〕。簡單屬性是不能劃分成更小的局部的屬性。復(fù)合屬性是可以劃分成更小局部的屬性〔即可以分成一些其他屬性〕。單值屬性是一個(gè)特定的實(shí)體在該屬性上只能取單個(gè)值的屬性。多值屬性是特定的實(shí)體在該屬性上可以取多個(gè)值的屬性。基本屬性是其值不能通過其他屬性的值推導(dǎo)出來的屬性。派生屬性又稱計(jì)算屬性,是其值可以從其他相關(guān)屬性或?qū)嶓w計(jì)算得到的屬性。碼是主碼或候選碼的簡稱。主碼是指數(shù)據(jù)庫的設(shè)計(jì)者選中的,用來區(qū)分同一實(shí)體集中不同實(shí)體的候選碼。候選碼:其真子集都不是超碼的極小超碼稱為候選碼。超碼:其值可以惟一確定實(shí)體集中每個(gè)實(shí)體的屬性集稱為該實(shí)體集的超碼。一對一聯(lián)系:如果E1中的每個(gè)實(shí)體最多與E2中的一個(gè)實(shí)體相關(guān)聯(lián),并且E2中的每個(gè)實(shí)體也最多與E1中的一個(gè)實(shí)體相關(guān)聯(lián),那么稱E1和E2之間聯(lián)系為一對一聯(lián)系。一對多聯(lián)系:如果E1中的每個(gè)實(shí)體都可以與E2中任意多個(gè)實(shí)體相關(guān)聯(lián),而E2中的每個(gè)實(shí)體最多與E1中一個(gè)實(shí)體相關(guān)聯(lián),那么稱這種聯(lián)系為E1到E2的一對多聯(lián)系。多對一聯(lián)系:如果E1中的每個(gè)實(shí)體最多與E2中的一個(gè)實(shí)體相關(guān)聯(lián),而E2中的每個(gè)實(shí)體都可以與E1中任意多個(gè)實(shí)體相關(guān)聯(lián),那么稱這種聯(lián)系為E1到E2的多對一聯(lián)系。多對多聯(lián)系:如果E1中的每個(gè)實(shí)體都可以與E2中任意多個(gè)實(shí)體相關(guān)聯(lián),并且E2中的每個(gè)實(shí)體也可以與E1中任意多個(gè)實(shí)體相關(guān)聯(lián),那么稱E1和E2之間聯(lián)系為多對多聯(lián)系。2.2商品應(yīng)當(dāng)包含如下屬性:商品條碼:標(biāo)識商品。商品名稱:用戶識別。商品類別:用于商品分類。生產(chǎn)商:生產(chǎn)時(shí)間:進(jìn)價(jià):銷售價(jià):存貨數(shù)量:2.3所有部門形成一個(gè)實(shí)體集,所有經(jīng)理形成一個(gè)實(shí)體集。假定每個(gè)部門最多只有一個(gè)經(jīng)理,而每個(gè)人只能在一個(gè)部門出任經(jīng)理,那么部門與經(jīng)理之間的聯(lián)系“管理〞是一對一聯(lián)系。如果允許部門經(jīng)理空缺,但一個(gè)人是經(jīng)理的話,必須在一個(gè)部門任職,那么經(jīng)理對聯(lián)系“管理〞的參與是全部參與,而部門是局部參與。所有學(xué)生形成一個(gè)實(shí)體集,所有院系形成一個(gè)實(shí)體集。每個(gè)院系由多個(gè)學(xué)生,而每個(gè)學(xué)生只能在一個(gè)院系。因此,學(xué)生與院系之間的聯(lián)系是多對一聯(lián)系。通常,一個(gè)學(xué)生總在一個(gè)院系中,而每個(gè)院系都有學(xué)生。因此,學(xué)生和院系對該聯(lián)系都是全部參與。商品是一個(gè)實(shí)體集,訂單是一個(gè)實(shí)體集。每個(gè)訂單可以包括多種商品,而一種商品可以被多個(gè)訂單訂購。這樣,商品與訂單之間的聯(lián)系“訂購〞是多對多聯(lián)系。通常,每個(gè)訂單至少包含一種商品,而每種商品都會被某個(gè)訂單訂購〔否那么就不再銷售這種商品〕。這樣,商品和訂單對該聯(lián)系的參與都是全部參與。2.4按以下要求各舉一個(gè)實(shí)際例子:〔1〕三個(gè)實(shí)體集兩兩之間都存在多對多聯(lián)系〔在你的例子中,三個(gè)實(shí)體集之間還存在有意義的聯(lián)系嗎〕,〔2〕三個(gè)實(shí)體集之間存在多對多聯(lián)系〔在你的例子中,其中兩個(gè)實(shí)體集之間還存在有意義的聯(lián)系嗎〕。(1)實(shí)體集教師、課程和學(xué)生兩兩之間的多對多聯(lián)系教師和課程之間的聯(lián)系“講授〞是多對多的:一個(gè)教師教多門課程,一門課程由多位教師講授課程和學(xué)生之間的聯(lián)系“選修〞是多對多的:一門課程可以被多個(gè)學(xué)生選修,一個(gè)學(xué)生可以選多門課程。學(xué)生和教師之間的聯(lián)系“師生〞也是多對多的:一個(gè)學(xué)生可以有多位教師,一個(gè)教師可以有多個(gè)學(xué)生。教師、課程和學(xué)生三者之間也存在有意義的聯(lián)系,說明特定的學(xué)生選修了特定教師講授的特定課程。(2)供應(yīng)商、零件和工程之間的多對多聯(lián)系“供應(yīng)〞一個(gè)供應(yīng)商向多個(gè)工程提供多種零件;一種零件由多個(gè)供應(yīng)商提供,并用于多個(gè)工程;一個(gè)工程使用多個(gè)供應(yīng)商提供的多種零件。這三個(gè)實(shí)體集中兩個(gè)實(shí)體集之間的有意義聯(lián)系實(shí)際上“供應(yīng)〞的投影。2.5弱實(shí)體集的主碼可以通過它與強(qiáng)實(shí)體集的聯(lián)系推斷。如果將強(qiáng)實(shí)體集的主碼屬性添加到弱實(shí)體集,那么這些屬性將通過實(shí)體集和聯(lián)系兩種方式提供,從而導(dǎo)致冗余。此外,實(shí)體集應(yīng)當(dāng)只包含描述該實(shí)體的屬性,強(qiáng)實(shí)體集的主碼屬性并不是描述弱實(shí)體集的,因此添加它們使得模型不清晰。2.6如果一局部實(shí)體集通過E-R圖的一條路徑相連接,那么這些實(shí)體集是相關(guān)的,或許是間接相關(guān)的。一個(gè)非連通的圖意味一局部實(shí)體集與另一局部實(shí)體集是不相關(guān)的。如果我們將E-R圖劃分成連通分支,那么事實(shí)上我們就有了一些別離的數(shù)據(jù)庫,每個(gè)對應(yīng)一個(gè)連通分支。如上所述,一對實(shí)體集之間的路徑指明這兩個(gè)實(shí)體集之間的一種聯(lián)系〔可能是間接的〕。如果圖中存在環(huán),那么環(huán)中每對實(shí)體集至少可以通過兩種不同的方式相關(guān)聯(lián)。如果E-R圖是無環(huán)的,那么每對實(shí)體集之間至多存在一條路徑,因此每對實(shí)體集之間至多存在一種聯(lián)系。2.7假定每輛汽車只屬于一位客戶。涉及的實(shí)體集有:客戶、汽車和事故。需要建設(shè)如下聯(lián)系:擁有:客戶與汽車之間的多對一聯(lián)系發(fā)生:客戶、汽車和事故之間的多對多聯(lián)系。損壞估計(jì)最好作為聯(lián)系“發(fā)生〞的屬性,因?yàn)閾p壞估計(jì)不僅與事故有關(guān),而且與特定客戶的特定汽車有關(guān)。E-R圖如圖2.1所示。客戶客戶汽車事故客戶ID姓名車輛編號車型出廠年份地址事故編號損壞估計(jì)擁有發(fā)生事故地點(diǎn)發(fā)生時(shí)間圖2.1習(xí)題2.7的E-R圖2.8假定一個(gè)客戶可以有多個(gè)賬戶,但一個(gè)賬戶只屬于一個(gè)客戶。涉及的實(shí)體集有:賬戶、支行、客戶和貸款。題中已經(jīng)清楚描述。建設(shè)如下聯(lián)系:賬戶-支行:賬戶與支行之間的多對一聯(lián)系,其中賬戶全部參與。貸款-支行:貸款與支行之間的多對一聯(lián)系,其中貸款全部參與。借貸:客戶與貸款之間的多對一聯(lián)系,其中貸款全部參與。賬戶與客戶之間有兩種聯(lián)系:存取款:客戶與賬戶之間的多對多聯(lián)系,包括屬性存取金額和存取日期。屬于:客戶與賬戶之間的一對多聯(lián)系。E-R圖如圖2.2所示。賬戶賬戶支行賬號姓名余額地址貸款號存取金額賬戶-支行存取款聯(lián)系客戶ID支行名稱城市資產(chǎn)街道客戶貸款借貸貸款-支行存取日期貸款金額貸款日期圖2.2習(xí)題2.8的E-R圖屬于2.9方法一:使用弱實(shí)體建設(shè)弱實(shí)體集“貸款歸還〞,包括屬性:歸還編號〔順序號〕、歸還日期、歸還金額;建設(shè)建設(shè)“貸款歸還〞與其標(biāo)識實(shí)體集“貸款〞之間的標(biāo)識性聯(lián)系“還貸〞方法二:使用多值屬性將“貸款歸還〞作為貸款的多值復(fù)合屬性,它包括屬性:歸還編號〔順序號〕、歸還日期、歸還金額方法三:使用強(qiáng)實(shí)體集建設(shè)強(qiáng)實(shí)體集“貸款歸還〞,包括屬性:貸款編號、歸還編號〔順序號〕、歸還日期、歸還金額;建設(shè)建設(shè)“貸款歸還〞與“貸款〞之間的聯(lián)系“還貸〞方法一最好,方法三最差,理由與職工-家屬的例子類似。2.10假定:每位職工在同一時(shí)間段只從事一項(xiàng)工作。每位職工不能同時(shí)在多個(gè)部門工作,也不能是多個(gè)部門的經(jīng)理。每位職工不能同時(shí)參加多個(gè)工程。每位職工的辦公室唯一。一個(gè)工程只由一個(gè)部門承擔(dān)。一個(gè)辦公室職能屬于一個(gè)部門。該問題涉及的實(shí)體集有:部門、職工、工程、辦公室和職工的工作經(jīng)歷,其中工作經(jīng)歷存在依賴于職工,是弱實(shí)體集,其余是強(qiáng)實(shí)體集。只有一個(gè)屬性“號碼〞,不把它視為實(shí)體集。一個(gè)辦公室有多部,但假定每位職工只有一部。需要建設(shè)如下聯(lián)系:管理:職工與部門之間一對一聯(lián)系部門職工部門職工工資姓名地址號碼管理職工號部門號部門名稱預(yù)算開場日期工作辦公室職-辦工程部-辦辦公室名稱位置工程預(yù)算工程名稱承擔(dān)參加號碼任務(wù)屬于工作簡歷截止日期圖2.3習(xí)題2.10的E-R圖承擔(dān):部門與工程之間一對多聯(lián)系部-辦:部門與辦公室之間一對多聯(lián)系參加:職工與工程之間多對一聯(lián)系職-辦:職工與辦公室之間多對一聯(lián)系屬于:弱實(shí)體集工作簡歷與標(biāo)識實(shí)體集職工之間的多對一聯(lián)系E-R圖如圖2.3所示。第3章關(guān)系模型習(xí)題參考答案3.1解釋術(shù)語:域是具有一樣類型的值的集合。笛卡爾積:給定n個(gè)域D1,D2,…,Dn〔它們不必互不一樣〕上的笛卡爾積記作D1D2…Dn,定義為{(d1,d2,…,dn)|d1D1d2D2…dnDn}。關(guān)系:域D1,D2,…,Dn上的關(guān)系r是笛卡爾積D1D2…Dn的任意子集。元組:笛卡爾積或關(guān)系的每個(gè)元素(d1,d2,…,dn)稱為一個(gè)n-元組〔簡稱元組〕屬性:關(guān)系用一個(gè)二維表表示。列通常是命名的,稱為屬性。關(guān)系的碼:關(guān)系R的屬性集K是它的碼,如果K是R的超碼,并且K的任何真子集都不是R的超碼〔即K是極小超碼〕?;騒是關(guān)系R的超碼,如果t1和t2是R的任意實(shí)例中的元組,并且t1[X]=t2[X],那么t1=t2。候選碼:所有的碼都稱候選碼。主碼:由多個(gè)碼中選出的作為惟一識別關(guān)系元組的碼外碼:如果FK是關(guān)系R的屬性集,并且不是R的碼,但是FK與關(guān)系R’的主碼K’對應(yīng),那么稱FK是關(guān)系R的外碼。關(guān)系模式:關(guān)系模式用關(guān)系模式名、關(guān)系模式的諸屬性和屬性對應(yīng)的域,以及屬性間的數(shù)據(jù)依賴集定義。通常簡單地用關(guān)系模式名和屬性列表表示R(A1,A2,…,An)。關(guān)系數(shù)據(jù)庫模式:由假設(shè)干域的定義和一組定義在這些域上的關(guān)系模式組成。3.2實(shí)體完整性:關(guān)系R的所有元組在主碼上的值必須惟一,并且在主碼的任何屬性上都不能取空值。參照完整性:如果屬性集FK是關(guān)系R的外碼,它參照關(guān)系S的主碼Ks,那么R的任何元組在FK上的值或者等于S的某個(gè)元組在主碼Ks上的值,或者為空值。3.3除了語義約束之外,關(guān)系數(shù)據(jù)庫對關(guān)系的主要限制是:在關(guān)系數(shù)據(jù)庫中,我們只考慮有限關(guān)系〔笛卡爾積的有限子集〕,因?yàn)闊o限關(guān)系既不能顯式存儲,也不能有效地顯示。關(guān)系的每個(gè)屬性都必須是原子的,即每個(gè)屬性只能取原子值。在關(guān)系數(shù)據(jù)庫中,原子值是數(shù)據(jù)訪問的最小單位。屬性的原子性要求是標(biāo)準(zhǔn)化關(guān)系的基本要求。3.4事實(shí)上,關(guān)系R的外碼參照被參照關(guān)系S〔目標(biāo)關(guān)系〕反映R的某些元組每個(gè)都與S的某個(gè)特定元組之間存在聯(lián)系。有些實(shí)際問題允許R的某些元組與S的任何元組都沒有聯(lián)系,在這種情況下,允許R的這些元組在外碼上取空值。例如,在關(guān)系Employees(Eno,Ename,Salary,Dno)中,Dno是外碼。有些公司允許某些職工〔如公司總裁〕不屬于任何特定的部門,這些職工的元組在Dno上可以取空值。假定所有的關(guān)系模式都是E-R圖轉(zhuǎn)換得到的。如果關(guān)系R是聯(lián)系集轉(zhuǎn)換的,那么R代表聯(lián)系集,其外碼的值代表參與聯(lián)系的特定實(shí)體集的一個(gè)特定實(shí)體。此時(shí),R外碼都不能取空值。設(shè)關(guān)系R的外碼FR參照被參照關(guān)系S。如果關(guān)系R是實(shí)體集E1轉(zhuǎn)換的,那么E1必然通過某個(gè)聯(lián)系R’與S對應(yīng)的實(shí)體集相關(guān)聯(lián)。當(dāng)這種聯(lián)系不要求是完全的時(shí),R的某些元組可以不參照S的任何元組,此時(shí)外部碼FR的屬性值可以為空;反之不能為空。3.5自然連接和等值連接的一樣之處是二者都是根據(jù)屬性值相等進(jìn)展連接。二者的不同之處是:自然連接在一樣屬性上進(jìn)展相等比較,并投影去掉重復(fù)屬性;等值連接并不要求一定在一樣屬性上進(jìn)展相等比較,也不刪除重復(fù)屬性。3.6由強(qiáng)實(shí)體集得到的關(guān)系模式:Employees(Eno,Ename,Salary)Departments(Dno,Dptname)Suppliers(Sno,Sname,Saddress)Items(Ino,Iname,Stocks)Orders(Ono,Data)Customers(Cno,Cname,Caddress,Balance)其中主碼用下橫線標(biāo)示〔下同〕。注意,Departments的Dptname也是碼,但我們選擇Dno為主碼。由弱實(shí)體集Dependents得到如下關(guān)系模式:Dependents(Eno,Dname,ReltoEmp,Birthday)將聯(lián)系轉(zhuǎn)換成關(guān)系模式時(shí),不再考慮弱實(shí)體集的存在依賴聯(lián)系。其余6個(gè)聯(lián)系產(chǎn)生如下關(guān)系模式:Manages(Dno,Eno)Works_in(Eno,Dno)Carries(Dno,Ino)Supplies(Sno,Ino,Price)Includes(Ono,Ino,Quantity)Placed_by(Cno,Ono)其中Works_in和Manages有一樣的屬性,但它們的實(shí)際意義不同。下一步,我們合并具有一樣碼的關(guān)系模式。首先,考慮Manages。它與Employees和Departments都包含一樣的碼。Maneges與Employees合并更容易答復(fù)“某職工的經(jīng)理是誰〞這類問題,而與Departments合并更容易答復(fù)“某部門的經(jīng)理是誰〞這類問題??紤]到后一類問題更經(jīng)常出現(xiàn),我們決定將Manages合并到Departments,并將Manages中屬性Eno改名為Mrgno〔表示經(jīng)理的職工號〕,得到如下關(guān)系模式:Departments(Dno,Dptname,Mrgno)還有三對關(guān)系具有一樣的碼,它們是Employees和Works_in,Items和Carries,Orders和Placed_by。它們都可以直接合并。最后,我們得到圖3.11所示E-R模型的一組關(guān)系模式:Employees(Eno,Ename,Salary,Dno)Department(Dno,Dptname,Mrgno)Suppliers(Sno,Sname,Saddress)Items(Ino,Iname,Stocks,Dno)Orders(Ono,Data,Cno)Customers(Cno,Cname,Caddress,Balance)Dependents(Eno,Dname,ReltoEmp,Birthday)Supplies(Sno,Ino,Price)Includes(Ono,Ino,Quantity) 習(xí)題3.6的關(guān)系模式的模式圖如圖3.1所示。DnoDnoDptnameMrgnoDepartmentsEmployeesEnoEnameSalaryDnoCustomersCnoCnameCaddressBalanceEnoDnameReltoEmpBirthdayDependentsOnoInoQuantityIncludesInoInameStocksDnoItemsOnoDateCnoOrders圖3.1某公司數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)庫模式圖SnoInoQuantitySuppliesSnoSnameSaddressSuppliers3.8得到的一組關(guān)系模式如下:客戶〔客戶ID,姓名,地址,〕汽車〔車輛編號,車型,出廠年份,車主ID〕事故〔事故編號,發(fā)生時(shí)間,事故地點(diǎn)〕發(fā)生〔駕照號,車輛編號,事故編號,損壞估計(jì)〕其中,客戶與汽車之間的聯(lián)系已經(jīng)合并到關(guān)系模式“汽車〞中,并將“客戶ID〞改為“車主ID〞。3.9由實(shí)體集得到如下關(guān)系模式:賬戶〔賬號,余額〕支行〔支行名稱,城市,街道,資產(chǎn)〕客戶〔客戶ID,姓名,地址,聯(lián)系〕貸款〔貸款號,貸款日期,貸款金額〕由聯(lián)系得到如下關(guān)系模式:賬戶-支行〔賬號,支行名稱〕貸款-支行〔貸款號,支行名稱〕借貸〔客戶ID,貸款號〕存取款〔客戶ID,賬號,存取金額,存取日期〕屬于〔賬號,客戶ID〕合并具有一樣碼的關(guān)系模式:賬戶、賬戶-支行、屬于具有一樣碼,合并成一個(gè)關(guān)系模式賬戶,并用開戶行替換支行名稱,開戶人替換客戶標(biāo)識。合并后的關(guān)系模式如下:賬戶〔賬號,余額,開戶行,開戶人〕貸款和貸款-支行具有一樣碼,合并成一個(gè)關(guān)系模式貸款,并用貸款支行替換支行名稱。合并后的關(guān)系模式如下:貸款〔貸款號,貸款日期,貸款金額,貸款支行〕最后得到的一組關(guān)系模式如下:賬戶〔賬號,余額,開戶行,開戶人〕支行〔支行名稱,城市,街道,資產(chǎn)〕客戶〔客戶標(biāo)識,姓名,地址,聯(lián)系〕貸款〔貸款號,貸款日期,貸款金額,貸款支行〕借貸〔客戶ID,貸款號〕存取款〔客戶ID,賬號,存取金額,存取日期〕3.10號碼是多值屬性,需要創(chuàng)立一個(gè)關(guān)系模式。我們稱該關(guān)系模式為,它的碼為號碼。該關(guān)系模式定義如下:〔號碼,辦公室名稱〕由強(qiáng)實(shí)體集得到如下關(guān)系模式:部門〔部門號,部門名稱,預(yù)算〕工程〔工程名稱,工程預(yù)算〕辦公室〔辦公室名稱,位置〕職工〔職工號,姓名,地址,號碼〕由弱實(shí)體集“工作簡歷〞得到如下關(guān)系模式:工作簡歷〔職工號,開場時(shí)間,任務(wù),工資,截止時(shí)間〕由聯(lián)系集得到如下關(guān)系模式:承擔(dān)〔工程名稱,部門號〕部-辦〔辦公室名稱,部門號〕管理〔職工號,部門號〕參加〔職工號,工程名稱〕工作〔職工號,部門號〕職-辦〔職工號,辦公室名稱〕合并具有一樣碼的關(guān)系模式:工程與承擔(dān)具有一樣碼,合并為工程,并將部門號改為承擔(dān)部門,得到:工程〔工程名稱,工程預(yù)算,承擔(dān)部門〕辦公室與部-辦具有一樣碼,合并為辦公室,并將部門號改為所屬部門,得到:辦公室〔辦公室名稱,位置,所屬部門〕管理有兩個(gè)碼,可以與職工合并〔有利于答復(fù)“某職工的經(jīng)理是誰〞這類問題〕,也可以與部門合并〔有利于答復(fù)“某部門的經(jīng)理是誰〞這類問題〕??紤]“某部門的經(jīng)理是誰〞這類問題更常出現(xiàn),決定于部門合并,并將職工號改為經(jīng)理,得到:部門〔部門號,部門名稱,預(yù)算,經(jīng)理〕職工、參加、工作和職-辦都具有一樣碼,合并為職工,得到:職工〔職工號,姓名,地址,號碼,工程名稱,部門號,辦公室名稱〕最后,我們得到如下關(guān)系模式:部門〔部門號,部門名稱,預(yù)算,經(jīng)理〕工程〔工程名稱,工程預(yù)算,承擔(dān)部門〕辦公室〔辦公室名稱,位置,所屬部門〕職工〔職工號,姓名,地址,號碼,工程名稱,部門號,辦公室名稱〕工作簡歷〔職工號,開場時(shí)間,任務(wù),工資,截止時(shí)間〕〔號碼,辦公室名稱〕3.11求上海的所有供應(yīng)商的信息。Scity=’上海’(Suppliers)求位于鄭州的所有工程的信息。Jcity=’上?!?Projects)求數(shù)量在100~150之間的供應(yīng)。Quantity100Quantity150(SPJ)求為工程J1提供零件的供應(yīng)商號。Sno(Jno=’J1’求供應(yīng)工程J1紅色零件的供應(yīng)商號。Sno(Jno=‘J1’Color=‘紅色’(SPJParts))求至少提供一種紅色零件的供應(yīng)商名稱。Sname(Color=‘紅色’(SuppliersSPJParts))求不提供零件P2的供應(yīng)商名稱Sname(Suppliers)Sname(Pno=‘P2’(SuppliersSPJ))求沒有使用天津供應(yīng)商生產(chǎn)的紅色零件的工程號。使用了天津供應(yīng)商生產(chǎn)的紅色零件的工程號Jno(Scity=‘天津’(Suppliers)SPJColor=‘紅色’(Parts))該題的解Jno(Projects)Jno(Scity=‘天津’(Suppliers)SPJColor=‘紅色’(Parts))求使用了本地供應(yīng)商提供的零件的工程號和工程名稱。Jno,Jname(Scity=Jcity(ProjectsSPJSuppliers))求未使用本地供應(yīng)商提供的零件的工程號和工程名稱。Jno,Jname(Projects)Jno,Jname(Scity=Jcity(ProjectsSPJSuppliers))求至少用了供應(yīng)商S1所供應(yīng)的全部零件的工程號。Jno,Pno(SPJ)Pno(Sno=‘S1’(SPJ))求提供所有零件的供應(yīng)商名稱。SnameSno,Pno(SPJ)Pno(Parts))Suppliers)3.12對于供應(yīng)商-工程-零件數(shù)據(jù)庫,用元組/域關(guān)系演算表示習(xí)題3.9中的查詢求上海的所有供應(yīng)商的信息。{t|Suppliers(t)t[Scity]=’上海’)}求位于鄭州的所有工程的信息。{t|Projects(t)t[Jcity]=’鄭州’)}求數(shù)量在100~150之間的供應(yīng)。{t|SPJ(t)t[Quantity]100t[Quantity]150)}求為工程J1提供零件的供應(yīng)商號。{t(1)|(u)(SPJ(u)u[Jno]=’J1’t[Sno]=u求供應(yīng)工程J1紅色零件的供應(yīng)商號。{t(1)|(u)(v)(SPJ(u)Parts(v)u[Pno]=v[Pno]u[Jno]=’J1’v[Color]=’紅色’t[Sno]=u求至少提供一種紅色零件的供應(yīng)商名稱。{t(1)|(u)(v)(w)(Suppliers(u)SPJ(v)Parts(w)u[Sno]=v[Sno]v[Pno]=w[Pno]v[Color]=’紅色’t[Sname]=u[Sname])}求不提供零件P2的供應(yīng)商名稱{t(1)|(u)(Suppliers(u)t[Sname]=u[Sname](v)(SPJ(v)u[Sno]=v[Sno]v[Pno]=’P2’求沒有使用天津供應(yīng)商生產(chǎn)的紅色零件的工程號。{t(1)|(u)(Projects(u)t[Jno]=u[Jno]((v1)(v2)(v3)(Suppliers(v1)SPJ(v2)Parts(v3)u[Jno]=v2[Jno]v1[Sno]=v2[SnoO]v2[Pno]=v3[Pno]v1[Scity]=‘天津’v3[Color]=‘紅色’))}求使用了本地供應(yīng)商提供的零件的工程號和工程名稱。{t(2)|(u)(v)(w)(Projects(u)SPJ(v)Suppliers(w)u[Jno]=v[Jno]v[Sno]=w[Sno]uJcity]=w[Scity]t[Jno]=u[Jno]t[Jname]=u[Jname])}求未使用本地供應(yīng)商提供的零件的工程號和工程名稱。{t(2)|(s)(Projects(s)((u)(v)(w)(Projects(u)SPJ(v)Suppliers(w)u[Jno]=v[Jno]v[Sno]=w[Sno]uJcity]=w[Scity]t[Jno]=u[Jno]t[Jname]=u[Jname])求至少用了供應(yīng)商S1所供應(yīng)的全部零件的工程號。{t(1)|(u)(Projects(u)t[Jno]=u[Jno](v)(SPJ(v)v[Sno]=‘S1’(w)(SPJ(w)u[Jno]=w[Jno]v[Sno]=w[Sno])))}求提供所有零件的供應(yīng)商名稱。{t(1)|(u)(Suppliers(u)t[Sname]=u[Sname](v)(Parts(v)(w)(SPJ(w)u[Sno]=w[Sno]v[Pno]=w[Pno])))}3.13用域關(guān)系演算完成例3.12和例3.13中的查詢例3.12(1)列出系編號為MA〔數(shù)學(xué)系〕的所有學(xué)生的詳細(xì)信息。{(x1,x2,x3,x4,x5,’MA’)|Students(x1,x2,x3,x4,x5,’MA’)}(2)列出所有課程的課程號、課程名和學(xué)分。 {(x1,x2,x3)|(y)(Courses(x1,x2,y,x3))}(3)列出年齡不超過45歲的所有副教授的姓名、性別和年齡。{(x1,x2,x3)|(y1,y2)(Teachers(y1,x1,x2,x3,’副教授’,y2))}(4)列出選修了課程號為CS201的課程的所有學(xué)生的學(xué)號。 {(x)|(y)(SC(x,’CS201’,y))} 例3.13(1)列出選修了課程號為CS201的課程的所有學(xué)生的學(xué)號和姓名。 {(x1,x2)|(x3,x4,x5,x6)(y)(Students(x1,x2,x3,x4,x5,x6)SC(x1,’CS201’,y(2)列出每個(gè)學(xué)生選修的每門課程的成績,要求列出的學(xué)號、姓名、課程名和成績。 {(x1,x2,x3,x4)|((y1,y2,y3,y4)(z)(w1,w2,w3,w4)(Students(x1,x2,y1,y2,y3,y4)SC(x1,w1,z)Courses(w1,w2,w3,w4)}(3)求評估得分高于90分的教師所在院系名稱、教師姓名、課程名和評估得分。{(x1,x2,x3,x4)|((y1,y2)(z1,z2,z3,z4,z5)(w1,w2,w3)(v)(Departments(y1,x1,y2) Teachers(z1,x2,z2,z3,z4,z5)Courses(w1,x3,w2,w3)Teaches(x1,w1,v))}3.14求提供了零件的供應(yīng)商的個(gè)數(shù)。gcount-distinct(Sno)(SPJ)求所有零件的平均重量。gavg(Weight)(Parts)求供應(yīng)商S1提供的每種零件的總數(shù)量。Pnogsum(Quantity)(Sno=’S1’(SPJ求供應(yīng)商S1供應(yīng)工程J1的每種零件的總重量。Pnogsum(Weight)(Pno,Weight(Sno=’S1’Jno=’J1’(PartsSPJ3.15右外連接限制在限制在R的不屬于S的屬性上RS=(RS){(null,…,null)}(SS(RS))全外連接RRS=(RS)(RR(RS)){(null,…,null)}{(null,…,null)}(SS(RS))限制在R的不屬于S的屬性上限制在S的不屬于R的屬性上3.16將Cno、Cname、Caddress和Balance分別為C0199、李華、鄭州市大學(xué)北路46號、6000的客戶信息插入Customers。CustomersCustomers{(C0199,李華,鄭州市大學(xué)北路46號,6000)}從Dependents〔家屬〕中刪除刪除1979年前出生的子女〔ReltoEmp=‘子女’〕。DependentsDependentsyear(Birthday)<1979ReltoEmp=’子女’(Dependents)將銷售部門〔Dname=‘銷售’〕的職工工資〔Salary〕提高4%。EmployeesEno,Ename,Salary*1.04,Dno(Dname=’銷售’(EmployeesDepartments))(EmployeesEno,Ename,Salary,Dno(Dname=’銷售’(EmployeesDepartments)))第4章關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL習(xí)題參考答案4.1SQL的基本特點(diǎn)是:集多種數(shù)據(jù)庫語言于一體:SQL語言集數(shù)據(jù)定義、數(shù)據(jù)操縱和數(shù)據(jù)控制〔DCL〕功能于一體,語言簡潔、風(fēng)格統(tǒng)一,使用SQL就可以獨(dú)立完成數(shù)據(jù)管理的核心操作。高度非過程化:使用SQL語言時(shí),用戶只需要說明做什么,而不必指出怎么做。面向集合的操作方式:SQL語言采用集合操作方式,其運(yùn)算對象、運(yùn)算結(jié)果均是元組的集合。一種語法兩種使用方式:SQL既可以作為一種自含式語言獨(dú)立使用,也可以作為一種嵌入式語言與通用程序設(shè)計(jì)語言配合使用。在兩種使用方式下,SQL語言的語法構(gòu)造基本一致。功能強(qiáng)大,語言簡潔:SQL是一種完整地?cái)?shù)據(jù)庫語言,其功能涵蓋數(shù)據(jù)定義、數(shù)據(jù)操縱、數(shù)據(jù)控制等數(shù)據(jù)管理的主要需求。但SQL語言相比照擬簡潔,其核心動詞只有9個(gè)。另外,SQL語言的語法簡單,與英語口語的風(fēng)格類似,易學(xué)易用。4.2SQL的基本功能包括:SQL的數(shù)據(jù)定義語言〔DDL〕提供了模式定義、修改和刪除,基本表定義、修改和刪除、域定義修改和刪除。SQL的數(shù)據(jù)操縱語言〔DML〕提供了數(shù)據(jù)查詢子語言。SQL的數(shù)據(jù)查詢子語言是關(guān)系完備的,并且具有關(guān)系代數(shù)和關(guān)系演算的雙重特征。SQLDML不僅包括數(shù)據(jù)查詢,而且包括數(shù)據(jù)更新〔數(shù)據(jù)插入、刪除和修改〕語句,允許用戶更新數(shù)據(jù)庫。SQLDDL還允許用戶定義視圖,并且SQLDML允許用戶對視圖進(jìn)展查詢和受限的更新操作。SQLDDL允許用戶定義各種完整性約束條件,并在數(shù)據(jù)庫訪問時(shí)自動檢查,確保數(shù)據(jù)庫操作不會破壞完整性約束條件。SQLDDL還包括授權(quán)定義,用來定義用戶對數(shù)據(jù)庫對象〔基本表、視圖等〕的訪問權(quán)限,防止非法訪問,確保數(shù)據(jù)庫的安全性。SQL還支持事務(wù),提供了定義事務(wù)開場和完畢的語句。4.3SQL的數(shù)據(jù)定義語言DDL包括模式定義、修改和刪除;基本表定義、修改和刪除;域定義、修改和刪除;視圖的定義、修改和刪除;斷言的定義、修改和刪除;授權(quán)的定義與回收。4.4CREATETABLESuppliers(Sno CHAR(8)PRIMARYKEY,Sname CHAR(8)NOTNULL,StatusINT,ScityCHAR(10));CREATETABLEParts(Pno CHAR(8)PRIMARYKEY,Pname CHAR(16)NOTNULL,ColorCHAR(4),Weight NUMERIC(7,2));CREATETABLEProjects(Jno CHAR(8)PRIMARYKEY,Jname CHAR(20)NOTNULL,JcityCHAR(10));CREATETABLESPJ(Sno CHAR(8),PnoCHAR(8),Jno CHAR(8),Quantity INT,PRIMARYKEY(Sno,Pno,Jno),FOREIGNKEYSnoREFERENCESSuppliers(Sno),FOREIGNKEYPnoREFERENCESParts(Pno),FOREIGNKEYJnoREFERENCESProjects(Jno));3.8題對應(yīng)的表CREATETABLEClients(Driver_idCHAR(10)PRIMARYKEY,CnameCHAR(8)NOTNULL,AddressCHAR(20));CREATETABLECars(Car_noCHAR(10)PRIMARYKEY,ModelCHAR(20),YearDATE);CREATETABLEAccidents(Report_noCHAR(8)PRIMARYKEY,Accident_DateDateTime,LocationCHAR(40));CREATETABLEParticipated(Driver_idCHAR(10),Car_noCHAR(10),Report_noCHAR(8)Damage_amountNUMERIC(8,2),PRIMARYKEY(Driver_id,Car_no,Report_no),FOREIGNKEYDriver_idREFERENCESClients(Driver_id),FOREIGNKEYCar_noREFERENCESCars(Car_no),FOREIGNKEYReport_noREFERENCESAccidents(Report_no));3.9題對應(yīng)的表CREATETABLEAccounts(Account_noCHAR(10)PRIMARYKEY,BalanceNUMERIC(11,2),Branch_nameCHAR(20),Client_idCHAR(18),FOREIGNKEYBranch_nameREFERENCESBranchs(Branch_name),FOREIGNKEYClient_idREFERENCESClients(Client_id));CREATETABLEBranches(Branch_nameCHAR(20)PRIMARYKEY,CityCHAR(10),StreetCHAR(20)AssetNUMERIC(11,2));CREATETABLEClients(Client_idCHAR(18)PRIMARYKEY,CnameCHAR(8)NOTNULL,AddressCHAR(40),PhoneCHAR(11));CREATETABLELoans(Loan_idCHAR(5)PRIMARYKEY,Loan_DateDATE,AmountNUMERIC(11,2),Branch_name CHAR(20),FOREIGNKEYBranch_nameREFERENCESBranchs(Branch_name));CREATETABLEBorrow(Client_idCHAR(18),Loan_idCHAR(5),PRIMARYKEY(Client_id,Loan_id),FOREIGNKEYClient_idREFERENCESClients(Client_id),FOREIGNKEYLoan_idREFERENCESLoans(Loan_id));CREATETABLEDeposit(Client_idCHAR(18),Account_noCHAR(10),AmountNUMERIC(11,2),Deposit_DateDATE,PRIMARYKEY(Client_id,Account_no),FOREIGNKEYClient_idREFERENCESClients(Client_id),FOREIGNKEYAccount_idREFERENCESAccounts(Account_id));3.10題對應(yīng)的表部門〔部門號,部門名稱,預(yù)算,經(jīng)理〕工程〔工程名稱,工程預(yù)算,承擔(dān)部門〕辦公室〔辦公室名稱,位置,所屬部門〕職工〔職工號,姓名,地址,號碼,工程名稱,部門號,辦公室名稱〕工作簡歷〔職工號,開場時(shí)間,任務(wù),工資,截止時(shí)間〕〔號碼,辦公室名稱〕CREATETABLEDepartments(DnoCHAR(5)PRIMARYKEY,DptnameCHAR(20),BudgetNUMERIC(11,2),MrgnoCHAR(8),FOREIGNKEYEnoREFERENCESEmployees(Eno));CREATETABLEProjects(PnameCHAR(20)PRIMARYKEY,PbudgetNUMERIC(11,2),DnoCHAR(5),FOREIGNKEYDnoREFERENCESDepartments(Dno));CREATETABLEOffices(OnameCHAR(20)PRIMARYKEY,LocationCHAR(20),DnoCHAR(5),FOREIGNKEYDnoREFERENCESDepartments(Dno));CREATETABLEEmployees(EnoCHAR(8)PRIMARYKEY,EnameCHAR(8),AddressCHAR(40),PhoneCHAR(11),PnameCHAR(20),DnoCHAR(5),OnameCHAR(20),FOREIGNKEYPnameREFERENCESProjects(Pname),FOREIGNKEYDnoREFERENCESDepartments(Dno),FOREIGNKEYOnameREFERENCESOffices(Oname));CREATETABLEResume(EnoCHAR(8),Start_timeDATE,TaskCHAR(20),SalaryNUMERIC(8,2),End_timeDATE,PRIMARYKEY(Eno,Start_time),FOREIGNKEYEnoREFERENCESEmployees(Eno));CREATETABLEPhones(Phone-noCHAR(11)PRIMARYKEY,OnameCHAR(20)FOREIGNKEYOnameREFERENCESOffices(Oname));4.6(1)求上海的所有供應(yīng)商的信息SELECT*FROMSuppliersWHEREScity=‘上海’;(2)求位于鄭州的所有工程的信息SELECT*FROMProjectsWHEREJcity=‘鄭州’;(3)求數(shù)量在100~150之間的供應(yīng)SELECT*FROMSPJWHEREQuantityBETWEEN100AND150;(4)求為工程J1提供零件的供應(yīng)商號SELECTSnoFROMSPJWHEREJno=‘J1’;(5)求供應(yīng)工程J1紅色零件的供應(yīng)商號SELECTSnoFROMSPJ,PartsWHERESPJ.Pno=Parts.PnoANDJno=‘J1’ANDColor=‘紅色’;(6)求至少提供一種紅色零件的供應(yīng)商名稱SELECTSnameFROMSPJ,Parts,SuppliersWHERESPJ.Pno=Parts.PnoANDSPJ.Sno=Suppliers.SnoANDColor=‘紅色’;(7)求不提供零件P2的供應(yīng)商名稱SELECTSnameFROMSuppliersWHERENOTEXISTS(SELECT*FROMSPJWHERESPJ.Sno=Suppliers.SnoANDPno=‘P2’);(8)求沒有使用天津供應(yīng)商生產(chǎn)的紅色零件的工程號SELECTJnoFROMProjectsWHERENOTEXISTS(SELECT*FROMSPJ,Parts,SuppliersWHERESPJ.Sno=Suppliers.SnoANDParts.Pno=SPJ.PnoANDColor=‘紅色’ANDScity=‘天津’);(9)求使用了本地供應(yīng)商提供的零件的工程號和工程名稱SELECTJno,JnameFROMProjects,Suppliers,SPJWHERESPJ.Sno=Suppliers.SnoANDProjects.Jno=SPJ.JnoANDProjects.Jcity=Suppliers.Scity;或SELECTJno,JnameFROMProjectsWHEREEXISTS(SELECT*FROMSPJ,SuppliersWHERESPJ.Sno=Suppliers.SnoANDProjects.Jno=SPJ.JnoANDProjects.Jcity=Suppliers.Scity);(10)求未使用本地供應(yīng)商提供的零件的工程號和工程名稱SELECTJno,JnameFROMProjectsWHERENOTEXISTS(SELECT*FROMSPJ,SuppliersWHERESPJ.Sno=Suppliers.SnoANDProjects.Jno=SPJ.JnoANDProjects.Jcity=Suppliers.Scity);(11)求至少用了供應(yīng)商S1所供應(yīng)的全部零件的工程號SELECTJnoFROMProjectsWHERENOTEXISTS(SELECT*FROMSPJSPJ1WHERESPJ1.Sno=‘S1’ANDNOTEXISTS(SELECT*FROMSPJSPJ2WHERESPJ2.Jno=Projects.JnoANDSPJ2.Pno=SPJ1.Pno));(12)求提供所有零件的供應(yīng)商名稱SELECTSnameFROMSuppliersWHERENOTEXISTS(SELECT*FROMSPJSPJ1WHERENOTEXISTS(SELECT*FROMSPJSPJ2WHERESPJ2.Sno=Suppliers.SnoANDSPJ2.Pno=SPJ1.Pno));4.7(1)求提供了零件的供應(yīng)商的個(gè)數(shù)SELECTdistinctSnoFROMSPJ;(2)求所有零件的平均重量SELECTavg(weight)FROMParts;(3)求供應(yīng)商S1供應(yīng)工程J1的每種零件的總重量SELECTsum(weight)FROMParts,SPJWHERESPJ.Pno=Parts.PnoANDSno=‘S1’ANDJno=‘J1’GROUPBYPno;(4)求供應(yīng)商S1提供的每種零件的總數(shù)量SELECTPno,sum(weight)FROMSPJWHERESno=‘S1’GROUPBYPno;4.8(1)將Cno、Cname、Caddress和Balance分別為C0199、李華、鄭州市大學(xué)北路46號、6000的客戶信息插入CustomersINSERTINTOCustomersVALUES(‘C0199’,’李華’,’鄭州市大學(xué)北路46號(2)從Dependents〔家屬〕中刪除刪除1979年前出生的子女〔ReltoEmp=‘子女’〕DELETEFROMDependentsWHEREReltoEmp=‘子女’ANDyear(Birthday)<1979;(3)將銷售部門〔Dname=‘銷售’〕的職工工資〔Salary〕提高4%UPDATEEmployeesSETSalary=Salary*1.04WHEREDnoIN(SELECTDnoFROMDepartmentsWHEREDname=‘銷售’);4.9(1)找出2006年其車輛出過事故的總?cè)藬?shù)SELECTCount(DistinctDriver_id)FROMParticipated,AccidentsWHEREParticipated.Report_no=Accidents.Report_noANDDate=2006;(2)找出與王明的車有關(guān)的事故數(shù)量SELECTCount(Report_no)FROMParticipated,ClientsWHEREParticipated.Driver_id=Clients.Driver_idANDCname=‘王明’;(3)刪除李莉的Mazada車DELETEFROMCarsWHEREModel=‘Mazada’ANDCar_noIN(SELECTCar_noFROMOwns,ClientsWHEREOwns.Driver_id=Clients.Driver_idANDCname=‘李莉’);(4)對于一個(gè)新事故,需要將相應(yīng)信息插入表Accidents和Participated中。4.10所謂基本表是其關(guān)系元組存儲在數(shù)據(jù)庫中的表。視圖是一種用查詢定義的命名的導(dǎo)出表,其關(guān)系不存儲在數(shù)據(jù)庫中,而是在查詢時(shí)執(zhí)行定義視圖的查詢,由基本表導(dǎo)出?;颈砼c視圖之間的主要區(qū)別是前者對應(yīng)的關(guān)系存儲在數(shù)據(jù)庫中,而后者對應(yīng)的關(guān)系不在數(shù)據(jù)庫中存儲〔物化視圖除外〕。從使用角度而言,對于查詢,二者沒有區(qū)別;而對于更新,只有可更新視圖才可以更新。二者之間的聯(lián)系表達(dá)在:所有視圖都是直接或間接由基本表定義的。4.11使用視圖的優(yōu)點(diǎn)有:使用視圖可以使一些查詢表達(dá)更加簡潔。視圖提供了一定程度的邏輯獨(dú)立性。視圖與授權(quán)配合使用,可以在某種程度上對數(shù)據(jù)庫起到保護(hù)作用。視圖使得用戶能夠以不同角度對待一樣的數(shù)據(jù)。4.12并非所有的視圖都是可以更新的,因?yàn)閷σ晥D的更新要轉(zhuǎn)化為對相應(yīng)基本表的更新,而對于某些視圖,有些更新不能唯一地轉(zhuǎn)換成對基本表的更新。所有更新都能唯一轉(zhuǎn)換成對基本表的更新的視圖是可更新的,否那么是不可更新的。目前,二者之間的明確邊界尚不清楚。我們知道“行列子集〞視圖是可更新的,而使用聚集函數(shù)定義的視圖不是可更新的。4.13在需要使用數(shù)據(jù)庫管理數(shù)據(jù)時(shí),使用SQL語言建設(shè)數(shù)據(jù)庫,并對數(shù)據(jù)進(jìn)展操作比使用其他通用程序設(shè)計(jì)語言更便捷,常常也更有效。然而,由于〔1〕SQL能夠表達(dá)常見的查詢,但是不能表達(dá)所有查詢?!?〕一些非數(shù)據(jù)庫操作,如打印報(bào)表、將查詢結(jié)果送到圖形用戶界面中,都不能用SQL語句實(shí)現(xiàn)。一個(gè)應(yīng)用程序通常包括多個(gè)組件,查詢、更新只是一個(gè)組件,而許多其他組件都需要用通用編程語言實(shí)現(xiàn)。這時(shí),我們需要使用嵌入式SQL,而不是單獨(dú)使用SQL或某種通用程序設(shè)計(jì)語言。第5章完整性和安全性習(xí)題參考答案5.1數(shù)據(jù)庫的完整性是指數(shù)據(jù)庫中的數(shù)據(jù)的正確性、一致性和相容性。所謂計(jì)算機(jī)系統(tǒng)安全性是指為計(jì)算機(jī)系統(tǒng)建設(shè)和采取各種安全保護(hù)措施,以保護(hù)計(jì)算機(jī)系統(tǒng)中的硬件、軟件及數(shù)據(jù),防止因偶然或惡意的原因使系統(tǒng)遭到破壞,數(shù)據(jù)遭到更改或泄露。所謂數(shù)據(jù)庫的安全性是指保護(hù)數(shù)據(jù)庫,防止因用戶非法使用數(shù)據(jù)庫造成數(shù)據(jù)泄露、更改或破壞。數(shù)據(jù)的完整性和安全性是一個(gè)問題的兩個(gè)方面,都是為了保護(hù)數(shù)據(jù)庫中的數(shù)據(jù)。前者旨在保護(hù)數(shù)據(jù)庫中的數(shù)據(jù),防止合法用戶對數(shù)據(jù)庫進(jìn)展修改時(shí)破壞數(shù)據(jù)的一致性;而后者旨在保護(hù)數(shù)據(jù)庫,防止未經(jīng)授權(quán)的訪問和惡意破壞和修改。5.2為了維護(hù)數(shù)據(jù)庫的完整性,完整性控制應(yīng)當(dāng)作為DBMS核心機(jī)制,必須提供:說明和定義完整性約束條件的方法:DBMS的DDL允許用戶根據(jù)實(shí)際問題的語義說明和定義各種完整性約束條件。完整性檢查機(jī)制:DBMS在數(shù)據(jù)更新可能破壞完整性時(shí)自動進(jìn)展完整性檢查。檢查可以在更新操作執(zhí)行時(shí)立即執(zhí)行,也可以在事務(wù)提交時(shí)進(jìn)展。違約處理:當(dāng)數(shù)據(jù)更新違反完整性約束時(shí),DBMS應(yīng)當(dāng)采取相應(yīng)的措施,確保數(shù)據(jù)的完整性。5.3當(dāng)違反參照完整性時(shí),除了簡單的拒絕之外,還可以:級聯(lián):進(jìn)展更新,并且對更新導(dǎo)致違反參照完整性的參照關(guān)系元組進(jìn)展相應(yīng)更新。通常,這種情況發(fā)生在被參照關(guān)系的主碼改變時(shí)。例如,部門調(diào)整時(shí)將局部或所有部門重新編號,可以級聯(lián)地更新其他包含部門號的關(guān)系元組。置空值:進(jìn)展更新,并且對更新導(dǎo)致違反參照完整性的參照關(guān)系元組的外碼置空值。這種處理方法僅當(dāng)外碼允許取空值時(shí)才能使用。通常,這發(fā)生在被參照關(guān)系的元組被刪除,并且允許參照關(guān)系的元組不參照時(shí)。例如,通常允許某個(gè)職工不在任何具體部門,這種職工的部門號〔外碼〕可以取空值。當(dāng)一個(gè)部門被撤銷時(shí),可以刪除該部門在Departments中的對應(yīng)元組,并且同時(shí)將原來在該部門的職工的EMPS元組置空值。置缺省值:進(jìn)展更新,并且對更新導(dǎo)致違反參照完整性的參照關(guān)系元組的外碼置缺省值;其中缺省值必須是被參照關(guān)系某元組主碼上的值。通常,這發(fā)生在被參照關(guān)系的元組被刪除,并且參照關(guān)系的元組在外碼上有合理缺省值時(shí)。例如,許多單位都有人才交流中心這樣的部門,對職工進(jìn)展再培訓(xùn)和重新安排。當(dāng)一個(gè)部門被撤銷時(shí),該部門原有職工可以到人才交流中心。這時(shí),可以將這些職工的部門號設(shè)置成缺省值——人才交流中心的部門號。5.4CREATETABLESuppliers(Sno CHAR(8)PRIMARYKEY,Sname CHAR(8)NOTNULL,Status INT,Scity CHAR(10));CREATETABLEParts(Pno CHAR(8)PRIMARYKEY,Pname CHAR(16)NOTNULL,Color CHAR(4),Weight NUMERIC(7,2));CREATETABLEProjects(Jno CHAR(8)PRIMARYKEY,Jname CHAR(20)NOTNULL,Jcity CHAR(10));假定只能刪除不向任何工程提供任何零件的供應(yīng)商,只能刪除沒有任何供應(yīng)商提供的零件,但是允許工程下馬不依賴于是否有供應(yīng)商提供零件。CREATETABLESPJ(Sno CHAR(8),Pno CHAR(8),Jno CHAR(8),Quantity INT,PRIMARYKEY(Sno,Pno,Jno),FOREIGNKEYSnoREFERENCESSuppliers(Sno)ONUPDATECASCADE);FOREIGNKEYPnoREFERENCESParts(Pno)ONUPDATECASCADE);FOREIGNKEYJnoREFERENCESProjects(Jno)ONUPDATECASCADEONDELETECASCADE);5.5如果被刪除的Employee元組不是經(jīng)理,那么沒有任何Employee參照它。此時(shí),僅僅刪除該元組。然而,如果被刪除的Employee元組是經(jīng)理,那么導(dǎo)致該經(jīng)理的直接和間接下屬的Employee元組被級聯(lián)地刪除。即初始的刪除將觸發(fā)該經(jīng)理的直接下屬的Employee元組被刪除。如果這些被刪除的元組有經(jīng)理的話,將觸發(fā)第二層下屬的Employee元組被刪除。如此下去,直到初始被刪除的經(jīng)理的所有的直接和間接下屬的Employee元組都被刪除。5.6斷言如下:CREATEASSERTIONsumConstraintCHECK
(SELECTsum(amount)FROMloanWHEREloan.branch-name=〞大學(xué)路支行〞)>=(SELECTsum(amount)FROMaccountWHEREloan.branch-name=〞大學(xué)路支行〞))更一般地,下面的斷言保證每個(gè)支行的貸款總額不超過該支行的資產(chǎn):CREATEASSERTIONsum-constraintCHECK
(NOTEXISTS(SELECT*FROMBranchWHERE(SELECTsum(amount)FROMloanWHEREloan.branch-name=branch.branch-name)>=(SELECTsum(amount)
FROMaccountWHEREloan.branch-name=branch.branch-name)))5.7假設(shè)(Sno,Cname)是IEGrades的碼(1)CREATETRIGGERInsertionTriggerONSCAFTERINSERTONSCREFERENCINGNEWROWASnrowFOREACHROWWHENnrow.SnoIN(SELECTSnoFROMStudentsWHEREDno=‘IE’)BEGINATOMICINSERTINTOIEGradesSELECTS.Sno,Sname,Cname,GradeFROMStudentsS,SC,CoursesCWHERES.Sno=nrow.SnoANDC.Cno=nrow.CnoANDS.Sno=SC.SnoANDC.Cno=SC.Cno;END(2)CREATETRIGGERUpdateTriggerONSCAFTERUPDATEOFGradeONSCREFERENCINGNEWROWASnrowFOREACHROWWHENnrow.SnoIN(SELECTSnoFROMStudentsWHEREDno=‘IE’)BEGINATOMICUPDATEIEGradesSETGrade=nrow.GradeWHERES.Sno=nrow.SnoANDCname=(SELECTCnameFROMSC,CoursesCWHEREC.Cno=nrow.CnoANDSC.Sno=nrow.SnoANDC.Cno=SC.Cno;END(3)CREATETRIGGERDeleteTriggerONSCAFTERDELETEONSCREFERENCINGOLDROWASorowFOREACHROWWHENorow.SnoIN(SELECTSnoFROMStudentsWHEREDno=‘IE’)BEGINATOMICDELETEFROMIEGradesWHERES.Sno=orow.SnoANDCname=(SELECTCnameFROMSC,CoursesCWHEREC.Cno=orow.CnoANDSC.Sno=orow.SnoANDC.Cno=SC.CnoEND5.8保證銀行數(shù)據(jù)的安全性的措施包括:機(jī)房的安全性:防止入侵者強(qiáng)行闖入或非法潛入〔物理層次〕。數(shù)據(jù)的遠(yuǎn)程備份:防止火災(zāi)等災(zāi)害性事件破壞數(shù)據(jù)〔物理層次〕。安全的網(wǎng)絡(luò)系統(tǒng):專用網(wǎng)絡(luò)和安全的網(wǎng)絡(luò)軟件〔網(wǎng)絡(luò)層次〕。安全的操作系統(tǒng)〔操作系統(tǒng)層面〕和安全的數(shù)據(jù)庫管理系統(tǒng)。嚴(yán)格授權(quán)管理:銀行要制定嚴(yán)格的權(quán)限規(guī)定和授權(quán)審批制度〔行政制度層面〕,DBA只能對允許的權(quán)限實(shí)施授權(quán)〔數(shù)據(jù)庫系統(tǒng)層面〕。審計(jì)跟蹤:對數(shù)據(jù)庫數(shù)據(jù)的所有修改都必須記錄到審計(jì)日志中〔數(shù)據(jù)庫系統(tǒng)層面〕,并且只有經(jīng)過行政授權(quán)的高級管理人員才能查閱審計(jì)記錄〔行政制度層面〕。5.9SQL中涉及自主存取控制的語句包括:創(chuàng)立用戶:在創(chuàng)立用戶的同時(shí)對創(chuàng)立數(shù)據(jù)庫模式和創(chuàng)立表授權(quán)CREATEUSER<用戶名>WITHDBA|RESOURSE;授權(quán)與授權(quán)回收:是自主存取控制的主要手段.包括以下語句授權(quán)語句GRANT<權(quán)限>,…,<權(quán)限>ON<對象類型><對象名>TO<用戶>,…,<用戶>[WITHGRANTOPTION];授權(quán)回收語句REVOKE<權(quán)限>,…,<權(quán)限>ON<對象類型><對象名>,…,<對象類型><對象名> FROM<用戶>,…,<用戶>[CASCADE|RESTRICT];關(guān)于角色的語句。這些語句祥見下題。5.10當(dāng)一組用戶必須具有一樣的存取權(quán)限時(shí),使用角色定義存取權(quán)限,并對用戶授權(quán)是方便的,可以簡化授權(quán),并有利于授權(quán)管理。關(guān)于角色的語句:聯(lián)合使用實(shí)現(xiàn)靈活的授權(quán)。這些語句是(1)創(chuàng)立角色:CREATEROLE<角色名>;(2)給角色授權(quán):GRANT<權(quán)限>,…,<權(quán)限>ON<對象類型><對象名>TO<角色>,…,<角色>;(3)將角色授予其他角色或用戶:GRANT<角色>,…,<角色>TO<角色>|<用戶>,…,<角色>|<用戶>[WITHADMINOPTION];(4)回收角色權(quán)限:REVOKE<權(quán)限>,…,<權(quán)限>ON<對象類型><對象名>FROM<角色>,…,<角色>;5.11在MAC機(jī)制中,主體是系統(tǒng)中的活動實(shí)體。主體可以是DBMS管理的實(shí)際用戶、代表用戶的各進(jìn)程。客體是系統(tǒng)中的被動實(shí)體,是受主體操縱的,如文件、基本表、索引、視圖等。對于主體和客體,DBMS為它們的每個(gè)實(shí)例〔值〕指派一個(gè)敏感度標(biāo)記〔Label〕。敏感度標(biāo)記分成假設(shè)干級別,如絕密〔TopSecret〕、機(jī)密〔Secret〕、秘密〔Confidential〕、公開〔Public〕。主體的敏感度標(biāo)記稱為許可證級別〔ClearanceLevel〕。客體的敏感度標(biāo)記稱為密級〔ClassificationLevel〕5.12(1)GRANTALLPRIVILIGESONEmployee,DepartmentTOWanglanWITHGRANTOPTION;(2)GRANTSELECTONDepartmentTOPUBLIC;(3)我們需要在Employee上創(chuàng)立一個(gè)視圖EMPS:CREATEVIEWEMPSASSELECTEname,Title,DnoFROMEmployee;然后,將EMPS上的查詢權(quán)限授予所有用戶:GRANTSELECTONEMPSTOPUBLIC;(4)GRANTUPDATE(Salary)ONTABLEEmployeeTOLiYong;(5)我們需要定義一個(gè)視圖,包含每個(gè)部門的最低、最高和平均工資:CREATEVIEWDSELECTDname,MIN(Salary)MinSalary,MAX(Salary)MaxSalary,AVG(Salary)averageSalaryFROMEmployeeE,DepartmentDWHEREE.Dno=D.DnoGROUPBYDname然后,將DeptSalary上的查詢權(quán)限授予ShangHua:GRANTSELECTONDeptSalaryTOShangHua;(6)首先創(chuàng)立一個(gè)角色Secretary:CREATEROLESecretary;然后,對角色Secretary授權(quán):GRANTALLPRIVILIGESONDepartmentTOSecretary;GRANTSELECT,DELETEONEmployeeTOSecretary;GRANTUPDATE(Eno,Ename,Birthday,Title,Dno)ONTABLEEmployeeTOSecretary;(7)GRANTSecretaryTOLihua;5.13(1)REVOKEALLPRIVILIGESONEmployee,DepartmentFROMWanglanCASCADE;REVOKESELECTONDepartmentFROMPUBLIC;REVOKESELECTONEMPVIEWFROMPUBLIC;REVOKEUPDATE(Salary)ONTABLEEmployeeFROMLiYo
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 家紡導(dǎo)購專業(yè)知識培訓(xùn)課件
- 酒店物業(yè)管理服務(wù)合同三篇
- 社團(tuán)活動對學(xué)生發(fā)展的影響計(jì)劃
- 秋季學(xué)期學(xué)生學(xué)習(xí)成果展示計(jì)劃
- 促肝細(xì)胞生長素相關(guān)項(xiàng)目投資計(jì)劃書
- 前臺文員的個(gè)人發(fā)展規(guī)劃計(jì)劃
- 銷售心理學(xué)與客戶洞察培訓(xùn)
- 張緊裝置相關(guān)項(xiàng)目投資計(jì)劃書范本
- 輸尿管癌的護(hù)理查房
- 腦卒中并發(fā)吞咽障礙個(gè)案護(hù)理
- GB∕T 12810-2021 實(shí)驗(yàn)室玻璃儀器 玻璃量器的容量校準(zhǔn)和使用方法
- 有源光器件及無源光器件區(qū)別及基礎(chǔ)
- 傳熱學(xué)第五版答案
- 制粒機(jī)內(nèi)部結(jié)構(gòu)圖ppt課件
- 單位財(cái)務(wù)活動策劃活動方案四篇
- 船舶氣囊上岸方案
- HIV檢測報(bào)告單(新)(共1頁)
- 部編版六年級語文上冊第七單元集體備課教材分析
- 中小學(xué)校消防器材配備標(biāo)準(zhǔn)
- 電纜敷設(shè)及接線施工方案(完整版)
- 【教案】 氯氣的實(shí)驗(yàn)室制法教案
評論
0/150
提交評論