Access數(shù)據(jù)庫及其應(yīng)用_第1頁
Access數(shù)據(jù)庫及其應(yīng)用_第2頁
Access數(shù)據(jù)庫及其應(yīng)用_第3頁
Access數(shù)據(jù)庫及其應(yīng)用_第4頁
Access數(shù)據(jù)庫及其應(yīng)用_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

.PAGE.>本課程主要講述:數(shù)據(jù)庫根本理論Access數(shù)據(jù)庫操作SQL數(shù)據(jù)庫查詢語句*VBA語言及模塊設(shè)計(jì)第一章數(shù)據(jù)庫根底知識(shí)講述容:1、數(shù)據(jù)管理開展史2、數(shù)據(jù)庫根本概念*3、數(shù)據(jù)庫四級(jí)構(gòu)造模型4、概念模型:E-R模型*5、邏輯模型:關(guān)系模式*6、關(guān)系運(yùn)算*7、數(shù)據(jù)規(guī)化:1NF,2NF,3NF*一、數(shù)據(jù)管理開展史1、人工管理階段計(jì)算機(jī)開展初期,主要用于科學(xué)計(jì)算,數(shù)據(jù)不獨(dú)立,完全依賴于程序,不能共享。2、文件管理階段數(shù)據(jù)以文件形式管理,數(shù)據(jù)無構(gòu)造化,共享性差。3、數(shù)據(jù)庫管理階段數(shù)據(jù)構(gòu)造化〔數(shù)據(jù)庫形式〕,出現(xiàn)多種數(shù)據(jù)庫管理系統(tǒng),共享性好。二、數(shù)據(jù)庫根本概念1、數(shù)據(jù)庫〔DB〕:計(jì)算機(jī)處理,構(gòu)造化,數(shù)據(jù)集合。2、數(shù)據(jù)庫管理系統(tǒng)〔DBMS〕:數(shù)據(jù)庫管理系統(tǒng)軟件,提供數(shù)據(jù)庫操作平臺(tái)。對(duì)數(shù)據(jù)庫可以建立,添加記錄,修改記錄,刪除、查詢、排序、連接等。常見系統(tǒng)VFP、ACCESS、SQLSERVER等。3、數(shù)據(jù)庫應(yīng)用系統(tǒng)〔DBAS〕:利用數(shù)據(jù)庫開發(fā)管理應(yīng)用軟件。4、數(shù)據(jù)庫系統(tǒng)〔DBS〕:和數(shù)據(jù)庫有關(guān)的所有系統(tǒng)總和,包括計(jì)算中硬件系統(tǒng)、軟件系統(tǒng)、數(shù)據(jù)庫、管理者、操作者、用戶。5、信息三個(gè)世界劃分:客觀世界信息世計(jì)算機(jī)世界研究實(shí)體對(duì)象,特性構(gòu)造化,形成不同的計(jì)算機(jī)存儲(chǔ)構(gòu)造實(shí)體之間聯(lián)系。數(shù)據(jù)模型,關(guān)系型、面向計(jì)算機(jī)E-R模型網(wǎng)狀、層次型。面向?qū)ο蟆哺拍钅P汀场策壿嬆P汀场参锢砟P汀吵S酶拍睿簩?shí)體、實(shí)體集、屬性、標(biāo)識(shí)符〉數(shù)據(jù)庫、表、字段、記錄、關(guān)鍵字。6.聯(lián)系在現(xiàn)實(shí)世界中,事物部以及事物之間是有聯(lián)系的,這些聯(lián)系同樣也要抽象和反映到信息世界中來,兩個(gè)實(shí)體型之間的聯(lián)系有如下三種類型:〔1〕一對(duì)一聯(lián)系〔1:1〕實(shí)體集A中的一個(gè)實(shí)體至多與實(shí)體集B中的一個(gè)實(shí)體相對(duì)應(yīng),反之亦然,則稱實(shí)體集A與實(shí)體集B為一對(duì)一的聯(lián)系。記作1:1。如:班級(jí)與班長(zhǎng),觀眾與座位,病人與床位?!?〕一對(duì)多聯(lián)系〔1:n〕實(shí)體集A中的一個(gè)實(shí)體與實(shí)體集B中的多個(gè)實(shí)體相對(duì)應(yīng),反之,實(shí)體集B中的一個(gè)實(shí)體至多與實(shí)體集A中的一個(gè)實(shí)體相對(duì)應(yīng)。記作1:n。如:班級(jí)與學(xué)生、公司與職員、省與市?!?〕多對(duì)多〔m:n〕實(shí)體集A中的一個(gè)實(shí)體與實(shí)體集B中的多個(gè)實(shí)體相對(duì)應(yīng),反之,實(shí)體集B中的一個(gè)實(shí)體與實(shí)體集A中的多個(gè)實(shí)體相對(duì)應(yīng)。記作〔m:n〕。如:教師與學(xué)生,學(xué)生與課程,工廠與產(chǎn)品。實(shí)際上,一對(duì)一聯(lián)系是一對(duì)多聯(lián)系的特例,而一對(duì)多聯(lián)系又是多對(duì)多聯(lián)系的特例??梢杂脠D形來表示兩個(gè)實(shí)體型之間的這三類聯(lián)系,如圖書1.7所示。ABABAB(a)(b)(c)不同實(shí)體集實(shí)體之間的聯(lián)系三、數(shù)據(jù)庫模型及DBMS功能1、現(xiàn)實(shí)世界數(shù)據(jù)〉抽象〉計(jì)算機(jī)管理數(shù)據(jù)概念模型:用戶需求觀點(diǎn),ER圖邏輯模型:開發(fā)者角度,計(jì)算機(jī)實(shí)現(xiàn)觀點(diǎn),邏輯構(gòu)造〔層次、網(wǎng)狀、關(guān)系〕外部模型:用戶使用觀點(diǎn),根據(jù)需求形成模型。部模型:計(jì)算機(jī)物理構(gòu)造2、數(shù)據(jù)庫管理系統(tǒng)主要功能。〔P14解釋〕3、關(guān)系模型中常用術(shù)語:關(guān)系模型,元組,屬性,域,候選鍵,主鍵,外鍵,完整性規(guī)則,參照完整性。四、概念模型:E-R模型"實(shí)體-聯(lián)系方法〞的簡(jiǎn)稱E-R模型。E-R圖根本成分包含實(shí)體型、屬性和聯(lián)系。實(shí)體型:用矩形框表示,框標(biāo)注實(shí)體名稱。屬性:用橢圓形框表示,框標(biāo)注屬性名稱。聯(lián)系:指實(shí)體之間的聯(lián)系,有一對(duì)一〔1:1〕,一對(duì)多〔1:n〕或多對(duì)多〔m:n〕三種聯(lián)系類型。((a)兩個(gè)實(shí)體之間的聯(lián)系學(xué)生選修成績(jī)課程系主任領(lǐng)導(dǎo)系學(xué)生屬于系11n1系主任n(c)實(shí)體集內(nèi)部的聯(lián)系m職工領(lǐng)導(dǎo)1n供給商供給數(shù)量零件工程mnn(b)多個(gè)實(shí)體之間的聯(lián)系例如:學(xué)生,宿舍,班級(jí),教室,班主任,檔案材料例如:學(xué)生,宿舍,班級(jí),教室,班主任,檔案材料課程名學(xué)生****性別年齡系別課程課程號(hào)學(xué)分n選修成績(jī)m這樣,得到學(xué)籍管理局部應(yīng)用的分E-R圖五、邏輯模型:關(guān)系模式1、關(guān)系模式表示:關(guān)系名稱〔屬性1,屬性2,。。?!诚聞澗€代表主鍵如:學(xué)生〔**,,性別,政治面貌〕2、E-R模型轉(zhuǎn)化關(guān)系模式E-R模型中,1:1聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與任意一端對(duì)應(yīng)的關(guān)系模式合并。如班級(jí)--管理—教師聯(lián)系為1:1,我們可以將其轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式:班級(jí)〔班級(jí)號(hào),學(xué)生人數(shù)〕

