工商第三章mis技術(shù)基礎(chǔ)12節(jié).ppt_第1頁(yè)
工商第三章mis技術(shù)基礎(chǔ)12節(jié).ppt_第2頁(yè)
工商第三章mis技術(shù)基礎(chǔ)12節(jié).ppt_第3頁(yè)
工商第三章mis技術(shù)基礎(chǔ)12節(jié).ppt_第4頁(yè)
工商第三章mis技術(shù)基礎(chǔ)12節(jié).ppt_第5頁(yè)
已閱讀5頁(yè),還剩102頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

VIP免費(fèi)下載

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

文檔簡(jiǎn)介

3.1數(shù)據(jù)結(jié)構(gòu)技術(shù),DATA STRUCTURE,什麼是數(shù)據(jù)結(jié)構(gòu)?,原始數(shù)據(jù) 所需數(shù)據(jù) 原始數(shù)據(jù) 有組織的數(shù)據(jù) 計(jì)算機(jī)中存儲(chǔ) 邏輯結(jié)構(gòu) 物理結(jié)構(gòu),數(shù)據(jù)的邏輯結(jié)構(gòu):集合、線(xiàn)性表、樹(shù)、圖,(1)集合結(jié)構(gòu)。在集合結(jié)構(gòu)中,數(shù)據(jù)元素間的關(guān)系是“屬于同一個(gè)集合”。集合是元素關(guān)系極為松散的一種結(jié)構(gòu)。,數(shù)據(jù)的邏輯結(jié)構(gòu),(2)線(xiàn)性結(jié)構(gòu)。該結(jié)構(gòu)的數(shù)據(jù)元素之間存在著一對(duì)一的關(guān)系。,數(shù)據(jù)的邏輯結(jié)構(gòu),(3)樹(shù)型結(jié)構(gòu)。該結(jié)構(gòu)的數(shù)據(jù)元素之間存在著一對(duì)多的關(guān)系。,數(shù)據(jù)的邏輯結(jié)構(gòu),(4)圖形結(jié)構(gòu)。該結(jié)構(gòu)的數(shù)據(jù)元素之間存在著多對(duì)多的關(guān)系,圖形結(jié)構(gòu)也稱(chēng)作網(wǎng)狀結(jié)構(gòu)。,數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu),順序存儲(chǔ)結(jié)構(gòu) 鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu) 索引存儲(chǔ)結(jié)構(gòu) 散列存儲(chǔ)結(jié)構(gòu),3.2數(shù)據(jù)庫(kù)技術(shù),數(shù)據(jù)庫(kù)是由表構(gòu)成的,表實(shí)際上就是線(xiàn)性表數(shù)據(jù)結(jié)構(gòu),線(xiàn)性表雖然簡(jiǎn)單,但是太重要了;拿出來(lái)專(zhuān)門(mén)研究,形成了現(xiàn)在的數(shù)據(jù)庫(kù)技術(shù)。(所以說(shuō),數(shù)據(jù)庫(kù)就是數(shù)據(jù)結(jié)構(gòu)的一種)。,3.2數(shù)據(jù)庫(kù)技術(shù),3.2數(shù)據(jù)庫(kù)技術(shù),1、E-R中的基本概念 實(shí)體:客觀事物;可以是人、物或者抽象的概念;例如:一個(gè)學(xué)生、一支粉筆 ;用矩形表示。 實(shí)體集(entity set):具有相同性質(zhì)的同類(lèi)實(shí)體的集合。 屬性:實(shí)體具有的某種特性。如學(xué)生實(shí)體可由學(xué)號(hào)、姓名、年齡、性別、系和班級(jí)來(lái)刻畫(huà)。用橢圓型表示; 值域:每個(gè)屬性有一個(gè)取值范圍;,一、 E-R模型,實(shí)體,屬性,3.2.1 E-R模型和關(guān)系模型,聯(lián)系(relation):實(shí)體集與實(shí)體集之間可能有某種聯(lián)系用菱形表示。 聯(lián)系方式可以分為三類(lèi): 一對(duì)一聯(lián)系:對(duì)于A中的一個(gè)實(shí)體,B中有一個(gè)實(shí)體與其發(fā)生聯(lián)系,反之,對(duì)于B中的一個(gè)實(shí)體,A中有一個(gè)實(shí)體與其發(fā)生聯(lián)系,則稱(chēng)A與B是一對(duì)一聯(lián)系,聯(lián)系,一對(duì)多聯(lián)系:如果對(duì)于A中的每個(gè)實(shí)體,實(shí)體B中有一個(gè)以上實(shí)體與之發(fā)生聯(lián)系,反之,對(duì)于B中的一個(gè)實(shí)體,A中只有一個(gè)實(shí)體與其發(fā)生聯(lián)系,則稱(chēng)A與B是一對(duì)多聯(lián)系。,多對(duì)多聯(lián)系:如果對(duì)于A中的每個(gè)實(shí)體,實(shí)體B中有一個(gè)以上實(shí)體與之發(fā)生聯(lián)系,反之,對(duì)于B中的每個(gè)實(shí)體,實(shí)體集A中有一個(gè)以上實(shí)體與之發(fā)生聯(lián)系,則稱(chēng)A與B是多對(duì)多聯(lián)系。,學(xué)生成績(jī)管理系統(tǒng)e-r圖,圖書(shū)出版管理系統(tǒng)ER圖,m,n,1、關(guān)系模型中的基本概念,二、關(guān)系模型,學(xué)生基本情況表,關(guān)系:對(duì)應(yīng)通常所說(shuō)的表,學(xué)生基本情況表; 元組:表中的一行即為一個(gè)元組,若表有1000行,也就有l(wèi)000個(gè)元組; 屬性:表中的一列即為個(gè)屬性,表有6列,對(duì)應(yīng)6個(gè)屬性(學(xué)號(hào),姓名,性別,院系,出生年月,籍貫); 主碼(key):圖中的某個(gè)屬性組,它可以唯一確定一個(gè)元組.學(xué)號(hào),按照學(xué)生學(xué)號(hào)的編排方法,每個(gè)學(xué)生的學(xué)號(hào)都不相同,所以它可以唯一確定一個(gè)學(xué)生,也就成為本關(guān)系的碼; 域(domain):屬性的取值范圍,如人的年齡一般在0歲150歲之間。學(xué)生基本情況表中性別的域是(男,女),院系的域是一個(gè)學(xué)校所有院系名的集合; 分量:元組中的一個(gè)屬性值; 關(guān)系模式:關(guān)系的描述,一般表示為: 關(guān)系名(屬性l,屬性2,屬性n),E-R圖轉(zhuǎn)換為關(guān)系模型實(shí)際上就是要將實(shí)體和實(shí)體之間的聯(lián)系轉(zhuǎn)化為關(guān)系模式,這種轉(zhuǎn)換一般遵循如下原則: (1)一個(gè)實(shí)體型轉(zhuǎn)換為一個(gè)關(guān)系模式。實(shí)體的屬性就是關(guān)系的屬性,實(shí)體的碼就是關(guān)系的碼。 (2)一個(gè)m:n聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性。關(guān)系的碼為各實(shí)體碼的組合。,三E-R模型如何向關(guān)系模型轉(zhuǎn)化?,學(xué)生(學(xué)號(hào),姓名,年齡),課程(課程號(hào),課程名,學(xué)時(shí)數(shù)),學(xué)習(xí)(學(xué)號(hào),課程號(hào),成績(jī)),(3)一個(gè)1:n聯(lián)系可以轉(zhuǎn)換為個(gè)獨(dú)立的關(guān)系模式,也可以與n端對(duì)應(yīng)的關(guān)系模式合并。如果轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,則與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的碼為n端實(shí)體的碼, 如果與n端對(duì)應(yīng)的關(guān)系模式合并,在n端對(duì)應(yīng)的關(guān)系模式中加入1方碼和(聯(lián)系)屬性 。,三E-R模型如何向關(guān)系模型轉(zhuǎn)化?,倉(cāng)庫(kù)號(hào),地點(diǎn),面積,倉(cāng)庫(kù),貨號(hào),品名,價(jià)格,產(chǎn)品,存放,1,n,倉(cāng)庫(kù)(倉(cāng)庫(kù)號(hào),地點(diǎn),面積),產(chǎn)品(貨號(hào),品名,價(jià)格),數(shù)量,存放(貨號(hào),倉(cāng)庫(kù)號(hào),數(shù)量),倉(cāng)庫(kù)(倉(cāng)庫(kù)號(hào),地點(diǎn),面積),產(chǎn)品(貨號(hào),品名,價(jià)格,倉(cāng)庫(kù)號(hào),數(shù)量),(4)一個(gè)1:1聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與任意一端對(duì)應(yīng)的關(guān)系模式合并。如果轉(zhuǎn)換為個(gè)獨(dú)立的關(guān)系模式,則與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,每個(gè)實(shí)體的碼均是該關(guān)系的候選碼。如果與某一端對(duì)應(yīng)的關(guān)系模式合并,則需要在該關(guān)系模式的屬性中加入另個(gè)關(guān)系模式的碼和聯(lián)系本身的屬性。,廠長(zhǎng)號(hào),姓名,年齡,廠長(zhǎng),廠號(hào),廠名,地點(diǎn),工廠,管理,1,1,水平,(5)三個(gè)或三個(gè)以上實(shí)體間的一個(gè)多元聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。 與該多元聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性。而關(guān)系的碼為各實(shí)體碼的組合。 (6)具有相同碼的關(guān)系模式可合并,工廠(廠號(hào),廠名,廠長(zhǎng),地址) 產(chǎn)品(產(chǎn)品號(hào),型號(hào),單價(jià)) 用戶(hù)(用戶(hù)號(hào),姓名,地址,電話(huà)) 銷(xiāo)售(廠號(hào),產(chǎn)品號(hào),用戶(hù)號(hào),數(shù)量),作業(yè):完成以下實(shí)體聯(lián)系模型向關(guān)系模型的轉(zhuǎn)換,某企業(yè)物資管理系統(tǒng)關(guān)系模型 供應(yīng)商(供應(yīng)商號(hào),姓名,地址,電話(huà)號(hào),賬號(hào)) 倉(cāng)庫(kù)(倉(cāng)庫(kù)號(hào),面積,電話(huà)號(hào)) 職工(職工號(hào),姓名,年齡,職稱(chēng)) 項(xiàng)目(項(xiàng)目號(hào),預(yù)算,開(kāi)工日期) 零件(零件號(hào),名稱(chēng),規(guī)格,單價(jià),描述) 供應(yīng)(供應(yīng)商號(hào),項(xiàng)目號(hào),零件號(hào),供應(yīng)量) 庫(kù)存(零件號(hào),倉(cāng)庫(kù)號(hào),庫(kù)存量) 工作(職工號(hào),倉(cāng)庫(kù)號(hào),成績(jī)),3.2.2關(guān)系的規(guī)范化,為什麼要進(jìn)行關(guān)系的規(guī)范化? 答:因?yàn)椴粚?duì)關(guān)系進(jìn)行規(guī)范化,會(huì)存在很多問(wèn)題。(插入異常、刪除異常、數(shù)據(jù)存儲(chǔ)冗余和修改復(fù)雜等等),所以要對(duì)關(guān)系進(jìn)行規(guī)范化。 下頁(yè)的關(guān)系數(shù)據(jù)存儲(chǔ)冗余顯而易見(jiàn):,3.2.2關(guān)系的規(guī)范化,一、關(guān)系的規(guī)范化過(guò)程中用到的基本概念 函數(shù)依賴(lài):Functional Dependency 完全函數(shù)依賴(lài): Full Functional Dependency 部分函數(shù)依賴(lài): Partial Functional Dependency 傳遞函數(shù)依賴(lài): Transmission Functional Dependency 碼: Key 主屬性: Primary Attribute 非主屬性: Nonprime Attribute 實(shí)體完整性: Entity Integrity 范式: Normal Formula,函數(shù)依賴(lài): 函數(shù)依賴(lài)(Functional Dependency,F(xiàn)D),是屬性之間的一種聯(lián)系。 定義:設(shè)R(U)是屬性集U上的關(guān)系X,Y是U的子集R中不可能存在兩個(gè)元組在X上的屬性值相等,而在Y上的屬性值不等,(也就是說(shuō),只要存在兩個(gè)元組在X上的屬性值相等,那麼這兩個(gè)元組在Y上的屬性值就一定相等。)則稱(chēng) X函數(shù)確定Y或Y函數(shù)依賴(lài)于X,記作XY(有時(shí)簡(jiǎn)稱(chēng)X確定Y)。 其中X稱(chēng)為決定因素,Y稱(chēng)為被決定因素。 學(xué)號(hào)姓名(能不能函數(shù)確定?) 姓名學(xué)號(hào)(能不能函數(shù)確定?) 學(xué)生信息表,請(qǐng)根據(jù)函數(shù)依賴(lài)定義,判斷下列各式是否正確?,學(xué)號(hào) 性別? 學(xué)號(hào) 系別? 學(xué)號(hào) 系主任? 學(xué)號(hào) 成績(jī)? 課程號(hào)課程名? 課程號(hào)成績(jī)? (學(xué)號(hào),課程號(hào)) 成績(jī)? 系別系主任? 學(xué)生信息表,學(xué)號(hào) 性別? 學(xué)號(hào) 系別? 學(xué)號(hào) 系主任? 學(xué)號(hào) 成績(jī)? 課程號(hào)課程名? 課程號(hào)成績(jī)? (學(xué)號(hào),課程號(hào)) 成績(jī)? 系別系主任,完全函數(shù)依賴(lài) 在關(guān)系模式R中,X、Y為 R 的兩個(gè)屬性集 ,若Y函數(shù)依賴(lài)X(XY)但Y不函數(shù)依賴(lài)X的任一真子集X,則稱(chēng)Y對(duì)X完全(Full)函數(shù)依賴(lài),記為:Xf Y。 請(qǐng)根據(jù)定義判斷下式是否正確,為什麼? (學(xué)號(hào),課程號(hào))f 成績(jī)?,解:(學(xué)號(hào),課程號(hào)) 成績(jī) 學(xué)號(hào) 成績(jī)? 課程號(hào)成績(jī)? 因?yàn)槌煽?jī)函數(shù)依賴(lài)于(學(xué)號(hào),課程號(hào)),但成績(jī)不函數(shù)依賴(lài)于(學(xué)號(hào),課程號(hào))的任一真子集學(xué)號(hào)或課程號(hào),所以說(shuō)成績(jī)完全函數(shù)依賴(lài)于(學(xué)號(hào),課程號(hào)),部分函數(shù)依賴(lài): 在關(guān)系模式R中,X、Y為 R 的兩個(gè)屬性集,若存在X的任一真子集X,使得XY,稱(chēng)Y部分(Partial)函數(shù)依賴(lài)于X。記為: Xp Y 請(qǐng)根據(jù)定義判斷下式是否正確?為什麼? (學(xué)號(hào),課程號(hào))p 姓名 ? (學(xué)號(hào),課程號(hào))p 性別 ? (學(xué)號(hào),課程號(hào))p 系別 ? (學(xué)號(hào),課程號(hào))p 系主任 ? (學(xué)號(hào),課程號(hào))p 課程名 ?,解:因?yàn)樾彰瘮?shù)依賴(lài)于(學(xué)號(hào),課程號(hào))中的真子集學(xué)號(hào),所以 (學(xué)號(hào),課程號(hào))p 姓名 因?yàn)樾詣e函數(shù)依賴(lài)于(學(xué)號(hào),課程號(hào))中的真子集學(xué)號(hào),所以 (學(xué)號(hào),課程號(hào))p 性別 因?yàn)橄祫e函數(shù)依賴(lài)于(學(xué)號(hào),課程號(hào))中的真子集學(xué)號(hào),所以 (學(xué)號(hào),課程號(hào))p 系別 因?yàn)橄抵魅魏瘮?shù)依賴(lài)于(學(xué)號(hào),課程號(hào))中的真子集學(xué)號(hào),所以 (學(xué)號(hào),課程號(hào))p 系主任 因?yàn)檎n程名函數(shù)依賴(lài)于(學(xué)號(hào),課程號(hào))中的真子集課程號(hào),所以 (學(xué)號(hào),課程號(hào))p 課程名,傳遞函數(shù)依賴(lài): 在關(guān)系R中,X、Y、Z是R的三個(gè)不同的屬性集,如果 XY,YZ,則稱(chēng)Z傳遞函數(shù)依賴(lài)于X;記作XtZ 。 請(qǐng)根據(jù)傳遞函數(shù)依賴(lài)定義判定下式是否正確? 學(xué)號(hào)t系主任? 答:由以上分析可知: 學(xué)號(hào)系別 系別系主任 所以系主任傳遞函數(shù)依賴(lài)于學(xué)號(hào),即學(xué)號(hào)t系主任。,碼: 對(duì)于屬性集X,關(guān)系R中不可能存在兩個(gè)元組在屬性集X上的屬性值相等(任何元組屬性集X上的值都是不相同的) ,則稱(chēng)屬性集X是關(guān)系R的候選碼。若候選碼多于一個(gè),則選其中的一個(gè)為主碼(Primary Key); 請(qǐng)根據(jù)定義找出關(guān)系學(xué)生信息表的候選碼。 (學(xué)號(hào),課程號(hào)) 學(xué)生信息表,通過(guò)定義找有難度時(shí),可以這樣找: 設(shè)R(U)是屬性集U上的關(guān)系X是U的子集,如X能函數(shù)確定(完全函數(shù)確定,部分函數(shù)確定均可)U-X中的任一屬性,則X就是關(guān)系的碼。 在學(xué)生信息表中 U=(學(xué)號(hào),姓名,性別,系別,系主任,課程號(hào),課程名,成績(jī)) X=(學(xué)號(hào),課程號(hào)) U-X=(姓名,性別,系別,系主任,課程名,成績(jī)) (學(xué)號(hào),課程號(hào))p 姓名 (學(xué)號(hào),課程號(hào))p 性別 (學(xué)號(hào),課程號(hào))p 系別 (學(xué)號(hào),課程號(hào))p 系主任 (學(xué)號(hào),課程號(hào))p 課程名 (學(xué)號(hào),課程號(hào))f成績(jī) 所以(學(xué)號(hào),課程號(hào))是關(guān)系學(xué)生信息表的候選碼。,主屬性(Primary Attribute):包含在任一候選碼中的屬性,叫做主屬性。 非主屬性:不包含在任何碼中的屬性稱(chēng)非主屬性(NonprimeAttribute)或非碼屬性(Nonkey Attribute)。 請(qǐng)根據(jù)定義找出關(guān)系學(xué)生信息表的主屬性和非主屬性 學(xué)生信息表 主屬性:學(xué)號(hào),課程號(hào) 非主屬性:姓名,性別,系別,系主任,課程名,成績(jī) 實(shí)體完整性:主屬性不能取空值null,范式:(NF)是符合某一種級(jí)別的關(guān)系模式的集合。關(guān)系數(shù)據(jù)庫(kù)中的關(guān)系必須滿(mǎn)足一定的要求,滿(mǎn)足不同程度要求的為不同的范式。 二維表(關(guān)系)按其規(guī)范化程度從低到高可分為5級(jí)范式(Normal Form),分別稱(chēng)為1NF、2NF、3NF(BCNF)、4NF、5NF。 若R(U)符合x(chóng)范式的要求,則稱(chēng)R為x范式,記作:RxNF。,第一范式(1NF) 如果一個(gè)關(guān)系模式R的所有屬性都是不可分的基本數(shù)據(jù)項(xiàng),則 R 1NF 第二范式(2NF) 如果一個(gè)關(guān)系 R1NF(滿(mǎn)足第一范式的要求),而且它的所有非主屬性都完全函數(shù)依賴(lài)于R的任一候選碼,則R屬于第二范式,記作:R2NF。 第三范式(3NF) 若R2NF(滿(mǎn)足第二范式的要求), 且它的任何一個(gè)非主屬性都不傳遞依賴(lài)于任一候選碼, 則稱(chēng)關(guān)系R滿(mǎn)足第三范式。 記為R3NF BCNF和4NF、5NF不做討論。,二、關(guān)系的規(guī)范化: 通過(guò)模式分解將一個(gè)低級(jí)范式轉(zhuǎn)換為若干個(gè)高級(jí)范式的過(guò)程稱(chēng)作關(guān)系的規(guī)范化。,(一)1NF-2NF,1、1NF定義 如果一個(gè)關(guān)系模式R的所有屬性都是不可分的基本數(shù)據(jù)項(xiàng),則 R 1NF 請(qǐng)根據(jù)1NF的定義判定下面兩個(gè)關(guān)系是否1NF ?,學(xué)生信息表,2、1NF的關(guān)系存在的問(wèn)題 插入異常:若學(xué)生沒(méi)有選課,(為了保證實(shí)體完整性)則他的個(gè)人信息及所在系的信息就無(wú)法插入 刪除異常:若刪除學(xué)生的選課信息,則有關(guān)他的個(gè)人信息及所在系的信息也隨之刪除了(大一第一學(xué)期因病休學(xué),無(wú)法上課,需要?jiǎng)h除選課信息,為了保證實(shí)體完整性,需要連有關(guān)他的個(gè)人信息及所在系的信息一起刪除) 數(shù)據(jù)存儲(chǔ)冗余和修改復(fù)雜:如果一個(gè)學(xué)生選修了k門(mén)課,則有關(guān)他的個(gè)人信息和所在系的信息重復(fù)存儲(chǔ)k次;如果學(xué)生改名,若他選修了k門(mén)課,則需要修改k條記錄,學(xué)生信息表,3、1NF 2NF 目的消除原關(guān)系中非主屬性對(duì)碼的部分函數(shù)依賴(lài) 步驟: 1)找出關(guān)系的碼(學(xué)號(hào),課程號(hào)),寫(xiě)出函數(shù)依賴(lài) (學(xué)號(hào),課程號(hào))f 成績(jī) (學(xué)號(hào),課程號(hào))p 姓名 即學(xué)號(hào)姓名 (學(xué)號(hào),課程號(hào))p 性別 即學(xué)號(hào)性別 (學(xué)號(hào),課程號(hào))p 系別 即學(xué)號(hào)系別 (學(xué)號(hào),課程號(hào))p 系主任 即學(xué)號(hào)系主任 (學(xué)號(hào),課程號(hào))p 課程名 即課程號(hào)課程名 2)分解關(guān)系 對(duì)碼(學(xué)號(hào),課程號(hào))完全函數(shù)依賴(lài)的屬性和碼構(gòu)成一個(gè)關(guān)系 (學(xué)號(hào),課程號(hào),成績(jī)) 對(duì)碼的真子集學(xué)號(hào)函數(shù)依賴(lài)的屬性和學(xué)號(hào)構(gòu)成一個(gè)關(guān)系 (學(xué)號(hào),姓名,性別,系別,系主任) 對(duì)碼的真子集課程號(hào)函數(shù)依賴(lài)的屬性和課程號(hào)構(gòu)成一個(gè)關(guān)系 (課程號(hào),課程名),(二) 2NF3NF,1、 2NF定義 如果一個(gè)關(guān)系 R1NF,且它的所有非主屬性都完全函數(shù)依賴(lài)于R的任一候選碼,則R屬于第二范式,記作:R2NF。 判斷下列三個(gè)關(guān)系是否屬于2NF?,(二) 2NF3NF),2、2NF的關(guān)系存在的問(wèn)題 插入異常 新建一個(gè)系,但還沒(méi)有招生,(為了保證實(shí)體完整性)有關(guān)于系的信息無(wú)法插入進(jìn)去。 刪除異常 刪除一個(gè)學(xué)生(該系唯一的一個(gè)學(xué)生),連系的信息也一塊刪除掉了,數(shù)據(jù)冗余度大 一個(gè)系有多少學(xué)生,關(guān)于系的信息就要被存儲(chǔ)多少遍 修改復(fù)雜 系主任發(fā)生變動(dòng),此系有多少學(xué)生,系主任就需要被修改多少遍。,3、2NF 3NF (學(xué)號(hào),姓名,性別,系別,系主任) 目的: 消除非主屬性對(duì)碼的傳遞函數(shù)依賴(lài) 步驟: 1)找出非主屬性對(duì)碼的傳遞函數(shù)依賴(lài) 學(xué)號(hào)系別 系別系主任 XY, YZ 2)分解關(guān)系 Y和Z構(gòu)成一個(gè)關(guān)系(系別,系主任) 原關(guān)系中拋卻對(duì)碼傳遞函數(shù)依賴(lài)的非主屬性即Z構(gòu)成一個(gè)關(guān)系 (學(xué)號(hào),姓名,性別,系別),請(qǐng)根據(jù)3 NF定義(如下所示)驗(yàn)證以上兩個(gè)關(guān)系是不是3 NF的? 若R2NF(滿(mǎn)足第二范式的要求), 且它的任何一個(gè)非主屬性都不傳遞依賴(lài)于碼, 則稱(chēng)關(guān)系R滿(mǎn)足第三范式。 記為R3NF,作業(yè),作業(yè):請(qǐng)將以下關(guān)系規(guī)范化為3NF的關(guān)系 一個(gè)職工(教師)可以參與多個(gè)項(xiàng)目,每個(gè)教師在項(xiàng)目中的角色可以是“負(fù)責(zé)人”或“參與者”,每個(gè)項(xiàng)目可以有多個(gè)教師參與,該關(guān)系的碼是(職工號(hào),項(xiàng)目號(hào)) (職工號(hào),姓名,職稱(chēng),系別,系主任 ,項(xiàng)目號(hào),項(xiàng)目名稱(chēng),項(xiàng)目級(jí)別 項(xiàng)目角色),解:首先將它規(guī)范化為2NF的關(guān)系 1(職工號(hào),項(xiàng)目號(hào),項(xiàng)目角色) 2(職工號(hào),姓名,職稱(chēng),系別,系主任) 3(項(xiàng)目號(hào),項(xiàng)目名稱(chēng),項(xiàng)目級(jí)別) 因13關(guān)系滿(mǎn)足3NF的要求,再將第二個(gè)關(guān)系規(guī)范化為3NF的關(guān)系 4(職工號(hào),姓名,職稱(chēng),系別) 5(系別,系主任) 該關(guān)系最后規(guī)范化成的一組3NF的關(guān)系:1、3、4、5,關(guān)系規(guī)范化的過(guò)程總結(jié),3.2.3關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL,3.2.3關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL SQL(Structured Query Language),1974年提出,1986年美國(guó)國(guó)家標(biāo)準(zhǔn)局把SQL作為關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言的美國(guó)標(biāo)準(zhǔn),1987年國(guó)際標(biāo)準(zhǔn)化組織(ISO)通過(guò)這一標(biāo)準(zhǔn)。此后各個(gè)數(shù)據(jù)庫(kù)廠家紛紛推出各自的SQL軟件或與SQL的接口軟件。這就使大多數(shù)數(shù)據(jù)庫(kù)均用SQL作為共同的數(shù)據(jù)存取語(yǔ)言和標(biāo)準(zhǔn)接口,使不同數(shù)據(jù)庫(kù)之間的互操作有了共同的基礎(chǔ)。SQL已成為數(shù)據(jù)庫(kù)領(lǐng)域中一個(gè)主流語(yǔ)言。人們把確立SQL為關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言標(biāo)準(zhǔn)及其后的發(fā)展稱(chēng)為是一場(chǎng)革命。,3.2.3關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL,3.2.3關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL SQL(Structured Query Language),1974年提出,1986年美國(guó)國(guó)家標(biāo)準(zhǔn)局把SQL作為關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言的美國(guó)標(biāo)準(zhǔn),1987年國(guó)際標(biāo)準(zhǔn)化組織(ISO)通過(guò)這一標(biāo)準(zhǔn)。人們把確立SQL為關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言標(biāo)準(zhǔn)及其后的發(fā)展稱(chēng)為是一場(chǎng)革命。 為什麼稱(chēng)SQL為關(guān)系數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)語(yǔ)言?標(biāo)準(zhǔn)二字含義 答:foxpro語(yǔ)言(locate、replace)只能操作foxpro數(shù)據(jù)庫(kù),locate、replace等命令只對(duì)foxpro數(shù)據(jù)庫(kù)有效,而SQL語(yǔ)言可以操作任意的關(guān)系數(shù)據(jù)庫(kù)(SQL SERVER 、ACCESS、FOXPRO、DB2、POWERBUIDER),3. 2.3關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL,SQL語(yǔ)言動(dòng)詞共有九個(gè),如下表所示(重點(diǎn)學(xué)習(xí)前7個(gè)):,1 1)建立數(shù)據(jù)庫(kù)命令(補(bǔ)充,書(shū)上沒(méi)有) 格式: CREATE DATABASE 例: CREATE DATABASE D:SCDATABASE (在D盤(pán)根目錄下建立了一個(gè)空的數(shù)據(jù)庫(kù)SCDATABASE),說(shuō)明: 各種符號(hào)的含義跟foxpro命令一樣 必選項(xiàng) 可選項(xiàng) 項(xiàng)的延續(xù) 數(shù)據(jù)類(lèi)型: 不同的數(shù)據(jù)庫(kù)系統(tǒng)有自己的數(shù)據(jù)類(lèi)型規(guī)定,但一般都包括INT, FLOAT, CHAR(n), DATE等 完整性約束條件 列級(jí)完整性約束:涉及表的某一列 表級(jí)完整性約束:涉及表的一個(gè)或多個(gè)列(暫不討論),CREATE TABLE ( 列級(jí)完整性約束 , 列級(jí)完整性約束 , );,1 .2)建立基本表,完整性約束,CREATE TABLE的完整性約束 列級(jí)約束 UNIQUE 取值唯一 NOT NULL 屬性值禁止為空 表級(jí)約束(暫不討論) PRIMARY KEY (A1, ., An) 主碼-若干屬性列 CHECK(P) P為條件表達(dá)式,SQL-92以后版本中,一個(gè)屬性若有PRIMARY KEY聲明則隱含有NOT NULL約束,例:以下語(yǔ)句建立了一個(gè)怎樣的表? Create table student ( sno char(5) not null unique, sname char(20) unique, ssex char(2), sage int, sdept char(16);,解:該語(yǔ)句建立了一個(gè)表名為student的表,包含5個(gè)字段 Sno 字符型,長(zhǎng)度為5,不允許取空值,字段值是唯一的 Sname字符型,長(zhǎng)度為20 Ssex 字符型, 長(zhǎng)度為2 Sage 整型 Sdept 字符型,長(zhǎng)度是16,例:以下語(yǔ)句建立了一個(gè)怎樣的表? Create table sc ( sno char(5) not null, cno char(1) not null, grade int,); 解:該語(yǔ)句建立了一個(gè)表名為sc的表,包含3個(gè)字段 Sno 字符型,長(zhǎng)度為5,不允許取空值 cno字符型,長(zhǎng)度為1, 不允許取空值 grade 整型,例:以下語(yǔ)句建立了一個(gè)怎樣的表? Create table course(cno char(1) not null unique,cname char(20),pcno char(1),ccredit int) 解:該語(yǔ)句建立了一個(gè)名為course的表,包含4個(gè)字段 Cno,課程號(hào),字符型,長(zhǎng)度為1,不允許取空值,字段值是唯一的 Cname課程名,字符型,長(zhǎng)度為20 Pcno 先行課課程號(hào),字符型,長(zhǎng)度為1 Ccredit 該課程學(xué)分,整型,上機(jī)試驗(yàn):,請(qǐng)你根據(jù)所學(xué)過(guò)的SQL命令,在FOXPRO環(huán)境下建立一個(gè)FOXPRO型數(shù)據(jù)庫(kù):學(xué)生課程數(shù)據(jù)庫(kù)SCDATABASE:包含下面三個(gè)基本表: 學(xué)生表:student( sno, sname, ssex, sage, sdept) 課程表:course( cno, cname, pcno, ccredit) 學(xué)生選課表:sc( sno, cno, grade),1)、在FOXPRO環(huán)境中,建立如下一個(gè)程序文件,運(yùn)行。 Set defa to d: CREATE DATABASE SCDATABASE *執(zhí)行完上面命令后,SCDATABASE默認(rèn)是打開(kāi)的,以下命令建的表都位于SCDATABASE Create table student (sno char(5) not null unique,sname char(20),ssex char(2),sage int,sdept char(16) Create table course(cno char(1) not null unique,cname char(20),pcno char(1) null,ccredit int) Create table sc(sno char(5) not null ,cno char(5) not null,grade int ) 2)、也可以在命令窗口中輸入以上四條語(yǔ)句,2.修改基本表 格式: ALTER TABLE ADD完整性約束 DROP COLUMN MODIFY(此子句暫不考慮) 例:向Student表增加“入學(xué)時(shí)間”列,其數(shù)據(jù)類(lèi)型為日期型。 Alter table student ADD Scome DATE 例:刪除Student表的 “入學(xué)時(shí)間”列,其數(shù)據(jù)類(lèi)型為日期型。 Alter table student DROP COLUMN Scome,3. 刪除基本表 格式: DROP TABLE 例:刪除Student表 Drop table Student,3. 2.3關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL,4.插入數(shù)據(jù) 格式: INTO子句中沒(méi)有出現(xiàn)的屬性列,新記錄在該列上將取空值 如果INTO子句中沒(méi)有指明任何列名,則新記錄的每個(gè)屬性列必須有值,INSERT INTO (,) VALUES(,);,INSERT INTO Student VALUES(95020, 陳冬, 男, IS, 18);,INSERT INTO SC(Sno, Cno) VALUES(“95002”, “1”);,例 將一個(gè)新學(xué)生記錄插入到Student表中,例 插入一條選課記錄(”95020”,”1”),新插入的記錄Grade取空值,如果INTO子句中沒(méi)有指明任何列名,則新記錄的每個(gè)屬性列必須有值,INTO子句中沒(méi)有出現(xiàn)的屬性列,新記錄在該列上將取空值,上機(jī)試驗(yàn):請(qǐng)你根據(jù)所學(xué)過(guò)的SQL命令,在建立的學(xué)生課程數(shù)據(jù)庫(kù)SCDATABASE中錄入如下數(shù)據(jù):,student,course,sc,1)在FOXPRO環(huán)境中,建立如下一個(gè)程序文件,運(yùn)行 INSERT INTO student VALUES(“95001“,“李勇“,“男“,20 ,“CS“) INSERT INTO student VALUES(“95002“,“劉晨“,“男“,19,“IS“) INSERT INTO student VALUES(“95003“,“王敏“,“男“,18,“MA “) INSERT INTO student VALUES(“95004“,“張立“,“男“,19,“IS“) INSERT INTO course VALUES(“1“,“數(shù)據(jù)庫(kù)“,“5“,4) INSERT INTO course VALUES(“2“,“數(shù)學(xué)“,null , 2) INSERT INTO course VALUES(“3“,“信息系統(tǒng)“,“1“,4) INSERT INTO course VALUES(“4“,“操作系統(tǒng)“,“6“,3) INSERT INTO course VALUES(“5“,“數(shù)據(jù)結(jié)構(gòu)“,“7“,4) INSERT INTO course VALUES(“6“,“數(shù)據(jù)處理“, null,2) INSERT INTO course VALUES(“7“,“ C語(yǔ)言“,“6“,4) INSERT INTO sc VALUES(“95001“, “1“ ,92) INSERT INTO sc VALUES(“95001“, “2“ ,85) INSERT INTO sc VALUES(“95001“, “3“ ,88) INSERT INTO sc VALUES(“95002“, “2“ ,90) INSERT INTO sc VALUES(“95002“, “3“ ,80) 2)也可在命令窗口中運(yùn)行各條命令,5.修改數(shù)據(jù) 格式: UPDATE SET =,= WHERE 例:update student set sage=22 where sno=“95001“ 例:update student set sage=sage+1 解釋上兩條語(yǔ)句完成了怎樣的功能 6.刪除數(shù)據(jù) 格式: DELETE FROM WHERE 例:delete from student where sno=“95004“ 解釋該語(yǔ)句完成了怎樣的功能,3. 2.3關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL,7.數(shù)據(jù)查詢(xún)(核心語(yǔ)句,功能強(qiáng)大) 格式: SELECT ALL | DISTINCT ,F(xiàn)ROM , WHERE GROUP By HAVING ORDER BYASC | DESC 必選項(xiàng) 可選項(xiàng) 項(xiàng)的延續(xù) | 任選其一,SELECT * FROM Student;,單表查詢(xún),一、選擇表中若干列 查詢(xún)指定列:在中指定預(yù)查屬性 查詢(xún)?nèi)苛校涸谥惺褂? 查詢(xún)經(jīng)計(jì)算的值:在中可使用常量、表達(dá)式、函數(shù)等,SELECT Sname,“Year of Birth is“,2010-sage,LOWER(sdept) FROM Student ;,SELECT Sno, Sname FROM Student;,查詢(xún)實(shí)例,結(jié)果為: Sname year of Birth: 2002-Sage LOWER(Sdept) 李勇 Year of Birht: 1982 cs 劉晨 Year of Birht: 1983 is 王敏 Year of Birht: 1984 ma 張立 Year of Birht: 1983 is,SELECT Sname,“Year of Birth is“,2002-sage,LOWER(sdept) FROM Student ;,二、選擇表中若干元組,取消取值重復(fù)的列:指定DISTINCT短語(yǔ) 查詢(xún)滿(mǎn)足條件的元組:在WHERE子句中指定條件,DISTINCT 短語(yǔ),SQL 允許重復(fù)的元組/行存在,如果需要去掉重復(fù)的元組/行,必須指定DISTINCT 短語(yǔ),缺省為ALL 例: 查詢(xún)選修了課程的學(xué)生學(xué)號(hào) 結(jié)果為 : 結(jié)果為: Sno Sno 95001 95001 95001 95002 95001 95002 95002,SELECT DISTINCT Sno FROM SC;,SELECT Sno FROM SC; 或 SELECT ALL Sno FROM SC;,WHERE子句,查詢(xún)滿(mǎn)足條件的元組:在WHERE子句中指定條件 WHERE子句常用的查詢(xún)條件:,Where子句比較大小,SELECT Sname FROM Student WHERE Sdept = “CS“,SELECT DISTINCT Sno FROM SC WHERE Grade 60;,例 查詢(xún)計(jì)算機(jī)系全體學(xué)生的名單,例 查詢(xún)考試成績(jī)有不及格的學(xué)生的學(xué)號(hào),例 查詢(xún)所有年齡在20歲以下的學(xué)生姓名及其年齡,SELECT Sname, Sage SELECT Sname, Sage FROM Student FROM Student WHERE Sage=20;,Where子句確定范圍,SELECT Sname, Sdept, Sage FROM Student WHERE Sage BETWEEN 20 AND 40;,例 查詢(xún)年齡在2040歲之間的學(xué)生姓名、系別和年齡,SELECT Sname, Sdept, Sage FROM Student WHERE Sage NOT BETWEEN 20 AND 23;,例 查詢(xún)年齡不在2023歲之間的學(xué)生姓名、系別和年齡,Where子句確定集合,SELECT Sname, Ssex FROM Student WHERE Sdept IN (IS, MA, CS);,例 查詢(xún)信息系(IS)、數(shù)學(xué)系(MA)和計(jì)算機(jī)系(CS)學(xué)生的姓名和性別,SELECT Sname, Ssex FROM Student WHERE Sdept NOT IN (IS,MA,CS),例 查詢(xún)除信息系(IS)、數(shù)學(xué)系(MA)和計(jì)算機(jī)系(CS)以外其它系學(xué)生的姓名和性別,Where子句字符串匹配,謂詞LIKE可以用來(lái)進(jìn)行字符串的匹配 格式:NOT LIKE ESCAPE 匹配串中%代表任意長(zhǎng)度的字符串,如a%b:acb, addgb, ab 匹配串中_ 代表任意單個(gè)字符,如a_b:acb afb,通配符例子,SELECT * FROM Student WHERE Sname LIKE 劉%;,SELECT * FROM Student WHERE Sname LIKE _ _明_ _;,例 查詢(xún)所有姓劉的學(xué)生的詳細(xì)信息,例 查詢(xún)所有全名為三個(gè)字且中間漢字為“明”的學(xué)生的詳細(xì)信息,換碼字符,例 查詢(xún)DB_ DESIGN課程的課程號(hào)和學(xué)分,SELECT Cno,CCredit FROM Course WHERE Cname LIKE DB_DESIGN ESCAPE ;,注:ESCAPE 表示為轉(zhuǎn)義換碼字符,緊跟其后的_不再具有通配符的含義, 轉(zhuǎn)義為普通_字符,SELECT Cno, CCredit FROM Course WHERE Cname LIKE DB_DESIGN,例 所有以”DB”開(kāi)頭,中間為任意一個(gè)字符,結(jié)尾”DESIGN”課程的課程號(hào)和學(xué)分,Where子句涉及空值的查詢(xún),SELECT Sno, Cno FROM SC WHERE Grade IS NULL;,SELECT Sno, Cno FROM SC WHERE Grade IS NOT NULL;,例:某些學(xué)生選修課程后沒(méi)有參加考試,所以有選修課記錄,但沒(méi)有考試成績(jī)。查詢(xún)?nèi)鄙俪煽?jī)的學(xué)生的學(xué)號(hào)和相應(yīng)的課程號(hào):,例 查詢(xún)所有有成績(jī)的學(xué)生學(xué)號(hào)和課程號(hào),注意這里的“IS” 不能用等號(hào)代替,Where子句多重條件查詢(xún),SELECT Sname FROM Student WHERE Sdept = CS AND Sage 20;,SELECT Sname, Ssex FROM Student WHERE Sdept = IS OR Sdept = MA OR Sdept = CS;,例 查詢(xún)計(jì)算機(jī)系年齡在20歲以下的學(xué)生姓名,例 查詢(xún)信息系(IS)、數(shù)學(xué)系(MA)和計(jì)算機(jī)系(CS)學(xué)生的姓名和性別,練習(xí),關(guān)系:圖書(shū)(書(shū)號(hào),書(shū)名,作者,出版社,單價(jià)) BOOK(Bno, Bname, Author, Press, Price) 查詢(xún)“數(shù)據(jù)庫(kù)”一書(shū)的書(shū)號(hào)和單價(jià) 查詢(xún)單價(jià)在20至50元之間的圖書(shū)信息 查詢(xún)北京某出版社出版的圖書(shū)信息 查詢(xún)作者是張一,王二,劉三的書(shū)的信息 查詢(xún)所有圖書(shū)的書(shū)號(hào),書(shū)名和半價(jià)信息 查詢(xún)?nèi)鄙俪霭嫔缧畔⒌膱D書(shū)的書(shū)號(hào)和書(shū)名,三、對(duì)查詢(xún)結(jié)果排序,SELECT Sno, Grade FROM SC WHERE Cno = 3 ORDER BY Grade DESC;,SELECT * FROM Student ORDER BY Sdept, Sage DESC;,例 查詢(xún)選修了3號(hào)課程的學(xué)生的學(xué)號(hào)及其成績(jī),查詢(xún)結(jié)果按分?jǐn)?shù)的降序排列,例 查詢(xún)?nèi)w學(xué)生情況,查詢(xún)結(jié)果按所在系的系號(hào)升序排列,同一系中的學(xué)生按年齡降序排列(見(jiàn)示例),ORDER BY 子句 可對(duì)查詢(xún)結(jié)果按照一個(gè)或多個(gè)屬性列的升序(ASC)或降序(DESC)排列,缺省值為升序,四、使用集函數(shù),實(shí)例,SELECT COUNT(*) FROM Student;,SELECT COUNT(DISTINCT Sno) FROM SC;,SELECT AVG(Grade) FROM SC WHERE Cno = 1;,SELECT MAX(Grade) FROM SC WHERE Cno = 1;,例 查詢(xún)學(xué)生總?cè)藬?shù),例 查詢(xún)選修了課程的學(xué)生人數(shù),例 計(jì)算選修了1號(hào)課程的學(xué)生平均成績(jī),例 查詢(xún)選修1號(hào)課程的學(xué)生最高分?jǐn)?shù),五、對(duì)查詢(xún)結(jié)果分組,GROUP BY 子句將查詢(xún)結(jié)果按某一列或多列分組,值相等的為一組。 對(duì)查詢(xún)結(jié)果分組的目的是為了細(xì)化集函數(shù)的作用對(duì)象,分組后每個(gè)組都有一個(gè)函數(shù)值 如果分組后還要求按一定的條件對(duì)這些組進(jìn)行篩選,最終只輸出滿(mǎn)足指定條件的組, 則可以是使用HAVING短語(yǔ)指定篩選條件,分組實(shí)例,SELECT Cno, COUNT(Sno) FROM SC GROUP BY Cno;,SELECT Sno FROM SC GROUP BY Sno HAVING COUNT(*)3;,例 查詢(xún)選修了3門(mén)以上課程的學(xué)生學(xué)號(hào),例 求各個(gè)課程號(hào)及相應(yīng)的選課人數(shù),練習(xí),數(shù)據(jù)庫(kù)模式如下: 倉(cāng)庫(kù)(倉(cāng)庫(kù)號(hào),負(fù)責(zé)人) 貨物(貨物號(hào),貨物名,貨物描述) 入庫(kù)記錄(貨物號(hào),倉(cāng)庫(kù)號(hào),數(shù)量,入庫(kù)日期,經(jīng)辦人號(hào)) 用SQL實(shí)現(xiàn)以下查詢(xún)要求: 查詢(xún)倉(cāng)庫(kù)中有多少種不同的貨物 查詢(xún)每天入庫(kù)數(shù)量的最大值 統(tǒng)計(jì)2003年3月20日以后每天入庫(kù)的貨物總數(shù)量 按貨物號(hào)統(tǒng)計(jì)每一種貨物在倉(cāng)庫(kù)中的總數(shù)量 查詢(xún)“A-001”號(hào)經(jīng)辦人當(dāng)日經(jīng)辦的入庫(kù)記錄數(shù),SELECT COUNT(*) FROM 貨物; 或 SELECT COUNT(DISTINCT 貨物號(hào)) FROM 入庫(kù)記錄;,SELECT入庫(kù)日期, MAX(數(shù)量) FROM 入庫(kù)記錄 GROUP BY 入庫(kù)日期;,SELECT入庫(kù)日期, SUM(數(shù)量) FROM 入庫(kù)記錄 GROUP BY 入庫(kù)日期 HAVING 入庫(kù)日期 “2003/03/20”;,SELECT 貨物號(hào),SUM(數(shù)量) FROM 入庫(kù)記錄 GROUP BY 貨物號(hào);,SELECT COUNT(*) FROM 入庫(kù)記錄 WHERE入庫(kù)日期=Today() GROUP BY 經(jīng)辦人號(hào) HAVING 經(jīng)辦人號(hào) = “A-001”;,連接查詢(xún),連接(Join)查詢(xún) 查詢(xún)涉及兩個(gè)以上的表(在FROM子句中體現(xiàn)) From 子句 對(duì)應(yīng)于關(guān)系代數(shù)中笛卡兒乘積運(yùn)算, 它給出待掃描的關(guān)系/表(指定多個(gè)表), WHERE子句給出連接條件,連接查詢(xún),連接條件的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論