物流系數(shù)據(jù)庫(kù)復(fù)習(xí)提綱_第1頁(yè)
物流系數(shù)據(jù)庫(kù)復(fù)習(xí)提綱_第2頁(yè)
物流系數(shù)據(jù)庫(kù)復(fù)習(xí)提綱_第3頁(yè)
物流系數(shù)據(jù)庫(kù)復(fù)習(xí)提綱_第4頁(yè)
物流系數(shù)據(jù)庫(kù)復(fù)習(xí)提綱_第5頁(yè)
已閱讀5頁(yè),還剩14頁(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)介

1、數(shù)據(jù)庫(kù)復(fù)習(xí)提綱第一章1.1 信息與數(shù)據(jù)是數(shù)據(jù)處理中的兩個(gè)基本概念:信息與數(shù)據(jù)的關(guān)系信息?數(shù)據(jù)?答:信息是客觀事物屬性的反映;它反映了客觀事物的某一屬性或某一時(shí)刻的表現(xiàn)形式;經(jīng)過加工處理的、對(duì)人類社會(huì)有用的數(shù)據(jù)。數(shù)據(jù)是用來(lái)信息的可識(shí)別的符號(hào)。數(shù)據(jù)是信息的載體,它是信息的具體表現(xiàn)形式。數(shù)據(jù)是信息的物理符號(hào)表示或載體;信息是數(shù)據(jù)處理的結(jié)果,是對(duì)數(shù)據(jù)的語(yǔ)釋。1.2 數(shù)據(jù)管理技術(shù)發(fā)展(史)三個(gè)階段:人工管理階段、文件系統(tǒng)階段數(shù)、據(jù)庫(kù)系統(tǒng)階段。人工管理階段:20 世紀(jì) 50 年代中期以前為人工管理階段,是計(jì)算機(jī)數(shù)據(jù)管理的初級(jí)階段。數(shù)據(jù)管理的特點(diǎn)是:數(shù)據(jù)不保存在計(jì)算機(jī)中。需要時(shí)把數(shù)據(jù)輸入,用完就撤走;沒有系

2、統(tǒng)管理數(shù)據(jù);數(shù)據(jù)的組織方式必須由程序員自行設(shè)計(jì);數(shù)據(jù)是面向應(yīng)用的。一組數(shù)據(jù)只對(duì)應(yīng)于一個(gè)程序。文件系統(tǒng)階段:從 50 年代后期到 60 年代中期,計(jì)算機(jī)不僅用于科學(xué)計(jì)算,還用于信息管理。計(jì)算機(jī)的硬件、都有了很大發(fā)展:有了磁盤、磁鼓等直接存取的設(shè)備;有了操作系統(tǒng),其中有專門管理數(shù)據(jù)的文件系統(tǒng)。文件系統(tǒng)管理階段特點(diǎn):數(shù)據(jù)存在文件中,文件可長(zhǎng)期保存在外器當(dāng)中。程序和程序有了一定的獨(dú)立性。由于有了管理數(shù)據(jù)的操作系統(tǒng),文件的邏輯結(jié)構(gòu)與結(jié)構(gòu)由系統(tǒng)進(jìn)行轉(zhuǎn)換。數(shù)據(jù)在上的改變不一定反映到程序上。文件已經(jīng)多樣化。索引文件、文件、直接存取文件。數(shù)據(jù)的存取基本上以為。數(shù)據(jù)冗余大。一個(gè)數(shù)據(jù)文件只能對(duì)應(yīng)一個(gè)程序員的一個(gè)或幾

3、個(gè)程序,不能實(shí)現(xiàn)與其他程序員所編寫程序的共享。數(shù)據(jù)和程序缺乏獨(dú)立性,文件為特定程序服務(wù)。數(shù)據(jù)庫(kù)管理階段:20 世紀(jì) 60 年代末,發(fā)生了對(duì)數(shù)據(jù)庫(kù)技術(shù)起著奠定作用的 3 件大事 ,標(biāo)志著數(shù)據(jù)管理進(jìn)入新時(shí)代數(shù)據(jù)庫(kù)系統(tǒng)階段。1968 年1969 年1970 年IBM 公司推出了世界上第一個(gè)基于層次模型的大型數(shù)據(jù)庫(kù)管理系統(tǒng)IMS。數(shù)據(jù)系統(tǒng)語(yǔ)言研究會(huì)下屬的數(shù)據(jù)庫(kù)任務(wù)組提出了基于網(wǎng)狀模型的DBTG 系統(tǒng)。IBM 公司的高級(jí)研究員E.F.Code 提出了關(guān)系數(shù)據(jù)模型。1.3 概念模型與數(shù)據(jù)模型一、概念模型1、實(shí)體(entity)客觀事物在信息世界中稱為實(shí)體。實(shí)體可以是具體的,如一個(gè)學(xué)生,一本書,也可以是抽象

4、的事件,如一些足球比賽。實(shí)體用類型(Type)和值(Value)表示,例如學(xué)生是一個(gè)實(shí)體,而具體的學(xué)生2、屬性(Attribute)實(shí)體有許多特性,每一特性在信息世界中都稱為屬性。、是實(shí)體值。數(shù)據(jù)處理是指對(duì)各種類型的數(shù)據(jù)進(jìn)行收集、分類、計(jì)算、加工、檢索和傳輸?shù)倪^程。數(shù)據(jù)處理的目的就是根據(jù)人們的需要,從大量的數(shù)據(jù)中抽取出對(duì)于特定的人們來(lái)說(shuō)是有意義、有價(jià)值的數(shù)據(jù),借以作為決策和行動(dòng)的依據(jù)。信息=數(shù)據(jù)+數(shù)據(jù)處理每個(gè)屬性都有一個(gè)值,值的類型可以是整數(shù)、實(shí)數(shù)或字符型。屬性用類型和值表示,例如學(xué)號(hào)、是屬性的類型,而具體的數(shù)值 870101、19 是屬性值。3、域()概念模型中,每一個(gè)實(shí)體在它的屬性取值上都