教師〔職工號(hào),,性別,職稱,是否優(yōu)秀班主任〕

管理〔職工號(hào),班級(jí)號(hào)〕或管理〔職工號(hào),班級(jí)號(hào)〕管理〞聯(lián)系也可以與班級(jí)或教師關(guān)系模式合并。

班級(jí)〔班級(jí)號(hào),學(xué)生人數(shù),職工號(hào)〕教師〔職工號(hào),,性別,職稱,是否優(yōu)秀班主任〕或班級(jí)〔班級(jí)號(hào),學(xué)生人數(shù)〕

教師〔職工號(hào),,性別,職稱,班級(jí)號(hào),是否為優(yōu)秀班主任〕E-R模型中,1:n聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與n端對(duì)應(yīng)的關(guān)系模式合并。例如:"學(xué)生組成班級(jí)〞的聯(lián)系為1:n聯(lián)系。學(xué)生〔**,,出生日期〕班級(jí)〔班級(jí)號(hào),學(xué)生人數(shù),班主任〕組成〔**,班級(jí)號(hào)〕另一種方法是將其學(xué)生關(guān)系模式(n端實(shí)體)合并,學(xué)生關(guān)系模式為:

學(xué)生〔**,,出生日期,班級(jí)號(hào)〕班級(jí)〔班級(jí)號(hào),學(xué)生人數(shù),班主任〕E-R模型中,聯(lián)系是一個(gè)m:n聯(lián)系,將聯(lián)系獨(dú)立出來。如"學(xué)生—選課—課程〞關(guān)系學(xué)生〔**,,性別,年齡,所在系〕課程〔課程號(hào),課程名,學(xué)分〕選課〔**,課程號(hào),成績(jī)〕如:P22-25旅客乘機(jī)座位關(guān)系1:1旅客航班關(guān)系1:n顧客每種商品關(guān)系m:n教師〔教師號(hào),〕學(xué)生〔**,,性別〕課程〔課程號(hào),課程名,學(xué)時(shí),教師號(hào)〕選課表〔**,課程號(hào),成績(jī)〕六、關(guān)系運(yùn)算一、關(guān)系運(yùn)算并、交、笛卡爾積;投影、選擇、連接∪〔并〕,-〔差〕,∩〔交〕,*〔笛卡爾積〕,σ(選擇),∏〔投影〕,∞〔連接〕;>〔大于〕≥〔大于等于〕<〔小于〕≤〔小于等于〕=〔等于〕≠〔不等〕;邏輯運(yùn)算符:∧〔與〕,∨〔或〕,┐〔非〕1、并運(yùn)算:關(guān)系R和關(guān)系S的并,是R和S的所有元組合并,刪去重復(fù)元組,組成一個(gè)新關(guān)系如:R={〔力,男〕,〔王紅,女〕}S={〔王紅,女〕,〔偉,男〕}R∪S={〔力,男〕,〔王紅,女〕,〔偉,男〕}*對(duì)于關(guān)系數(shù)據(jù)庫,記錄的插入和添加可通過并運(yùn)算實(shí)現(xiàn)。2.差關(guān)系R與關(guān)系S的差,由屬于R而不屬于S的所有元組組成,即R中刪去與S中一樣的元組,組成一個(gè)新關(guān)系。如:R={〔力,男〕,〔王紅,女〕}S={〔王紅,女〕,〔偉,男〕}R-S={〔力,男〕}*通過差運(yùn)算,可實(shí)現(xiàn)關(guān)系數(shù)據(jù)庫記錄的刪除。3.交關(guān)系R與關(guān)系S的交,由既屬于R又屬于S的元組組成,即R與S中一樣的元組,組成一個(gè)新關(guān)系。如:R={〔力,男〕,〔王紅,女〕}S={〔王紅,女〕,〔偉,男〕}R∩S={〔王紅,女〕}如果兩個(gè)關(guān)系沒有一樣的元組,則它們的交為空。4、笛卡爾積(集合中元素的組合),如D1,D2,…,Dn,它們笛卡爾積為D1×D2×……×Dn={〔d1,d2,…,dn〕。。。|di∈Di,i=1,2,…,n}。笛卡爾積也是一個(gè)集合。例如:D1={A,B,C}D2={1,2,3}D1,D2兩個(gè)域的笛卡爾積為D1*D2={〔A,1〕,〔A,2〕,〔A,3〕,〔B,1〕,〔B,2〕,〔B,3〕,〔C,1〕,〔C,2〕,〔C,3〕}笛卡爾積的基數(shù)M=m1*m2=3*3=9例如:D1(力,王平,偉),D2(男、女)兩個(gè)關(guān)系的笛卡爾積為:D1×D2={〔力,男〕,〔力,女〕,〔王平,男〕,〔王平,女〕,〔偉,男〕,〔偉,女〕}基數(shù)M=m1×m2=3*2=6,元組的個(gè)數(shù)為6笛卡爾積可用二維表的形式表示。性別力男力女王平男王平女偉男偉女例如:RSABCABCA1B1C1A1B1C1A1B1C2A2B2C1A2B2C1A2B3C2RUSR-SABCABCA1B1C1A1B1C2A1B1C2A2B3C2A2B2C1RnSABCA1B1C1A2B2C1R*SABCABCA1B1C1A1B1C1A1B1C1A2B2C1A1B1C1A2B3C2A1B1C2A1B1C1A1B1C2A2B2C1A1B1C2A2B3C2A2B2C1A1B1C1A2B2C1A2B2C1A2B2C1A2B3C25.選取:選取運(yùn)算是單目運(yùn)算,是根據(jù)一定的條件在給定的關(guān)系R中選取假設(shè)干個(gè)元組,組成一個(gè)新關(guān)系,記作:σF(R)={t|t∈R∧F(t)為真}σ為選取運(yùn)算符;F為選取的條件,它由運(yùn)算對(duì)象〔屬性名、常數(shù)、簡(jiǎn)單函數(shù)〕、算術(shù)比擬運(yùn)算符〔>,≥,<,≤,=,≠〕和邏輯運(yùn)算符〔∨∧┐〕連接起來的邏輯表達(dá)式,結(jié)果為邏輯值"真〞或"假〞。R是從關(guān)系R中選取使邏輯表達(dá)式為真的元組,進(jìn)展行運(yùn)算。類似For<條件>例:在S關(guān)系中,查詢計(jì)算機(jī)系的全體學(xué)生,形成新的關(guān)系。σDEPT=’計(jì)算機(jī)’(S)或σ5=’計(jì)算機(jī)’(S)例:在T關(guān)系中,查詢工資高于1000元的男教師。形成新的關(guān)系。σ(工資>1000)∧(性別=’男’)(T)例:在S關(guān)系中,查詢姓和姓王的工程師。形成新的關(guān)系。σ〔(=‘’)V〔=‘王’〕〕∧(性別=’男’)(S)6.投影投影運(yùn)算也是單目運(yùn)算,關(guān)系R上的投影是從R中選擇出假設(shè)干屬性列,組成新的關(guān)系,即對(duì)關(guān)系在垂直方向進(jìn)展的運(yùn)算,從左到右按照指定的假設(shè)干屬性及順序取出相應(yīng)列,刪去重復(fù)元組。記作:ΠA(R)={t[A]|t∈R}其中A為R中的屬性列,Π為投影運(yùn)算符。從其定義可看出,投影運(yùn)算是按列進(jìn)展的運(yùn)算。類似Fields<字段名>T關(guān)系教師號(hào)姓名性別工資系別課程號(hào)1001力男1000計(jì)算機(jī)C11002王平女600工商C21003王紅女700土木C31004偉男900計(jì)算機(jī)C2例查詢教師的、教師號(hào)及其工資。Π,教師號(hào),工資(T)或Π2,1,4(T)〔結(jié)果為教師號(hào),,工資三個(gè)屬性的關(guān)系〕姓名教師號(hào)工資力10011000王平1002600王紅1003700偉1004900*投影運(yùn)算可以改變關(guān)系的屬性次序例查詢教師關(guān)系中有哪些系。Π系別(T)系別計(jì)算機(jī)工商土木計(jì)算機(jī)投影后取消了*些屬性列后,可能出現(xiàn)重復(fù)行,應(yīng)該取消這些完全一樣的行。所以投影之后,不但減少了屬性,元組也可能減少,新關(guān)系與原關(guān)系不相容。例查詢講授C5課程的教師號(hào)。Π教師號(hào),(σ課程號(hào)=’C2’(T))教師號(hào)姓名1002王平1004偉例:檢索王教師所授課程的課程號(hào)、課程名〔T關(guān)系〕Π課程號(hào),課程名(σ=’王’(T))檢索年齡大于20歲的男同學(xué)的**和〔S關(guān)系〕Π**,(σ年齡>23∧性別=’男’(S))T關(guān)系S關(guān)系**姓名課程號(hào)課程號(hào)課程名教師1001力C1C1法律教師1002王平C2C2網(wǎng)絡(luò)王教師1003王紅C3C3電子教師1004偉C2C4計(jì)算機(jī)教師檢索**為1003學(xué)生所選的課程名與任課教師。Π課程名,教師〔σ**=‘1003’∧T.課程號(hào)=S.課程號(hào)〔T*S〕〕檢索’力’同學(xué)不選的課程號(hào)。Π課程號(hào)〔T〕-Π課程號(hào)〔σ=‘力’∧T.課程號(hào)=S.課程號(hào)〔T*S〕〕例R,S關(guān)系求:RUS,R-S,RnS,R*S,Π3,2(S)ABCABCσB<’5’(R)———————————367345257723723443RUSR-SRnSABCABCABC367367723257257723443443345R*SR.AR.BR.CS.AS.BS.C367345367723257345257723723345723723443345443345Π3,2(S)σB<’5’(R)CBABC54723324437.連接〔Join〕連接運(yùn)算是二目運(yùn)算,是從兩個(gè)關(guān)系的笛卡爾積中選取滿足連接條件的元組,組成新的關(guān)系。θ為"=〞時(shí),稱為等值連接;R∞S=σ*θy(R×S)在連接運(yùn)算中,一種最常用的連接是自然連接(R*S)。所謂自然連接就是在等值連接的情況下,當(dāng)連接屬性*與Y具有一樣屬性組時(shí),把在連接結(jié)果中重復(fù)的屬性列去掉。即如果R與S具有一樣的屬性組Y,則自然連接可記作:R、S關(guān)系。例:RS**性別**平均分總分1001A男1001601201002B男1002701401003C女1003801601004D女1004901801005E女R*S**性別平均分總分1001A男601201002B男701401003C女801601004D女90180例:設(shè)關(guān)系R:S:ABBC———————————abbccbeadebd求:R∞S,σA=C(R×S),R*SB<C________________________________________________AR.BS.BCAR.BS.BCABC________________________________________________abbcabeaabccbbccbbcabdabbddebdcbccbbdcbddeaT教師關(guān)系TC授課關(guān)系C關(guān)系TNOTNSE*AGETNOOOCTT1力男30T1002001數(shù)據(jù)庫60T2王平女40T2001002法律40T3偉男26T3001003英語90T4雪女34T4002T5蘭女45T5001例:查詢講授數(shù)據(jù)庫課程的教師。ΠTN(σ=’數(shù)據(jù)庫’(C)*ΠTNO,O(TC)*ΠTNO,TN(T))或ΠTN(ΠTNO(σ=’數(shù)據(jù)庫’(C)*TC)*ΠTNO,TN(T))TN王平偉蘭*笛卡爾積、等值連接、自然連接區(qū)別:笛卡爾積產(chǎn)生的新關(guān)系的目是兩個(gè)關(guān)系(k1+k2)的和,元組的和是兩個(gè)關(guān)系的積。等值連接是在笛卡爾積的根底上,挑選分量值相等的元組連接,不要求屬性名一樣。自然連接要求相等屬性值的屬性名必須一樣,即兩關(guān)系只有在同名屬性才能進(jìn)展連接。等值連接不將重復(fù)屬性去掉,而自然連接去掉重復(fù)屬性。R關(guān)系S關(guān)系T關(guān)系*YYZ*YZABBEABECDDFCDFDGCDGA.T=R∞SB.T=RUSC.T=R*SD.T=R×S七、數(shù)據(jù)規(guī)化:1NF,2NF,3NF所謂式是指規(guī)化的關(guān)系模式。由于規(guī)化的程度不同,就產(chǎn)生了不同的式。一個(gè)好的關(guān)系模型四個(gè)條件:盡量減少冗余、沒有插入、刪除、更新異常。1、第一式關(guān)系中的每個(gè)屬性必須是不可再分的簡(jiǎn)單項(xiàng),不能是屬性組合。例:*人設(shè)計(jì)了一個(gè)關(guān)系模式如下:S〔S#,SN,SA,SS,SD,DN,C#,GR〕其中S是關(guān)系模式名,S#表示學(xué)生**,SN表示學(xué)生,SA表示學(xué)生年齡,SS表示學(xué)生性別,SD表示學(xué)生所在的系別,DN表示學(xué)生所在系的系主任,C#表示學(xué)生選修的課程號(hào),GR表示學(xué)生選修該課程時(shí)的成績(jī)。在關(guān)系模式S中,關(guān)鍵字是〔S#,C#〕。S#

