版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
《數(shù)據(jù)庫原理》知識點總結(jié)《數(shù)據(jù)庫原理》知識點總結(jié)《數(shù)據(jù)庫原理》知識點總結(jié)xxx公司《數(shù)據(jù)庫原理》知識點總結(jié)文件編號:文件日期:修訂次數(shù):第1.0次更改批準審核制定方案設(shè)計,管理制度目錄未找到目錄項。一數(shù)據(jù)庫基礎(chǔ)知識(第1、2章)一、有關(guān)概念1.數(shù)據(jù)2.數(shù)據(jù)庫(DB)3.數(shù)據(jù)庫管理系統(tǒng)(DBMS)Access桌面DBMSVFPSQLServerOracle客戶機/服務(wù)器型DBMSMySQLDB24.數(shù)據(jù)庫系統(tǒng)(DBS)數(shù)據(jù)庫(DB)數(shù)據(jù)庫管理系統(tǒng)(DBMS)開發(fā)工具應(yīng)用系統(tǒng)二、數(shù)據(jù)管理技術(shù)的發(fā)展1.數(shù)據(jù)管理的三個階段人工管理文件系統(tǒng)數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)能否保存不能保存可以保存可以保存數(shù)據(jù)面向的對象某一應(yīng)用程序某一應(yīng)用程序整個應(yīng)用系統(tǒng)數(shù)據(jù)的共享程度無共享,一組數(shù)據(jù)只能對應(yīng)一個應(yīng)用程序。共享性差,一個數(shù)據(jù)文件只能對應(yīng)一個應(yīng)用程序。共享性高數(shù)據(jù)的獨立性不獨立,它是應(yīng)用程序的一部分。獨立性差數(shù)據(jù)庫與應(yīng)用系統(tǒng)完全分開概念模型一、模型的三個世界1.現(xiàn)實世界2.信息世界:即根據(jù)需求分析畫概念模型(即E-R圖),E-R圖與DBMS無關(guān)。3.機器世界:將E-R圖轉(zhuǎn)換為某一種數(shù)據(jù)模型,數(shù)據(jù)模型與DBMS相關(guān)。注意:信息世界又稱概念模型,機器世界又稱數(shù)據(jù)模型二、實體及屬性1.實體:客觀存在并可相互區(qū)別的事物。2.屬性:3.關(guān)鍵詞(碼、key):能唯一標識每個實體又不含多余屬性的屬性組合。一個表的碼可以有多個,但主碼只能有一個。例:借書表(學(xué)號,姓名,書號,書名,作者,定價,借期,還期)規(guī)定:學(xué)生一次可以借多本書,同一種書只能借一本,但可以多次續(xù)借。4.實體型:即二維表的結(jié)構(gòu)例student(no,name,sex,age,dept)5.實體集:即整個二維表三、實體間的聯(lián)系:1.兩實體集間實體之間的聯(lián)系1:1聯(lián)系1:n聯(lián)系m:n聯(lián)系2.同一實體集內(nèi)實體之間的聯(lián)系1:1聯(lián)系1:n聯(lián)系m:n聯(lián)系四、概念模型(常用E-R圖表示)實體型:屬性:聯(lián)系:說明:①E-R圖作為用戶與開發(fā)人員的中間語言。②E-R圖可以等價轉(zhuǎn)換為層次、網(wǎng)狀、關(guān)系模型。舉例:學(xué)校有若干個系,每個系有若干班級和教研室,每個教研室有若干教員,其中有的教授和副教授每人各帶若干研究生。每個班有若干學(xué)生,每個學(xué)生選修若干課程,每門課程有若干學(xué)生選修。用E-R圖畫出概念模型。數(shù)據(jù)模型一、層次模型:用樹型結(jié)構(gòu)表示實體之間的聯(lián)系。=1\*GB3①每個結(jié)點代表一個實體型。=2\*GB3②只能直接處理一對多(含一對一)的實體關(guān)系。=3\*GB3③查找層次數(shù)據(jù)庫中的記錄,速度較慢。二、網(wǎng)狀模型:用圖結(jié)構(gòu)表示實體之間的聯(lián)系。=1\*GB3①每個結(jié)點代表一個實體型。=2\*GB3②可以處理多對多的實體關(guān)系。=3\*GB3③查找網(wǎng)狀數(shù)據(jù)庫中的記錄,速度最快。三、關(guān)系模型:用二維表表示實體之間的聯(lián)系。1.重要術(shù)語:關(guān)系:一個關(guān)系就是一個二維表;元組:二維表的一行,即實體;關(guān)系模式:在實體型的基礎(chǔ)上,注明主碼。關(guān)系模型:指一個數(shù)據(jù)庫中全部二維表結(jié)構(gòu)的集合。2.特點:=1\*GB3①關(guān)系模型是建立在嚴格的數(shù)學(xué)理論的基礎(chǔ)上的;=2\*GB3②關(guān)系模型的存取路徑對用戶透明;=3\*GB3③查找關(guān)系數(shù)據(jù)庫中的記錄,速度最慢。小結(jié):數(shù)據(jù)有三種類型,DBMS就有三種類型,DB亦有三種類型。數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)一、數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)=1\*GB3①單機結(jié)構(gòu):DBMS、數(shù)據(jù)庫、開發(fā)工具、應(yīng)用系統(tǒng)安裝在一臺計算機上。=2\*GB3②C/S結(jié)構(gòu):局域網(wǎng)結(jié)構(gòu)客戶機:裝開發(fā)工具、應(yīng)用系統(tǒng)服務(wù)器:裝DBMS、數(shù)據(jù)庫=3\*GB3③B/S結(jié)構(gòu):Internet結(jié)構(gòu)服務(wù)器:裝DBMS、數(shù)據(jù)庫、開發(fā)工具、應(yīng)用系統(tǒng)客戶機:裝IE即可三、數(shù)據(jù)庫系統(tǒng)的模式結(jié)構(gòu)1.三級模式=1\*GB3①模式:是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述。模式只涉及數(shù)據(jù)庫的結(jié)構(gòu);模式既不涉及應(yīng)用程序,又不涉及數(shù)據(jù)庫結(jié)構(gòu)的存儲;=2\*GB3②外模式:是模式的一個子集,是與某一個應(yīng)用程序有關(guān)的邏輯表示。特點:一個應(yīng)用程序只能使用一個外模式,但同一個外模式可為多個應(yīng)用程序使用。=3\*GB3③內(nèi)模式:描述數(shù)據(jù)庫結(jié)構(gòu)的存儲,但不涉及物理記錄。2.兩級映象=1\*GB3①外模式/模式映象:保證數(shù)據(jù)庫的邏輯獨立性;=2\*GB3②模式/內(nèi)模式映象:保證數(shù)據(jù)庫的物理獨立性;3.兩級映象的意義=1\*GB3①使數(shù)據(jù)庫與應(yīng)用系統(tǒng)完全分開,數(shù)據(jù)庫改變時,應(yīng)用系統(tǒng)不必改變。=2\*GB3②數(shù)據(jù)的存取完全由DBMS管理,用戶不必考慮存取路徑。數(shù)據(jù)庫管理系統(tǒng)DBMS的功能:負責(zé)對數(shù)據(jù)庫進行統(tǒng)一的管理與控制。=1\*GB3①數(shù)據(jù)定義:即定義數(shù)據(jù)庫中各對象的結(jié)構(gòu)②數(shù)據(jù)操縱:包括對數(shù)據(jù)庫進行查詢、插入、刪除、修改等操作。=3\*GB3③數(shù)據(jù)控制:包括安全性控制、完整性控制、并發(fā)控制、數(shù)據(jù)庫恢復(fù)。2.DBMS的組成:DDL語言DML語言DCL語言實用程序注意:=1\*GB3①SQL集DDL,DML,DCL功能于一體;=2\*GB3②所有應(yīng)用程序通過SQL語句才能訪問數(shù)據(jù)庫一、基本概念1.碼:能唯一標識元組的屬性集。2.候選碼:一個屬性集既能唯一標識元組,且又不含有多余屬性,一個關(guān)系模式可以有多個候選碼。3.主碼:任選候選碼中的一個。4.主屬性:主碼中包含的各個屬性。5.非主屬性:不包含在主碼中的各個屬性。6.外碼:設(shè)F是關(guān)系R的一個屬性,不是R的主碼,但卻是另一個關(guān)系S的主碼,則稱F是關(guān)系R的外碼。例:student(sno,sname,ssex,sage,sdept)Sc(sno,cno,grade)Sc的主碼為:(sno,cno);外碼為:sno二數(shù)據(jù)庫設(shè)計(第3章)一、數(shù)據(jù)庫設(shè)計的步驟①需求分析:了解分析用戶的需要、要求。②概念結(jié)構(gòu)設(shè)計:根據(jù)需求分析的結(jié)果畫概念模型(即E-R圖)。③邏輯結(jié)構(gòu)設(shè)計:將E-R圖轉(zhuǎn)換為某一種數(shù)據(jù)模型,并優(yōu)化。=4\*GB3④物理結(jié)構(gòu)設(shè)計⑤數(shù)據(jù)庫實施=6\*GB3⑥數(shù)據(jù)庫運行與恢復(fù)概念結(jié)構(gòu)設(shè)計一、局部E-R圖設(shè)計1.確定局部范圍通常把系統(tǒng)涉及的各個部門或各個主要功能作為局部。2.確定實體與屬性①屬性是不能再分的數(shù)據(jù)項;=2\*GB3②聯(lián)系只發(fā)生在兩實體之間;=3\*GB3③原則上,能夠作為屬性,就不要作為實體。二、合并成總體E-R圖1.消除各局部E-R圖的沖突問題。2.按公共實體名合并,生成初步E-R圖。3.消除冗余的屬性和冗余的聯(lián)系,生成總體E-R圖。邏輯結(jié)構(gòu)設(shè)計一、聯(lián)系的屬性和主碼(1)聯(lián)系的屬性:必須包含相關(guān)聯(lián)的各實體型的主碼。(2)聯(lián)系的主碼1:1聯(lián)系:可以是相關(guān)聯(lián)的任一實體型的主碼。1:n聯(lián)系:必須是n方實體型的主碼。m:n聯(lián)系:必須是相關(guān)聯(lián)的各實體型的主碼之和。二、E-R圖向關(guān)系模型的轉(zhuǎn)換(1)把每個實體型轉(zhuǎn)換為一個關(guān)系模式。(2)1:1聯(lián)系:可以消化到相關(guān)聯(lián)的任一實體型對應(yīng)的關(guān)系模式中。NLXMXHNLXMXHBHXHBHRS班級管理班長BHXHBHRS班級管理班長1111班長(XH,XM,NL,BH)班級(BH,RS)(3)1:n聯(lián)系:可以消化到n方實體名對應(yīng)的關(guān)系模式中。例:一個班級有多名學(xué)生,每名學(xué)生只能屬于一個班級。每一個班級有一名班長,他是學(xué)生中的一員。XHXMNLXHXMNL學(xué)生學(xué)生1n1n班長組成XH組成班長組成XH組成BH1BH11班級1班級BHRSBHRS學(xué)生(XH,XM,NL,BH)班級(BH,RS,XH)班長的學(xué)號(4)m:n聯(lián)系:必須轉(zhuǎn)換為一個關(guān)系模式,并且不能消化。sagessexsname例:sagessexsnamesdeptsdeptcnogradesno選修理工creditcnamecno課程sno學(xué)生cnogradesno選修理工creditcnamecno課程sno學(xué)生mmnn學(xué)生(sno,sname,ssex,sage,sdept)課程(cno,cname,credit)選修(sno,cno,grade)(5)多元聯(lián)系:不能消化例:供應(yīng)商供應(yīng)商mm供應(yīng)供應(yīng)nmknmk零件產(chǎn)品零件產(chǎn)品物理結(jié)構(gòu)設(shè)計與數(shù)據(jù)庫實施1.物理結(jié)構(gòu)設(shè)計在邏輯設(shè)計的基礎(chǔ)上,為每個關(guān)系模式選擇合適的存儲結(jié)構(gòu)與存儲方式。選擇存儲結(jié)構(gòu):即決定每個表的記錄順序。選擇存取方式:即決定為哪些屬性建立非聚集索引,以便加快查找速度。一般把經(jīng)常查詢的屬性名指定為非聚集索引。2.數(shù)據(jù)庫實施主要工作:定義數(shù)據(jù)庫結(jié)構(gòu);組織數(shù)據(jù)入庫;編寫應(yīng)用程序;數(shù)據(jù)庫試運行;三關(guān)系數(shù)據(jù)庫(第4章)一、域(domain)1.定義:域是一組具有相同類型的值的集合。2.域的基數(shù):域中所含數(shù)據(jù)的個數(shù)。二、笛卡爾積1.定義:給定一組域D1,D2,D3,則D1×D2×D3稱為笛卡爾積。2.笛卡爾積D1×D2×D3對應(yīng)一個二維表,所含元組的個數(shù)等于各個域的基數(shù)之積。三、關(guān)系1.定義:笛卡兒積的一部分元組稱為關(guān)系。2.關(guān)系的目(或度):一個關(guān)系所含屬性的個數(shù)。3.關(guān)系的性質(zhì)任意兩個元組不能完全相同,同一關(guān)系的屬性名不允許重復(fù)。四、關(guān)系的完整性1.實體完整性:指關(guān)系的所有主屬性都不能取空值。注意:實體完整性不僅僅是主碼整體不能取空值。2.參照完整性:指一個關(guān)系外碼的取值必須是相關(guān)關(guān)系中主碼的有效值或空值。例:班級(班名,人數(shù))學(xué)生(學(xué)號,姓名,性別,密碼,班名)在學(xué)生表中,班名的取值必須是班級表[班名]的值或空值。關(guān)系代數(shù)一、傳統(tǒng)的集合運算設(shè)關(guān)系R、S的結(jié)構(gòu)完全相同,則:R∪S:由屬于R或?qū)儆赟的元組組成。R∩S:由既屬于R又屬于S的元組組成。R-S:由屬于R而不屬于S的元組組成。思考:(R∩S)∪(R-S)=R×S:設(shè)R有m個屬性,K1個元組;S有n個屬性,K2個元組,則R×S含有(m+n)個屬性,(K1×K2)個元組。二、專門的關(guān)系運算1.選擇:從關(guān)系R中選擇滿足條件的元組。記為:2.投影:從關(guān)系R中選擇若干屬性組成新的關(guān)系,并把新關(guān)系的重復(fù)元組去掉。記為:3.條件連接:將兩關(guān)系按一定條件連接成一個新關(guān)系,記為:說明:條件連接:兩關(guān)系可以沒有公共屬性,若有公共屬性,則新關(guān)系含有重復(fù)屬性。4.自然連接:將兩關(guān)系按公共屬性連接成一個新的關(guān)系,并把新關(guān)系的重復(fù)屬性去掉。記為:說明:①自然連接:兩關(guān)系至少有一個公共屬性。②對于R的每個元組,S都從第一個元組開始判斷,若兩元組的公共屬性值相同,則產(chǎn)生一個新元組添加到新關(guān)系中,最后把新關(guān)系中的重復(fù)屬性去掉。等值連接5.除:給定關(guān)系R(x,y)和S(y,z),則R÷S=P(x),其中x,y,z為屬性組。求解過程:① 求R中x可以取哪些值,并求各值的象集。② 求S在屬性組y上的投影K。③ 檢查每個象集是否包含K注:除不是一個必須的運算,可以由其它運算符代替。例:設(shè)有關(guān)系R,S如下圖,求R÷S。RABCSBCDa1b1c2b1c2d1a2b3c7b2c1d1a3b4c6b2c3d2a1b2c3a4b6c6a2b2c3a1b2c1解:在關(guān)系R中,A可以取四個值,a1,a2,a3,a4。a1的象集為{(b1,c2),(b2,c3),(b2,c1)}a2的象集為{(b3,c7),(b2,c3)}a3的象集為{(b4,c6)}a4的象集為{(b6,c6)}S在(B,C)上的投影K為{(b1,c2),(b2,c3),(b2,c1)}顯然只有a1的象集包含K,故R÷S={a1}結(jié)論:如何寫關(guān)系代數(shù)表達式答:①查詢涉及多個關(guān)系時,一般使用∞→。②查詢涉及“否定”時,一般用差運算。③查詢涉及“全部”時,一般用除運算。=4\*GB3④查詢涉及“至少”時,一般用×四關(guān)系數(shù)據(jù)庫標準語言SQL(第5章)T-SQL一、SQL語言的特點=1\*GB3①SQL語言集數(shù)據(jù)定義、數(shù)據(jù)查詢、數(shù)據(jù)操縱、數(shù)據(jù)控制的功能于一體。動詞數(shù)據(jù)定義Create、drop數(shù)據(jù)查詢select數(shù)據(jù)操縱Insert、delete、update數(shù)據(jù)控制Grant、revoke=2\*GB3②所有的DBMS都支持SQL語言。SQL基礎(chǔ)一、創(chuàng)建和使用數(shù)據(jù)庫1.創(chuàng)建數(shù)據(jù)庫createdatabase數(shù)據(jù)庫名2.使用數(shù)據(jù)庫Use數(shù)據(jù)庫名3.刪除數(shù)據(jù)庫dropdatabase數(shù)據(jù)庫名二、定義表1.創(chuàng)建表createtable表名(屬性名類型,…,屬性名類型)=1\*GB3①指定標識字段:identity(標識種子,標識增量)=2\*GB3②指定公式字段:屬性名as表達式例:createtablestudent(nointidentity(1,1),namechar(6),chismallint,matsmallint,scoreaschi+mat)2.刪除表droptable表名,…,表名三、select語句select*/表達式表[into新表]from表名,…,表名[where條件][groupby屬性名][having條件][orderby屬性名][Asc/Desc]1.Select子句=1\*GB3①*代表所有屬性名=2\*GB3②若一個屬性名來自多個表,則屬性名前須冠以表名,格式為:表名.屬性名=3\*GB3③設(shè)置表達式的別名:表達式As別名=4\*GB3④限制查詢結(jié)果的記錄行數(shù):all返回全部記錄topn返回前面n號記錄distinct表示取消重復(fù)行說明:topn只能放在關(guān)鍵字select的后面;all、distinct只能放在關(guān)鍵字select或聚合函數(shù)的后面。2.Where子句=1\*GB3①in的格式:屬性名in(常量,…,常量)=2\*GB3②like的格式:屬性名like通配字符串通配符有:%表示0個或多個字符-表示1個字符=3\*GB3③在Where子句中指定連接:Where表名1.屬性名=表名2.屬性名3.Orderby子句orderby屬性名1[Asc/Desc],屬性名2[Asc/Desc]4.聚合函數(shù)=1\*GB3①sum(屬性名):縱向求數(shù)值型屬性之和。=2\*GB3②avg(屬性名)=3\*GB3③count(*)返回表的記錄行數(shù)(含重復(fù)行)。count(屬性名)返回指定列中取非NULL值的單元格數(shù)目。count(distinct屬性名)返回指定列中取非NULL值、非重復(fù)的單元格數(shù)目。=4\*GB3④max(屬性名)=5\*GB3⑤min(屬性名)5.Groupby子句使用Groupby子句時,Select子句只能使用分組項字段和聚合函數(shù)例:以性別為分組項,求每一組的平均年齡。Selectssex,avg(sage)as平均年齡FromstudentGroupbyssex6.Having子句=1\*GB3①Having子句只能跟在Groupby子句之后,且只能使用聚合函數(shù)和分組項字段。=2\*GB3②where子句放在Groupby子句之前,甚至可以沒有Groupby子句;且不能包含聚合函數(shù)。例:以系別為分組項,查詢學(xué)生平均年齡大于19歲的系的系名,平均年齡。Selectsdept,avg(sage)as平均年齡FromstudentGroupbysdeptHavingavg(sdept)>197.into子句功能:將查詢結(jié)果保存到新的基表中。查詢的分類單表查詢連接查詢嵌套查詢1.連接查詢:在where子句中指定連接where表名1.屬性名=表名2.屬性名2.嵌套查詢=1\*GB3①嵌套查詢的特點·每級查詢的from子句一般只包含一個表名。·一個嵌套查詢總可以分解為若干個單表查詢,總可以改寫成連接查詢?!と舨樵兘Y(jié)果顯示的屬性名來自一個表,才可以寫成嵌套查詢?!ぷ硬樵儾荒苁褂胦rderby子句,orderby只能用于最頂層的查詢。=2\*GB3②在where子句中指定子查詢where屬性名[not]in(子查詢):子查詢返回一列多行。where屬性名=(子查詢):子查詢返回一列一行。where[not]exists(子查詢):子查詢返回多列多行。五、數(shù)據(jù)操縱1.insert語句(1)每次插入一條記錄insertinto表名[(屬性名表)]values(表達式表)(2)插入子查詢的結(jié)果insertinto表名[(屬性名表)]子查詢例:insertintostudentselect*fromstudent12.update語句update表名set屬性名=值,…,屬性名=值[where條件]缺省where子句,默認為更新全部記錄。3.delete語句deletefrom表名[where條件]五關(guān)系數(shù)據(jù)庫規(guī)范化理論(第7章)函數(shù)依賴一、有關(guān)概念:1.函數(shù)依賴:任給R(U),U為屬性集,x、y為U的子集,如果對于x的每個值,y有唯一確定的值與之對應(yīng),則稱x決定y,或y函數(shù)依賴于x。記為:x→y。2.完全函數(shù)依賴:若x→y,且對于x的所有真子集x′,都有x′y,則稱x完全決定y,或y完全函數(shù)依賴于x。記為:。結(jié)論:若x→y,且x只包含一個屬性,則。3.部分函數(shù)依賴:若x→y,且存在x的一個真子集x′,滿足x′→y,則稱x部分決定y,或y部分函數(shù)依賴于x。記為:。4.傳遞函數(shù)依賴:若x→y,y→z,但y∕x,則二、平凡函數(shù)依賴與非平凡函數(shù)依賴設(shè)x→y,如果y是x的子集,則該依賴是平凡的。如:Sno,sname→sno如果y中至少有一個屬性不在x中,則該依賴是非平凡的。如:Sno,sname→sname,sdept如果y中沒有一個屬性在x中,則該依賴為完全非平凡的。三、函數(shù)依賴的推理規(guī)則設(shè)有關(guān)系R,x、y、z為R的一個屬性集,則有:=1\*GB3①自反律:若,則x→y。=2\*GB3②增廣律:若x→y,則xz→yz。=3\*GB3③傳遞律:若x→y,y→z,則x→z。注意傳遞律與傳遞函數(shù)依賴的區(qū)別。=4\*GB3④合并律:若x→y,x→z,則x→yz。=5\*GB3⑤分解律:若x→yz,則x→y,x→z。關(guān)系模式的規(guī)范化一、問題提出R表XHKHKMXMDZCJ961C1OS高明D170962C2DBS高飛D272962C4AI高飛D280962C1OS高明D175963C1OS高明D190答:存在問題=1\*GB3①數(shù)據(jù)冗余大;=2\*GB3②修改麻煩;=3\*GB3③插入異常:應(yīng)該插入到DB中的數(shù)據(jù)插不進去。如:新開課程沒有學(xué)生選修時,新開課程的課程號、課程名插不進去。=4\*GB3④刪除異常:不應(yīng)該刪除的數(shù)據(jù)被刪掉。如選修某門課的學(xué)生畢業(yè)了,在刪除學(xué)生信息的同時,把課程信息也刪除掉。結(jié)論:一個好的關(guān)系模式應(yīng)滿足:=1\*GB3①冗余應(yīng)盡可能少;=2\*GB3②應(yīng)盡可能避免插入、刪除異常;=3\*GB3③消去關(guān)系中不合適的屬性依賴關(guān)系。二、范式=1\*GB3①什么叫范式指一個關(guān)系的非主屬性函數(shù)依賴于主碼的程度。=2\*GB3②什么叫關(guān)系規(guī)范化指一個關(guān)系從低級范式向高級范式的轉(zhuǎn)換過程。=3\*GB3③應(yīng)用:關(guān)系規(guī)范化理論應(yīng)用在邏輯結(jié)構(gòu)設(shè)計階段。三、關(guān)系模式的規(guī)范化1.第一范式(1NF)=1\*GB3①定義:若關(guān)系R的所有屬性不能再分,則R∈1NF2.第二范式(2NF)=1\*GB3①定義:若關(guān)系R∈1NF,且它的每個非主屬性都完全依賴于主碼,則稱R∈2NF。=2\*GB3②存在問題:冗余大:R1必要冗余,R2冗余可以修改。修改麻煩插入異常:如新來的教師沒有上課,則該教師的信息就沒辦法插入R2表中。刪除異常:若某位教師只授一門課,當該門課不開時,該教師的信息亦被刪除。=3\*GB3③原因:存在非主屬性對主碼的傳遞依賴。KH→XM,XM→DZ,但XMKH∴[傳遞依賴必須有兩個非主屬性]=4\*GB3④解決辦法:將R2一分為二R21表R22表KHKMXMXMDZC1OS高明高明D1C2DBS高飛高飛D2C4AI高飛R21主碼:KHR22主碼:XM3.第三范式(3NF)=1\*GB3①定義:若關(guān)系R∈2NF,且它的每個非主屬性都不傳遞依賴于主碼,則稱R∈3NF。=2\*GB3②規(guī)范化過程非規(guī)范關(guān)系↓使每個屬性都不能再分1NF↓消去非主屬性對主碼的部分依賴2NF↓消去非主屬性對主碼的傳遞依賴3NFBCNF:關(guān)系模式R<U,F>中,如每一個決定因素都包含碼,則R是BC范式。如果R屬于BCNF那么R一定屬于3NF,反之未必。3NF↓消去主屬性對主碼的部分依賴和傳遞依賴BCNF4.結(jié)論=1\*GB3①若R∈1NF,且主碼只含一個屬性,則R一定為2NF。=2\*GB3②若R∈2NF,且只有0~1個非主屬性,則R一定為3NF。=3\*GB3③3NF一般控制了數(shù)據(jù)冗余,一般避免了操作異常。=4\*GB3④范式并非越高越好,適可而止。六數(shù)據(jù)庫保護技術(shù)(第8章)安全管理一、兩種身份驗證模式:僅windows模式:用戶只能使用windows登錄名登錄SQLServer混合模式:用戶可以使用windows登錄名或SQLServer登錄名登錄SQLServer二、兩種身份驗證:用戶登錄到SQLServer時,必須使用特定的登錄名和密碼標識自己。Windows身份驗證:用戶登錄到SQLServer時,使用操作系統(tǒng)當前的登錄名和密碼。SQLServer身份驗證:用戶登錄到SQLServer時,必須顯式提供登錄名和密碼。常用安全性控制方法:用戶標識和控制、存取控制、視圖、審計、數(shù)據(jù)加密數(shù)據(jù)庫完整性一、在創(chuàng)建表時指定約束1.主鍵約束[constraint約束名]Primarykey[Clustered/Nonclustered][(屬性名,…,屬性名)]說明:=1\*GB3①每個約束都有一個約束名,約束名通常由系統(tǒng)自動給出。=2\*GB3②列級約束:只牽涉到一個屬性的約束,它放在相關(guān)屬性的后面,且省略屬性名表。表級約束:牽涉到多個屬性的約束。=3\*GB3③創(chuàng)建主鍵約束、唯一性約束時可以指定聚集(clustered)或非聚集(nonclustered)。=4\*GB3④主鍵約束默認為聚集的,唯一性約束默認為非聚集的。=5\*GB3⑤一個表最多只能創(chuàng)建一個約束是聚集的,聚集約束會影響數(shù)據(jù)表的記錄號順序。2.外鍵約束[constraint約束名]Foreignkey[(屬性名,…,屬性名)]References主鍵表名(屬性名,…,屬性名)注意:兩表關(guān)聯(lián)的方式:=1\*GB3①臨時關(guān)聯(lián):where表名1.屬性名=表名2.屬性名②永久關(guān)聯(lián):創(chuàng)建外鍵約束3.唯一性約束[constraint約束名]Unique[Clustered/Nonclustered][(屬性名,…,屬性名)]主鍵約束與唯一約束的區(qū)別:=1\*GB3①在一個表中只能定義一個主鍵約束,但可定義多個唯一性約束;=2\*GB3②指定為主鍵約束的字段不能取null值,但指定為唯一性約束的字段允許取null值。4.檢查約束[constraint約束名]Check(條件表達式)5.缺省約束[constraint約束名]Default常量二、刪除表中的約束altertable表名dropconstraint約束名,...,約束名注意:alter語句后面只能跟著一個子句。三、向表添加約束altertable表名addconstraint約束名約束定義,...,constraint約束名約束定義約束定義指:Primarykey[Clustered/Nonclustered](屬性組)Foreignkey(屬性組)references主鍵表名(屬性組)Unique[Clustered/Nonclustered](屬性組)Check(條件表達式)Default常量for屬性名默認對象①默認對象與默認約束的功能類似。②默認對象以單獨的對象創(chuàng)建,可以綁定到數(shù)據(jù)庫的所有表中。③默認約束只能綁定到一個表中。規(guī)則①規(guī)則與check約束的功能類似。則以單獨的對象創(chuàng)建,可以綁定到數(shù)據(jù)庫的所有表中。check約束只能綁定到一個表中。索引一、索引的概念:=1\*GB3①索引使用戶能快速訪問數(shù)據(jù)表的特定信息。=2\*GB3②索引必須依附于某個基本表,不能單獨存在。二、索引的類型:聚集索引:影響數(shù)據(jù)表的記錄順序非聚集索引:不會影響數(shù)據(jù)表的記錄順序注:一個表只能建立一個聚集索引,但可以建立若干個非聚集索引。三、創(chuàng)建索引1.自動創(chuàng)建索引:。如果在數(shù)據(jù)表的某個屬性設(shè)置主鍵約束或唯一約束,則系統(tǒng)將在這些屬性上自動創(chuàng)建唯一索引。。自動創(chuàng)建的索引隨約束的存在而存在,隨約束的消失而消失。2.使用SQL語句創(chuàng)建索引Create[unique][clustered/nonclustered]index索引名On表名(屬性名[asc/desc],屬性名[asc/desc])注:=1\*GB3①若未指定clustered,則創(chuàng)建非聚集索引;=2\*GB3②若未指定排序方式,則為ASC;=3\*GB3③text,ntext類型的字段不能指定為索引字段。四、刪除索引:Dropindex索引名,…,索引名思考題:創(chuàng)建主鍵時,如果使主鍵字段值不影響數(shù)據(jù)表的記錄順序視圖一、視圖的特點:=1\*GB3①視圖只有結(jié)構(gòu),沒有記錄,是虛表;=2\*GB3②一個視圖總對應(yīng)著一個select語句;=3\*GB3③對視圖的查詢、更新,實際上是對基本表的查詢、更新。二、定義視圖:1.創(chuàng)建視圖:Createview視圖名[(屬性名,…,屬性名)]As子查詢[withcheckoption]說明:視圖的屬性個數(shù)必須與子查詢中select子句的表達式個數(shù)相同。2.刪除視圖:Dropview視圖名,…,視圖名三、查詢視圖:select*/表達式表from視圖名,…,視圖名[where條件][groupby屬性名][orderby屬性名][Asc/Desc]四、操縱視圖:1.向視圖插入一條記錄insertinto視圖名[(屬性名表)]values(表達式表)2.修改視圖中的數(shù)據(jù)update視圖名set屬性名=值,…,屬性名=值[where條件]3.刪除視圖中的記錄deletefrom視圖名[where條件]存儲過程1.什么叫存儲過程將一組SQL語句,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024新教材高中地理 第四章 區(qū)域發(fā)展戰(zhàn)略 第二節(jié) 我國區(qū)域發(fā)展戰(zhàn)略說課稿 湘教版必修第二冊
- Unit3 Amazing animals(說課稿)-2024-2025學(xué)年人教PEP版(2024)英語三年級上冊001
- 2024年高中化學(xué) 第三章 晶體結(jié)構(gòu)與性質(zhì) 章末整合說課稿 新人教版選修3
- 1《我是獨特的》第二課時(說課稿)2023-2024學(xué)年統(tǒng)編版道德與法治三年級下冊
- 2025合同模板會計代賬合同范本
- 2025商貿(mào)類供貨合同
- 2023六年級語文上冊 第二單元 語文園地說課稿新人教版
- 2025上林縣塘紅鄉(xiāng)初級中學(xué)小賣部租賃合同
- 2023三年級語文上冊 第八單元 習(xí)作:那次玩得真高興配套說課稿 新人教版
- 2025消防器材銷售合同范本
- 山東省濱州市2024-2025學(xué)年高二上學(xué)期期末地理試題( 含答案)
- 2025年河南洛陽市孟津區(qū)引進研究生學(xué)歷人才50人歷年高頻重點提升(共500題)附帶答案詳解
- 2025年度軍人軍事秘密保護保密協(xié)議與信息安全風(fēng)險評估合同3篇
- 蛋雞生產(chǎn)飼養(yǎng)養(yǎng)殖培訓(xùn)課件
- 數(shù)字化轉(zhuǎn)型中的職業(yè)能力重構(gòu)
- 運用PDCA降低住院患者跌倒-墜床發(fā)生率
- 2025屆高中數(shù)學(xué)一輪復(fù)習(xí)專練:橢圓(含解析)
- 立春氣象與生活影響模板
- 中國服裝零售行業(yè)發(fā)展環(huán)境、市場運行格局及前景研究報告-智研咨詢(2025版)
- 汽車車身密封條設(shè)計指南
- DB4101-T 121-2024 類家庭社會工作服務(wù)規(guī)范
評論
0/150
提交評論