5、是有限的。一個(gè)屬性的取值范圍就是這個(gè)屬性的域()。例如:學(xué)號(hào)的域是 6 位整數(shù)。實(shí)體型(Entity Type)的域是 4 個(gè)漢字組成的字符串。實(shí)體名及其所有屬性名的集合稱為實(shí)體型(Entity Type)。例如:學(xué)生(學(xué)號(hào),關(guān)鍵字或碼(Key),系院編碼,成績(jī))是一個(gè)實(shí)體型。在一個(gè)實(shí)體集中,根據(jù)一個(gè)或幾個(gè)屬性的值可唯一的確定實(shí)體。這一個(gè)或多個(gè)屬性就成為關(guān)鍵字或碼(Key)。實(shí)體之間的聯(lián)系一對(duì)一聯(lián)系(1:1)一對(duì)多聯(lián)系(1:n)多對(duì)一聯(lián)系(n:1)多對(duì)多聯(lián)系(m:n)一對(duì)一聯(lián)系(1:1)對(duì)實(shí)體集 A 中的每一個(gè)實(shí)體,若實(shí)體集 B 中只有一個(gè)實(shí)體與之聯(lián)系,反之亦然,則稱實(shí)體集 A 與 B 是一對(duì)

6、一聯(lián)系的。例如院中觀眾與座位之間、乘客旅客與車票之間、與病床之間都是一對(duì)一聯(lián)系。一對(duì)多聯(lián)系(1:n)對(duì)A 中的每個(gè)實(shí)體,若B 中可有多個(gè)實(shí)體與之聯(lián)系;但對(duì)B 中的每一實(shí)體,A 中只有一個(gè)實(shí)體與之聯(lián)系,則稱A 與B 是一對(duì)多聯(lián)系。多對(duì)一聯(lián)系(n:1)對(duì)B 中的每個(gè)實(shí)體,若A 中可有多個(gè)實(shí)體與之聯(lián)系;但對(duì)A 中的每一實(shí)體,B 中只有一個(gè)實(shí)體與之聯(lián)系,則稱A 與B 是一對(duì)多聯(lián)系。多對(duì)多聯(lián)系(m:n)對(duì)A 中每一實(shí)體,若B 中可有多個(gè)實(shí)體與之聯(lián)系,反之亦然,則成A 與B 是多對(duì)多聯(lián)系。例如:籃球比賽中,球隊(duì)與場(chǎng)上隊(duì)長(zhǎng)之間具有一對(duì)一的聯(lián)系;隊(duì)長(zhǎng)與隊(duì)員之間具有一對(duì)多的聯(lián)系;隊(duì)員與裁判之間為多對(duì)多的聯(lián)系。概

7、念模型的表示(E-R 模型 )概念模型的常用表示方法是實(shí)體-聯(lián)系(Entity-Relationship Approach),即 E-R 模型。它是由 P.P.Chen 于 1976 年首先提出來(lái)的。 在E-R 圖中,其成分是實(shí)體集、屬性和聯(lián)系集。用長(zhǎng)方形表示實(shí)體。橢圓形表示屬性,并用無(wú)向邊把實(shí)體與其屬性連接起來(lái)。菱形表示實(shí)體間的聯(lián)系,用無(wú)向邊把菱形與有關(guān)實(shí)體連接起來(lái)并在無(wú)向邊旁標(biāo)上聯(lián)系的類型,1:1 或 1:n 或 n:1 或 m:n;若聯(lián)系具有屬性,則也把屬性與菱形用無(wú)向邊連接。二、數(shù)據(jù)模型及其結(jié)構(gòu)(重點(diǎn))數(shù)據(jù)模型描述了數(shù)據(jù)庫(kù)中的數(shù)據(jù)內(nèi)容及其,體現(xiàn)了數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)。不同的數(shù)據(jù)模型就是用不

8、同的數(shù)據(jù)組織形式來(lái)表達(dá)實(shí)體及其聯(lián)系。1.層次模型(一對(duì)一、一對(duì)多)層次模型是一種樹結(jié)構(gòu)模型,它把數(shù)據(jù)按自然的層次關(guān)系組織起來(lái),以反映數(shù)據(jù)之間的隸屬關(guān)系。層次模型是數(shù)據(jù)庫(kù)技術(shù)中發(fā)展最早、技術(shù)上比較成2.網(wǎng)狀模型(多對(duì)一、多對(duì)多)一種數(shù)據(jù)模型。若一個(gè)基本層次聯(lián)系集合中,至少有一個(gè)結(jié)點(diǎn)且有一個(gè)以上的父結(jié)點(diǎn),則這種數(shù)據(jù)模型是網(wǎng)狀模型。3.關(guān)系模型關(guān)系模型是用二維表格數(shù)據(jù)來(lái)表示實(shí)體及實(shí)體之間聯(lián)系的模型。一個(gè)表就是一個(gè)關(guān)系。一張表格中的一列稱為一個(gè)“屬性”,相當(dāng)于關(guān)系表中的一個(gè)數(shù)據(jù)項(xiàng)(或稱為字段),屬性的取值范圍稱為域。涉及關(guān)系模型的幾個(gè)基本概念: 元組:表中的一行稱為一個(gè)元組。屬性和屬性名:表中每一列稱