SN

SA

SS

SD

DN

C#

GR94001

王言

18

機(jī)械系

田放

C1

8894001

王言

18

機(jī)械系

田放

C2

7494001

王言

18

機(jī)械系

田放

C3

8294001

王言

18

機(jī)械系

田放

C4

6594002

19

機(jī)械系

田放

C1

9294002

19

機(jī)械系

田放

C2

9594002

19

機(jī)械系

田放

C3

9194002

19

機(jī)械系

田放

C4

7894003

18

材料系

王敏

C5

7294003

18

材料系

王敏

C2

7594003

18

材料系

王敏

C4

7994003

18

材料系

王敏

C3

80可見:關(guān)系模式S中所有的屬性都是不可再分的簡(jiǎn)單屬性。因此,關(guān)系模式S屬于第一式。通過分析,我們不難發(fā)現(xiàn)關(guān)系模式S不是一個(gè)好的關(guān)系模式。關(guān)系模式S存在的問題:〔1〕冗余大。每一個(gè)系名和系主任的名字存儲(chǔ)的次數(shù)等于該系學(xué)生人數(shù)乘以每個(gè)學(xué)生選修的課程門數(shù);〔2〕插入異常。一個(gè)新系沒有招生時(shí),系名和系主任名無法插入到數(shù)據(jù)庫中,因?yàn)檫@個(gè)關(guān)系模式中的關(guān)鍵字是〔S#,C#〕,而這時(shí)沒有學(xué)生因而S#無值,所以沒有關(guān)鍵字值,關(guān)系數(shù)據(jù)庫無法操作,因此,引起插入異常?!?〕刪除異常。當(dāng)一個(gè)系的學(xué)生都畢業(yè)了而又沒有招新生時(shí),刪除了全部學(xué)生記錄,隨之也刪除了系名和系主任名。這個(gè)系依然存在,而在數(shù)據(jù)庫中卻無法找到該系的信息?!?〕更新異常。假設(shè)*系主任更換,數(shù)據(jù)庫中該系的學(xué)生記錄應(yīng)全部修改。如有不慎,*些記錄漏改了,則造成數(shù)據(jù)的不一致。稱之為更新異常。2、第二式第二式就是在滿足第一式條件的根底上,關(guān)系模式的非關(guān)鍵字屬性都由整個(gè)關(guān)鍵字決定〔而不是關(guān)鍵字的一局部〕。就上例而言,如果我們把關(guān)系模式S變成如下的兩個(gè)關(guān)系模式:SR〔S#,SN,SA,SS,SD,DN〕SC〔S#,C#,GR〕SR關(guān)系:S#

