2021計(jì)算機(jī)類數(shù)據(jù)庫(kù)系統(tǒng)講義事業(yè)單位求職網(wǎng)領(lǐng)取_第1頁(yè)
2021計(jì)算機(jī)類數(shù)據(jù)庫(kù)系統(tǒng)講義事業(yè)單位求職網(wǎng)領(lǐng)取_第2頁(yè)
2021計(jì)算機(jī)類數(shù)據(jù)庫(kù)系統(tǒng)講義事業(yè)單位求職網(wǎng)領(lǐng)取_第3頁(yè)
2021計(jì)算機(jī)類數(shù)據(jù)庫(kù)系統(tǒng)講義事業(yè)單位求職網(wǎng)領(lǐng)取_第4頁(yè)
2021計(jì)算機(jī)類數(shù)據(jù)庫(kù)系統(tǒng)講義事業(yè)單位求職網(wǎng)領(lǐng)取_第5頁(yè)
已閱讀5頁(yè),還剩96頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第一章數(shù)據(jù)庫(kù)系統(tǒng) 第一節(jié)數(shù)據(jù)庫(kù)系統(tǒng)導(dǎo)論 第二節(jié)數(shù)據(jù)模型與數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu) 第二章關(guān)系數(shù)據(jù)庫(kù) 第一節(jié)關(guān)系數(shù)據(jù)庫(kù) 第二節(jié)關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言 第三節(jié)數(shù)據(jù)庫(kù)安全性 第三節(jié)事務(wù)管理第三節(jié)事務(wù)管理I一、常見(jiàn)術(shù)數(shù)據(jù)是對(duì)客觀事物的一種符號(hào)表示,是數(shù)據(jù)庫(kù)中存取的基本對(duì)象。提到數(shù)據(jù)的第一印象就是像1、5、82等這樣的數(shù)字,數(shù)字也是數(shù)據(jù)中的一種表現(xiàn)形式,除此之外、。期共與:(MS(aaenionanuaeL)。用戶可以通過(guò)數(shù)據(jù)定義語(yǔ)言在數(shù)據(jù)庫(kù)的對(duì)象進(jìn)行定義。譬如:創(chuàng)建基本表、數(shù)據(jù)功數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)提供了數(shù)據(jù)語(yǔ)言(DataManipulationLanguage,簡(jiǎn) DML)。用戶可以通過(guò)數(shù)據(jù)語(yǔ)言對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行操作。譬如:增(nser(eeeUpde(eect的:或數(shù)據(jù)庫(kù)管理系統(tǒng)要分類組織、和管理各種數(shù)據(jù)用程用程用用程用程用程數(shù)據(jù)庫(kù)理系程操 系 1-,名:(20140514298,李四,男 ,海淀區(qū),醫(yī)療部工工出生日地部李男海淀醫(yī)療1-數(shù)據(jù)的獨(dú)立性主要包括:數(shù)據(jù)的邏輯獨(dú)立性和物理獨(dú)立所謂的邏輯獨(dú)立性是指應(yīng)用程序與數(shù)據(jù)的邏輯結(jié)構(gòu)是獨(dú)立的。在應(yīng)用程序中不存儲(chǔ)數(shù)據(jù)也不數(shù)據(jù)的結(jié)構(gòu),當(dāng)應(yīng)用程序需要使用時(shí)由數(shù)據(jù)庫(kù)管理系統(tǒng)(MS)把所謂的物理獨(dú)立性是指用戶的應(yīng)用程序與在磁盤上的數(shù)據(jù)庫(kù)中數(shù)據(jù)是相互獨(dú)立的。當(dāng)在數(shù)據(jù)庫(kù)中的數(shù)據(jù)實(shí)際方式改變時(shí),數(shù)據(jù)庫(kù)管理系統(tǒng)(MS),可以適當(dāng)改變轉(zhuǎn)換數(shù)據(jù)的方式,從而使數(shù)據(jù)的邏輯結(jié)構(gòu)不用發(fā)生改變,應(yīng)用程序也可數(shù)據(jù)由數(shù)據(jù)庫(kù)管理系統(tǒng)進(jìn)行統(tǒng)一管理和控在數(shù)據(jù)庫(kù)系統(tǒng)中,對(duì)數(shù)據(jù)的、組織、包含都是在數(shù)據(jù)庫(kù)管理系統(tǒng)下完成的數(shù)據(jù)庫(kù)系統(tǒng)的數(shù)據(jù)庫(kù)管理員(DatabaseAdministrator簡(jiǎn)稱DBA)主要職責(zé)是運(yùn)維和管理數(shù)據(jù)庫(kù)DBA擔(dān)任的。主要工作職責(zé)是選擇適當(dāng)?shù)慕Y(jié)構(gòu)來(lái)表示和這些數(shù)據(jù)。應(yīng)用程序員主要職責(zé)是進(jìn)行程序開(kāi)發(fā)與終端用終端用戶即使用人員。通過(guò)數(shù)據(jù)庫(kù)進(jìn)行查詢、更新等操、和。的行、。數(shù)據(jù)管理的目的主要包含兩從大量的原始數(shù)據(jù)中抽取、推導(dǎo)出對(duì)人們有價(jià)值的信息二、數(shù)據(jù)管理技術(shù)發(fā)人工管理階段為數(shù)據(jù)管理技術(shù)的第一個(gè)階段2050年代以前,計(jì))余。從205060(理數(shù)據(jù)可以存放計(jì)算機(jī)最廣泛的領(lǐng)域?yàn)樾畔⑻幚恚〝?shù)據(jù)處理),所以對(duì)于有些需要經(jīng)常使用的數(shù)據(jù),可以以文件的形式在計(jì)算機(jī)中外存中,在使用時(shí)由外存調(diào)入到內(nèi)存,在更新通過(guò)文件系統(tǒng)用專門的軟件也就是文件系統(tǒng)對(duì)數(shù)據(jù)進(jìn)行管理,在文件系統(tǒng)中所有文件都是以名稱存放的,用戶可以按名稱對(duì)文件進(jìn)行。在文件系統(tǒng)中記錄之間具有一定的獨(dú)立程序和數(shù)據(jù)有了一定的獨(dú)立件在上的改變不一定反映到程序上,既節(jié)省成本也提高了開(kāi)發(fā)效率。體現(xiàn)在以下幾點(diǎn)在文件系統(tǒng)中,每個(gè)應(yīng)用程序都有自己的一個(gè)文件(一組文件)。當(dāng)多個(gè)程序使用同一個(gè)文件(一組文件)時(shí),必須都需要建立自己需要的,也就是說(shuō)多個(gè)程序無(wú)法共個(gè)文件(一組文件),就樣就產(chǎn)生了數(shù)據(jù)冗余,即浪費(fèi)了空間,也導(dǎo)致管較。20世紀(jì)60年代后期,計(jì)算機(jī)的功能得到了進(jìn)一步的提升,無(wú)論是處理速度還是容量。所以人們開(kāi)始使用更高級(jí)的數(shù)據(jù)庫(kù)系統(tǒng)來(lái)管理復(fù)雜的數(shù)據(jù)。此前已經(jīng)講過(guò)一、什么是數(shù)據(jù)庫(kù)系統(tǒng)的模在數(shù)據(jù)庫(kù)系統(tǒng)中有記錄型與記錄值兩個(gè)概念。所謂的記錄型相當(dāng)于我們常見(jiàn)表格中的表頭,主要體現(xiàn)的是對(duì)本類數(shù)據(jù)的結(jié)構(gòu)和屬性。所謂的記錄值就是指對(duì)記錄型的記錄型為記錄值為男所謂的模式指的就是記錄的型,它是數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征描述,模式只關(guān)心描述,不關(guān)心具體的值。模式的一個(gè)具體的值稱為一個(gè)實(shí)例或者狀態(tài)。在同一個(gè)模式下,可以有多個(gè)實(shí)例。因此,數(shù)據(jù)庫(kù)的模式是穩(wěn)定的,而實(shí)例實(shí)在不斷變二、數(shù)據(jù)庫(kù)中的三級(jí)數(shù)據(jù)庫(kù)中的三級(jí)模式,包含外模式、模式和內(nèi)模式。如下圖所示外模式模模式中不數(shù)據(jù),僅僅用來(lái)描述數(shù)據(jù)庫(kù)的結(jié)構(gòu),所以就模式而言與具體機(jī)器的硬件、計(jì)算機(jī)語(yǔ)言無(wú)關(guān)。在數(shù)據(jù)庫(kù)系統(tǒng)中用數(shù)據(jù)庫(kù)管理系統(tǒng)(MS)提供的數(shù)據(jù)庫(kù)(D)外模式是模式的一個(gè)子集,即在一個(gè)模式中可以有多個(gè)外模式。通常被稱為子模式或者用戶模式,也可以理解為數(shù)據(jù)庫(kù)的視圖。由于它是各個(gè)用戶的數(shù)據(jù)視圖,如果不同的用戶具有不同的數(shù)據(jù)需求,那么不同用戶所使用的外模式也是不同。每個(gè)用戶和。(MS(L內(nèi)模式也稱為模式,它既定義了數(shù)據(jù)庫(kù)中全部數(shù)據(jù)的物理結(jié)構(gòu),還定義了數(shù)據(jù)的方法等。由于內(nèi)模式接近于機(jī)器本身,所以內(nèi)模式與具體機(jī)器的硬件和軟件三、數(shù)據(jù)庫(kù)中的二級(jí)所謂的映像是一種對(duì)應(yīng)規(guī)則,說(shuō)明映像雙方如何進(jìn)行轉(zhuǎn)換。為在數(shù)據(jù)庫(kù)系統(tǒng)內(nèi)部實(shí)現(xiàn)3MS在數(shù)據(jù)庫(kù)系統(tǒng)中,可以在同一個(gè)模式上創(chuàng)建多個(gè)外模式。對(duì)于每一個(gè)外模式在數(shù)/變(例如:增加新關(guān)系、新的屬性或者改變屬性的類型等),模式/寫的,故應(yīng)用程序不需要做出改變,這樣就有效的保證了數(shù)據(jù)與應(yīng)用程序在邏輯上的的。它主要定義的是全局邏輯結(jié)構(gòu)與物理的對(duì)應(yīng)關(guān)系。當(dāng)數(shù)據(jù)庫(kù)的發(fā)生變化變,從而應(yīng)用程序不變。這樣就有效的保證了數(shù)據(jù)與應(yīng)用程序在物理上的獨(dú)立,我們四、SQL中的三級(jí)模式結(jié)雖然三級(jí)模式特別適合于關(guān)系模型,但是絕不僅僅是只適合關(guān)系模型,很多的他數(shù)據(jù)他數(shù)據(jù)模型也可以用三級(jí)模

2-以視圖也被稱為虛表,但是用戶可以當(dāng)作表一樣的去從而獲取數(shù)據(jù)?;颈硎悄J降幕緝?nèi)容。每一個(gè)基本表都是一個(gè)實(shí)際存在的關(guān)系文件是內(nèi)模式的基本單位。在文件中,可以基本表的內(nèi)容五、數(shù)據(jù)模所謂的模型就是對(duì)現(xiàn)實(shí)中具體事物的一種抽象。例如,去買房子時(shí)在售樓中心中展示的沙盤;在乘坐高鐵時(shí),高鐵上銷售的高鐵模型等。通過(guò)剛才的實(shí)例不難發(fā)現(xiàn),模型也可以看作現(xiàn)實(shí)世界的一種表示。也可以簡(jiǎn)單的認(rèn)為數(shù)據(jù)模型就是對(duì)現(xiàn)實(shí)世界數(shù)據(jù)特征的一種抽象或表示,即數(shù)據(jù)模型是用來(lái)描述數(shù)據(jù)、組織數(shù)據(jù)和對(duì)數(shù)據(jù)進(jìn)行操作在數(shù)據(jù)庫(kù)中模型主要分為兩大類:一類為概念模型;另一類為邏輯模型和物理型概念模型也稱為信息模型,在數(shù)據(jù)庫(kù)設(shè)計(jì)階段,由設(shè)計(jì)員按照用戶觀點(diǎn)建模實(shí)對(duì)現(xiàn)實(shí)世界的概念抽象邏輯模型包括網(wǎng)狀、層次、關(guān)系和對(duì)象模型等,由設(shè)計(jì)人員按照計(jì)算機(jī)觀點(diǎn)建模實(shí)現(xiàn)概念模型到適應(yīng)某DMS的邏輯模型的轉(zhuǎn)變。再由MS完成邏輯到物理模型物理模型是數(shù)據(jù)最底層的抽象,描述數(shù)據(jù)的方式和方法現(xiàn)實(shí)世 信息世 數(shù)據(jù)世抽

數(shù)據(jù)模2-第一步把現(xiàn)實(shí)世界中客觀存在的事物抽象化成信息世界中的概念模型第二步把信息世界中的概念模型數(shù)據(jù)化成數(shù)據(jù)模型最易1.概念模型中的常見(jiàn)術(shù)實(shí)體屬性屬性是對(duì)客觀事物特征的一種反映,是實(shí)體具有的某個(gè)特征。例如,學(xué)生實(shí)體中有學(xué)號(hào)屬性、屬性、屬性,屬性、所在系屬性等。屬性有屬性名稱和屬,。域(,為能生(,性,)。碼聯(lián)系在現(xiàn)實(shí)世界中,事物之間有著錯(cuò)綜復(fù)雜的聯(lián)系。反映在概念模型中,則有了實(shí)體集內(nèi)部的聯(lián)系和實(shí)體集之間的聯(lián)系。也可以簡(jiǎn)單的理解為實(shí)體中屬性的聯(lián)系和實(shí)體與①一對(duì)一聯(lián)系②一對(duì)多聯(lián)系(1:N)和多對(duì)一聯(lián)系A(chǔ)B1:n。例如,一個(gè)工廠可以有若干個(gè)員③多對(duì)多聯(lián)系E-R圖中文稱為實(shí)體-聯(lián)系圖,它是概念模型中的一種表示形式。E-R圖主要包含三學(xué)學(xué)學(xué)系假設(shè)現(xiàn)在有一個(gè)教室實(shí)體,其包含有教室編號(hào)、教室名稱和教室容量屬性,它與學(xué)生實(shí)體的聯(lián)系是一個(gè)學(xué)生可以在多個(gè)教室上課,一個(gè)教室也可以容納多個(gè)學(xué)生,那教屬學(xué)教屬學(xué)聯(lián)系也可以具有單獨(dú)的屬性。如果建立某演員和制片公司為一部電視劇簽約的有關(guān)勞務(wù)費(fèi)用。此時(shí)不能把勞務(wù)費(fèi)用作為演員的屬性,因?yàn)橐粋€(gè)演員可能簽約了多部電視劇,得到了不同的勞務(wù)費(fèi)用;也不能把勞務(wù)費(fèi)用作為制片公司的屬性,因?yàn)橹破究赡軐?duì)不同影星支付了不同的勞務(wù)費(fèi)用;勞務(wù)費(fèi)用不能作為電視劇的屬性,因?yàn)橐徊侩娨晞≈胁煌难輪T可能得到不同的勞務(wù)費(fèi)用。所以應(yīng)該把勞務(wù)費(fèi)用作為聯(lián)系的屬M(fèi)N演簽13.E-R圖的設(shè)計(jì)設(shè)計(jì)原①相對(duì)原②一致原③簡(jiǎn)單原為簡(jiǎn)化E-R模型,現(xiàn)實(shí)世界的事物能作為屬性對(duì)待的,盡量歸為屬性處理具體實(shí)如倉(cāng)庫(kù)和貨物的聯(lián)系。如果一種貨物只存放在一個(gè)倉(cāng)庫(kù)中,那么倉(cāng)庫(kù)可作為貨物的屬性加以說(shuō)明。但如果倉(cāng)庫(kù)與職工發(fā)生聯(lián)系(每個(gè)倉(cāng)庫(kù)有若干個(gè)保管員),那么倉(cāng)簡(jiǎn)1969IBM公司IMS(InformationManagementSystem)數(shù)據(jù)庫(kù)管理系統(tǒng),這是IBM公司研制的最早的大型數(shù)據(jù)庫(kù)系統(tǒng)程序產(chǎn)品。層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)在數(shù)據(jù)庫(kù)中定義滿足下面條件的基本層次聯(lián)系的集合為層次模型有且僅有一個(gè)結(jié)點(diǎn)無(wú)父節(jié)點(diǎn),這樣的結(jié)點(diǎn)稱為父結(jié)點(diǎn)非根結(jié)點(diǎn)都有且僅有一個(gè)父結(jié)點(diǎn)一個(gè)結(jié)點(diǎn)可以有幾個(gè)子結(jié)點(diǎn)也可以沒(méi)有子結(jié)點(diǎn)若一個(gè)結(jié)點(diǎn)有幾個(gè)子結(jié)點(diǎn),這幾個(gè)子結(jié)點(diǎn)為兄弟結(jié)點(diǎn)若一個(gè)結(jié)點(diǎn)沒(méi)有子結(jié)點(diǎn),該結(jié)點(diǎn)稱為葉結(jié)具體實(shí)X和管場(chǎng)含編XX大信息經(jīng)濟(jì)傳媒通軟網(wǎng)信會(huì)經(jīng)市新影信件絡(luò)息計(jì)濟(jì)場(chǎng)聞視工開(kāi)技技統(tǒng)金營(yíng)采制簡(jiǎn)系結(jié)系統(tǒng),也稱為CODASYL網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)在數(shù)據(jù)庫(kù)中,把滿足以下條件的基本層次聯(lián)系集合稱為網(wǎng)狀模型可能有一個(gè)以上的結(jié)點(diǎn)無(wú)父結(jié)點(diǎn)結(jié)點(diǎn)與其父結(jié)點(diǎn)之間的聯(lián)系不止一個(gè)不唯一。因此,在網(wǎng)狀模型中,每一個(gè)聯(lián)系都必須命名,每一個(gè)聯(lián)系都有與之相關(guān)的具體實(shí)專專系學(xué)教MSMS關(guān)系數(shù)據(jù)模型中的專業(yè)術(shù)關(guān)系:一個(gè)關(guān)系對(duì)應(yīng)通常說(shuō)的一張表屬性:關(guān)系中的每一列即為一個(gè)屬性,每一個(gè)屬性起一個(gè)名稱即屬性分量:一個(gè)元組在一個(gè)屬性上的值稱為該元組在此屬性上的分量外部碼A是基本關(guān)R1的屬性(組),但不R1的碼A與基本關(guān)關(guān)系數(shù)據(jù)模型的基本性列是同質(zhì)的,即同一列的分量值應(yīng)該出自相同的域列的順序無(wú)關(guān),即列于列之間互換位置,不相互關(guān)系數(shù)據(jù)模型中完整性約關(guān)系數(shù)據(jù)模型的操作主要包含查詢、插入、刪除和修改數(shù)據(jù)。這些操作必須滿足完整性約束條件。關(guān)系的完整性約束主要包括:實(shí)體完整性約束、參照完整性約束和()關(guān)系數(shù)據(jù)模型的結(jié)在關(guān)系數(shù)據(jù)模型中,實(shí)體以及實(shí)體間的聯(lián)系都用表來(lái)表示。在關(guān)系數(shù)據(jù)庫(kù)的物理組織中,有的數(shù)據(jù)庫(kù)管理系統(tǒng)一個(gè)表對(duì)應(yīng)一個(gè)操作系統(tǒng)的文件,有的數(shù)據(jù)庫(kù)管理系統(tǒng)等。一、關(guān)系中的常見(jiàn)概—3如,A集合B集合的笛卡爾積,也可以稱為直積,表A╳B,第一個(gè)對(duì)象A集合的成員而第二個(gè)對(duì)象是B中所有可能有序?qū)Φ钠渲幸粋€(gè)成員Ax,y;B0,1,2AB集合的笛的域。K1,K2,…,Kn的笛卡爾積為:K1╳K2╳…╳Kn={(k1,k2,k1,k2knki叫做一個(gè)K1=學(xué)生集合Name={張三,K2=課程集合Course={語(yǔ)文,數(shù)學(xué),英語(yǔ)K3=專業(yè)集合則K1,K2,K3的積為K1╳K2╳K3={(,語(yǔ)文,70),(,語(yǔ)文,80),(,數(shù)學(xué)(,數(shù)學(xué),80),(,英語(yǔ),70),(,英語(yǔ),80),(,語(yǔ)文,70),(,語(yǔ)文,80),(,數(shù)學(xué),70),(,數(shù)學(xué),80),(,英7)(8)}該積的基數(shù)位2╳3╳2=12,基本概(12n。R,doF)域的集合;dom為屬性向域映像的集合;F為屬性間數(shù)據(jù)依賴關(guān)系集合。關(guān)系模式常簡(jiǎn)記為:R(U)或者其中R為關(guān)系名;Ai(i=1,2,…,n)為屬性名。及屬性向域的映像一般2.E-R模型轉(zhuǎn)換為關(guān)系模R模型轉(zhuǎn)換為具體的數(shù)據(jù)庫(kù)管理系統(tǒng)能處理的數(shù)據(jù)類型。R模型可以向現(xiàn)有的各種數(shù)據(jù)模型轉(zhuǎn)換,而目前市場(chǎng)上名1N分部職名1N分部職MN任面職工津任職日代名轉(zhuǎn)換過(guò)程如下職工(職工號(hào),,,,工資) ,)R聯(lián)系R單獨(dú)的屬性都轉(zhuǎn)換為該關(guān)系的屬若聯(lián)系R1:N聯(lián)系,則關(guān)系的碼為N端實(shí)體的碼;分工(職工號(hào),部門號(hào)任職(職工號(hào),代號(hào),任職日期第三步:根據(jù)具體情況,把具有相同碼的多個(gè)關(guān)系模型合并成一個(gè)關(guān)系模型。具有相同碼的不同關(guān)系模型從本質(zhì)上來(lái)說(shuō)描述的是同一實(shí)體集,因此可以合并。合并后的關(guān)系包括兩關(guān)系的所有屬性,這樣可以節(jié)省空間。如職工關(guān)系和分工關(guān)系可以職工(職工號(hào),,,,工資,部門號(hào)關(guān)系數(shù)據(jù)庫(kù),是建立在關(guān)系數(shù)據(jù)庫(kù)模型基礎(chǔ)上的數(shù)據(jù)庫(kù)。關(guān)系數(shù)據(jù)庫(kù)模式包括:若干域的定義;在這些域上定義的若干關(guān)系模式。關(guān)系數(shù)據(jù)庫(kù)的值是這些關(guān)系模式在二、關(guān)系的操(Delete(Project接(Join)、除(Divide)、并(Union)、差(Except)、交(Intersection)、三、關(guān)系的完整性約完整性約束是一組完整的數(shù)據(jù)約束規(guī)則,它規(guī)定了數(shù)據(jù)模型中數(shù)據(jù)必須符合的條件,對(duì)數(shù)據(jù)作任何操作時(shí)都必須保證符合完整性約束條件。如:職工號(hào)不能為空而且、()。關(guān)系模型中共有三類完整性約束主碼中的屬性即主屬性不能為空參照完整性是對(duì)關(guān)系之間數(shù)據(jù)的一種限制除上述兩類完整性約束外,任何數(shù)據(jù)庫(kù)系統(tǒng)都會(huì)有一些自己特殊的約束要求,例如于60的。四、關(guān)系代傳統(tǒng)的集合運(yùn)算是二目運(yùn)算,包括并、差、交和積四種運(yùn)算取自同一個(gè)域,t是元組變量,t∈R表示tR的一個(gè)元組。并運(yùn)算系,由屬于R或者屬于S的元組組成。差運(yùn)算tRS時(shí),tR-S。R-Sn目關(guān)系。交運(yùn)算關(guān)系R和S的交(Intersection)為:R∩S={t|t∈R∧t∈S},其含義為當(dāng)且僅當(dāng)廣義積(Cartesian不要求參與運(yùn)算的兩個(gè)關(guān)系具有相同的目(自然也就不要求來(lái)自同樣的域)。R為n目關(guān)系,S為m目關(guān)系,則R和S的廣 積為:R╳S={專門的關(guān)系運(yùn)算包括選擇、投影、連接和除運(yùn)算等選擇運(yùn)算定選擇運(yùn)算是在一個(gè)關(guān)系中,選擇符合某給定條件的全體元組生成的新關(guān)系,記為 <條件><條件>的基本表現(xiàn)形式θii和iθ表示比較運(yùn)算符,可以是>、≥、<、≤、≠、=。<條件>∧((實(shí)σdno=‘A’∧成績(jī)>90(student)投影定設(shè)<屬性名表>中的所有屬R的屬性R在<屬性名表>上的投影R中投影操作是從列的角度進(jìn)行的運(yùn)算。其操作過(guò)程為:投影的實(shí)際操作方法為從中逐次取出一個(gè)元組,先去掉不在<屬性名表><屬性名表>的次序重新排列剩下各分量后,作為一個(gè)新元組送入投影結(jié)果(但若投影結(jié)果關(guān)系中已)。實(shí)在student中查詢職工的和∏,連接定θ義元(B1B2BkAθB的實(shí)際形Ai和Bi(i=1,2,…,k)不一定同名,但必須可比(即他們的域必須相同)。①等值連等值連接屬于連接,當(dāng)接表達(dá)式中,所有的i都是”符號(hào)時(shí),稱此連②自然連自然連接是一種特殊的等值連接。它要求兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同RSB自然連接與等值連接的差別在于自然連接要求相等的分量必須有共同屬性;等值連接則自然連接要求把結(jié)果中的所有屬性名都去掉一個(gè);等值連接卻不這樣③外連如果把舍棄的元組也保存在結(jié)果關(guān)系中,而在其他屬性上填空值(UL),那除設(shè)有關(guān)R和關(guān)S,求解關(guān)R除以關(guān)S YFY影(即將YRSXR在屬性(X)上做第三步:求關(guān)RX屬性對(duì)應(yīng)的像集Y。根據(jù)關(guān)R的記錄,可以得到 值有關(guān)的記錄3所示X2有關(guān)的記錄,如圖 XY第四步:判斷包含關(guān)系。R÷S其實(shí)就是判斷關(guān)RX各個(gè)值的像Y是否包含關(guān)S中屬Y的所有值。對(duì)比即可發(fā)現(xiàn):X1的像集只Y1,不能包S中Y的所有值,所以X1X2的像集包含了關(guān)系S中屬性Y的所有值,所以R÷S的最終結(jié)果就是X2。結(jié)構(gòu)化查詢語(yǔ)言(StructuredQueryLanguage)簡(jiǎn)稱SQL,是關(guān)系數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)SQL語(yǔ)言是1974是由Boyee和Chamberlin一種介于關(guān)系代數(shù)與關(guān)系演算之間的結(jié)構(gòu)化查詢語(yǔ)言,是一個(gè)通用的、功能極強(qiáng)的關(guān)系型數(shù)據(jù)庫(kù)語(yǔ)言。由SQL簡(jiǎn)單綜合統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)的主要功能是通過(guò)數(shù)據(jù)庫(kù)支持的數(shù)據(jù)語(yǔ)言來(lái)實(shí)現(xiàn)的。QL定義語(yǔ)言(DDL、數(shù)據(jù)操作語(yǔ)言(DL數(shù)據(jù)控制語(yǔ)言(L的功能與一體,語(yǔ)所謂的高度非過(guò)程化是指,用戶只需要提出“做什么”即可,而不必關(guān)心“怎么做”。因此操作過(guò)程中的存取路徑對(duì)用戶是透明的,從而簡(jiǎn)化了用戶對(duì)數(shù)據(jù)操作的實(shí)何。而LC++、RA、OL、JAVASQL功能極強(qiáng),但由于設(shè)計(jì)巧妙,語(yǔ)言十分簡(jiǎn)潔,完成數(shù)據(jù)定義、數(shù)據(jù)、數(shù)據(jù)控制的功能只用了九個(gè)動(dòng)詞。二、參照數(shù)據(jù)在本節(jié)次中,主要講的SQL語(yǔ)句的形式,為了方便掌握以及后續(xù)使用,建立男男男男男女內(nèi)女男關(guān)系1234網(wǎng)絡(luò)56789243835三、數(shù)據(jù)定義語(yǔ)語(yǔ)句格CREATETALBE<表名>(<列名稱><數(shù)據(jù)類型>[列級(jí)完整性約束][,<列名稱數(shù)據(jù)類型>[列級(jí)完整性約束]]……[,<表級(jí)完整性約束選項(xiàng)說(shuō)列名稱:即屬性的名稱。在同一表中不可以含有兩個(gè)完全相同的列名類定特型-32768— -1.0E+38—-3.402E+38—-1.79E+308—2014-07-07制完整性約束:所謂的完整性約束是該列上必須符合的條件。最常見(jiàn)的有:Notnull表示該列值不能為空;Null表示該列值可以為空;Unique表示該列值不能有相同者。實(shí)例展建立一個(gè)名為Student的關(guān)系(表)CREATETABLE(StudentNumberChar(7)PRIMARYKEY,/*列級(jí)完整性約束*/StudentNameChar(20)Notnull,/*不允許空置*/ Char(2)Default(“男”),/*Student StudentAddress(50)Null,/*StudentAdress本列允許有空值*/StudentDeptIntFOREIGNKEYStudentDeptREFERENCES/*表級(jí)完整性約束條件 為外碼執(zhí)行此命令語(yǔ)句序列后生成的結(jié)果為語(yǔ)句格ALTERTABLE<表名[ALTERCOLUMN<列名><新的數(shù)據(jù)類型>] COLUMN<列名 CONSTRAINT<表級(jí)完整性約束名 COLUMN:表示刪除表中原有的列ALTERCOLUMN:修改表中原有列的數(shù)據(jù)類型,通常,當(dāng)該列上有約束定義時(shí),不DROPCONSTRAINT:刪除原有的表級(jí)完整性約束給Student表中增加一個(gè)屬性,屬性名稱為“StudentDALTERTABLEStudentADDStudentD;Student表中的StudentDept列的數(shù)據(jù)類型改為字符型ALTERTABLEStudentALTERCOLUMNStudentDept執(zhí)行后把StudentDept列的數(shù)據(jù)類型由原來(lái)的整型變?yōu)殚L(zhǎng)度為 的字符型數(shù)據(jù)類型StudentStudentDALTERTABLEDROPCOLUMN執(zhí)行后得到的結(jié)果如下表

將Student表中的StudentName列的完整性約束刪除。ALTERTABLEStudentDROPCONSTRAINTStudentName;語(yǔ)句格選項(xiàng)說(shuō)此語(yǔ)句一執(zhí)行,指定的表即從數(shù)據(jù)庫(kù)中刪除(表被刪除,表在數(shù)據(jù)字典中的定義也被刪除),此表上建立的索引和視圖也被自動(dòng)刪除(有些系統(tǒng)對(duì)建立在此表上的視。DROPTABLE語(yǔ)句一次可以刪除多個(gè)表,多表間用逗號(hào)分開(kāi)實(shí)例展刪除名稱為Student的關(guān)系DROPTABLE效表語(yǔ)句格CREATE[UNIQUE][CLUSTER]INDEX<索引名稱ON<表名>(<列名>[<次序>][,<列名>[<次序UNIQUE:表示此索引的每一個(gè)索引值只對(duì)應(yīng)唯一的數(shù)次序:指定索引值的排列順序,可ASC(升序)DESC(降序),未指定情況下,默ASC。為Student表建立索引,名稱為Index_Student,按學(xué)生的升序的形式,若學(xué)CREATEINDEXIndex_StudentONStudent(StudentName,StudentDept索引一旦建立,就由系統(tǒng)使用和,用戶無(wú)需干預(yù)。建立索引是為了提高查找的效率,但是如果數(shù)據(jù)的增加刪除修改過(guò)于頻繁,系統(tǒng)就會(huì)消耗長(zhǎng)時(shí)間來(lái),從而DROPINDEX<索引名稱刪除索引時(shí),系統(tǒng)會(huì)同時(shí)從數(shù)據(jù)字典中刪去有關(guān)該索引其一:經(jīng)常被查詢的屬性,如經(jīng)常在Where子句中出現(xiàn)的屬性;其二:在ORDERBY子句中使用的屬性;其三,頻繁出現(xiàn)在連接條件中的屬性;其四:即主碼或外部不適合建立索被,Index_Student索引DROPINDEX四、數(shù)據(jù)查詢語(yǔ)數(shù)據(jù)庫(kù)查詢時(shí)數(shù)據(jù)庫(kù)的操作。SQL提供了SELECT語(yǔ)句進(jìn)行數(shù)據(jù)庫(kù)的查詢,該語(yǔ)句具有靈活的使用方式和豐富的功能。以下內(nèi)容參照表為Student表、Dept表、Course表和Grade表。語(yǔ)句格[WHERE<條件表達(dá)式[ORDERBY<列名2>[ASC|DESC]];選項(xiàng)說(shuō)關(guān)系中就可能有重復(fù)元組存在,選擇DISTINCT,則每組重復(fù)元組只輸出一條元組;選擇ALL,則所有重復(fù)元組全部輸出;兩個(gè)都不ALL。RMWEEudntGROUPBY:此選項(xiàng)表示分組,按列名的值進(jìn)行分組,該屬性列值相等的元組為HAVINGGROUPBYHAVING短語(yǔ),則只有滿足條件的組才會(huì)ORDERBY:表示排序輸出,有升序和降序之分。若輸出為升序,則使用ASC,也可以省略(默認(rèn)為升序);若輸出為降序DESC。所謂的單表查詢記為對(duì)一個(gè)表的查詢,也可以稱為單關(guān)系查詢列的操作,對(duì)應(yīng)關(guān)系代數(shù)中的投影操查詢行(元組)的操作,對(duì)應(yīng)關(guān)系代數(shù)中的選擇操作內(nèi)SELECT內(nèi)需要的是<目標(biāo)列表達(dá)式>中各個(gè)列的先后順序與表中的順序不一致。用戶可要查詢?nèi)康牧校ǔ?梢圆捎脙煞N方式。第一種,可以把整個(gè)關(guān)系中的所有名稱列出到目標(biāo)列表達(dá)式中。當(dāng)然這種方式太過(guò)于繁瑣,而且浪費(fèi)時(shí)間。第二種,*Student表中所有學(xué)生的信息SELECT*FROM等價(jià)于SELECTStudentNumber,StudentName,Student,StudentAddress,StudentDeptFROMStudent;執(zhí)行上述任意語(yǔ)句得到的結(jié)果一致,顯示男男男男男女內(nèi)女男SELECT表中的<目標(biāo)列表達(dá)式>不僅僅是屬性名稱,也可以是表達(dá)式、常量或者集函數(shù)。為了增強(qiáng)查詢功能,SQL提供了許多集函數(shù)。各RDBMS提供的集函數(shù)不 統(tǒng)計(jì)結(jié)果中元組COUNT([DISTINCT/ALL]<列名 統(tǒng)計(jì)結(jié)果中某列值的個(gè)MAX(<列名 給出一列上的最大MIN(<列名 給出一列上的最小SUM([DISTINCT/ALL]<列名 給出一列上的總和(只對(duì)數(shù)值型AVG([DISTINCT/ALL]<列名 給出一列上的平均值(只對(duì)數(shù)值型Student表中,學(xué)生的數(shù)SELECTCount(StudentNumber)ASFROMStudent;查詢選修了課程學(xué)生的學(xué)SELECTStudentNumberFROMGrade;TICTSELECTDISTINCTStudentNumberFROMGrade;類形類形BETWEENAND、NOTBETWEENIN、NOTISNULL、ISNOT比較查在Student表中,查詢所有男同學(xué)的信男男男男男男Grade表中,查詢成績(jī)介7080分的學(xué)生信息8SELECT*FROMGradeWHEREStudentGradeBETWEEN70AND8在Student表中,查詢系別(StudentDept)為01或者02的學(xué)生SELECTStudentNameFROMWHEREStudentDeptIN(“01”,“02”);用來(lái)進(jìn)行字符匹配的是LIKE。語(yǔ)法格式為:[NOTLIKE匹配串ESCAPE換碼字符>’]%%表示_Student表中,查詢姓沙同學(xué)的信息男SELECT*FROMStudentWHERE男在Student表中,查找名字只含兩個(gè)字的學(xué)生信息女SELECT*FROMStudentWHEREStudentNameLIKE‘ 女空值查在Grade表中,查詢無(wú)成績(jī)學(xué)生的記錄5SELECT*FROMGradeWHEREStudentGradeIS5多重查所謂的多重查詢就是需要滿足多個(gè)條件表達(dá)式的查詢,經(jīng)常 AND、 或NOT查詢系別(StudentDept) 01,并且 )為男的學(xué)生記錄SELECT*FROMWHERE =AND執(zhí)行上述語(yǔ)句得到的結(jié)果如男男男ORDERBY況下為升序,當(dāng)然也可以指定為ASC;若進(jìn)行降序可以指定為DESC。248335按成績(jī)(StudentGrade)降序排列Grade表中的信息。SELECT*FROMGradeORDERBYStudentGradeDESC;248335GROUPBY子句將查詢結(jié)果按某一列或多列的值分組,值相等的為一組。SELECTCOUNT(StudentNumber)ASFROMGradeGROUPBYStudentNumber;212交叉連語(yǔ)句格SELECT[DISTINCT/ALL]<目標(biāo)列表達(dá)式[別名]FROM<關(guān)系名[別名]在FROM子句之后需要標(biāo)識(shí)出連接的兩個(gè)關(guān)系名稱,用西文逗號(hào)分實(shí)例展StudentDept表建立交叉連接SELECTS.StudentName,S.StudentDept,D.DetpNumber,D.DeptNameFROMStudents,deptd;執(zhí)行上述語(yǔ)句得到如下結(jié)果上述結(jié)果就是由交叉連接所產(chǎn)生的結(jié)果,交叉連接以后元組的數(shù)目32條,雖然內(nèi)連語(yǔ)句格SELECT[DISTINCT/ALL]<目標(biāo)列表達(dá)式[別名]>SELECT[DISTINCT/ALL]<目標(biāo)列表達(dá)式[別名]FROM<關(guān)系名[別名]>WHERE<連接條件表達(dá)式實(shí)例展查詢所有學(xué)生的、、系編號(hào)和系名稱SELECTS.StudentName,S.Student FROMStudentSINNERJIONDetpNumberDONS.StudentDetp=D.DetpNumber;SELECTS.StudentName,S.Student FROMStudentS,DetpNumberDWHERE執(zhí)行上述任意語(yǔ)句序列得到的結(jié)果相同季男男男男男女女男外連外連接分為三種形式,即左外連接、右外連接和全外連自身連在SQL語(yǔ)言中,一個(gè)SELECT-FROM-WHERE語(yǔ)句稱為一個(gè)查詢塊。將一個(gè)查詢塊嵌套在另一個(gè)查詢塊WHERE子句或HAVING短語(yǔ)的條件中的查詢稱為嵌套查詢。SQL語(yǔ)句允許多層嵌套查詢。即一個(gè)子查詢中還可以嵌套其他子查詢。需要大家SELECTORDERBY子句,ORDERBY子句只查詢屬于軟件工程系學(xué)生的學(xué)號(hào)、和。SELECTS.StudentNumber,S.StudentName,S.StudentFROMStudentSWHEREStudentDeptIN(SELECTDeptNumberFROMDeptWHEREDetpName=“軟件工程系”);到最終結(jié)果執(zhí)行上述語(yǔ)句序列得到的結(jié)果如下表季男男男比較運(yùn)算符有:>、<、<>、>=、<=和=查詢屬于軟件工程系學(xué)生的學(xué)號(hào)、和SELECTS.StudentNumber,S.StudentName,S.StudentFROMStudentSWHEREStudentDept=季男男男(SELECTDeptNumberFROM季男男男ANYALL謂詞時(shí)則必須使用比較運(yùn)算符。其語(yǔ)義為EXISTS謂詞的子查詢不返回任何數(shù)據(jù),只產(chǎn)生邏輯真值“true”或者邏輯假五、數(shù)據(jù)更新語(yǔ)INSERTINTO<表名>[(<屬性名>)]VALUES(<常量若含有<屬性名><常量>中各常量為新中這些屬性的對(duì)應(yīng)值。但為NOTNL<屬性名>名>量賦(。<常量>中,字符串常量和日期型常量要用單引號(hào)括起來(lái)。在Student表中插入新的數(shù)據(jù),學(xué)號(hào)為,為陳海,男,籍貫吉04。INSERTINTOtudenttudentNumbetudentNametudent INSERTINTOStudentValues(’ 季男男季男男男男男女內(nèi)女男男語(yǔ)句格UPDATE<表名SET<列名>=<表達(dá)式>[,<列名>=<表達(dá)式>][WHERE<條件>]<列名>=<表達(dá)式>]N0個(gè)此類內(nèi)容。也即,本語(yǔ)句可修改符合<若無(wú)where<條件>項(xiàng),則修改全部記StudentWHEREStudentName=‘執(zhí)行上述序列后,再次執(zhí)行下述語(yǔ)句季男男季男男男男男女內(nèi)女男語(yǔ)句格DELETEFROM<表名>[WHERE<條件WHERE<條件>WHERE子句條件的所有元組。若無(wú)WHERE<條件>項(xiàng),則將刪除<表名>中的所有記錄。但是,該表的結(jié)構(gòu)還在,只是沒(méi)有了記錄,是個(gè)空表實(shí)例展刪除Student表中為女的元組DELETEFROMStudentWHEREStudent 季男男季男男男男男男語(yǔ)句格CREATEVIEW<視圖名>[<列名AS子查詢[WITHCHECK選項(xiàng)說(shuō)列名:列出該視圖所要包含的屬性名稱子查詢:不包含有ORDERBY、UNION等語(yǔ)法成分的任意SELECT語(yǔ)句WITHCHECKOPTION:表示若以后對(duì)此視圖進(jìn)行增加、刪除和修改的操作時(shí),實(shí)例展Student表中取出系別為02的數(shù)據(jù),組成一個(gè)視圖CREATEVIEWASSELECT*FROMStudentWHERE語(yǔ)句格<選項(xiàng)說(shuō)們?nèi)栽跀?shù)據(jù)字典中,但已無(wú)法使用。刪除視圖DROPVIEW語(yǔ)句。實(shí)例展Student_VIEW視圖DROPVIEW視圖定義后,用戶就可以像對(duì)基本表一樣對(duì)視圖進(jìn)行查THHCKOTION。把Student_VIEW視圖中為候亮平的籍貫改為“”UPDATEStudeng_ViewSETStudentAddress=“WHEREStudentName=“候亮平”;UPDATEStudentSETStudentAddress=“WHEREStudentName=簡(jiǎn)安用戶只能查詢和修改他們所能見(jiàn)到的數(shù)據(jù)。數(shù)據(jù)庫(kù)中的其他數(shù)據(jù)則既看不見(jiàn)也取不到。數(shù)據(jù)庫(kù)命令可以使每個(gè)用戶對(duì)數(shù)據(jù)庫(kù)的檢索限制到特定的數(shù)據(jù)庫(kù)對(duì)象上,能。視圖可以使應(yīng)用程序和數(shù)據(jù)庫(kù)表在一定程度上獨(dú)立。如果沒(méi)有視圖,應(yīng)用一定是建立在表上的。有了視圖之后,程序可以建立在視圖之上,從而程序與數(shù)據(jù)庫(kù)表被視視圖使用戶能以多種角度看待同一數(shù)性能視圖是由一個(gè)復(fù)雜的多表查詢所定義,那么,即使是視圖的一個(gè)簡(jiǎn)單查詢,SQLServer也把它變成一個(gè)復(fù)雜的結(jié)合體,需要花費(fèi)一定的時(shí)間。當(dāng)用戶試圖修改視圖的某些行時(shí),QLever的修改。對(duì)于簡(jiǎn)單視圖來(lái)說(shuō),這是很方便的,但是,對(duì)于比較復(fù)雜的視圖,可能是不數(shù)據(jù)庫(kù)的安全性是指包含數(shù)據(jù)庫(kù)以防止不合法的使用所造成的數(shù)據(jù)、更改或破壞。數(shù)據(jù)庫(kù)的安全性絕對(duì)不是僅僅數(shù)據(jù)庫(kù)本身的安全,它包含計(jì)算機(jī)系統(tǒng)的安全和數(shù)據(jù)庫(kù)系統(tǒng)的安全。計(jì)算機(jī)系統(tǒng)系統(tǒng)安全主要有三個(gè)維度:技術(shù)安全、管理安全和政從,機(jī)的。機(jī)制來(lái)實(shí)現(xiàn)安全模型,進(jìn)而實(shí)現(xiàn)保護(hù)數(shù)據(jù)庫(kù)系統(tǒng)安全的目標(biāo)認(rèn)認(rèn)約審過(guò)觸發(fā)視一、用戶標(biāo)識(shí)與鑒所謂的用戶標(biāo)識(shí)就是在每次登錄系統(tǒng)時(shí),用戶向系統(tǒng)亮出自己的,生活中最常見(jiàn)的用戶標(biāo)識(shí)是用戶名稱和。例如,在登錄帶有的系統(tǒng)時(shí)首先要輸入用戶名和一樣。鑒別是識(shí)別,用來(lái)檢測(cè)登錄用戶的,檢驗(yàn)用戶的。有戶能。時(shí)MS配主要依據(jù)每個(gè)人獨(dú)有的特征,例如,識(shí)別和面部識(shí)別等智能卡(有源卡、IC卡或Smart卡)作為個(gè)人所有物,可以用來(lái)驗(yàn)證個(gè)人,二、控的戶項(xiàng)的??s基插入:具有在基本表中添加數(shù)據(jù)的權(quán)限,不改變?cè)袛?shù)式庫(kù),移動(dòng):只能對(duì)數(shù)據(jù)庫(kù)中的具有可移動(dòng)權(quán)限的對(duì)象進(jìn)行移動(dòng),但不可所謂的自主控制是指用指派模式授予各個(gè)用戶特定數(shù)據(jù)項(xiàng)的權(quán)限。大型數(shù)據(jù)庫(kù)管理系統(tǒng)幾乎都支持自主存取控制,LL的GANTVOE用戶權(quán)限主要有兩個(gè)部分組成:數(shù)據(jù)庫(kù)對(duì)象和操作類型。所謂的數(shù)據(jù)庫(kù)對(duì)象包括兩項(xiàng);其一,數(shù)據(jù)項(xiàng)或者數(shù)據(jù)元素。其二,基本表或者視圖。所謂的就是定義用戶存取權(quán)限,再明確的說(shuō)就是定義一個(gè)用戶的存取權(quán)限就是要定義這個(gè)用戶可以在哪關(guān)系數(shù)據(jù)庫(kù)中的存取權(quán)類型對(duì)象類操作權(quán)表ALTER、INDEX、ALLPRIVILEGES視圖SELECTINSERTUPDATEDELETEALL程EXECUTE、ALL語(yǔ)句格GRANT<類型>TO<用戶標(biāo)識(shí)符>[INDENTIFIED<口令選項(xiàng)說(shuō)類型:CONNECT、RESOURCE和DBA實(shí)例展把新用戶WANG為RESURECE用戶,口令為W02XYZ。GRANTRESOURCETOWANGIDENTIFIEDBYW02XYZ;回語(yǔ)句格選項(xiàng)說(shuō)所型所有。其實(shí),GRANT命令中,<類型>也可以是<類型>,即以此可注所謂的強(qiáng)制控制是指系統(tǒng)為保證更高程度的安全性TDI/TCSEC標(biāo)準(zhǔn)中安計(jì)算機(jī)系統(tǒng)中,每個(gè)運(yùn)行的程序繼承用戶的證級(jí)別,也可以說(shuō),用戶的證級(jí)別不僅僅應(yīng)用于用戶,而且應(yīng)用于該用戶運(yùn)行的所有程序。當(dāng)某一用戶以某一密否:①僅當(dāng)用戶的密級(jí)大于等于數(shù)據(jù)的密級(jí)時(shí),該用戶才能此數(shù)據(jù)②僅當(dāng)用戶的密級(jí)小于等于數(shù)據(jù)的密級(jí)時(shí),該用戶才能寫入此數(shù)據(jù)三、安全審MS達(dá)到2統(tǒng)的安全措施都是不完美的,蓄意、破壞數(shù)據(jù)的人總是想方設(shè)法打破控制。審計(jì)功能就是把用戶對(duì)數(shù)據(jù)庫(kù)的所有操作自動(dòng)記錄下來(lái)放入審計(jì)日志中,數(shù)據(jù)庫(kù)管理員可以利用審計(jì)的信息,重現(xiàn)導(dǎo)致數(shù)據(jù)庫(kù)現(xiàn)有狀況的一系列,找出存取數(shù)據(jù)審計(jì)通常使用在以下情況中非。審計(jì)可以分為用戶級(jí)審計(jì)和系統(tǒng)級(jí)審計(jì)。用戶級(jí)審計(jì)是任何用戶可設(shè)置的審計(jì),主要是用戶針對(duì)自己創(chuàng)建的數(shù)據(jù)庫(kù)表或視圖進(jìn)行審計(jì),記錄所有用戶對(duì)這些表或視圖或者的的QL系統(tǒng)審計(jì)只能由數(shù)據(jù)庫(kù)管理員設(shè)置,AUIT語(yǔ)句用來(lái)設(shè)置審計(jì)功能,I數(shù)據(jù)是在介質(zhì)上的,數(shù)據(jù)還經(jīng)常通過(guò)通信線路傳輸。因此,既可在介質(zhì)上竊取數(shù)據(jù),也可在通信線數(shù)據(jù),有時(shí),審計(jì)的日志文件中也找不到竊取的),握在密由統(tǒng)來(lái)足夠的加密強(qiáng)度,保證長(zhǎng)時(shí)間且大量數(shù)據(jù)不被破譯加密后的數(shù)據(jù)庫(kù)量沒(méi)有明顯的增加加速度足夠快,影響數(shù)據(jù)操作響應(yīng)時(shí)間盡量短加對(duì)數(shù)據(jù)庫(kù)的合法用戶操作(如數(shù)據(jù)的增、刪、改等)是透明的靈活的密鑰管理機(jī)制,加密鑰安全,使用方便可靠庫(kù)內(nèi)加庫(kù)內(nèi)加密在DBMS內(nèi)核層實(shí)現(xiàn)加密,加/過(guò)程對(duì)用戶與應(yīng)用透明,數(shù)據(jù)在物理庫(kù)外加在庫(kù)外中,加/過(guò)程發(fā)生在DBMS之外,DBMS管理的是密文。/過(guò)程大多在客戶端實(shí)現(xiàn),也有的由專門的加密服務(wù)器或硬件完成表加后。屬性加屬性加密是以表中的列為單位進(jìn)行加密記錄加記錄加密是以表中的一條記錄作為單位進(jìn)數(shù)據(jù)元素加密是以記錄中每個(gè)字段的值為單位進(jìn)行加密,數(shù)據(jù)元素是數(shù)據(jù)庫(kù)中最小的加密粒度。采用這種加密粒度,系統(tǒng)的安全性與靈活性最高,同時(shí)實(shí)現(xiàn)技術(shù)也最一、實(shí)體完整性約實(shí)體完整性約束是通過(guò)主碼(imaryey性組被定義為主碼,該主碼的每個(gè)屬性就不能為空值,并且在關(guān)系中不能出現(xiàn)與主碼在L為單一的屬性進(jìn)行完整性約束;第二,表級(jí)完整性約束,主要為多個(gè)屬性進(jìn)行的完整例如,將關(guān)系StudentStudentNumber定義為主碼CREATETABLE(StudentNumberChar(7)PRIMARYKEY,/*列級(jí)完整性約束*/StudentNameChar(20)Notnull, StudentAddress(50)Null,StudentDeptInt);以上形式屬于列級(jí)完整性約束,可以把約束條件直接置于要約束的屬CREATETABLE(StudentNumberChar(7),StudentNameChar(20)Notnull, StudentAddress(50)Null,StudentDeptIntPRIMARY以上形式屬于表級(jí)完整性約束,可以把約束條件置于最在創(chuàng)建關(guān)系時(shí),如果我們定義了主碼,那么每當(dāng)用戶在基本表中插入一條記錄或者對(duì)主碼列進(jìn)行更新操作時(shí),關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)都會(huì)按照實(shí)體完整性規(guī)則自動(dòng)進(jìn)其二,檢查主碼的各個(gè)屬性是否為空,只要有一個(gè)為空就插入或修改二、參照完整參照完整性又稱為完整性。參照的完整性要求關(guān)系中不允許不存在的實(shí)B的外部關(guān)鍵字。如果參照關(guān)B中外部關(guān)鍵字的取值,要么與被參照A中某元組主關(guān)鍵字的值相同,要么取空值,那么,在這兩個(gè)關(guān)系間建立關(guān)聯(lián)的主關(guān)鍵字和外部關(guān)鍵字,符合參照完整性規(guī)則要求。如果參照關(guān)系B的外部關(guān)鍵字也是其主關(guān)鍵字,上只能取相應(yīng)被參照關(guān)A中已經(jīng)存在的主關(guān)鍵字值。外部碼的說(shuō)明方式有兩種REFERENCES<父表明>(<屬性名FOREIGNKEY(<屬性名表>)REFERENCES<父表名>(屬性名表)例如,定義Student表中的StudentDept為外部碼,被參照關(guān)系是Dept。CREATETABLEStudent(StudentNumberChar(7)PRIMARYKEY,/*列級(jí)完整性約束*/StudentNameChar(20)Notnull,StudentStudentAddress(50)StudentDeptIntREFERENCESDept(DetpNumber));CREATETABLE(StudentNumberChar(7)PRIMARYKEY,/*列級(jí)完整性約束*/StudentNameChar(20)Notnull, StudentAddress(50)Null,StudentDeptInt,F(xiàn)OREIGNKEY(StudentDetp)REFERENCES參照完整性檢查也是一種操作約束,用戶在使用時(shí)應(yīng)遵循這種約束,為了起見(jiàn)L限制策限制策略也稱為受限策略,是SQL中的默認(rèn)策略形式。它規(guī)定任何參照完整性約束的更新均被系統(tǒng)。級(jí)聯(lián)策當(dāng)對(duì)父表進(jìn)行刪除和修改時(shí),L或修改父表中某元組的主碼值時(shí),子表中具有該外部碼值的元組也將被刪除或修改,三、用戶定義的完整實(shí)體完整性和參照完整性適用于任何關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng),它主要是針對(duì)關(guān)系的主關(guān)鍵字和外部關(guān)鍵字取值必須有效而做出的約束。用戶自定義完整性約束取決于應(yīng)用L中主要包含列值非空(OTNUL)、列值唯一(IQUE)和檢查列值是否滿足一個(gè)布(HCK。CREATETABLE(StudentNumberChar(7)PRIMARYKEY,/*列級(jí)完整性約束*/StudentNameChar(20)Notnull,/*屬性值不能為空*/ StudentDeptIntREFERENCESCREATETABLE(StudentNumberChar(7)PRIMARYKEY,/*列級(jí)完整性約束*/StudentNameChar(20)NotnullUNIQUE,/*StudentName屬性值不能為空而且唯一 Char(2),(50)StudentDeptIntREFERENCESCREATETABLE(StudentNumberChar(7)PRIMARYKEY,/*列級(jí)完整性約束*/StudentNameChar(20)Notnull,/*不允許空置*/ Char(2)Default(“男”),/*Student StudentAddress(50)Null,/*StudentAdress本列允許有空值*/StudentDeptIntCHECK(StudentDept>0ANDStudentDept<10),/*系別編號(hào)只19之間FOREIGNKEYStudentDeptREFERENCES/*表級(jí)完整性約束條件 為外碼則。四、觸發(fā)般用在CHECK約束更加復(fù)雜的約束上面。觸發(fā)器和普通的過(guò)程的區(qū)別是:觸發(fā)器是當(dāng)對(duì)某一個(gè)表進(jìn)行操作。諸如:UPDATE、INSERT、DELETE這些操作的時(shí)候,系統(tǒng)會(huì)自動(dòng)調(diào)用執(zhí)行該表上對(duì)應(yīng)的觸發(fā)器。SQLServer中觸發(fā)器可以分為兩類:DMLDDLDDL觸發(fā)器它們會(huì)影響多種數(shù)據(jù)定義語(yǔ)言語(yǔ)句而激發(fā),這些語(yǔ)句有CREATE、ALTER、DROP語(yǔ)句。當(dāng)數(shù)據(jù)庫(kù)中表中的數(shù)據(jù)發(fā)生變化時(shí),如果我們對(duì)該表寫了對(duì)應(yīng)DML觸發(fā)器,那么該觸發(fā)器自動(dòng)執(zhí)行。DML觸發(fā)器的主要作用在于強(qiáng)制執(zhí)行則,以及擴(kuò)展SQLServer約束,默認(rèn)值等。DDL觸發(fā)登錄觸發(fā)器將在登錄的驗(yàn)證階段完成之后且用戶會(huì)話實(shí)際建立之前激發(fā)語(yǔ)句格CREATETRIGGER<觸發(fā)器名 OF[列名ON[REFERENCING<臨時(shí)視圖名[WHEN<觸發(fā)條件<觸發(fā)動(dòng)作 選項(xiàng)說(shuō)BEFORE:指示DBMS在執(zhí)行觸發(fā)語(yǔ)句之前激發(fā)觸發(fā)器AFTER:指示DBMS在執(zhí)行觸發(fā)語(yǔ)句之后激發(fā)觸發(fā)INSERT:指明是INSERT觸發(fā)器,每當(dāng)一個(gè)INSERT語(yǔ)句向表中插入一行時(shí)激發(fā)UPDATEUPDATEUPDATE語(yǔ)句修改OF子句指定的列值時(shí),激發(fā)觸發(fā)器;如果忽略O(shè)F子句,每當(dāng)UPDATE語(yǔ)句修改表的任何列值時(shí),DBMS都將激發(fā)觸發(fā)器。ERCIN<臨時(shí)視圖名>:指定臨時(shí)視圖的別名。在觸發(fā)器運(yùn)行過(guò)程中,系統(tǒng)會(huì)生成兩個(gè)臨時(shí)視圖(或者稱為虛擬表),分別存放被更新值(舊值)和更新后的(。WE<觸發(fā)條件>MS才激發(fā)一、什么是規(guī)范關(guān)系型數(shù)據(jù)庫(kù)在設(shè)計(jì)時(shí)應(yīng)該遵守一定的規(guī)則,即遵循數(shù)據(jù)庫(kù)的范式理論。數(shù)據(jù)庫(kù)的數(shù)據(jù)操作的基礎(chǔ),如果數(shù)據(jù)庫(kù)設(shè)計(jì)不好,利用其它方法來(lái)提高數(shù)據(jù)庫(kù)性能效果都將是有限的。而設(shè)計(jì)的關(guān)鍵是如何使數(shù)據(jù)庫(kù)能合理地用戶的數(shù)據(jù),方便用規(guī)范化理論是將一個(gè)不合理的關(guān)系模式如何轉(zhuǎn)化為合理的關(guān)系模式理論,規(guī)范化理論是圍繞范式而建立的。規(guī)范化理論認(rèn)為,一個(gè)關(guān)系型數(shù)據(jù)庫(kù)中所有的關(guān)系,都應(yīng)滿足一定的規(guī)范。規(guī)范化理論把關(guān)系應(yīng)滿足的規(guī)范要求分為幾級(jí),滿足最低要求的一級(jí)叫做第一范式(1F),在第一范式的基礎(chǔ)上提出了第二范式(2F),在第二范(3F以后又提出了F4F5F二、為什么規(guī)范為了方便理解,通過(guò)例子來(lái)說(shuō)明為什么在數(shù)據(jù)庫(kù)系統(tǒng)中要進(jìn)行規(guī)范化理論季軟件工程藝術(shù)傳媒沙瑞軟件工程軟件工程候經(jīng)濟(jì)管理國(guó)際外語(yǔ)國(guó)際外語(yǔ)趙東經(jīng)濟(jì)管理對(duì)于軟件工程系進(jìn)行了三次重復(fù)的;經(jīng)濟(jì)管理系進(jìn)行了兩次重復(fù)的;國(guó)際外語(yǔ)系進(jìn)行了兩次重復(fù)的。所以可以推斷出,規(guī)范化的第一個(gè)原因:數(shù)據(jù)冗余大。還是以上述表格為例,如果現(xiàn)在要把所有軟件工程系改成系,那么勢(shì)需要對(duì)所有軟件工程系的同學(xué)進(jìn)行一一修改,這樣無(wú)疑會(huì)浪費(fèi)大量的時(shí)間成本,而且如果數(shù)據(jù)量太大,難免會(huì)產(chǎn)生遺漏等問(wèn)題出現(xiàn),這樣會(huì)造成數(shù)據(jù)不一致。所以可以推還是以上述表格為例,如果要對(duì)本關(guān)系插入一個(gè)法學(xué)系,編號(hào)為5整性約束中的實(shí)體完整性所規(guī)定的內(nèi)容是無(wú)法插入的。假設(shè)當(dāng)前尚無(wú)法學(xué)系的學(xué)生,那么在上述關(guān)系中udnuber是主碼,即不能為空值,可當(dāng)前無(wú)學(xué)生即無(wú)學(xué)生編號(hào),也就是說(shuō)主碼為空值了,所以插入異常。所以我們可以推斷出,規(guī)范化的第三個(gè)通過(guò)分析,上述關(guān)系存在不合理的地方,針對(duì)以上關(guān)系,可以做一下修改季候定(查到)R(U)U上的關(guān)系模式。,Y是UR(U)rX上的屬性值X函數(shù)YYX定是,如果知道的X值,就可獲得Y的值。若X→Y,Y→X,記作X←→Y。X、Y1:M聯(lián)系,則存在函數(shù)依賴:X→Y。反之,如果Y?X,則稱X→Y是非平凡函數(shù)依賴。之前的章節(jié)已經(jīng)講過(guò)碼的概念,本章節(jié)用函數(shù)的形式來(lái)詮釋碼的定義K為關(guān)R<U,F(xiàn)>中的屬性或?qū)傩越M合K→(F)→UKR的候選碼。包含在任何一個(gè)候選碼中的屬性,稱為主屬性。不包含在任何碼中的屬性稱為非主屬性或非碼屬性。最簡(jiǎn)單的情況是單個(gè)屬性的碼。最的情況是,整個(gè)屬性組關(guān)系模R中屬性或?qū)傩越MXR的碼X是另一個(gè)關(guān)系模式的碼XR的外部碼,通常也稱為外碼四、關(guān)系模式規(guī)范化在關(guān)系中,要求每個(gè)屬性值都是不可再分的,則該關(guān)系滿足第一范式學(xué)成語(yǔ)文成英語(yǔ)成學(xué)語(yǔ)文學(xué)語(yǔ)文成英語(yǔ)成規(guī)()說(shuō)表的不完全函數(shù)依賴關(guān)系將導(dǎo)致很多問(wèn)題的發(fā)生,例如數(shù)據(jù)冗如果軟件工程系有850個(gè)學(xué)生,不得不重復(fù)850次相同系名更新異插入異如果增加了一個(gè)新系,但該系還沒(méi)有學(xué)生,那么這個(gè)系將不能入數(shù)據(jù)季候季候定推如果關(guān)系模R2NF,且它的每一個(gè)非主屬性既不部分依賴、也不傳遞依賴于任何候選R∈3NF。不存在非主屬性的關(guān)系模式一定為3NF季候季候系編系系編系名專市場(chǎng)專系編系名專市場(chǎng)專對(duì)稱性。X→→YX→→Z,其中Z=U-X-Y。傳遞性。若X→→Y,X→→Z,則X→→Z-Y。若X→→Y,X→→Z,則X→→YZ。若X→→Y,X→→Z,則X→→Y∩Z若X→→Y,X→→Z,則X→→Y-Z,X→→Z-Y定如果關(guān)系模式R∈1NF,對(duì)于R的每個(gè)非平凡的多值依賴X→Y,X含,則稱R是第四范式,即R∈4NF。說(shuō)第四范式了主鍵列和非主鍵列之間的一對(duì)多關(guān)系在關(guān)系中,一個(gè)學(xué)生可以有多種喜歡的運(yùn)動(dòng),也可以有多類喜歡的。這樣在同一表中具有這樣兩個(gè)不相關(guān)的列,與主鍵存在多對(duì)一的關(guān)系,使得表中存在冗余現(xiàn)象和不對(duì)稱情況,因?yàn)椴恢烂總€(gè)人的喜好情況,也就無(wú)法知道哪列的值多,哪列的五、規(guī)范化小在關(guān)系數(shù)據(jù)庫(kù)中,用戶對(duì)關(guān)系模式的最低要求是1NF。雖然1NF無(wú)法仍然存在不關(guān)系規(guī)范化的基本思想是消除數(shù)據(jù)依賴中不合適的部分,使各關(guān)系模式達(dá)到某種程度的分離,使一個(gè)關(guān)系描述一個(gè)概念,一個(gè)實(shí)體或?qū)嶓w間的一種聯(lián)系。因此,規(guī)范雖然規(guī)范化程度越高,分解的就越細(xì),數(shù)據(jù)冗余量就越小。但是分解越細(xì)就會(huì)造成在檢索數(shù)據(jù)時(shí)越復(fù)雜,從而影響整體效率。所以不必去追求太高的范式。正常情況如果把一個(gè)非規(guī)范化的數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換成第三范式,一般經(jīng)過(guò)以下三步即可得關(guān)系都屬于第二范式一、數(shù)據(jù)庫(kù)設(shè)計(jì)的概數(shù)據(jù)庫(kù)設(shè)計(jì)(tbaseDsin)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造(設(shè)計(jì))最優(yōu)的數(shù)據(jù)庫(kù)模式,建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng),使之能夠有效地?cái)?shù)據(jù),滿足各種用戶的應(yīng)用需求(信息要求和處理要求)。在數(shù)據(jù)庫(kù)領(lǐng)域內(nèi),常常把使用數(shù)據(jù)庫(kù)的各數(shù)據(jù)庫(kù)建設(shè)的數(shù)據(jù)庫(kù)設(shè)計(jì)的基本規(guī)律可以概括為:三分技術(shù),七分管理,十二分基礎(chǔ)數(shù)據(jù)。其實(shí)從這句話能夠看出,設(shè)計(jì)一個(gè)好的數(shù)據(jù)庫(kù),絕不僅僅是某一個(gè)方面的內(nèi)容,而且是綜合性的。要開(kāi)發(fā)一個(gè)好的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng),開(kāi)發(fā)估計(jì)固然重要,但是相比之下管理十二分基礎(chǔ)數(shù)據(jù)則強(qiáng)調(diào)了數(shù)據(jù)的收集、整理、組織和不斷更新是數(shù)據(jù)庫(kù)建設(shè)中的重要環(huán)節(jié)。基礎(chǔ)數(shù)據(jù)的收集、入庫(kù)時(shí)數(shù)據(jù)庫(kù)是建立初期工作量最大、最繁瑣、最細(xì)致結(jié)構(gòu)設(shè)計(jì)和行為設(shè)計(jì)相結(jié)數(shù)據(jù)庫(kù)設(shè)計(jì)一般策略有兩種:自頂向下和自底向上自頂向自頂向下是從一般到特殊的開(kāi)發(fā)策略。它是從一個(gè)企業(yè)的管理著手,分析企業(yè)的目標(biāo)、對(duì)象和策略,構(gòu)造抽象的數(shù)據(jù)模型。然后逐步構(gòu)造越來(lái)越詳細(xì)的描述和模型(子系統(tǒng)的模型)。模型不斷地?cái)U(kuò)展細(xì)化,直到能識(shí)別特定的數(shù)據(jù)庫(kù)及其應(yīng)用自底向新奧爾良設(shè)計(jì)方法是把數(shù)據(jù)設(shè)計(jì)分成了階段,每一個(gè)階段都會(huì)采用和本階段相符的輔助來(lái)實(shí)現(xiàn)。屬于一種規(guī)范式的設(shè)計(jì)方法。新奧爾良方法把數(shù)據(jù)庫(kù)設(shè)計(jì)分為面向?qū)ο螅―L)方法是現(xiàn)在較為流行的指導(dǎo)開(kāi)發(fā)活動(dòng)的系統(tǒng)方法。所謂面向?qū)ο缶褪腔趯?duì)象概念,以對(duì)象為中心,以類和繼承為構(gòu)造機(jī)制,來(lái)認(rèn)識(shí)、理解、刻畫數(shù)據(jù)流數(shù)據(jù)流法也就是結(jié)構(gòu)化分析方法。其基本過(guò)程是:首先分析當(dāng)前的情況,做出能夠反映當(dāng)前物理模型的數(shù)據(jù)流圖;然后根據(jù)物理模型的數(shù)據(jù)流圖導(dǎo)出與之對(duì)等的邏輯模型的數(shù)據(jù)流圖;然后設(shè)計(jì)新的邏輯系統(tǒng)并且建立人機(jī)接口導(dǎo)出目標(biāo)系統(tǒng)的物理模型對(duì)義。需求分為了開(kāi)發(fā)出真正滿足用戶需求的軟件產(chǎn)品,首先必須知道用戶的需求。對(duì)軟件需求的深入理解是軟件開(kāi)發(fā)工作獲得成功的前提條件,不論人們把設(shè)計(jì)和編碼工作做得MSMS物理設(shè)計(jì)師為邏輯上的數(shù)據(jù)模型選取一個(gè)較為合適的與存取環(huán)境所謂的數(shù)據(jù)庫(kù)實(shí)施是指,在上述過(guò)程都完成的情況下,收集數(shù)據(jù)并建立數(shù)據(jù)庫(kù),運(yùn)行一些典型的任務(wù)來(lái)驗(yàn)證數(shù)據(jù)的和合理性。當(dāng)然本階段有些版本里也稱為二、需求分析階部定本階段主要完成三個(gè)要求中。以數(shù)跟班作通過(guò)親身參加業(yè)務(wù)工作來(lái)了解業(yè)務(wù)活動(dòng)的情況開(kāi)開(kāi)的當(dāng)然,生活中需求分析的方法有很多,這里不再贅述求統(tǒng)綜合各種信息所包含的數(shù)據(jù),各種數(shù)據(jù)之間的關(guān)系,數(shù)據(jù)類型、取值范圍、流等將需求文檔化,文檔既要為用戶所理解,又要方便數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)字典是指對(duì)數(shù)據(jù)的數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)、處理邏輯、外部實(shí)體等進(jìn)行定義和描述,其目的是對(duì)數(shù)據(jù)流程圖中的各個(gè)元素做出詳細(xì)的說(shuō)明,使用數(shù)據(jù)}。數(shù)據(jù)結(jié)數(shù)據(jù)結(jié)構(gòu)反映了數(shù)據(jù)之間的組合關(guān)系。一個(gè)數(shù)據(jù)結(jié)構(gòu)可以由若干個(gè)數(shù)據(jù)項(xiàng)組成,也可以由若干個(gè)數(shù)據(jù)結(jié)構(gòu)組成,或由若干個(gè)數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)混合組成。數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)結(jié)構(gòu)描述={數(shù)據(jù)結(jié)構(gòu)名,含義說(shuō)明,組成:{數(shù)據(jù)項(xiàng)或數(shù)據(jù)結(jié)構(gòu)}}數(shù)據(jù)數(shù)據(jù)流是數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)內(nèi)傳輸?shù)穆窂?。?shù)據(jù)流的描述格式如下{},,。數(shù)據(jù)存數(shù)據(jù)描述={數(shù)據(jù)名,說(shuō)明,編號(hào),流入的數(shù)據(jù)流,流出的數(shù)據(jù)流,組成{數(shù)據(jù)結(jié)構(gòu)},數(shù)據(jù)量,存取方式}。數(shù)據(jù)字典中只需要描述處理過(guò)程的說(shuō)明性信息。處理過(guò)程的描述結(jié)構(gòu)如下處理過(guò)程描述={處理過(guò)程名,說(shuō)明,輸入:{數(shù)據(jù)流},輸出:{數(shù)據(jù)流 處理{簡(jiǎn)要說(shuō)明}}三、概念結(jié)構(gòu)設(shè)計(jì)階數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì)是指對(duì)應(yīng)用對(duì)象精確地抽象、概括而形成的獨(dú)立于計(jì)算機(jī)—R其次,易于交流和理解自頂向自底向逐步擴(kuò)混合策四、邏輯結(jié)構(gòu)設(shè)計(jì)階數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)設(shè)計(jì)是指將抽象的概念模型轉(zhuǎn)化為與選用的S產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯模型,包括數(shù)據(jù)庫(kù)模式和外模式,它是物理設(shè)計(jì)的基礎(chǔ)。DMSR首先,將概念結(jié)構(gòu)轉(zhuǎn)換為一般的關(guān)系、網(wǎng)狀、層次模型DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換。最、間其四,根據(jù)局部應(yīng)用的需要,設(shè)計(jì)用戶外模式功能評(píng)在關(guān)系模式中,必須包含用戶可能的所有屬性。根據(jù)需求分析和概念結(jié)構(gòu)設(shè)計(jì)文檔,如果發(fā)現(xiàn)用戶的某些應(yīng)用不被支持,則應(yīng)進(jìn)行模式修正。在涉及多個(gè)模式的性能評(píng)對(duì)數(shù)據(jù)庫(kù)模式的性能評(píng)價(jià)是比較的,因?yàn)槿狈ο鄳?yīng)的評(píng)價(jià)。一般采 評(píng)價(jià)結(jié)束對(duì)性能作以下估算,以提出改進(jìn)意見(jiàn)五、物理結(jié)構(gòu)設(shè)計(jì)階數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)設(shè)計(jì)是邏輯模型在計(jì)算機(jī)中的具體實(shí)現(xiàn)方案。數(shù)據(jù)庫(kù)物理結(jié)構(gòu)設(shè)計(jì)階段將根據(jù)具體計(jì)算機(jī)系統(tǒng)(DMS與硬件等的特點(diǎn),為確定的數(shù)據(jù)模型確定的。存取方法是快速存取數(shù)據(jù)庫(kù)中數(shù)據(jù)的技術(shù)。數(shù)據(jù)庫(kù)管理系統(tǒng)一般都提供多種存取BSH索引存取方法主要是為了提高查找的效率。其主要原則基于三點(diǎn)等建))HASHHSH中文名稱翻譯為“散列”,在數(shù)據(jù)結(jié)構(gòu)中也譯為“哈希”,其是散列算法。通過(guò)散列算法,變換為固定長(zhǎng)度的輸出,該輸出值就是散列值。不是所有的數(shù)HSH和、的和。所謂的確定數(shù)據(jù)的存放位置,即把數(shù)據(jù)放在該放的地方。用戶根據(jù)使用情況可以把數(shù)據(jù)分成兩類,即穩(wěn)定數(shù)據(jù)(不經(jīng)常變化)和不穩(wěn)定數(shù)據(jù)(易變)。所在存放的時(shí)數(shù)據(jù)庫(kù)管理系統(tǒng)在默認(rèn)的情況下都會(huì)給系統(tǒng)中的部分變量確定默認(rèn)值,但是這些默認(rèn)值有時(shí)是不滿足某中應(yīng)用環(huán)境的,所以在進(jìn)行物理設(shè)計(jì)時(shí),需要重新對(duì)這些變量六、實(shí)施與階所謂數(shù)據(jù)的載入其就是導(dǎo)入數(shù)據(jù)到數(shù)據(jù)庫(kù)中。這種需要導(dǎo)入的數(shù)據(jù)一般有兩大類:第一類是來(lái)源于部門中的各個(gè)不同的單位;第二類是原系統(tǒng)中的數(shù)據(jù)。由于數(shù)據(jù)的來(lái)源不同,其組織方式、結(jié)構(gòu)、格式會(huì)不同,可能出現(xiàn)源數(shù)據(jù)與新數(shù)據(jù)庫(kù)結(jié)構(gòu)不相容。所以我們可以先將源數(shù)據(jù)提取出來(lái),存入計(jì)算機(jī),然后分類轉(zhuǎn)換,成為符合新應(yīng)用程序調(diào)試完成并已有一小部分?jǐn)?shù)據(jù)入庫(kù),就可以開(kāi)始數(shù)據(jù)庫(kù)的試運(yùn)行,也稱聯(lián)合調(diào)試。試運(yùn)行在整個(gè)過(guò)程中比較重要,因?yàn)檎{(diào)試可以檢測(cè)應(yīng)用程序在接近真實(shí)的和。庫(kù)理。:數(shù)據(jù)庫(kù)的轉(zhuǎn)儲(chǔ)一、關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的查詢處查詢分所謂查詢分析主要是對(duì)語(yǔ)句本身的分析。主要來(lái)判斷查詢語(yǔ)句的語(yǔ)句格式是否正確,通過(guò)QLQLQL查詢檢所謂查詢檢查主要是針對(duì)查詢對(duì)象的分析。主要來(lái)檢查語(yǔ)句中的數(shù)據(jù)庫(kù)對(duì)象,如屬性名稱、關(guān)系名稱等是否存在或者是否有效。同時(shí),還要根據(jù)數(shù)據(jù)字典中的用戶權(quán)查詢優(yōu)物理優(yōu)化,是存取路徑和底層操作算法的選擇查詢執(zhí)碼劃據(jù)數(shù)(全表掃描方式是最簡(jiǎn)單的式,它的操作方式是對(duì)查詢表順序掃描,逐一檢查每個(gè)元組是否滿足選擇條件,把滿足條件的元組作為結(jié)果輸出。但是這種方式存在一個(gè)弊端,既然是全表掃面,那么如果數(shù)據(jù)太多就會(huì)消耗大量時(shí)間,所以這種方式不索引掃描主要是通過(guò)索引先找到滿足條件的元組主碼或元組指針,再通過(guò)元組指針直接在查詢的基本中找到元組。但是這種方法需要有一個(gè)前提條件,就是必須在選連接操作時(shí)查詢處理中最耗時(shí)的操作之一。在連接操作的實(shí)現(xiàn)中等值連接是最常-索引連接方法和ashon二、關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的查詢優(yōu)關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的查詢優(yōu)化既是關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)實(shí)現(xiàn)的關(guān)鍵技術(shù)又是關(guān)系系統(tǒng)的優(yōu)點(diǎn)所在。它減輕了用戶選擇存取路徑的負(fù)擔(dān)。查詢優(yōu)化極大地影響關(guān)系數(shù)據(jù)庫(kù)其二,如果數(shù)據(jù)庫(kù)的物理統(tǒng)計(jì)信息改變了,系統(tǒng)可以自動(dòng)對(duì)查詢重新優(yōu)化以選擇相適應(yīng)的執(zhí)行計(jì)劃。在非關(guān)系系統(tǒng)中必須重寫程序,而重寫程序在實(shí)際應(yīng)用中往往是第一步:把查詢轉(zhuǎn)換成某種內(nèi)部表示,通常用的內(nèi)部表示是語(yǔ)法樹(shù))第三步:選擇低層的存取路第四步:生成查詢計(jì)劃,選擇代價(jià)最小的三、代數(shù)優(yōu)代數(shù)優(yōu)化策略是通過(guò)對(duì)關(guān)系代數(shù)表達(dá)式的等價(jià)變換來(lái)提高查詢效率。所謂的關(guān)系代數(shù)表達(dá)式的等價(jià)是指用相同的關(guān)系代替兩個(gè)表達(dá)式中相應(yīng)的關(guān)系所得到的結(jié)果也是四、物理優(yōu)優(yōu)化器估算不同執(zhí)行策略的代價(jià),并選出具有最小代價(jià)的執(zhí)行計(jì)劃事務(wù)是一系列的數(shù)據(jù)庫(kù)操作,是數(shù)據(jù)庫(kù)應(yīng)用程序的基本邏輯單元。事務(wù)處理技術(shù)主要包括數(shù)據(jù)庫(kù)恢復(fù)技術(shù)和并發(fā)控制技術(shù)。數(shù)據(jù)庫(kù)恢復(fù)機(jī)制和并發(fā)控制機(jī)制是數(shù)據(jù)庫(kù)一、事都執(zhí)行要么都不執(zhí)行。如果扣除了3000塊錢,但是ATM出錢失敗的話,用戶將會(huì)損失3000元;如果扣錢失敗但是ATM卻出了3000塊,那么銀行將損失3000元。所以,如果一個(gè)步驟成功另一個(gè)步驟失敗對(duì)雙方都不是好事,如果不管哪一個(gè)步驟失敗了以后,整個(gè)取錢過(guò)程都能回滾,也就是完全取消所有操作的話,這對(duì)雙QLQL一般地,一個(gè)程序中包含多個(gè)事務(wù)QLBEGINTRANSACTION表示事務(wù)開(kāi)始COMMIT表示提交事務(wù)的所有操作BACK、稱為ID原子一致(性務(wù)開(kāi)持續(xù)統(tǒng)化。二、并發(fā)控制技多用戶數(shù)據(jù)庫(kù)系統(tǒng)需要為眾多并發(fā)用戶提供高度的可用性和快速的響應(yīng)時(shí)間。也就說(shuō)要避免多個(gè)用戶在使用同一數(shù)據(jù)時(shí)造成的相互影響。為了保證事務(wù)的性和一丟失修首先,來(lái)列舉一個(gè)關(guān)于兩個(gè)火車票代購(gòu)點(diǎn)售票的例子北站售票處(T1事務(wù))讀出某車次的火車票余量5張西站售票處(T2事務(wù))讀出同一車次的火車票余量5張北站賣出一張?jiān)撥嚧蔚能嚻?,那么該車次火車票余量?-1=4張西站也賣出一張?jiān)撥嚧?/p>

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論