9、為一個(gè)屬性。每個(gè)屬性都有一個(gè)屬性名。分量:一個(gè)元組在一個(gè)屬性上的值稱為該元組在此屬性上的分量。關(guān)系模型對(duì)二維表有以下的約束:每一列是不能再分的最小基本項(xiàng)。每一列不能有兩個(gè)屬性具有相同的屬性名。各行必須不同,即不允許重復(fù)的元組。行(元組)、列(屬性)間次序無(wú)關(guān)。1.4 數(shù)據(jù)庫(kù)系統(tǒng)1、數(shù)據(jù)庫(kù):長(zhǎng)期在計(jì)算機(jī)內(nèi)的、有結(jié)構(gòu)的、大量的、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫(kù)管理系統(tǒng):為了方便數(shù)據(jù)庫(kù)的建立、運(yùn)用和數(shù)據(jù)庫(kù)管理系統(tǒng)生成數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)系統(tǒng) :基于數(shù)據(jù)庫(kù)的計(jì)算機(jī)應(yīng)用系統(tǒng)。,人們研制的一種數(shù)據(jù)管理。主要包括:計(jì)算機(jī)硬件、操作系統(tǒng)、數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)和建立在該數(shù)據(jù)庫(kù)之上的相關(guān)管理員和用戶等部分。、數(shù)據(jù)庫(kù)2、數(shù)據(jù)庫(kù)

10、系統(tǒng)的組成數(shù)據(jù)、用戶(數(shù)據(jù)庫(kù)管理員、系統(tǒng)分析員、應(yīng)用程序員、終端用戶)3、1.數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)2.支持 DBMS 運(yùn)行的操作系統(tǒng) 3.應(yīng)用開發(fā)工具 4.為特定應(yīng)用開發(fā)的數(shù)據(jù)庫(kù)應(yīng)用;硬件4、數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)數(shù)據(jù)共享性、數(shù)據(jù)獨(dú)立性、減少數(shù)據(jù)冗余度、數(shù)據(jù)的一致性。5、數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)從數(shù)據(jù)庫(kù)管理系統(tǒng)的角度看,數(shù)據(jù)庫(kù)系統(tǒng)通常采用三級(jí)模式結(jié)構(gòu)。外模式、概念模式和內(nèi)模式(參考1.5 關(guān)系數(shù)據(jù)庫(kù)) 區(qū)別1.5.1 關(guān)系數(shù)據(jù)庫(kù)的發(fā)展 1.5.2 關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)及產(chǎn)品(參考關(guān)系的碼)1、候選碼:能唯一表示關(guān)系中元組的一個(gè)屬性或?qū)傩约?。也稱候選關(guān)鍵字。如:“學(xué)生關(guān)系”中學(xué)號(hào)能唯一標(biāo)識(shí)每個(gè)學(xué)生

11、,則屬性“學(xué)號(hào)”是學(xué)生關(guān)系的候選碼。 主碼(Primary Key):如果一個(gè)關(guān)系中有多個(gè)候選碼,可以從中選擇一個(gè)作為查詢、作變量,被選中的候選碼稱為主關(guān)系碼,或簡(jiǎn)稱主碼、主鍵、主關(guān)鍵字等。每個(gè)關(guān)系必須由且僅有一個(gè)主碼?;騽h除元組的操假設(shè)在學(xué)生關(guān)系中沒有重名的學(xué)生,則“學(xué)號(hào)”和“”都可作為學(xué)生關(guān)系的候選碼。如果選定“學(xué)號(hào)”作為數(shù)據(jù)操作的依據(jù),則“學(xué)號(hào)”為主碼。如果選定“”作為數(shù)據(jù)操作的依據(jù),則“”為主碼。設(shè) F 是基本關(guān)系 R 的一個(gè)或一組屬性,但不是關(guān)系R 的主碼(或候選碼),如果 F 與基本關(guān)系 S 的主碼K相對(duì)應(yīng),則稱F 是基本關(guān)系R 的外部關(guān)系碼,可簡(jiǎn)稱外碼;“學(xué)生數(shù)據(jù)庫(kù)”中有“學(xué)生”

12、和“系院”兩個(gè)關(guān)系,其關(guān)系模式如下:學(xué)生(學(xué)號(hào)、系院編碼)假設(shè)“學(xué)號(hào)”為主碼系院(系院編碼,系院名稱、)假設(shè)“系院編碼”為主碼學(xué)生關(guān)系中的“系院編碼”為外碼。2、關(guān)系模型概述關(guān)系模型由關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合和完整性約束三部分組成。關(guān)系數(shù)據(jù)結(jié)構(gòu)關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)非常單一。在用戶看來(lái),關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)就是一張二維的表。關(guān)系操作集合常用的關(guān)系操作包括兩大類:查詢操作選擇、投影、連接、除、并、交、差等 。更新操作增加、刪除、修改等。用于描述關(guān)系操作的關(guān)系數(shù)據(jù)語(yǔ)言分為三類:關(guān)系代數(shù)語(yǔ)言關(guān)系演算語(yǔ)言介于關(guān)系代數(shù)和關(guān)系演算之間的語(yǔ)言(SQL)(重要)3. 完整性約束,三類完整性:實(shí)體完整性、參照

13、完整性和用戶定義的完整性。其中實(shí)體完整性和參照完整性是關(guān)系模型必須滿足的完整性約束條件。用戶定義的完整性是應(yīng)用領(lǐng)域需要遵循的條件,體現(xiàn)在具體領(lǐng)域中的語(yǔ)義約束。實(shí)體完整性:若屬性A 是基本關(guān)系R 的主屬性,則屬性 A 不能取空值。如:在學(xué)生表里,由于“學(xué)號(hào)”是基本關(guān)系的主屬性,則“學(xué)號(hào)”值不能為空值,學(xué)生的其他屬性可以是空值。參照完整性:若屬性(屬性組)F 是基本關(guān)系R 的外碼,它與基本關(guān)系S 的主碼K 相對(duì)應(yīng),則對(duì)于R 中每個(gè)元組在F 上的值必須為:或者取空值;或者等于S 中某個(gè)元組的主碼值。例如,學(xué)生關(guān)系中的“系院編碼”為外碼;那么依照參照完整性規(guī)則,在學(xué)生關(guān)系中,某一個(gè)學(xué)生“系院編碼”要么

