版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度交通行業(yè)勞務(wù)派遣管理規(guī)范范本2篇
- 自愿性與強(qiáng)制性之間-中國(guó)農(nóng)村合作醫(yī)療的制度嵌入性與可持續(xù)性發(fā)展分析
- 臨床胸腔閉式引流護(hù)理要點(diǎn)
- 陜西省寶雞市鳳翔區(qū)2024-2025學(xué)年八年級(jí)上學(xué)期期末質(zhì)量檢測(cè)地理試卷(含答案)
- 二零二五年度擔(dān)保合同標(biāo)的特性與案例分析3篇
- 二零二五年度商鋪?zhàn)赓U合同-含環(huán)保材料及綠色裝修2篇
- Unit7 How much?(說課稿)-2024-2025學(xué)年譯林版(三起)英語四年級(jí)上冊(cè)
- 二零二五年度房地產(chǎn)經(jīng)紀(jì)實(shí)務(wù)培訓(xùn)第二十六講經(jīng)紀(jì)機(jī)構(gòu)品牌建設(shè)合同3篇
- 貴州盛華職業(yè)學(xué)院《生物醫(yī)學(xué)信號(hào)檢測(cè)與處理》2023-2024學(xué)年第一學(xué)期期末試卷
- 新疆塔城地區(qū)(2024年-2025年小學(xué)六年級(jí)語文)部編版質(zhì)量測(cè)試(上學(xué)期)試卷及答案
- 朱曦編著設(shè)計(jì)形態(tài)知識(shí)點(diǎn)
- 中心衛(wèi)生院關(guān)于成立按病種分值付費(fèi)(DIP)工作領(lǐng)導(dǎo)小組及制度的通知
- 河南省公路路產(chǎn)賠償標(biāo)準(zhǔn)
- 醫(yī)院感染監(jiān)測(cè)清單
- 社區(qū)老年人項(xiàng)目計(jì)劃書
- 《1.我又長(zhǎng)大了一歲》教學(xué)課件∣泰山版
- 斷裂力學(xué)-1緒論課件
- 深基坑工程驗(yàn)收表
- 醫(yī)學(xué)交流課件:RCT的基本概念及原則(PPT 37頁)
- SLZ 549-2012 用水審計(jì)技術(shù)導(dǎo)則(試行)
- qes三體系審核培訓(xùn)ppt課件
評(píng)論
0/150
提交評(píng)論