SN

SA

SS

SD

DN

94001

王言

18

機(jī)械系

田放

94002

19

機(jī)械系

田放

94003

18

材料系

王敏

SC關(guān)系:S#

C#

GR94001

C1

8894001

C2

7494001

C3

8294001

C4

6594002

C1

9294002

C2

9594002

C3

9194002

C4

7894003

C5

7294003

C2

7594003

C4

7994003

C3

80這時(shí),在關(guān)系模式SR中,S#→〔SN,SA,SS,SD〕,SD→DN。在關(guān)系模式SC中,〔S#,C#〕→GR。這樣就很好地解決了非關(guān)鍵字屬性由關(guān)鍵字的一局部來決定的問題。關(guān)系模式SR,SC符合第二式條件的關(guān)系模式。第二式的關(guān)系模式仍然存在一些問題:就SR而言〔1〕數(shù)據(jù)冗余。在關(guān)系模式SR中,系主任名存儲(chǔ)的次數(shù)與學(xué)生數(shù)一樣多?!?〕插入異常。當(dāng)*個(gè)系的學(xué)生全部畢業(yè)而沒有新生入校時(shí),刪除了學(xué)生記錄也隨之刪除了這個(gè)系的信息。3、第三式第三式就是符合第二式,并且每個(gè)非關(guān)鍵字屬性都僅由關(guān)鍵字決定,而且一個(gè)非關(guān)鍵字屬性值不依賴于另一個(gè)非關(guān)鍵字屬性值?!蚕诙街泻瘮?shù)依賴傳遞關(guān)系〕就SR而言,我們可以把它分解為SS和RD兩個(gè)關(guān)系模式:SS〔S#,SN,SA,SS,SD〕RD〔SD,DN〕??梢?,在SS中非關(guān)鍵字屬性SN,SA,SS,SD都依賴于關(guān)鍵字S#,沒有非主屬性對(duì)關(guān)鍵字的局部依賴,也沒有非關(guān)鍵字屬性值不依賴于另一個(gè)非關(guān)鍵字屬性值,因此,SS是屬于第三式的關(guān)系模式,同理RD也是屬于第三式的關(guān)系模式。SR—>SS+RDSS關(guān)系RD關(guān)系S#