14、取空值,表示該學(xué)生未被分配到指定系;要么等于系院關(guān)系中某個(gè)元組的“系院編碼”,表示該學(xué)生隸屬于指定系。用戶定義的完整性例如:在學(xué)生關(guān)系中,學(xué)生 分量的取值范圍應(yīng)該限定在 1830 歲等。1.(會(huì)計(jì)算結(jié)果)定義 1.1 給定一組域 D1,D2,Dn,這些域中可以有相同的。D1,D2,Dn 的積為:D1D2Dn(d1,d2,dn)di Di,i1,2,n。所有域的所有取值的一個(gè)組合不能重復(fù)。例如:給出三個(gè)域:D1= 男,女 (集合)D2=專業(yè)=計(jì)算機(jī)專業(yè),信息專業(yè)(專業(yè)集合)D3=,(集合)則 D1,D2,D3 的(男,計(jì)算機(jī)專業(yè),(男,計(jì)算機(jī)專業(yè), (男,信息專業(yè),(女,計(jì)算機(jī)專業(yè), (女,計(jì)算

15、機(jī)專業(yè),(女,信息專業(yè),積為: D1D2D3 ),(男,計(jì)算機(jī)專業(yè),),),(男,信息專業(yè),),(男,信息專業(yè),),(女,計(jì)算機(jī)專業(yè),),(女,信息專業(yè),),(女,信息專業(yè),),),),),) 附加:該2.關(guān)系的定義定義 1.2D2,Dn)積的基數(shù)為 223=12 個(gè)元組積 D1D2Dn 的任一子集成為在域 D1,D2,Dn 上的關(guān)系,表示為 R(D1,這里R 表示關(guān)系的名字,n 表示關(guān)系的目或度(Degree),當(dāng) n=1 時(shí)稱為一元關(guān)系,當(dāng)n=2 時(shí)成為二元關(guān)系。例如:R=(男,計(jì)算機(jī)專業(yè),),(男,計(jì)算機(jī)專業(yè),)一個(gè)關(guān)系3.關(guān)系模式定義 1.3關(guān)系模式可以形式化地表示為 R(U,D,do

16、m,F(xiàn)) (了解)其中,R 為關(guān)系名,U 為組成關(guān)系的屬性名的集合,D 為屬性組U 中屬性所來(lái)自的域,dom 為屬性和域之間的映像集合,F(xiàn) 為關(guān)系中屬性間數(shù)據(jù)的依賴關(guān)系集合。關(guān)系模式一般可簡(jiǎn)寫為 R(U)或R(A1,A2,An)其中,R 為關(guān)系名,A1,A2,An 為屬性名(i=1,2,n)。而明為屬性的類型、長(zhǎng)度。及屬性向域的映像常常直接說(shuō)例如:學(xué)生(學(xué)號(hào)、4.關(guān)系數(shù)據(jù)庫(kù)、系院編碼)系院(系院編碼,系院名稱、)通常關(guān)系數(shù)據(jù)庫(kù)模式與關(guān)系數(shù)據(jù)庫(kù)的值統(tǒng)稱為關(guān)系數(shù)據(jù)庫(kù)。關(guān)系模式:學(xué)生(學(xué)號(hào),籍貫,專業(yè))與學(xué)生關(guān)系模式對(duì)應(yīng)數(shù)據(jù)庫(kù)的實(shí)例1.5.6 關(guān)系代數(shù)關(guān)系代數(shù)的運(yùn)算符有四種類型:集合運(yùn)算符、專門運(yùn)算

17、符、比較運(yùn)算符、邏輯運(yùn)算符。1.集合運(yùn)算符關(guān)系的集合運(yùn)算要求參加運(yùn)算的關(guān)系必須具有相同的目(即關(guān)系的屬性個(gè)數(shù)相同),且相應(yīng)屬性取自同一個(gè)域。(1)并(Union)設(shè)關(guān)系 R 和關(guān)系 S 具有相同的目 n(即兩個(gè)關(guān)系都有 n 個(gè)屬性),且相應(yīng)的屬性取自同一個(gè)域,則關(guān)系 R比較運(yùn)算符邏輯運(yùn)算符集合運(yùn)算符專門運(yùn)算符與關(guān)系S 的并由屬于R 或?qū)儆赟 的元組組成。其結(jié)果關(guān)系仍為n 目關(guān)系。記作: RS=t | tRtS(2)交( ersection)設(shè)關(guān)系R 和關(guān)系S 具有相同的目n,且相應(yīng)的屬性取自同一個(gè)域,則關(guān)系 R 與關(guān)系S 的交由既屬于R 又屬于S 的元組組成。其結(jié)果關(guān)系仍為n 目關(guān)系。記作:R

