版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
目錄未找到目錄項(xiàng)。一 數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)(第1、2章)一、有關(guān)概念1.?dāng)?shù)據(jù)
2.?dāng)?shù)據(jù)庫(kù)(DB)
3.?dāng)?shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)桌面DBMSAccessSQLServer
Oracle
MySQL
DB2VFP客戶機(jī)/服務(wù)器型DBMS4.?dāng)?shù)據(jù)庫(kù)系統(tǒng)(DBS)數(shù)據(jù)庫(kù)(DB)
數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)
開(kāi)發(fā)工具應(yīng)用系統(tǒng)二、數(shù)據(jù)管理技術(shù)的發(fā)展1.?dāng)?shù)據(jù)管理的三個(gè)階段數(shù)據(jù)能否保存人工管理文件系統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)不能保存可以保存可以保存數(shù)據(jù)面向的對(duì)象某一應(yīng)用程序某一應(yīng)用程序整個(gè)應(yīng)用系統(tǒng)數(shù)據(jù)的共享程度無(wú)共享,一組共享性差,一個(gè)數(shù)共享性高數(shù)據(jù)只能對(duì)應(yīng)一個(gè)據(jù)文件只能對(duì)應(yīng)一數(shù)據(jù)的獨(dú)立性應(yīng)用程序。個(gè)應(yīng)用程序。數(shù)據(jù)庫(kù)與應(yīng)用系統(tǒng)不獨(dú)立,它是應(yīng)用獨(dú)立性差程序的一部分。完全分開(kāi)概念模型一、模型的三個(gè)世界1.現(xiàn)實(shí)世界
2.信息世界:即根據(jù)需求分析畫(huà)概念模型(即E-R圖),E-R圖與DBMS無(wú)關(guān)。3.機(jī)器世界:將E-R圖轉(zhuǎn)換為某一種數(shù)據(jù)模型,數(shù)據(jù)模型與DBMS相關(guān)。1注意:信息世界又稱概念模型,機(jī)器世界又稱數(shù)據(jù)模型二、實(shí)體及屬性
1.實(shí)體:客觀存在并可相互區(qū)別的事物。2.屬性:
3.關(guān)鍵詞(碼、key):能唯一標(biāo)識(shí)每個(gè)實(shí)體又不含多余屬性的屬性組合。一個(gè)表的碼可以有多個(gè),但主碼只能有一個(gè)。 例:借書(shū)表(學(xué)號(hào),姓名,書(shū)號(hào),書(shū)名,作者,定價(jià),借期,還期)規(guī)定:學(xué)生一次可以借多本書(shū),同一種書(shū)只能借一本,但可以多次續(xù)借。4.實(shí)體型:即二維表的結(jié)構(gòu)
例student(no,name,sex,age,dept)
5.實(shí)體集:即整個(gè)二維表
三、實(shí)體間的聯(lián)系:
1.兩實(shí)體集間實(shí)體之間的聯(lián)系1:1聯(lián)系
1:n聯(lián)系
m:n聯(lián)系2.同一實(shí)體集內(nèi)實(shí)體之間的聯(lián)系1:1聯(lián)系
1:n聯(lián)系m:n聯(lián)系四、概念模型(常用E-R圖表示)實(shí)體型:屬性: 聯(lián)系: 說(shuō)明:①E-R圖作為用戶與開(kāi)發(fā)人員的中間語(yǔ)言。②E-R圖可以等價(jià)轉(zhuǎn)換為層次、網(wǎng)狀、關(guān)系模型。 舉例:
學(xué)校有若干個(gè)系,每個(gè)系有若干班級(jí)和教研室,每個(gè)教研室有若干教員,其中有的教授和副教授每人各帶若干研究生。每個(gè)班有若干學(xué)生,每個(gè)學(xué)生選修若干課程,每門(mén)課程有若干學(xué)生選修。用E-R圖畫(huà)出概念模型。2 數(shù)據(jù)模型
一、層次模型:用樹(shù)型結(jié)構(gòu)表示實(shí)體之間的聯(lián)系。①每個(gè)結(jié)點(diǎn)代表一個(gè)實(shí)體型。②只能直接處理一對(duì)多(含一對(duì)一)的實(shí)體關(guān)系。③查找層次數(shù)據(jù)庫(kù)中的記錄,速度較慢。二、網(wǎng)狀模型:用圖結(jié)構(gòu)表示實(shí)體之間的聯(lián)系。①每個(gè)結(jié)點(diǎn)代表一個(gè)實(shí)體型。②可以處理多對(duì)多的實(shí)體關(guān)系。③查找網(wǎng)狀數(shù)據(jù)庫(kù)中的記錄,速度最快。三、關(guān)系模型:用二維表表示實(shí)體之間的聯(lián)系。1.重要術(shù)語(yǔ):
關(guān)系:一個(gè)關(guān)系就是一個(gè)二維表;
元組:二維表的一行,即實(shí)體;
關(guān)系模式:在實(shí)體型的基礎(chǔ)上,注明主碼。關(guān)系模型:指一個(gè)數(shù)據(jù)庫(kù)中全部二維表結(jié)構(gòu)的集合。2.特點(diǎn):
①關(guān)系模型是建立在嚴(yán)格的數(shù)學(xué)理論的基礎(chǔ)上的;
②關(guān)系模型的存取路徑對(duì)用戶透明;
③查找關(guān)系數(shù)據(jù)庫(kù)中的記錄,速度最慢。小結(jié):數(shù)據(jù)有三種類型,DBMS就有三種類型,DB亦有三種類型。數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)
一、數(shù)據(jù)庫(kù)系統(tǒng)的體系結(jié)構(gòu)
①單機(jī)結(jié)構(gòu):
DBMS、數(shù)據(jù)庫(kù)、開(kāi)發(fā)工具、應(yīng)用系統(tǒng)安裝在一臺(tái)計(jì)算機(jī)上。②C/S結(jié)構(gòu):局域網(wǎng)結(jié)構(gòu)3客戶機(jī):裝開(kāi)發(fā)工具、應(yīng)用系統(tǒng)
服務(wù)器:裝DBMS、數(shù)據(jù)庫(kù)
③B/S結(jié)構(gòu):Internet結(jié)構(gòu)
服務(wù)器:裝DBMS、數(shù)據(jù)庫(kù)、開(kāi)發(fā)工具、應(yīng)用系統(tǒng)
客戶機(jī):裝IE即可
三、數(shù)據(jù)庫(kù)系統(tǒng)的模式結(jié)構(gòu)
1.三級(jí)模式
①模式:是數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述。 模式只涉及數(shù)據(jù)庫(kù)的結(jié)構(gòu);
模式既不涉及應(yīng)用程序,又不涉及數(shù)據(jù)庫(kù)結(jié)構(gòu)的存儲(chǔ);②外模式:是模式的一個(gè)子集,是與某一個(gè)應(yīng)用程序有關(guān)的邏輯表示。特點(diǎn):一個(gè)應(yīng)用程序只能使用一個(gè)外模式,但同一個(gè)外模式可為多個(gè)應(yīng)用程序使用。③內(nèi)模式:描述數(shù)據(jù)庫(kù)結(jié)構(gòu)的存儲(chǔ),但不涉及物理記錄。2.兩級(jí)映象
①外模式/模式映象:保證數(shù)據(jù)庫(kù)的邏輯獨(dú)立性;
②模式/內(nèi)模式映象:保證數(shù)據(jù)庫(kù)的物理獨(dú)立性;
3.兩級(jí)映象的意義
①使數(shù)據(jù)庫(kù)與應(yīng)用系統(tǒng)完全分開(kāi),數(shù)據(jù)庫(kù)改變時(shí),應(yīng)用系統(tǒng)不必改變。②數(shù)據(jù)的存取完全由DBMS管理,用戶不必考慮存取路徑。 數(shù)據(jù)庫(kù)管理系統(tǒng)
1.DBMS的功能:負(fù)責(zé)對(duì)數(shù)據(jù)庫(kù)進(jìn)行統(tǒng)一的管理與控制。①數(shù)據(jù)定義:即定義數(shù)據(jù)庫(kù)中各對(duì)象的結(jié)構(gòu)
②數(shù)據(jù)操縱:包括對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢、插入、刪除、修改等操作。③數(shù)據(jù)控制:包括安全性控制、完整性控制、并發(fā)控制、數(shù)據(jù)庫(kù)恢復(fù)。2.DBMS的組成:DDL語(yǔ)言
DML語(yǔ)言
DCL語(yǔ)言實(shí)用程序 注意:
①SQL集DDL,DML,DCL功能于一體;
②所有應(yīng)用程序通過(guò)SQL語(yǔ)句才能訪問(wèn)數(shù)據(jù)庫(kù)
一、基本概念
1.碼:能唯一標(biāo)識(shí)元組的屬性集。 2.候選碼:一個(gè)屬性集既能唯一標(biāo)識(shí)元組,且又不含有多余屬性,一個(gè)關(guān)系模式可以有多個(gè)候選碼。3.主碼:任選候選碼中的一個(gè)。44.主屬性:主碼中包含的各個(gè)屬性。5.非主屬性:不包含在主碼中的各個(gè)屬性。 6.外碼:設(shè)F是關(guān)系R的一個(gè)屬性,不是R的主碼,但卻是另一個(gè)關(guān)系S的主碼,則稱F是關(guān)系R的外碼。例:student(sno,sname,ssex,sage,sdept)
Sc(sno,cno,grade)
Sc的主碼為:(sno,cno);外碼為:sno二 數(shù)據(jù)庫(kù)設(shè)計(jì)(第3章)一、數(shù)據(jù)庫(kù)設(shè)計(jì)的步驟①需求分析:了解分析用戶的需要、要求。②概念結(jié)構(gòu)設(shè)計(jì):根據(jù)需求分析的結(jié)果畫(huà)概念模型(即E-R圖)。③邏輯結(jié)構(gòu)設(shè)計(jì):將E-R圖轉(zhuǎn)換為某一種數(shù)據(jù)模型,并優(yōu)化。④物理結(jié)構(gòu)設(shè)計(jì)⑤數(shù)據(jù)庫(kù)實(shí)施⑥數(shù)據(jù)庫(kù)運(yùn)行與恢復(fù) 概念結(jié)構(gòu)設(shè)計(jì)
一、局部E-R圖設(shè)計(jì)
1.確定局部范圍
通常把系統(tǒng)涉及的各個(gè)部門(mén)或各個(gè)主要功能作為局部。2.確定實(shí)體與屬性
①屬性是不能再分的數(shù)據(jù)項(xiàng);②聯(lián)系只發(fā)生在兩實(shí)體之間;③原則上,能夠作為屬性,就不要作為實(shí)體。二、合并成總體E-R圖
1.消除各局部E-R圖的沖突問(wèn)題。2.按公共實(shí)體名合并,生成初步E-R圖。3.消除冗余的屬性和冗余的聯(lián)系,生成總體E-R圖。5邏輯結(jié)構(gòu)設(shè)計(jì)
一、聯(lián)系的屬性和主碼
(1)聯(lián)系的屬性:必須包含相關(guān)聯(lián)的各實(shí)體型的主碼。(2)聯(lián)系的主碼
1:1聯(lián)系:可以是相關(guān)聯(lián)的任一實(shí)體型的主碼。1:n聯(lián)系:必須是n方實(shí)體型的主碼。m:n聯(lián)系:必須是相關(guān)聯(lián)的各實(shí)體型的主碼之和。二、E-R圖向關(guān)系模型的轉(zhuǎn)換
(1)把每個(gè)實(shí)體型轉(zhuǎn)換為一個(gè)關(guān)系模式。(2)1:1聯(lián)系:可以消化到相關(guān)聯(lián)的任一實(shí)體型對(duì)應(yīng)的關(guān)系模式中。XHXMNL班長(zhǎng)1BH管理XH1班級(jí)BH RS班長(zhǎng)(XH,XM,NL,BH)
班級(jí)(BH,RS)
(3)1:n聯(lián)系:可以消化到n方實(shí)體名對(duì)應(yīng)的關(guān)系模式中。 例:一個(gè)班級(jí)有多名學(xué)生,每名學(xué)生只能屬于一個(gè)班級(jí)。每一個(gè)班級(jí)有一名班長(zhǎng),他是學(xué)生中的一員。XHXMNL學(xué)生1nRSXH班長(zhǎng)組成11BH班級(jí)BH6學(xué)生(XH,XM,NL,BH)班級(jí)(BH,RS,XH)班長(zhǎng)的學(xué)號(hào)(4)m:n聯(lián)系:必須轉(zhuǎn)換為一個(gè)關(guān)系模式,并且不能消化。例:snamessexsagesdeptsno學(xué)生grademsno選修cnon課程cnocnamecredit學(xué)生(sno,sname,ssex,sage,sdept)課程(cno,cname,credit)選修(sno,cno,grade)(5)多元聯(lián)系:不能消化例:供應(yīng)商m供應(yīng)nk零件產(chǎn)品物理結(jié)構(gòu)設(shè)計(jì)與數(shù)據(jù)庫(kù)實(shí)施1.物理結(jié)構(gòu)設(shè)計(jì)在邏輯設(shè)計(jì)的基礎(chǔ)上,為每個(gè)關(guān)系模式選擇合適的存儲(chǔ)結(jié)構(gòu)與存儲(chǔ)方式。選擇存儲(chǔ)結(jié)構(gòu):即決定每個(gè)表的記錄順序。7 選擇存取方式:即決定為哪些屬性建立非聚集索引,以便加快查找速度。一般把經(jīng)常查詢的屬性名指定為非聚集索引。2.?dāng)?shù)據(jù)庫(kù)實(shí)施
主要工作:
定義數(shù)據(jù)庫(kù)結(jié)構(gòu);
組織數(shù)據(jù)入庫(kù);
編寫(xiě)應(yīng)用程序;
數(shù)據(jù)庫(kù)試運(yùn)行;三關(guān)系數(shù)據(jù)庫(kù)(第4章)一、域(domain)
1.定義:域是一組具有相同類型的值的集合。
2.域的基數(shù):域中所含數(shù)據(jù)的個(gè)數(shù)。二、笛卡爾積
1.定義:給定一組域D1,D2,D3,則D1×D2×D3稱為笛卡爾積。2.笛卡爾積D1×D2×D3對(duì)應(yīng)一個(gè)二維表,所含元組的個(gè)數(shù)等于各個(gè)域的基數(shù)之積。三、關(guān)系
1.定義:笛卡兒積的一部分元組稱為關(guān)系。2.關(guān)系的目(或度):一個(gè)關(guān)系所含屬性的個(gè)數(shù)。3.關(guān)系的性質(zhì)
任意兩個(gè)元組不能完全相同,同一關(guān)系的屬性名不允許重復(fù)。四、關(guān)系的完整性
1.實(shí)體完整性:指關(guān)系的所有主屬性都不能取空值。8注意:實(shí)體完整性不僅僅是主碼整體不能取空值。2.參照完整性:指一個(gè)關(guān)系外碼的取值必須是相關(guān)關(guān)系中主碼的有效值或空值。例:班級(jí)(班名,人數(shù))
學(xué)生(學(xué)號(hào),姓名,性別,密碼,班名)
在學(xué)生表中,班名的取值必須是班級(jí)表[班名]的值或空值。關(guān)系代數(shù)一、傳統(tǒng)的集合運(yùn)算設(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個(gè)屬性,K1個(gè)元組;S有n個(gè)屬性,K2個(gè)元組,則R×S含有(m+n)個(gè)屬性,(K1×K2)個(gè)元組。二、專門(mén)的關(guān)系運(yùn)算
1.選擇:從關(guān)系R中選擇滿足條件的元組。記為: F(R)2.投影:從關(guān)系R中選擇若干屬性組成新的關(guān)系,并把新關(guān)系的重復(fù)元組去掉。記為:(R)FSF(RS)A3.條件連接:將兩關(guān)系按一定條件連接成一個(gè)新關(guān)系,記為:R說(shuō)明:條件連接:兩關(guān)系可以沒(méi)有公共屬性,若有公共屬性,則新關(guān)系含有重復(fù)屬性。4.自然連接:將兩關(guān)系按公共屬性連接成一個(gè)新的關(guān)系,并把新關(guān)系的重復(fù)屬性去掉。記為:RS說(shuō)明:①自然連接:兩關(guān)系至少有一個(gè)公共屬性。 ②對(duì)于R的每個(gè)元組,S都從第一個(gè)元組開(kāi)始判斷,若兩元組的公共屬性值相同,則產(chǎn)生一個(gè)新元組添加到新關(guān)系中,最后把新關(guān)系中的重復(fù)屬性去掉。等值連接?5.除:給定關(guān)系R(x,y)和S(y,z),則R÷S=P(x),其中x,y,z為屬性組。求解過(guò)程:① 求R中x可以取哪些值,并求各值的象集。
② 求S在屬性組y上的投影K。③ 檢查每個(gè)象集是否包含K9注:除不是一個(gè)必須的運(yùn)算,可以由其它運(yùn)算符代替。例:設(shè)有關(guān)系R,S如下圖,求R÷S。RABCSBCDa1b1c2b1c2d1a2b3c7b2c1d1a3b4c6b2c3d2a1b2c3a4b6c6a2b2c3a1b2c1解:在關(guān)系R中,A可以取四個(gè)值,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é)論:如何寫(xiě)關(guān)系代數(shù)表達(dá)式?答:①查詢涉及多個(gè)關(guān)系時(shí),一般使用∞→。②查詢涉及“否定”時(shí),一般用差運(yùn)算。③查詢涉及“全部”時(shí),一般用除運(yùn)算。④查詢涉及“至少”時(shí),一般用×10四 關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL(第5章)T-SQL一、SQL語(yǔ)言的特點(diǎn)
①SQL語(yǔ)言集數(shù)據(jù)定義、數(shù)據(jù)查詢、數(shù)據(jù)操縱、數(shù)據(jù)控制的功能于一體。動(dòng)詞數(shù)據(jù)定義 Create、drop數(shù)據(jù)查詢 select數(shù)據(jù)操縱 Insert、delete、update 數(shù)據(jù)控制 Grant、revoke
②所有的DBMS都支持SQL語(yǔ)言。SQL基礎(chǔ)一、創(chuàng)建和使用數(shù)據(jù)庫(kù)1.創(chuàng)建數(shù)據(jù)庫(kù)
createdatabase數(shù)據(jù)庫(kù)名
2.使用數(shù)據(jù)庫(kù)
Use數(shù)據(jù)庫(kù)名
3.刪除數(shù)據(jù)庫(kù)
dropdatabase數(shù)據(jù)庫(kù)名二、定義表1.創(chuàng)建表
createtable表名(屬性名類型,…,屬性名類型)①指定標(biāo)識(shí)字段:identity(標(biāo)識(shí)種子,標(biāo)識(shí)增量)
②指定公式字段:屬性名as表達(dá)式
例:createtablestudent
(nointidentity(1,1),
namechar(6),
chismallint,
matsmallint,
scoreaschi+mat)
2.刪除表
droptable表名,…,表名11三、select語(yǔ)句select*/表達(dá)式表
[into新表]
from表名,…,表名
[where 條件]
[groupby屬性名]
[having 條件]
[orderby屬性名][Asc/Desc]1.Select子句
①*代表所有屬性名
②若一個(gè)屬性名來(lái)自多個(gè)表,則屬性名前須冠以表名,格式為:表名.屬性名③設(shè)置表達(dá)式的別名: 表達(dá)式As別名
④限制查詢結(jié)果的記錄行數(shù):all 返回全部記錄topn 返回前面n號(hào)記錄
distinct 表示取消重復(fù)行說(shuō)明:topn只能放在關(guān)鍵字select的后面;
all、distinct只能放在關(guān)鍵字select或聚合函數(shù)的后面。2.Where子句
①in的格式:屬性名in(常量,…,常量)
②like的格式:屬性名like通配字符串通配符有:%表示0個(gè)或多個(gè)字符-表示1個(gè)字符③在Where子句中指定連接:
Where 表名1.屬性名=表名2.屬性名3.Orderby子句orderby屬性名1[Asc/Desc],屬性名2[Asc/Desc]4.聚合函數(shù)
①sum(屬性名):縱向求數(shù)值型屬性之和。②avg(屬性名)
③count(*) 返回表的記錄行數(shù)(含重復(fù)行)。count(屬性名)返回指定列中取非NULL值的單元格數(shù)目。count(distinct屬性名)返回指定列中取非NULL值、非重復(fù)的單元格數(shù)目。12④max(屬性名)
⑤min(屬性名)
5.Groupby子句
使用Groupby子句時(shí),Select子句只能使用分組項(xiàng)字段和聚合函數(shù) 例:以性別為分組項(xiàng),求每一組的平均年齡。Select ssex,avg(sage)as平均年齡
Fromstudent
Groupbyssex6.Having子句
①Having子句只能跟在Groupby子句之后,且只能使用聚合函數(shù)和分組項(xiàng)字段。 ②where子句放在Groupby子句之前,甚至可以沒(méi)有Groupby子句;且不能包含聚合函數(shù)。例:以系別為分組項(xiàng),查詢學(xué)生平均年齡大于19歲的系的系名,平均年齡。 Select sdept,avg(sage)as平均年齡
Fromstudent
Groupbysdept
Havingavg(sdept)>197.into子句
功能:將查詢結(jié)果保存到新的基表中。一、查詢的分類單表查詢
連接查詢
嵌套查詢1.連接查詢:在where子句中指定連接
where表名1.屬性名=表名2.屬性名2.嵌套查詢
①嵌套查詢的特點(diǎn)·每級(jí)查詢的from子句一般只包含一個(gè)表名?!ひ粋€(gè)嵌套查詢總可以分解為若干個(gè)單表查詢,總可以改寫(xiě)成連接查詢?!と舨樵兘Y(jié)果顯示的屬性名來(lái)自一個(gè)表,才可以寫(xiě)成嵌套查詢?!ぷ硬樵儾荒苁褂胦rderby子句,orderby只能用于最頂層的查詢。②在where子句中指定子查詢13where屬性名[not]in(子查詢):子查詢返回一列多行。where屬性名=(子查詢):子查詢返回一列一行。
where [not]exists(子查詢):子查詢返回多列多行。五、數(shù)據(jù)操縱1.insert語(yǔ)句
(1)每次插入一條記錄
insertinto表名[(屬性名表)]values(表達(dá)式表)
(2)插入子查詢的結(jié)果
insertinto表名[(屬性名表)]
子查詢 例:insertintostudent
select*fromstudent1
2.update語(yǔ)句
update表名set屬性名=值,…,屬性名=值[where條件] 缺省where子句,默認(rèn)為更新全部記錄。3.delete語(yǔ)句
deletefrom表名[where條件]五 關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論(第7章) 函數(shù)依賴
一、有關(guān)概念:
1.函數(shù)依賴:
任給R(U),U為屬性集,x、y為U的子集,如果對(duì)于x的每個(gè)值,y有唯一確定的值與之對(duì)應(yīng),則稱x決定y,或y函數(shù)依賴于x。記為:x→y。 2.完全函數(shù)依賴:
若x→y,且對(duì)于x的所有真子集x′,都有x′y,則稱x完全決定y,或y完全函數(shù)依賴于x。記為:xy。14結(jié)論:若x→y,且x只包含一個(gè)屬性,則xy。 3.部分函數(shù)依賴:
若x→y,且存在x的一個(gè)真子集x′,滿足x′→y,則稱x部分決定y,或y部分函數(shù)依賴于x。記為:xy。4.傳遞函數(shù)依賴:若x→y,y→z,但y∕x,則xz二、平凡函數(shù)依賴與非平凡函數(shù)依賴
設(shè)x→y,如果y是x的子集,則該依賴是平凡的。如:
Sno,sname→sno
如果y中至少有一個(gè)屬性不在x中,則該依賴是非平凡的。如:Sno,sname→sname,sdept
如果y中沒(méi)有一個(gè)屬性在x中,則該依賴為完全非平凡的。三、函數(shù)依賴的推理規(guī)則
設(shè)有關(guān)系R,x、y、z為R的一個(gè)屬性集,則有:
①自反律:若yx,則x→y。②增廣律:若x→y,則xz→yz。③傳遞律:若x→y,y→z,則x→z。注意傳遞律與傳遞函數(shù)依賴的區(qū)別。④合并律:若x→y,x→z,則x→yz。⑤分解律:若x→yz,則x→y,x→z。關(guān)系模式的規(guī)范化一、問(wèn)題提出
R表XHKHKMXMDZCJ961C1OS高明D170962C2DBS高飛D272高飛962C4AID280高明962C1OSD175963C1OS高明D19015答:存在問(wèn)題
①數(shù)據(jù)冗余大;
②修改麻煩;
③插入異常:應(yīng)該插入到DB中的數(shù)據(jù)插不進(jìn)去。如:新開(kāi)課程沒(méi)有學(xué)生選修時(shí),新開(kāi)課程的課程號(hào)、課程名插不進(jìn)去。④刪除異常:不應(yīng)該刪除的數(shù)據(jù)被刪掉。如選修某門(mén)課的學(xué)生畢業(yè)了,在刪除學(xué)生信息的同時(shí),把課程信息也刪除掉。結(jié)論:一個(gè)好的關(guān)系模式應(yīng)滿足:
①冗余應(yīng)盡可能少;
②應(yīng)盡可能避免插入、刪除異常;
③消去關(guān)系中不合適的屬性依賴關(guān)系。二、范式
①什么叫范式?指一個(gè)關(guān)系的非主屬性函數(shù)依賴于主碼的程度。②什么叫關(guān)系規(guī)范化?指一個(gè)關(guān)系從低級(jí)范式向高級(jí)范式的轉(zhuǎn)換過(guò)程。1NF2NF3NFBCNF4NF5NF
③應(yīng)用:關(guān)系規(guī)范化理論應(yīng)用在邏輯結(jié)構(gòu)設(shè)計(jì)階段。三、關(guān)系模式的規(guī)范化
1.第一范式(1NF)
①定義:若關(guān)系R的所有屬性不能再分,則R∈1NF2.第二范式(2NF)
①定義:若關(guān)系R∈1NF,且它的每個(gè)非主屬性都完全依賴于主碼,則稱R∈2NF。②存在問(wèn)題:
冗余大:R1必要冗余,R2冗余可以修改。 修改麻煩
插入異常:如新來(lái)的教師沒(méi)有上課,則該教師的信息就沒(méi)辦法插入R2表中。
刪除異常:若某位教師只授一門(mén)課,當(dāng)該門(mén)課不開(kāi)時(shí),該教師的信息亦被刪除。③原因:存在非主屬性對(duì)主碼的傳遞依賴。 KH→XM,XM→DZ,但XMKH
∴KHDZ
[傳遞依賴必須有兩個(gè)非主屬性]
④解決辦法:將R2一分為二R21表KMXMR22表DZKHXM16C1OS高明高明D1C2DBS高飛高飛D2C4AI高飛R21主碼:KH
R22主碼:XM3.第三范式(3NF)
①定義:若關(guān)系R∈2NF,且它的每個(gè)非主屬性都不傳遞依賴于主碼,則稱R∈3NF。②規(guī)范化過(guò)程
非規(guī)范關(guān)系
↓使每個(gè)屬性都不能再分
1NF
↓消去非主屬性對(duì)主碼的部分依賴
2NF
↓消去非主屬性對(duì)主碼的傳遞依賴
3NFBCNF:關(guān)系模式R<U,F>中,如每一個(gè)決定因素都包含碼,則R是BC范式。如果R屬于BCNF那么R一定屬于3NF,反之未必。 3NF
↓消去主屬性對(duì)主碼的部分依賴和傳遞依賴
BCNF4.結(jié)論
①若R∈1NF,且主碼只含一個(gè)屬性,則R一定為2NF。②若R∈2NF,且只有0~1個(gè)非主屬性,則R一定為3NF。③3NF一般控制了數(shù)據(jù)冗余,一般避免了操作異常。
④范式并非越高越好,適可而止。17六 數(shù)據(jù)庫(kù)保護(hù)技術(shù)(第8章)安全管理一、兩種身份驗(yàn)證模式:僅windows模式:用戶只能使用windows登錄名登錄SQLServer
混合模式:用戶可以使用windows登錄名或SQLServer登錄名登錄SQLServer二、兩種身份驗(yàn)證:用戶登錄到SQLServer時(shí),必須使用特定的登錄名和密碼標(biāo)識(shí)自己。Windows身份驗(yàn)證:用戶登錄到SQLServer時(shí),使用操作系統(tǒng)當(dāng)前的登錄名和密碼。SQLServer身份驗(yàn)證:用戶登錄到SQLServer時(shí),必須顯式提供登錄名和密碼。常用安全性控制方法:用戶標(biāo)識(shí)和控制、存取控制、視圖、審計(jì)、數(shù)據(jù)加密數(shù)據(jù)庫(kù)完整性一、在創(chuàng)建表時(shí)指定約束1.主鍵約束
[constraint約束名]
Primarykey[Clustered/Nonclustered][(屬性名,…,屬性名)]說(shuō)明:①每個(gè)約束都有一個(gè)約束名,約束名通常由系統(tǒng)自動(dòng)給出。②列級(jí)約束:只牽涉到一個(gè)屬性的約束,它放在相關(guān)屬性的后面,且省略屬性名表。表級(jí)約束:牽涉到多個(gè)屬性的約束。③創(chuàng)建主鍵約束、唯一性約束時(shí)可以指定聚集(clustered)或非聚集(nonclustered)。④主鍵約束默認(rèn)為聚集的,唯一性約束默認(rèn)為非聚集的。⑤一個(gè)表最多只能創(chuàng)建一個(gè)約束是聚集的,聚集約束會(huì)影響數(shù)據(jù)表的記錄號(hào)順序。2.外鍵約束
[constraint約束名]
Foreignkey[(屬性名,…,屬性名)]
References主鍵表名(屬性名,…,屬性名)
注意:兩表關(guān)聯(lián)的方式:①臨時(shí)關(guān)聯(lián):where表名1.屬性名=表名2.屬性名18②永久關(guān)聯(lián):創(chuàng)建外鍵約束3.唯一性約束
[constraint約束名]
Unique[Clustered/Nonclustered][(屬性名,…,屬性名)]主鍵約束與唯一約束的區(qū)別:①在一個(gè)表中只能定義一個(gè)主鍵約束,但可定義多個(gè)唯一性約束;②指定為主鍵約束的字段不能取null值,但指定為唯一性約束的字段允許取null值。4.檢查約束
[constraint約束名]
Check(條件表達(dá)式)5.缺省約束
[constraint約束名]
Default常量二、刪除表中的約束alter table表名
dropconstraint約束名,...,約束名
注意:alter語(yǔ)句后面只能跟著一個(gè)子句。三、向表添加約束altertable表名
addconstraint約束名約束定義,...,
constraint約束名約束定義
約束定義指:Primarykey[Clustered/Nonclustered](屬性組)
Foreignkey(屬性組)references主鍵表名(屬性組)
Unique[Clustered/Nonclustered](屬性組)
Check(條件表達(dá)式)
Default常量for屬性名默認(rèn)對(duì)象①默認(rèn)對(duì)象與默認(rèn)約束的功能類似。②默認(rèn)對(duì)象以單獨(dú)的對(duì)象創(chuàng)建,可以綁定到數(shù)據(jù)庫(kù)的所有表中。③默認(rèn)約束只能綁定到一個(gè)表中。19 規(guī)則
①規(guī)則與check約束的功能類似。①則以單獨(dú)的對(duì)象創(chuàng)建,可以綁定到數(shù)據(jù)庫(kù)的所有表中。②check約束只能綁定到一個(gè)表中。索引一、索引的概念:①索引使用戶能快速訪問(wèn)數(shù)據(jù)表的特定信息。②索引必須依附于某個(gè)基本表,不能單獨(dú)存在。二、索引的類型:聚集索引:影響數(shù)據(jù)表的記錄順序
非聚集索引:不會(huì)影響數(shù)據(jù)表的記錄順序注:一個(gè)表只能建立一個(gè)聚集索引,但可以建立若干個(gè)非聚集索引。三、創(chuàng)建索引1.自動(dòng)創(chuàng)建索引:
。如果在數(shù)據(jù)表的某個(gè)屬性設(shè)置主鍵約束或唯一約束,則系統(tǒng)將在這些屬性上自動(dòng)創(chuàng)建唯一索引。。自動(dòng)創(chuàng)建的索引隨約束的存在而存在,隨約束的消失而消失。2.使用SQL語(yǔ)句創(chuàng)建索引
Create[unique][clustered/nonclustered]index索引名
On表名(屬性名[asc/desc],屬性名[asc/desc])
注:①若未指定clustered,則創(chuàng)建非聚集索引;
②若未指定排序方式,則為ASC;
③text,ntext類型的字段不能指定為索引字段。四、刪除索引:Dropindex索引名,…,索引名
思考題:創(chuàng)建主鍵時(shí),如果使主鍵字段值不影響數(shù)據(jù)表的記錄順序?視圖一、視圖的特點(diǎn):20①視圖只有結(jié)構(gòu),沒(méi)有記錄,是虛表;②一個(gè)視圖總對(duì)應(yīng)著一個(gè)select語(yǔ)句;③對(duì)視圖的查詢、更新,實(shí)際上是對(duì)基本表的查詢、更新。二、定義視圖:1.創(chuàng)建視圖:Createview視圖名[(屬性名,…,屬性名)]As子查詢[withcheckoption]說(shuō)明:視圖的屬性個(gè)數(shù)必須與子查詢中select子句的表達(dá)式個(gè)數(shù)相同。2.刪除視圖: Dropview視圖名,…,視圖名三、查詢視圖:select*/表達(dá)式表from視圖名,…,視圖名[where 條件][groupby屬性名][orderby屬性名][Asc/Desc]四、操縱視圖:1.向視圖插入一條記錄 insertinto視圖名[(屬性名表)]values(表達(dá)式表)2.修改視圖中的數(shù)據(jù) update視圖名set屬性名=值,…,屬性名=值[where條件]3.刪除視圖中的記錄 deletefrom視圖名[where條件]存儲(chǔ)過(guò)程1.什么叫存儲(chǔ)過(guò)程?將一組SQL語(yǔ)句,以一個(gè)名稱存儲(chǔ)在數(shù)據(jù)庫(kù)中,就形成存儲(chǔ)過(guò)程。2.創(chuàng)建存儲(chǔ)過(guò)程Createproc存儲(chǔ)過(guò)程名[@形參名類型][=常量][output]AsSQL語(yǔ)句序列說(shuō)明:①[=常量]:用于指定形參的默認(rèn)值;[output]用來(lái)指定該形參值是可以返回的。21觸發(fā)器
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆云南省峨山彝族自治縣峨山一中高三下學(xué)期聯(lián)合考試數(shù)學(xué)試題含解析
- 浙江七彩陽(yáng)光聯(lián)盟2025屆高考適應(yīng)性考試數(shù)學(xué)試卷含解析
- 湖師范大學(xué)附屬中學(xué)2025屆高考仿真卷英語(yǔ)試卷含解析
- 2025屆江蘇省如東縣高三3月份第一次模擬考試語(yǔ)文試卷含解析
- 2025屆吉林省吉林大學(xué)附屬中學(xué)高考語(yǔ)文四模試卷含解析
- 《保額銷售實(shí)戰(zhàn)劇本》課件
- 《solidworks 機(jī)械設(shè)計(jì)實(shí)例教程》 課件 任務(wù)1.2 SolidWorks 2022操作界面認(rèn)知
- 湖北省襄陽(yáng)市東風(fēng)中學(xué)2025屆高考語(yǔ)文押題試卷含解析
- 山東省濟(jì)南二中2025屆高考?jí)狠S卷數(shù)學(xué)試卷含解析2
- 2025屆江蘇省徐州市睢寧高級(jí)中學(xué)高三第六次模擬考試語(yǔ)文試卷含解析
- 九年級(jí)安全班會(huì)課件
- 教研組長(zhǎng)培訓(xùn)會(huì)議
- 學(xué)前兒童衛(wèi)生與保健-期末大作業(yè):案例分析-國(guó)開(kāi)-參考資料
- 濱州電動(dòng)伸縮雨棚施工方案
- ISO45001管理體系培訓(xùn)課件
- 24年國(guó)開(kāi)建筑工程估價(jià)實(shí)訓(xùn)報(bào)告
- 醫(yī)院消防系統(tǒng)維護(hù)保養(yǎng)服務(wù)投標(biāo)方案(圖文版)(技術(shù)方案)
- 花都區(qū)2023-2024年-2024年八年級(jí)上學(xué)期語(yǔ)文期末試卷
- 第七單元 課題1 燃料的燃燒(第一課時(shí))九年級(jí)化學(xué)上冊(cè)課件(人教版2024)
- 2025年健康素養(yǎng)知識(shí)競(jìng)賽題庫(kù)(含答案)
- 學(xué)校食堂供貨商合同的退出機(jī)制
評(píng)論
0/150
提交評(píng)論