SN

SA

SS

SD

94001

王言

18

機(jī)械系

94002

19

機(jī)械系

94003

18

材料系

例1、假設(shè)*商業(yè)集團(tuán)數(shù)據(jù)庫中有一關(guān)系模式R如下:

R(商店,商品,數(shù)量,部門,負(fù)責(zé)人)

如果規(guī)定:(1)每個(gè)商店的每種商品只在一個(gè)部門銷售;

(2)每個(gè)商店的每個(gè)部門只有一個(gè)負(fù)責(zé)人;

(3)每個(gè)商店的每種商品只有一個(gè)庫存數(shù)量。

試答復(fù)以下問題:〔此題15分〕

(1)根據(jù)上述規(guī)定,寫出關(guān)系模式R的根本函數(shù)依賴;

(2)找出關(guān)系模式R的候選碼;

(3)試問關(guān)系模式R最高已經(jīng)到達(dá)第幾式?為什么?

(4)如果R不屬于3NF,請(qǐng)將R分解成3NF模式集。(1)有三個(gè)函數(shù)依賴:(商店,商品)→部門

(商店,部門)→負(fù)責(zé)人

(商店,商品)→數(shù)量(2)R的候選碼是(商店,商品)(3)因?yàn)镽中存在著非主屬性"負(fù)責(zé)人〞對(duì)候選碼(商店、商品)的傳遞函數(shù)依賴,所以R屬于2NF,R不屬于3NF。(4)將R分解成:R1(商店,商品,數(shù)量,部門)