18、S=t | tRtS(3)差(Difference)設(shè)關(guān)系R 和關(guān)系S 具有相同的目n,且相應(yīng)的屬性取自同一個(gè)域,則關(guān)系 R 與關(guān)系S 的差由屬于R 而不屬于S 的所有元組組成。其結(jié)果關(guān)系仍為n 目關(guān)系。記作:RS=t | tRtS2. 專門的關(guān)系運(yùn)算專門的關(guān)系運(yùn)算包括廣義積、選擇、投影、連接和除運(yùn)算。(1)廣義積兩個(gè)分別為 n 元和 m 元的關(guān)系 R 和 S 的廣義積 RS 是一個(gè) (nm)元組的集合。元組的前 n 個(gè)分量是R 的一個(gè)元組,后m 個(gè)分量是S 的一個(gè)元組。記為RS 。例.兩個(gè)成績(jī)文件如下表所示(參考)成績(jī) 1成績(jī) 2 運(yùn)算結(jié)果 :(成績(jī) 1-成績(jī) 2)運(yùn)算結(jié)果(成績(jī) 2-成績(jī)

19、1)運(yùn)算結(jié)果例. 設(shè)某公司有兩個(gè)子公司,其營(yíng)業(yè)庫(kù)如下表所示:現(xiàn)欲對(duì)全公司營(yíng)業(yè)情況進(jìn)行統(tǒng)計(jì),即求營(yíng)業(yè)庫(kù)營(yíng)業(yè)庫(kù) 1營(yíng)業(yè)庫(kù) 2。結(jié)果如下表所示:(2)選擇運(yùn)算選擇又稱為限制。它是在關(guān)系R 中選擇滿足給定條件的諸元組,記作: F(R) = t | tR F(t)=真。其中F 表示選擇條件,它是一個(gè)邏輯表達(dá)式,取邏輯值真或假。選擇運(yùn)算是一種橫向的操作。例.假設(shè)有營(yíng)業(yè)表所示關(guān)系(假設(shè)名稱為營(yíng)業(yè)庫(kù)),如欲求公司中所有單價(jià)不少于 5 元的商品的情況(包括子公司代碼,品名,數(shù)字和單價(jià)),求關(guān)系代數(shù)式。關(guān)系代數(shù)式為: 單價(jià)5(營(yíng)業(yè)庫(kù))單價(jià)5(營(yíng)業(yè)庫(kù))運(yùn)算結(jié)果:(3)投影運(yùn)算關(guān)系R 上的投影是從R 中選擇出若干屬性

20、列組成新的關(guān)系。記作: A(R) = tA | tR 。其中A 為R 中的屬性列。投影運(yùn)算是一種縱向的操作。例.假設(shè)有營(yíng)業(yè)表所示“營(yíng)業(yè)庫(kù)”關(guān)系,欲求所有商品數(shù)量情況,要求取式及結(jié)果。關(guān)系運(yùn)算式為:品名,數(shù)量(營(yíng)業(yè)庫(kù))品名,數(shù)量(營(yíng)業(yè)庫(kù))運(yùn)算結(jié)果:名和數(shù)量?jī)闪校箨P(guān)系運(yùn)算(4)連接運(yùn)算連接也稱為連接。它是從兩個(gè)關(guān)系的積中選取屬性間滿足一定條件的元組。記作:提示:在投影后如出現(xiàn)重復(fù)元組,應(yīng)只保留一個(gè)。其中A 和B 分別為R 和S 上度數(shù)相等且可比的屬性組。是比較運(yùn)算符。連接運(yùn)算從 R 和S 的足比較關(guān)系的元組。積 RS 中選?。≧ 關(guān)系)在A 屬性組上的值與(S 關(guān)系)在B 屬性組上值滿可實(shí)現(xiàn)兩個(gè)

21、關(guān)系的橫向合并。連接運(yùn)算中有兩種最為重要也最為常用的連接,一種是等值連接(equi-join),另一種是自然連接(Natural join)。等值連接等值連接是為“”的連接運(yùn)算。它是從關(guān)系 R 與 S 的等值連接為:積中選取 A、B 屬性值相等的那些元組。即自然連接自然連接是一種特殊的等值連接,它要求兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同的屬性組,并且要在結(jié)果中把重復(fù)的屬性去掉。即若R 和S 具有相同的屬性組B,則自然連接可記作:關(guān)系 R 與 S 的自然連接運(yùn)算第二章SQL 語(yǔ)言的發(fā)展過程基本特點(diǎn)數(shù)據(jù)定義語(yǔ)言(DDL),數(shù)據(jù)重點(diǎn)介紹數(shù)據(jù)查詢語(yǔ)言語(yǔ)言(DML)和數(shù)據(jù)控制語(yǔ)言(DCL)例.關(guān)系 R 和

22、 S 如下,求 R(A=C)S 。關(guān)系 R關(guān)系 SR(A=C)S 結(jié)果:*SQL 特點(diǎn):1.功能SQL 包括數(shù)據(jù)定義、數(shù)據(jù)查詢、數(shù)據(jù)和數(shù)據(jù)控制的功能。2.高度非過程化它沒有必要告訴計(jì)算機(jī)“如何”去做,而只需要描述清楚用戶“要做什么”,系統(tǒng)會(huì)自動(dòng)完成。3.語(yǔ)言簡(jiǎn)潔只用 7 個(gè)動(dòng)詞(select , drop, alter, create, insert, update ,delete)就實(shí)現(xiàn)了 SQL 的SQL 使用的動(dòng)詞功能 。4.語(yǔ)法結(jié)構(gòu)SQL 語(yǔ)言有兩種使用方式:自含式和。自含式直接以命令方式交互使用,獨(dú)立地以聯(lián)機(jī)交互式使用;以嵌入到程序的方式使用,可以嵌入到某種高級(jí)程序設(shè)計(jì)語(yǔ)言中使用。5

23、.面向集合的操作方式SQL 所作用的對(duì)象、作用后所得的結(jié)果都可以是元組的集合。SQL 的基本概念模式是數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述。數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)是指數(shù)據(jù)庫(kù)系統(tǒng)由外模式、模式和內(nèi)模式這三級(jí)。SQL 的功能:數(shù)據(jù)定義、數(shù)據(jù)查詢、數(shù)據(jù)、數(shù)據(jù)控制。SQL 的數(shù)據(jù)定義功能包括對(duì)基本表、視圖和索引的定義,即對(duì)表的創(chuàng)建、刪除和修改,以及對(duì)視圖和索引的創(chuàng)建和刪除 。創(chuàng)建數(shù)據(jù)庫(kù)要對(duì)數(shù)據(jù)庫(kù)模式進(jìn)行操作,首先要建立相應(yīng)的數(shù)據(jù)庫(kù),并把它作為一個(gè)文件存放在磁盤上?,F(xiàn)代的數(shù)據(jù)庫(kù)管理系統(tǒng)都提供圖形用戶界面,可以通過點(diǎn)擊菜單完成。使用 SQL 語(yǔ)句建立數(shù)據(jù)庫(kù)的一般格式為:CREATE DATABASE

24、數(shù)據(jù)庫(kù)名參數(shù)僅要求掌握參數(shù)省略的情況,即CREATE DATABASE 數(shù)據(jù)庫(kù)名刪除數(shù)據(jù)庫(kù)如果所建立的數(shù)據(jù)庫(kù)不再需要時(shí),可以對(duì)此數(shù)據(jù)庫(kù)進(jìn)行刪除,刪除數(shù)據(jù)庫(kù)的一般格式為:DROP DATABASE 數(shù)據(jù)庫(kù)名例. 創(chuàng)建一個(gè)名稱為“STUDENTMASS”的學(xué)生-社團(tuán)數(shù)據(jù)庫(kù)。SQL 語(yǔ)句為:CREATE DATABASE STUDENTMASS提示:本章中所舉例子均為基于 STUDENTMASS 數(shù)據(jù)庫(kù),假設(shè) STUDENTMASS 為管理學(xué)生參加社團(tuán)活動(dòng)的有關(guān)信息的數(shù)據(jù)庫(kù)。創(chuàng)建、刪除和修改基本表基本表是數(shù)據(jù)庫(kù)中中創(chuàng)建基本表。常用數(shù)據(jù)類型數(shù)據(jù)的最基本的對(duì)象,是數(shù)據(jù)庫(kù)的一個(gè)重要組成部分。建立數(shù)據(jù)庫(kù)后可

25、以在其提示:字符串使用一對(duì)單引號(hào) 來(lái)表示,例如數(shù)據(jù)庫(kù)、表等。不同的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)所支持的數(shù)據(jù)類型不完全相同。1. 創(chuàng)建基本表其一般格式為:CREATE TABLE (列級(jí)完整性約束條件 ,列級(jí)完整性約束條件,);列級(jí)完整性約束僅作用在該列上,表級(jí)完整性約束作用在整個(gè)表上。例.建立一個(gè)學(xué)生表Student,它有五個(gè)屬性:學(xué)號(hào)(Sno)(Sname)(Ssex)(Sage)、所在系(Sdept)、年級(jí)(Sgrade)。其中學(xué)生的學(xué)號(hào)不能為空,并且值是唯一的。學(xué)號(hào)為該表的主鍵。學(xué)生的CREATE TABLE Student也不允許為空。(Sno CHAR(5) NOT NULIQUE,Sname C

26、HAR(20) UNIQUE,Ssex SageSdeptCHAR(1),CHAR(5),Sgrade CHAR(5), PRIMARY KEY(Sno);在這里由于學(xué)號(hào)屬性已經(jīng)定義為主鍵,因此該屬性的完整性約束條件“NOT NULL”也可以省略。例.定義兩個(gè)關(guān)系Massa 和 SM, Massa 是學(xué)校社團(tuán)活動(dòng)的表,它有 3 個(gè)屬性:社團(tuán)活動(dòng)Mno,社團(tuán)活動(dòng)名稱 Mname,參加該社團(tuán)活動(dòng)的人數(shù) Mnum。其中社團(tuán)活動(dòng)為主鍵;SM 是學(xué)生參加社團(tuán)活動(dòng)情況的表,它也有 3 個(gè)屬性:學(xué)生學(xué)號(hào)Sno,活動(dòng)Mno,在該社團(tuán)中擔(dān)任的職務(wù)Duty,主鍵為(Sno,Mno)。(1)創(chuàng)建學(xué)校社團(tuán)活動(dòng)表CRE

27、ATE TABLE Massa(Mno CHAR(5) NOT NULL,Mname CHAR(20) NOT NULL,Mnum,PRIMARY KEY(Mno);2)創(chuàng)建關(guān)系SM CREATE TABLE SM(Sno CHAR(5) NOT NULL, Mno CHAR(5) NOT NULL,Duty CHAR(20),PRIMARY KEY(Sno,Mno), FOREIGN KEY(Sno) REFEREN FOREIGN KEY(Mno) REFEREN2. 修改基本表一般格式為:ALTER TABLE Student(Sno),Massa(Mno);ADD 完整性約束 DROP

28、 MODIFY;ADD 子句用于增加新列和新的完整性約束條件。 DROP 子句用于刪除指定的完整性約束條件。(了解) MODIFY 子句用于修改原有的列名和數(shù)據(jù)類型。例.在社團(tuán)活動(dòng)表Massa 中增加該社團(tuán)名字列,列名為L(zhǎng)eader。ALTER TABLE MassaADD Leader CHAR(20);如果要?jiǎng)h除基本表中的某列,則其句法如下:ALTER TABLE DROP CASCADE| RESTRICT ;CASCADE| RESTRICT為列的刪除方式。 CASCADE 方式表示在基本表中刪除列時(shí),所有該列的視圖或完整性約束均一起自動(dòng)刪除;RESTRICT 方式表示只有當(dāng)沒有視圖或

29、完整性約束時(shí)該列才能被刪除,否則刪除操作。例.將學(xué)生表Student 中的年級(jí)Sgrade 列刪除,并將該列的所有視圖和約束一起刪除。ALTER TABLE Student DROP Sgrade CASCADE;例.將學(xué)生表Student 中Sage 的數(shù)據(jù)類型改成短整型。ALTER TABLE StudentMODIFY Sage SMALL3. 刪除基本表;一般格式為:DROP TABLE CASCADE| RESTRICT;例.刪除基本表 SM。但是要求只有在沒有視圖或約束條件 DROP TABLE SM RESTRICT;2.3 SQL 數(shù)據(jù)查詢?cè)摫淼膶傩詴r(shí)才能刪除,否則刪除操作。數(shù)