R2(商店,部門,負(fù)責(zé)人)設(shè)有商店和顧客兩個(gè)實(shí)體:"商店〞有屬性商店號(hào)、商店名、商店地址、,"顧客〞有屬性、、顧客地址、年齡、性別。假設(shè)一個(gè)商店有多個(gè)顧客購物,一個(gè)顧客可以到多個(gè)商店購物,顧客每次去商店購物有一個(gè)消費(fèi)金額和日期。而且規(guī)定每個(gè)顧客在每個(gè)商店里每天最多消費(fèi)一次?!?〕試畫出E-R圖,并注明屬性和聯(lián)系類型。

〔2〕將其轉(zhuǎn)換成關(guān)系模型,注明關(guān)鍵字,寫出函數(shù)依賴關(guān)系。商店〔商店號(hào),商店名,商店地址,〕商店號(hào)→商店名,地址,顧客〔,,顧客地址,年齡、性別〕→,顧客地址,年齡、性別消費(fèi)〔,商品號(hào),金額,日期〕,商品號(hào)→金額,日期ACCESS及數(shù)據(jù)庫操作一、ACCESS啟動(dòng),界面.二、數(shù)據(jù)庫〔。mdb〕七種不同對(duì)象。多表,窗體,查詢,報(bào)表,宏,模塊,數(shù)據(jù)庫頁除外。組是數(shù)據(jù)庫對(duì)象快捷方式.三、數(shù)據(jù)庫建立,保存,翻開,更名,刪除,復(fù)制,剪切,粘貼。四、數(shù)據(jù)庫平安性〔獨(dú)占方式〕數(shù)據(jù)庫密碼,用戶組與權(quán)限,加密解密表及其操作一、表構(gòu)造設(shè)計(jì)三種方法〔設(shè)計(jì)器,向?qū)?,輸入?shù)據(jù)〕兩種視圖〔設(shè)計(jì)視圖,數(shù)據(jù)視圖〕。字段設(shè)置主鍵設(shè)置〔自動(dòng)ID,單字段,多字段〕與撤銷索引〔邏輯排序〕:?jiǎn)巫侄?,多字段表設(shè)計(jì)視圖常規(guī),查閱選項(xiàng)。二、表記錄根本操作:添加,刪除,修改,修飾,查找替換,篩選〔窗體,容,排除,高級(jí)〕,排序,數(shù)據(jù)導(dǎo)出。三、多表關(guān)系:一對(duì)一,一對(duì)多。翻開數(shù)據(jù)庫,利用工具欄中工具一對(duì)一:左表〔第一表〕,右表〔第二表〕參照照完整性,更新級(jí)聯(lián),刪除級(jí)聯(lián)。一對(duì)多:主(父)表,從(子)表。參照照完整性,更新級(jí)聯(lián),刪除級(jí)聯(lián)。第四章數(shù)據(jù)表查詢一、查詢:查詢是數(shù)據(jù)庫的一個(gè)對(duì)象,是表的一種視圖〔結(jié)果可以看成虛表〕。查詢時(shí)可以對(duì)表的數(shù)據(jù)進(jìn)展計(jì)算,更新,刪除,生成新表等操作。查詢可以作為其他對(duì)象數(shù)據(jù)源。二、查詢類型:選擇查詢:根據(jù)條件查詢,可以分組,統(tǒng)計(jì),計(jì)數(shù),求平均等其他計(jì)算。參數(shù)查詢:交互式,用戶輸入?yún)?shù)查詢。穿插表查詢:對(duì)數(shù)值型字段,分析計(jì)算處理。操作查詢:對(duì)記錄操作〔刪除,更新,追加,生成表〕查詢。SQL查詢:允許利用數(shù)據(jù)庫通用操作語言SQL查詢語句操作。三、查詢?nèi)N視圖:設(shè)計(jì)視圖,數(shù)據(jù)表視圖,SQL視圖。四、條件表達(dá)式用法:比擬:>>=<<==<>between…and…in()邏輯:notandor通配符:like*"[]![]字符串,數(shù)值,日期表示,比擬五、SQL語句。SQL語言提供了SELECT語句進(jìn)展數(shù)據(jù)表的查詢,該語句具有靈活的使用方式和豐富的功能。其一般格式為:SELECT<目標(biāo)列表達(dá)式>[,<目標(biāo)列表達(dá)式>]…FROM<表名或視圖名>[,<表名或視圖名>]…[WHERE<條件表達(dá)式>][GROUPBY<列名1>[HAVING<條件表達(dá)式>]][orderby<列名2>[ASC|DESC]];一、簡(jiǎn)單查詢:1.查詢指定列selectsno,sn,agefroms查詢?nèi)w學(xué)生的**、和年齡。2.查詢?nèi)苛衧elect*froms*代表所有列名3.查詢經(jīng)過計(jì)算的值目標(biāo)列表達(dá)式可以是算術(shù)表達(dá)式,還可以是字符串常量、函數(shù)等。select‘’+,工資*0.5,froms運(yùn)算符含義運(yùn)算符含義=,>,<,>=,<=,!=比擬大小多重條件AND,ORBETWEENAND確定范圍IN確定集合LIKE字符匹配1.比擬大小查詢2、多重條件查詢3、確定圍select,性別where**between"1001”and"1008”fromstudentselect*where平均分between60and100fromstudentselect*where平均分notbetween60and100fromstudent4、確定集合selectwhere**in("1001”,"1008”)fromstudentselect*where數(shù)學(xué)in(80,100)fromstudentselect*where數(shù)學(xué)notin(80,100)fromstudent5、字符匹配select,性別where**like"%〞fromstudentselect,性別where**like"%力〞fromstudentselect*where書名like"%網(wǎng)絡(luò)%〞frombook6、空值的查詢selectwhere高數(shù)isNULLFromstudent三、使用庫函數(shù)、統(tǒng)計(jì)匯總查詢。AVG(),SUM(),MA*(),MIN(),COUNT()selectsum(高數(shù))as*1,avg(高數(shù))as*2fromstudentselectma*(平均分)as*1fromstudentwhere**="1”四、分組查詢1、GROUPBY子句將查詢結(jié)果:按屬性列或?qū)傩粤薪M合進(jìn)展分組,每組具有一樣的屬性值。分組計(jì)算過程SELECTCOUNT(*)AS*1FROMstudentGROUPBY性別SELECTma*(高數(shù))AS*1FROMstudentGROUPBY性別2、Groupby子句having條件,指分組操作后的條件選擇。查詢選修兩門以上課程學(xué)生的**和選課門數(shù)Select**,count(*)from成績(jī)表groupby**havingcount(*)>=2在工資表中,按職稱分組,查詢每類職稱工資總和超過20000元的職稱和工資總和。Select職稱,sum(根本工資)form工資表groupby職稱havingsum(根本工資)>200003、條件順序:Where條件groupby分組having條件如查詢:計(jì)算機(jī)系每班英語平均分在90分以上的班級(jí)及英語平均分。Select班級(jí),avg(英語)from成績(jī)表where系別="計(jì)算機(jī)〞groupby班級(jí)havingavg(英語)>90如:查詢班級(jí)人數(shù)大于40人的班級(jí)及人數(shù)查詢每班英語平均分不及格的班級(jí)及班級(jí)平均分五、查詢排序用ORDERBY子句可以指定排序方式,DESC為降序,ASC為升序,缺省時(shí)為升序。SELECT,平均分FROMstudentORDERBY平均分DESCSELECT,高數(shù)AS*1FROMstudentWHERE高數(shù)>=60ORDERBY高數(shù)DESC六、多表查詢:數(shù)據(jù)表連接及連接查詢連接字段:數(shù)據(jù)表之間的聯(lián)系是通過表的字段值連接查詢:同時(shí)涉及兩個(gè)以上的表查詢。表的連接方法:表之間滿足一定的條件的行進(jìn)展連接,F(xiàn)ROM子句中指明進(jìn)展連接的表名WHERE子句指明連接的列名及其連接條件。例查詢偉教師所講授的課程。TTC課程T1偉T1C1T2AT2C1T3CT1C3T4DT2C2T5ET3C3SELECT,課程FROMT,TCWHERET.=TC.說明:T.TNO=TC.TNO為連接條件,TNO為連接字段。如:查詢偉老師教授的課程(思考).例查詢所有選課學(xué)生的**、、選課名稱及成績(jī)。SSCCSNOTNSNOOSCOREO1001A1001C160C1計(jì)算機(jī)1002B1002C170C2法律1003C1001C350C3數(shù)學(xué)1002C2801003C390SELECTS.SNO,SN,,SCOREFROMS,C,SCWHERES.SNO=SC.SNOANDSC.O=C.O如:查詢**為1001學(xué)生的、選課名稱及成績(jī)。〔思考〕1.查詢?cè)O(shè)備名稱,價(jià)格,部門名稱2.查詢?cè)O(shè)備名稱,部門名稱,增值七、子查詢:從一個(gè)查詢結(jié)果中再進(jìn)展查詢?nèi)纾簭膶W(xué)生表中查詢平均分最高的學(xué)生的和性別。Select,性別from學(xué)生表where平均分in(selectma*(平均分)form學(xué)生表)八、聯(lián)合查詢成績(jī)表1.dbf成績(jī)表2.dbf**性別平均分**性別平均成績(jī)1001AA男602001CC男501002BB女702002DD女80Select**,,性別,平均分as錄取分from成績(jī)表1UnionSelect**,,性別,平均成績(jī)as錄取分from成績(jī)表2九、*部聯(lián)接、左聯(lián)接、右聯(lián)接、完全聯(lián)接學(xué)生表成績(jī)表**性別**英語數(shù)學(xué)平均分1001AA男10016080701002BB女10027090801003CC男20014060502002507060部聯(lián)接:聯(lián)接字段等值連接Select,性別,平均分from學(xué)生表innerjoin成績(jī)表On學(xué)生表.**=成績(jī)表.**左聯(lián)接:除聯(lián)接字段等值連接外,左表〔第一表〕不滿足連接條件的記錄出現(xiàn)在查詢結(jié)果中。Select,性別,平均分from學(xué)生表leftjoin成績(jī)表On學(xué)生表.**=成績(jī)表.**右聯(lián)接:除聯(lián)接字段等值連接外,右表〔第二表〕不滿足連接條件的記錄出現(xiàn)在查詢結(jié)果中。Select,性別,平均分from學(xué)生表rightjoin成績(jī)表On學(xué)生表.**=成績(jī)表.**完全聯(lián)接:除聯(lián)接字段等值連接外,左、右兩表不滿足連接條件的記錄都出現(xiàn)在查詢結(jié)果中。Select,性別,平均分from學(xué)生表fulljoin成績(jī)表On學(xué)生表.**=成績(jī)表.**第五章窗體主要容:1、窗體操作三種視圖2、創(chuàng)立窗體方式3、窗體控件使用、編輯4、窗體數(shù)據(jù)處理:刪除、添加、修改、查找、篩選、排序、計(jì)算。一、窗體視圖:設(shè)計(jì)視圖,窗體視圖,數(shù)據(jù)表視圖。二、創(chuàng)立窗體方式:設(shè)計(jì)視圖向?qū)В罕泶绑w,圖表窗體,透視圖窗體自動(dòng)創(chuàng)立窗體三、設(shè)計(jì)視圖創(chuàng)立窗體。1、設(shè)計(jì)視圖窗口五個(gè)組成:窗體頁眉:窗口標(biāo)題頁面頁眉:打印窗體說明主體:顯示表記錄。頁面頁腳:打印窗體中每頁頁碼,日期窗體頁腳:頁碼,日期,統(tǒng)計(jì)計(jì)算結(jié)果2、窗體控件使用:標(biāo)簽、文本框、選項(xiàng)組、切換按鈕、選項(xiàng)按鈕、復(fù)選框、組合框、列表框、命令按鈕、選項(xiàng)卡、圖像。3、控件:綁定型〔表字段〕、未綁定型〔靜態(tài)顯示〕計(jì)算型:如:文本框中=[字段]表達(dá)式四、窗體數(shù)據(jù)處理:刪除、添加、修改、查找、篩選、排序、計(jì)算。第六章報(bào)表、頁、宏一、報(bào)表1、報(bào)表組成:報(bào)表頁眉、報(bào)表頁腳、頁面頁眉、頁面頁腳、主體組頁眉、組頁腳。2、報(bào)表視圖:設(shè)計(jì)視圖、打印視圖、版面視圖3、創(chuàng)立報(bào)表方式:設(shè)計(jì)視圖、向?qū)?、自?dòng)創(chuàng)立、圖表向?qū)?、?biāo)簽向?qū)А?、設(shè)計(jì)視圖報(bào)表及控件應(yīng)用。5、報(bào)表中計(jì)算:總計(jì)、平均、百分比等。二、數(shù)據(jù)頁1、數(shù)據(jù)庫一個(gè)對(duì)象,以單獨(dú)文件存儲(chǔ)數(shù)據(jù)庫之外。文件格式HTML,擴(kuò)展名.htm。操作數(shù)據(jù)方式和窗體相似,窗體操作本地?cái)?shù)據(jù)庫數(shù)據(jù);頁可以網(wǎng)絡(luò)效勞器上的數(shù)據(jù)。2、頁有兩種視圖:設(shè)計(jì)視圖、頁面視圖。3、創(chuàng)立頁方式:向?qū)?,設(shè)計(jì)視圖〔超級(jí)、文字滾動(dòng)〕。三、宏1、宏是一個(gè)或多個(gè)操作的集合。宏中每個(gè)操作完成一個(gè)特定功能。2、創(chuàng)立宏、運(yùn)行宏。3、常用宏操作:OpentableOpenformOpenqueryOpenreportOpendataccesspageCloseMa*imizeMinimizeRunSQLQuit4、條件宏引用:〔1〕。在窗體中,設(shè)計(jì)一個(gè)文本框,一個(gè)按鈕。〔2〕。選中按鈕對(duì)象〔快捷菜單〕事件生成器宏生成器--建立宏名選工具欄條件宏,輸入:[forms]![窗體名]![文本框名]="123456”[forms]![窗體名]![文本框名]<>"123456”〔3〕運(yùn)行窗體5、宏組中引用宏名:宏組名.宏名(1).設(shè)計(jì)宏1:openform翻開窗體1宏2:openform翻開窗體2宏3:openquery翻開查詢1宏4:openreport翻開報(bào)表1〔2〕.設(shè)計(jì)宏組:新建宏設(shè)計(jì)視圖宏組名宏1:openform宏2:openform宏3:openquery宏4:openreport〔3〕。設(shè)計(jì)窗體中四個(gè)命令按鈕。分別設(shè)置屬性事件單擊宏名.宏1第七章模塊1、模塊:完成一定功能程序段。包含:聲明和過程兩局部。(1).聲明:過程中變量數(shù)據(jù)類型進(jìn)展定義。常用數(shù)據(jù)類型:Integer,longsingle,double,string,Boolean,date聲明:dim*1asinteger,用在函數(shù)和子程序前面.(2).過程:函數(shù)和子程序Function過程名程序代碼EndfunctionSub過程名程序代碼Endsub(3).數(shù)據(jù)形式:常量,變量,數(shù)組,函數(shù),表達(dá)式25,1.2,1.2E+3"ABCD〞,"中國(guó)〞,#1986-10-12#,False,TureConstPI=3.1415926變量使用需要聲明.數(shù)據(jù)庫變量引用:窗體對(duì)象:forms!窗體名稱!控件名稱報(bào)表對(duì)象:repo

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論