30、據(jù)庫(kù)的操作就是進(jìn)行數(shù)據(jù)查詢。數(shù)據(jù)查詢就是根據(jù)用戶的需要,以一種可讀的方式從數(shù)據(jù)庫(kù)中提取所需要的數(shù)據(jù)。2.3.1 SELECT 命令的一般格式說(shuō)明一般格式為:SELECT ALL| DISTINCT , FROM , WHERE GROUP BY HAVING ORDER BY ASC| DESC ;SELECT 子句指明要查詢的項(xiàng)目。ALL| DISTINCT為目標(biāo)屬性, 使用ALL 來(lái)顯示表中符合條件的所有行,默認(rèn)為ALL;使用DISTINCT 選項(xiàng)時(shí),刪除重復(fù)的數(shù)據(jù)行。FROM 子句指明被查詢的基本表或視圖,它們之間用逗號(hào)隔開。WHERE 子句指明查詢的條件。WHERE 子句可以過濾掉不需

31、要的數(shù)據(jù)行,用來(lái)查詢滿足指定條件的元組。 GROUP BY 子句指明如何將查詢結(jié)果進(jìn)行分組。使用GROUP BY 子句將查詢結(jié)果按某一列或多列值分組,值相等的為一組。如果GROUP 子句帶HAVING 短語(yǔ),則只有滿足指定的組才給以輸出。 ORDER BY 子句指明查詢結(jié)果如何排序。使用ORDER BY 子句對(duì)查詢返回的結(jié)果按一列或多列排序。其中ASC 表示升序,為默認(rèn)值,DESC 為降序。實(shí)例基于學(xué)生-社團(tuán)數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)中包含三個(gè)基本表:Student 表、Massa 表和 SM 表,這三個(gè)表就是面例題中定義過的。假設(shè)該數(shù)據(jù)庫(kù)中具有部分?jǐn)?shù)據(jù)。(參考2.3.2 簡(jiǎn)單查詢)單表查詢是相對(duì)多表查

32、詢而言的,指從一個(gè)數(shù)據(jù)表中查詢數(shù)據(jù)。因?yàn)閱伪聿樵儾簧婕岸鄠€(gè)基本表的連接查詢和嵌套查詢等復(fù)雜的情況,所以也稱之為簡(jiǎn)單查詢。1. 使用SELECT-FROM 子句查詢例. 查詢學(xué)生表中所有學(xué)生的學(xué)號(hào)、 SELECT Sno,Sname,Sage FROM Student;例. 查詢所有的社團(tuán)名稱。SELECT Mname及。FROM Mass星號(hào)(*)功能a;除了可以查詢部分列之外還可以查詢?nèi)苛?。查詢?nèi)苛械姆椒ㄓ袃煞N可供選擇:一種就是在 SELECT子句后列出全部的列名,另一種就是簡(jiǎn)單地在SELECT 子句后寫一個(gè)星號(hào)(*)。例. 查詢學(xué)生參加社團(tuán)的所有情況。解一 SELECT Sno,Dut

33、y,Mno FROM SM;解二 SELECT *FROM SM;例. 列出所有參加了社團(tuán)的學(xué)生的學(xué)號(hào)。SELECT SnoFROM SM;如何去掉學(xué)生學(xué)號(hào)的重復(fù)行?SELECT DISTINCT Sno FROM SM;在查詢時(shí),如果查詢的信息是需要經(jīng)過對(duì)某列進(jìn)行計(jì)算轉(zhuǎn)換的,則可以在此列寫出它的計(jì)算表達(dá)式。SELECT 子句中可以是列名、常量、函數(shù)或表達(dá)式。例. 查詢所有的社團(tuán)及名稱。SELECT Mno,社團(tuán)名為:,Mname FROM Massa;是函數(shù)與計(jì)算表達(dá)式例.查詢所有學(xué)生的學(xué)號(hào)及其出生年份和所在系別,要求學(xué)生所在系用小寫字母表示出來(lái)。SELECT Sno,2006-Sage,

34、BirthYear,ISLOWER(Sdept) FROM Student;字符串連接 “+”例.查詢每個(gè)社團(tuán)的及其名稱,但每個(gè)社團(tuán)名后都帶上“”兩字。SELECT Mno,Mname+ 社團(tuán)名稱FROM Massa;“+”表示字符串連接,該運(yùn)算可以把兩個(gè)字符串連接成一個(gè)字符串。2. 使用WHERE 子句指定查詢條件 WHERE 子句的主要功能就是對(duì)行的選擇 WHERE 子句常用的查詢條件運(yùn)算符例.查詢學(xué)生SELECT *大于 20 的數(shù)據(jù).FROM Student WHERE Sage20 ;WHERE 子句常用的查詢條件運(yùn)算符比較運(yùn)算符、=、=、=、!、! =、!比較運(yùn)算符主要用來(lái)在WHE

35、RE 子句中比較兩個(gè)值的大小。范圍運(yùn)算符BETN AND、NOT BETN AND范圍運(yùn)算符用來(lái)判斷表達(dá)式的值是否在(不在)指定的范圍內(nèi)。例.查詢參加人數(shù)在 100 人到 200 人之間的社團(tuán)名稱及具體人數(shù)。SELECT Mname,MnumFROM MassaWHERE Mnum BET列表運(yùn)算符IN (項(xiàng) 1,項(xiàng) 2) 、NOT IN (項(xiàng) 1,項(xiàng) 2)N 100 AND 200;用于判斷表達(dá)式是否為列表中的指定項(xiàng)。模式匹配符(了解)LIKE、NOT LIKE常用于模糊查找,判斷列值是否與指定的字符串格式相匹配。例.查詢青年和游泳兩個(gè)社團(tuán)的參加人數(shù)情況。SELECT Mname,MnumF

36、ROM MassaWHERE Mname IN ( 青年可使用以下通配字符:,游泳 );百分號(hào)%:可匹配任意類型和長(zhǎng)度的字符。下劃線_:匹配單個(gè)任意字符,它常用來(lái)限制表達(dá)式的字符長(zhǎng)度。如果要表示中文字符,就要使用_ _,因?yàn)橐粋€(gè)漢字需要占兩個(gè)字符的位置。方括號(hào):指定一個(gè)字符、字符串或范圍,要求所匹配對(duì)象為它們中的任一個(gè)。:其取值也和 相同,但它要求所匹配對(duì)象為指定字符以外的任一個(gè)字符。例如:限制以Publishing 結(jié)尾,使用LIKE %Publishing;限制以A 開頭:LIKE A%;限制以A 開頭外:LIKE A%。例.查詢所有姓劉的學(xué)生的 SELECT Sname,Sage FRO

37、M StudentWHERE Sname LIKE 劉%;及。例.查詢學(xué)生是兩個(gè)字的學(xué)生的學(xué)號(hào)、及。SELECT Sno,Sname,Sage FROM StudentWHERE Sname LIKE ;通配符%或_如果所查詢的字符或字符串本身帶有通配符%或_,則要使用轉(zhuǎn)義符ESC對(duì)通配符進(jìn)行轉(zhuǎn)義。例.列出社團(tuán)名稱中帶有_的社團(tuán)Select Mno,Mname及名稱。From MassaWhere Mname LIKE %_% ESC空值判斷符(了解)IS NULL、NOT IS NULL可以用來(lái)判斷某個(gè)列值是否為空。例如:WHERE Sage IS NULL。邏輯運(yùn)算符;此類運(yùn)算符的優(yōu)先級(jí)為

38、:NOT、AND、OR;用戶可以使用括號(hào)改變它們的優(yōu)先級(jí);邏輯運(yùn)算符可以用來(lái)連接多個(gè)查詢條件。例.查詢計(jì)算機(jī)系的SELECT *FROM Student小于 20 歲的男同學(xué)的信息。WHERE Sdept=CS AND Sage2;5. 使用ORDER BY 子句對(duì)查詢結(jié)果排序使用ORDER BY 子句對(duì)查詢返回的結(jié)果按一列或多列排序。在該子句中的ASC 表示升序,為默認(rèn)值,DESC 為降序。 例.將所有學(xué)生的學(xué)號(hào)順序按降序排列。SELECT *FROM StudentORDER BY Sno DESC;例.將所有學(xué)生按從小到大排列。SELECT *FROM StudentORDER BY S

39、age ASC;2.3.3 多表查詢?cè)跀?shù)據(jù)庫(kù)使用中很多情況下許多數(shù)據(jù)的查詢要跨兩個(gè)或多個(gè)表進(jìn)行,這種查詢就稱為多表查詢。可以通過連接運(yùn)算符可以實(shí)現(xiàn)多個(gè)表查詢。連接是關(guān)系數(shù)據(jù)庫(kù)模型的主要特點(diǎn),也是它區(qū)別于其它類型數(shù)據(jù)庫(kù)管理系統(tǒng)的一個(gè)標(biāo)志。1. 連接查詢當(dāng)檢索數(shù)據(jù)時(shí),通過連接操作查詢出存放在多個(gè)表中的不同實(shí)體的信息。內(nèi)連接:使用比較運(yùn)算符進(jìn)行表間某(些)列數(shù)據(jù)的比較操作,并列出這些表中與連接條件相匹配的數(shù)據(jù)行。在連接查詢中用來(lái)連接兩個(gè)或多個(gè)表的條件稱為連接條件。一般格式為:. . 其中,主要的有:=,=,=,!=。例. 查詢每個(gè)學(xué)生和他(她)所參加的社團(tuán)的情況。分析:在本例中,每個(gè)學(xué)生的情況存放在

40、Student 表中,而學(xué)生參加社團(tuán)的情況卻存放在 SM 表中,所以要查詢學(xué)生及其參加社團(tuán)活動(dòng)的情況就涉及到學(xué)生表和社團(tuán)表兩個(gè)表的查詢。那么可以通過它們的 Sno 列實(shí)現(xiàn)連接查詢。由于兩個(gè)表中都有 Sno 列,為了避免則可以省略不寫。SELECT Student.*,SM.* FROM Student,SMWHERE Student.Sno= SM.Sno;面加上表名。如果列名在所查詢的表中唯一,在上面的結(jié)果表中,有一些重復(fù)的數(shù)據(jù),在實(shí)際的查詢中這樣的連接查詢的結(jié)果會(huì)產(chǎn)生冗余或沒有意義的元組,這時(shí)可以使用自然連接進(jìn)行查詢。在連接查詢中將結(jié)果表中重復(fù)的列去掉就為自然連接。例. 將上例用自然連接完

41、成。SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Sgrade,Mno,Duty FROM Student,SMWHERE Student. Sno= SM. Sno;這樣就在結(jié)果列中去掉了重復(fù)的列,僅有一列為學(xué)生的學(xué)號(hào)列。2. 自身連接 (了解)多表查詢不僅包括在兩個(gè)不同表之間的數(shù) 據(jù)查詢,還包括一個(gè)表進(jìn)行自身的連接查詢操作,稱為自身連接。在自身連接中,由于同一個(gè)基本表名在查詢語(yǔ)句中出現(xiàn)多次,為了區(qū)別表的每次出現(xiàn),需要為表定義一個(gè)別名。例. 查詢所有相同的學(xué)生的和。SELECT S1.Sname,S2.Sname,S1.Sage FROM Student S1,Student S2 WHERE S1.Sage= S2.SageAND S1.Sno S2.Sno2. 外連接內(nèi)連接查詢操作列出與連接條件匹配的數(shù)據(jù)行,它使用比較運(yùn)算符比較被

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論