數(shù)據(jù)庫基礎(chǔ)知識課件_第1頁
數(shù)據(jù)庫基礎(chǔ)知識課件_第2頁
數(shù)據(jù)庫基礎(chǔ)知識課件_第3頁
數(shù)據(jù)庫基礎(chǔ)知識課件_第4頁
數(shù)據(jù)庫基礎(chǔ)知識課件_第5頁
已閱讀5頁,還剩83頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第1章 數(shù)據(jù)庫基礎(chǔ)知識Access簡介5數(shù)據(jù)庫的相關(guān)概念1關(guān)系數(shù)據(jù)庫2數(shù)據(jù)庫設(shè)計(jì)的步驟3SQL基本命令4第1頁,共88頁。 1.1 數(shù)據(jù)庫的概念1數(shù)據(jù)和數(shù)據(jù)管理2數(shù)據(jù)管理技術(shù)發(fā)展3數(shù)據(jù)庫系統(tǒng)4實(shí)體及其聯(lián)系 5數(shù)據(jù)模型 2第2頁,共88頁。1.1 數(shù)據(jù)庫的概念1.1.1 數(shù)據(jù)和數(shù)據(jù)管理信息:指現(xiàn)實(shí)世界中事物的存在方式或運(yùn)動(dòng)狀態(tài)的反映。數(shù)據(jù):是描述現(xiàn)實(shí)世界事物的符號記錄形式,是利用物理符號記錄下來的可以識別的信息。1信息和數(shù)據(jù)3第3頁,共88頁。1.1 數(shù)據(jù)庫的概念1.1.1 數(shù)據(jù)和數(shù)據(jù)管理物理符號包括:數(shù)字、文字、圖形、圖像、聲音、其它特殊符號。信息和數(shù)據(jù)的關(guān)系數(shù)據(jù)是信息的符號表示或載體信息是數(shù)

2、據(jù)的內(nèi)涵,是對數(shù)據(jù)的語義解釋1信息和數(shù)據(jù)4第4頁,共88頁。1.1 數(shù)據(jù)庫的概念1.1.1 數(shù)據(jù)和數(shù)據(jù)管理數(shù)據(jù)管理包括對各種形式的數(shù)據(jù)進(jìn)行收集、存儲、加工和傳輸?shù)然顒?dòng)。目的1.從大量原始數(shù)據(jù)中抽取、推導(dǎo)出有價(jià)值的信息,以此作為行動(dòng)和決策的依據(jù)。2.借助計(jì)算機(jī)科學(xué)地保存和管理復(fù)雜大量的數(shù)據(jù),使人們能夠方便和充分利用信息資源。2數(shù)據(jù)管理5第5頁,共88頁。1.1 數(shù)據(jù)庫的概念1.1.2 數(shù)據(jù)管理技術(shù)的發(fā)展數(shù)據(jù)庫 技術(shù)的發(fā)展人工管理階段文件系統(tǒng)階段數(shù)據(jù)庫系統(tǒng)階段分布式數(shù)據(jù)庫系統(tǒng)階段6第6頁,共88頁。1.1 數(shù)據(jù)庫的概念1.1.2 數(shù)據(jù)管理技術(shù)的發(fā)展時(shí)間:20世紀(jì)50年代以前用途:主要用于數(shù)值計(jì)算硬

3、件:卡片、紙帶和磁帶軟件:無系統(tǒng)軟件和管理數(shù)據(jù)的軟件1人工管理階段7第7頁,共88頁。1.1.2 數(shù)據(jù)管理技術(shù)的發(fā)展主要特點(diǎn)1.程序間不能共享數(shù)據(jù);2.程序復(fù)雜;3.數(shù)據(jù)量小且無法長期保存;4.數(shù)據(jù)重復(fù)輸入量大。1人工管理階段1.1 數(shù)據(jù)庫的概念8第8頁,共88頁。1.1.2 數(shù)據(jù)管理技術(shù)的發(fā)展時(shí)間:20世紀(jì)50年代后期至60年代中期硬件:磁鼓和磁盤等直接存取設(shè)備軟件:有操作系統(tǒng)和文件系統(tǒng)2文件管理階段1.1 數(shù)據(jù)庫的概念9第9頁,共88頁。1.1.2 數(shù)據(jù)管理技術(shù)的發(fā)展主要特點(diǎn)1.程序間可以共享數(shù)據(jù);2.程序代碼有所簡化;3.數(shù)據(jù)冗余度大;4.程序?qū)?shù)據(jù)依賴性較強(qiáng);5.專業(yè)性較強(qiáng)。2文件管理

4、階段1.1 數(shù)據(jù)庫的概念10第10頁,共88頁。1.1.2 數(shù)據(jù)管理技術(shù)的發(fā)展時(shí)間:20世紀(jì)60年代后期至70年代后期用途:主要用于數(shù)值計(jì)算外存:大容量磁盤軟件:出現(xiàn)許多數(shù)據(jù)庫管理系統(tǒng)3 數(shù)據(jù)庫系統(tǒng)階段1.1 數(shù)據(jù)庫的概念11第11頁,共88頁。1.1.2 數(shù)據(jù)管理技術(shù)的發(fā)展主要特點(diǎn)1.數(shù)據(jù)集中式管理,高度共享;2.數(shù)據(jù)結(jié)構(gòu)化并與程序分離;3.數(shù)據(jù)冗余度小,并具有一的一致性和完整性等特點(diǎn)。3數(shù)據(jù)庫系統(tǒng)階段1.1 數(shù)據(jù)庫的概念12第12頁,共88頁。1.1.2 數(shù)據(jù)管理技術(shù)的發(fā)展主要特點(diǎn)1.具有很強(qiáng)的可靠性和可用性;2.強(qiáng)大數(shù)據(jù)共享和并發(fā)控制能力;3.數(shù)據(jù)一致性和安全性控制措施更加完善。 4分布

5、式系統(tǒng)階段1.1 數(shù)據(jù)庫的概念13第13頁,共88頁。1.1.3 數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)指帶有數(shù)據(jù)庫并利用數(shù)據(jù)庫技術(shù)進(jìn)行數(shù)據(jù)管理的計(jì)算機(jī)系統(tǒng),可以實(shí)現(xiàn)有組織地、動(dòng)態(tài)地存儲大量相關(guān)數(shù)據(jù),提供數(shù)據(jù)處理和信息資源共享服務(wù)。數(shù)據(jù)庫(Database,簡稱DB)是數(shù)據(jù)的集合,并按照特定的組織方式將數(shù)據(jù)保存在存儲介質(zhì)上,同時(shí)可以被各種用戶所共享。1 數(shù)據(jù)庫1.1 數(shù)據(jù)庫的概念14第14頁,共88頁。1.1.3 數(shù)據(jù)庫系統(tǒng)1.數(shù)據(jù)庫:數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)源2數(shù)據(jù)庫系統(tǒng)的組成1.1 數(shù)據(jù)庫的概念2.數(shù)據(jù)庫管理系統(tǒng):數(shù)據(jù)庫系統(tǒng)的核心,是一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫中的數(shù)據(jù)組織、操縱、維護(hù)、控制、保護(hù)和數(shù)據(jù)服務(wù)等。數(shù)據(jù)庫管

6、理系統(tǒng)是位于用戶與操作系統(tǒng)之間的數(shù)據(jù)管理軟件15第15頁,共88頁。1.1.3 數(shù)據(jù)庫系統(tǒng)3.硬件:支持系統(tǒng)運(yùn)行的計(jì)算機(jī)硬件設(shè)備4.軟件:包括操作系統(tǒng)和數(shù)據(jù)庫系統(tǒng)開發(fā)工具等 5.數(shù)據(jù)庫管理員:對數(shù)據(jù)庫的規(guī)劃、設(shè)計(jì)、維護(hù)等進(jìn)行管理的人員,一般要具有較高的數(shù)據(jù)庫技術(shù)和較好的人際交往能力。 2數(shù)據(jù)庫系統(tǒng)的組成1.1 數(shù)據(jù)庫的概念16第16頁,共88頁。1.1.3 數(shù)據(jù)庫系統(tǒng)1.數(shù)據(jù)結(jié)構(gòu)化2.數(shù)據(jù)共享性高,冗余度低、易擴(kuò)充3.數(shù)據(jù)獨(dú)立性高4.數(shù)據(jù)由數(shù)據(jù)庫管理系統(tǒng)統(tǒng)一管理和控制3數(shù)據(jù)庫系統(tǒng)的特點(diǎn)1.1 數(shù)據(jù)庫的概念17第17頁,共88頁。1.1.3 數(shù)據(jù)庫系統(tǒng)是用于建立、維護(hù)和管理數(shù)據(jù)庫的系統(tǒng)軟件,它提

7、供數(shù)據(jù)安全性和完整性的控制機(jī)制,具有完備數(shù)據(jù)庫操作命令體系;可在交互方式下管理和訪問(存取)數(shù)據(jù)庫,也可利用開發(fā)工具開發(fā)數(shù)據(jù)庫管理系統(tǒng)。Data Base Management System, DBMS4 數(shù)據(jù)庫管理系統(tǒng)1.1 數(shù)據(jù)庫的概念18第18頁,共88頁。1.1.3 數(shù)據(jù)庫系統(tǒng)1.數(shù)據(jù)定義 利用DBMS數(shù)據(jù)定義語言(Data Definition Language, DLL)可以定義數(shù)據(jù)庫、數(shù)據(jù)庫表、視圖和索引等數(shù)據(jù)庫中的相關(guān)信息。數(shù)據(jù)庫管理系統(tǒng)管理的對象主要是數(shù)據(jù)庫,其功能包括4 數(shù)據(jù)庫管理系統(tǒng)1.1 數(shù)據(jù)庫的概念19第19頁,共88頁。1.1.3 數(shù)據(jù)庫系統(tǒng)2.數(shù)據(jù)操縱通過DBMS

8、數(shù)據(jù)操縱語言(Data Manipulation Language, DML)可以對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行插入、修改和刪除。3.數(shù)據(jù)查詢通過數(shù)據(jù)查詢語言(Data Query Language, DQL)可以對數(shù)據(jù)進(jìn)行查詢、排序、匯總和表連接等操作。4 數(shù)據(jù)庫管理系統(tǒng)1.1 數(shù)據(jù)庫的概念20第20頁,共88頁。1.1.3 數(shù)據(jù)庫系統(tǒng)4.數(shù)據(jù)庫運(yùn)行管理和控制包括并發(fā)控制、安全性檢查、完整性約束條件檢查和執(zhí)行、數(shù)據(jù)庫內(nèi)部資料自動(dòng)維護(hù)等。5.數(shù)據(jù)維護(hù)主要包括數(shù)據(jù)更新和轉(zhuǎn)換,數(shù)據(jù)庫轉(zhuǎn)存和恢復(fù),數(shù)據(jù)庫重新組織、結(jié)構(gòu)維護(hù)和性能監(jiān)視等。4 數(shù)據(jù)庫管理系統(tǒng)1.1 數(shù)據(jù)庫的概念21第21頁,共88頁。1.1.3 數(shù)

9、據(jù)庫系統(tǒng)6.數(shù)據(jù)組織、存儲和管理DBMS要對數(shù)據(jù)字典、用戶數(shù)據(jù)和存取路徑等信息進(jìn)行分類組織、存儲和管理。7.數(shù)據(jù)通信提供與操作系統(tǒng)的聯(lián)機(jī)處理、分時(shí)處理和遠(yuǎn)程作業(yè)傳輸接口。4 數(shù)據(jù)庫管理系統(tǒng)1.1 數(shù)據(jù)庫的概念22第22頁,共88頁。1.1.4 實(shí)體及其聯(lián)系是客觀事物的真實(shí)反映。實(shí)體實(shí)體屬性事物的特性。 實(shí)際 教師,教材 抽象 一門課程, 一次借閱圖書實(shí)體屬性值是實(shí)體屬性的具體化表示,屬性值值的集合表示一個(gè)實(shí)體。1實(shí)體的相關(guān)術(shù)語1.1 數(shù)據(jù)庫的概念23第23頁,共88頁。1.1.4 實(shí)體及其聯(lián)系實(shí)體類型用實(shí)體名及所有屬性的集合表示一種實(shí)體類型,簡稱實(shí)體型。例如,一個(gè)教師類實(shí)體教師(教師編號,教師

10、姓名,性別,出生日期,職稱,聯(lián)系電話,是否在職)例如,一個(gè)課程類實(shí)體課程(課程編號,課程姓名,開課學(xué)期,理論學(xué)時(shí),實(shí)驗(yàn)學(xué)時(shí),學(xué)分)1實(shí)體的相關(guān)術(shù)語1.1 數(shù)據(jù)庫的概念24第24頁,共88頁。1.1.4 實(shí)體及其聯(lián)系實(shí)體集具有相同屬性的實(shí)體集合。在關(guān)系數(shù)據(jù)庫中,通常將同一種實(shí)體型的數(shù)據(jù)存放在一個(gè)表中,實(shí)體屬性集合作為表結(jié)構(gòu),而一個(gè)實(shí)體屬性值的集合作為表中一個(gè)數(shù)據(jù)記錄,表示一個(gè)實(shí)體。1實(shí)體的相關(guān)術(shù)語1.1 數(shù)據(jù)庫的概念25第25頁,共88頁。1.1.4 實(shí)體及其聯(lián)系一對一聯(lián)系指一個(gè)實(shí)體與另一個(gè)實(shí)體之間存在一一對應(yīng)關(guān)系。例如, 一個(gè)班級 班長現(xiàn)實(shí)世界中事物之間相互關(guān)聯(lián),在事物數(shù)據(jù)化過程中表現(xiàn)為實(shí)體之

11、間的對應(yīng)關(guān)系,稱為聯(lián)系。實(shí)體之間的聯(lián)系有一對一、一對多、多對多三種。2實(shí)體之間聯(lián)系1.1 數(shù)據(jù)庫的概念26第26頁,共88頁。1.1.4 實(shí)體及其聯(lián)系一對多聯(lián)系指一個(gè)實(shí)體對應(yīng)多個(gè)實(shí)體例如,一個(gè)班級 多個(gè)學(xué)生多對多聯(lián)系指多個(gè)實(shí)體對應(yīng)多個(gè)實(shí)體例如,學(xué)生 課程2實(shí)體之間聯(lián)系1.1 數(shù)據(jù)庫的概念27第27頁,共88頁。1.1.5 數(shù)據(jù)模型“樹”中 結(jié)點(diǎn) 實(shí)體類型 結(jié)點(diǎn)間箭頭 實(shí)體類型間聯(lián)系是通過樹型結(jié)構(gòu)表示實(shí)體及其實(shí)體之間聯(lián)系的數(shù)據(jù)模型。數(shù)據(jù)模型時(shí)數(shù)據(jù)庫管理系統(tǒng)中用于描述實(shí)體及其實(shí)體之間聯(lián)系的方法。用于描述數(shù)據(jù)庫管理系統(tǒng)的數(shù)據(jù)模型有層次模型有以下三種。1層次模型1.1 數(shù)據(jù)庫的概念28第28頁,共88

12、頁。1.1.5 數(shù)據(jù)模型特點(diǎn):有且僅有一個(gè)結(jié)點(diǎn)沒有父結(jié)點(diǎn),稱為根結(jié)點(diǎn); 每個(gè)非根結(jié)點(diǎn)有且僅有一個(gè)父結(jié)點(diǎn)。1層次模型1.1 數(shù)據(jù)庫的概念學(xué)校 學(xué)院圖1.1 層次模型示例科研項(xiàng)目固定資產(chǎn)學(xué)生職工車輛辦公用品實(shí)驗(yàn)儀器29第29頁,共88頁。1.1.5 數(shù)據(jù)模型通過網(wǎng)狀結(jié)構(gòu)表示實(shí)體及其實(shí)體之間聯(lián)系的數(shù)據(jù)模型?!熬W(wǎng)”中 結(jié)點(diǎn) 實(shí)體類型 結(jié)點(diǎn)間箭頭 實(shí)體類型間聯(lián)系2網(wǎng)狀模型1.1 數(shù)據(jù)庫的概念30第30頁,共88頁。出版社科研機(jī)構(gòu)作者圖書讀者圖1.2 網(wǎng)狀模型示例1.1.5 數(shù)據(jù)模型特點(diǎn):可能有多個(gè)結(jié)點(diǎn)沒有父結(jié)點(diǎn),即多個(gè)根結(jié)點(diǎn); 某個(gè)非根結(jié)點(diǎn)可能有多個(gè)父結(jié)點(diǎn)。2網(wǎng)狀模型1.1 數(shù)據(jù)庫的概念31第31頁,共

13、88頁。1.1.5 數(shù)據(jù)模型通過二維表結(jié)構(gòu)表示實(shí)體及其實(shí)體之間聯(lián)系的數(shù)據(jù)模型,用二維表來表示實(shí)體類型,數(shù)據(jù)描述一個(gè)實(shí)體。一張二維表 一種實(shí)體類型表中的一行 一個(gè)實(shí)體3關(guān)系模型1.1 數(shù)據(jù)庫的概念32第32頁,共88頁。1.1.5 數(shù)據(jù)模型關(guān)系模型:民族編碼名稱01021011漢族滿族朝族蒙古族編 碼名稱類別101102201202301數(shù)學(xué)電子學(xué)法學(xué)新聞學(xué)英語理科理科文科文科文科學(xué)號姓名性別民族編碼出生日期專業(yè)編碼0310101031010203111010301201李大明張曉光韓雪王宇鵬男男女女020110011985/05/041986/06/011985/01/121985/10/01

14、101101301202關(guān)系模型:專業(yè)關(guān)系模型:學(xué)生1.1 數(shù)據(jù)庫的概念33第33頁,共88頁。1.2 關(guān)系數(shù)據(jù)庫1關(guān)系模型2關(guān)系運(yùn)算第34頁,共88頁。1.2.1 關(guān)系模型1.2 關(guān)系數(shù)據(jù)庫關(guān)系一個(gè)關(guān)系就是一張二維表,表是屬性及屬性值的集合。表中每一列稱為一個(gè)屬性(字段),每列都有屬性名,為列名或字段名。表示各個(gè)屬性的取值范圍。指表中的一行數(shù)據(jù),也稱為記錄。一個(gè)元組對應(yīng)一個(gè)實(shí)體,每張表中可以含多個(gè)元組。屬性域元組1關(guān)系模型中常用術(shù)語35第35頁,共88頁。1.2.1 關(guān)系模型屬性值表中行和列的交叉位置對應(yīng)某個(gè)屬性的值。是關(guān)系名及其所有屬性的集合,一個(gè)關(guān)系模式對應(yīng)一張表結(jié)構(gòu)。關(guān)系模式的格式:關(guān)

15、系名(屬性1,屬性2,屬性3,屬性n )關(guān)系模式1關(guān)系模型中常用術(shù)語1.2 關(guān)系數(shù)據(jù)庫36第36頁,共88頁。1.2.1 關(guān)系模型候選鍵在一個(gè)關(guān)系中,由一個(gè)或多個(gè)屬性組成,其值能唯一地標(biāo)識一個(gè)元組。1關(guān)系模型中常用術(shù)語1.2 關(guān)系數(shù)據(jù)庫主關(guān)鍵字一個(gè)表中可能由多個(gè)候選鍵,通常用戶僅選用一個(gè)候選鍵,稱為主關(guān)鍵字37第37頁,共88頁。1.2.1 關(guān)系模型如果一個(gè)關(guān)系R的一組屬性F不是關(guān)系R的候選鍵,如果F與某關(guān)系S的主鍵相對應(yīng)(對應(yīng)屬性含義相同),則F是關(guān)系R的外部關(guān)鍵字,簡稱外鍵。 外部關(guān)鍵字例如,“教室編號”、“星期”和“課節(jié)”是“選課學(xué)生表”的一組屬性(非候選鍵),也是“教室表”的候選鍵,如

16、果這組屬性被選為“教室表”的主鍵,則這組屬性就是“選課學(xué)生表”的一個(gè)外鍵。1關(guān)系模型中常用術(shù)語1.2 關(guān)系數(shù)據(jù)庫38第38頁,共88頁。1.2.1 關(guān)系模型主表和從表主表和從表是指通過外鍵相關(guān)聯(lián)的兩個(gè)表,其中以外鍵為主鍵的表稱為主表,外鍵所在的表稱為從表。以上術(shù)語和前面的其他概念的對應(yīng)關(guān)系如表1.1所示。 現(xiàn)實(shí)世界關(guān)系模型數(shù)據(jù)庫文件實(shí)體元組記錄實(shí)體集關(guān)系數(shù)據(jù)庫文件或數(shù)據(jù)表文件實(shí)體屬性屬性字段1關(guān)系模型中常用術(shù)語1.2 關(guān)系數(shù)據(jù)庫39第39頁,共88頁。1.2.1 關(guān)系模型每一個(gè)分量必須是不可分的數(shù)據(jù)項(xiàng)。 每一列中的分量是同一類型的數(shù)據(jù),來自同一個(gè)域。不同的列可以來源于同一個(gè)域,稱其中的每一列為

17、一個(gè)屬性,不同的屬性要有不同的屬性名。列的次序可以任意交換。任意兩個(gè)元組不能完全相同。行的順序可以任意交換。2關(guān)系模型的特點(diǎn)1.2 關(guān)系數(shù)據(jù)庫40第40頁,共88頁。1.2.2 關(guān)系運(yùn)算對關(guān)系數(shù)據(jù)庫進(jìn)行查詢時(shí),需要找到用戶感興趣的數(shù)據(jù),這就需要對關(guān)系進(jìn)行一定的關(guān)系運(yùn)算。關(guān)系的基本運(yùn)算有兩類:一類是傳統(tǒng)的集合運(yùn)算,另一類是專門的關(guān)系運(yùn)算。 1.2 關(guān)系數(shù)據(jù)庫41第41頁,共88頁。1.2.2 關(guān)系運(yùn)算設(shè)有兩個(gè)相同結(jié)構(gòu)的關(guān)系R和S,R與S的差是由屬于R但不屬于S的元組組成的集合。差運(yùn)算交運(yùn)算兩個(gè)具有相同結(jié)構(gòu)的關(guān)系R和S,它們的交是由屬于R又屬于S的元組組成的集合。在Access中沒有直接提供傳統(tǒng)的

18、集合運(yùn)算,但可以通過其他操作或編程來實(shí)現(xiàn)。并運(yùn)算兩個(gè)相同結(jié)構(gòu)關(guān)系的并是由屬于這兩個(gè)關(guān)系的元組組成的集合。1傳統(tǒng)的集合運(yùn)算1.2 關(guān)系數(shù)據(jù)庫42第42頁,共88頁。例:已知兩個(gè)關(guān)系R和S,關(guān)系R代表參加項(xiàng)目1的員工,關(guān)系S代表參加項(xiàng)目2的員工,如表1.2和1.3所示。 表1.2 關(guān)系R員工編號員工姓名01001王磊01003張曉華01005劉洋表1.3 關(guān)系S員工編號員工姓名01002王浩田01003張曉華01004孟德水1.2.2 關(guān)系運(yùn)算1.2 關(guān)系數(shù)據(jù)庫43第43頁,共88頁。關(guān)系R關(guān)系R和關(guān)系S的并運(yùn)算、差運(yùn)算和交運(yùn)算的結(jié)果如下表所示。 并運(yùn)算(RS) 差運(yùn)算(RS)交運(yùn)算(RS) 員工

19、編號員工姓名01001王磊01002王浩田01003張曉華01004孟德水01005劉洋員工編號員工姓名01001王磊01005劉洋員工編號員工姓名01003張曉華1.2.2 關(guān)系運(yùn)算1.2 關(guān)系數(shù)據(jù)庫44第44頁,共88頁。1.2.2 關(guān)系運(yùn)算選擇操作選擇操作是從表中選取滿足某種條件的元組(記錄)進(jìn)行操作。通常在命令中加上條件子句和邏輯表達(dá)式來完成選擇操作。 投影操作投影是從表中選取若干列進(jìn)行操作。選取列時(shí)不受表中列順序的約束,可按實(shí)際需要安排各列順序。通常在命令中加上要選取的各個(gè)列名稱來完成投影操作。 2專門的關(guān)系運(yùn)算1.2 關(guān)系數(shù)據(jù)庫45第45頁,共88頁。1.2.2 關(guān)系運(yùn)算聯(lián)接操作聯(lián)

20、接是對兩張表進(jìn)行聯(lián)接,同時(shí)生成一張新表,新表中含的列是被聯(lián)接的兩張表中列的并集或該并集的子集,新表中包含的元組是滿足聯(lián)接條件的所有元組集合。 2專門的關(guān)系運(yùn)算1.2 關(guān)系數(shù)據(jù)庫46第46頁,共88頁。1.2.2 關(guān)系運(yùn)算實(shí)體完整性規(guī)則實(shí)體完整性規(guī)則規(guī)定關(guān)系的所有主屬性都不能為空值,而不是整體不能為空值。關(guān)系模型的完整性規(guī)則是對關(guān)系的某種約束條件。例如,學(xué)生選課關(guān)系“學(xué)生選課(學(xué)號,課程編號,成績)”中,“學(xué)號、課程編號”為主關(guān)鍵字,則“學(xué)號”和“課程編號”都不能取空值,而不是整體不能為空。 3關(guān)系的完整性1.2 關(guān)系數(shù)據(jù)庫47第47頁,共88頁。1.2.2 關(guān)系運(yùn)算不同的關(guān)系數(shù)據(jù)庫系統(tǒng)根據(jù)其應(yīng)

21、用環(huán)境的不同,通常需要針對某一具體字段設(shè)置約束條件。 用戶定義的完整性規(guī)則例如,學(xué)生成績字段的取值必須在0 100之間。 3關(guān)系的完整性1.2 關(guān)系數(shù)據(jù)庫48第48頁,共88頁。1.2.2 關(guān)系運(yùn)算參照完整性規(guī)則參照完整性是相關(guān)聯(lián)的兩個(gè)表之間的約束。對于具有主從關(guān)系的兩個(gè)表來說,表中每條記錄外鍵的值必須是主表中存在的,如果在兩個(gè)表之間建立了關(guān)聯(lián)關(guān)系,則對一個(gè)關(guān)系進(jìn)行的操作要影響到另一個(gè)表中的記錄。例如,在學(xué)生表和選課表之間用學(xué)號建立了關(guān)聯(lián)關(guān)系,學(xué)生表是主表,選課表是從表,那么在向從表添加新記錄時(shí),系統(tǒng)要檢查新記錄的學(xué)號是否在主表中已存在,如果存在則允許執(zhí)行輸入操作,否則拒絕輸入,這就是參照完整

22、性。3關(guān)系的完整性1.2 關(guān)系數(shù)據(jù)庫49第49頁,共88頁。1.3 數(shù)據(jù)庫設(shè)計(jì)的步驟設(shè)計(jì)步驟需求分析概念結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)物理結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫實(shí)施數(shù)據(jù)庫運(yùn)行和維護(hù)50第50頁,共88頁。1.3 數(shù)據(jù)庫設(shè)計(jì)的步驟設(shè)計(jì)一個(gè)數(shù)據(jù)庫,首先必須準(zhǔn)確、全面和深入地了解和分析用戶需求,包括數(shù)據(jù)需求和處理需求。需求分析是整個(gè)設(shè)計(jì)活動(dòng)的基礎(chǔ),也是最困難、最花時(shí)間的一步。一般由數(shù)據(jù)庫專業(yè)人員與業(yè)務(wù)專家合作進(jìn)行。1需求分析2概念結(jié)構(gòu)設(shè)計(jì)在需求分析基礎(chǔ)上,用概念數(shù)據(jù)模型(如E-R模型),表示數(shù)據(jù)及其相互間的聯(lián)系,形成數(shù)據(jù)庫概念結(jié)構(gòu)(如E-R圖)。概念結(jié)構(gòu)(模式)與具體DBMS無關(guān),是對現(xiàn)實(shí)世界的可視化描述,用于后續(xù)的

23、設(shè)計(jì)和,也是與用戶交流和數(shù)據(jù)庫移植的重要文檔 。51第51頁,共88頁。邏輯結(jié)構(gòu)設(shè)計(jì)是將數(shù)據(jù)庫概念結(jié)構(gòu)轉(zhuǎn)換為某類DBMS所支持的數(shù)據(jù)庫邏輯模式,不僅僅是個(gè)數(shù)據(jù)模式的轉(zhuǎn)換問題,還要考慮數(shù)據(jù)模式的規(guī)范化、滿足DBMS的各種限制等,還得為各類用戶或應(yīng)用設(shè)計(jì)其各自的局部邏輯模式,即外模式或子模式。 3邏輯結(jié)構(gòu)設(shè)計(jì)4物理結(jié)構(gòu)設(shè)計(jì)其任務(wù)是:根據(jù)DBMS及計(jì)算機(jī)系統(tǒng)所提供的手段,為數(shù)據(jù)庫邏輯模式選取一個(gè)最適合應(yīng)用環(huán)境的物理模式(包括存儲結(jié)構(gòu)和存取方法等)。1.3 數(shù)據(jù)庫設(shè)計(jì)的步驟52第52頁,共88頁。是在實(shí)際的計(jì)算機(jī)平臺上,真正建立數(shù)據(jù)庫。先運(yùn)行用DDL編寫的命令,建立數(shù)據(jù)庫框架,然后通過DBMS的實(shí)用工

24、具或?qū)iT編寫的應(yīng)用程序,將數(shù)據(jù)載入,最終建成數(shù)據(jù)庫。 5數(shù)據(jù)庫實(shí)施6數(shù)據(jù)庫運(yùn)行與維護(hù)在數(shù)據(jù)庫運(yùn)行階段,由數(shù)據(jù)庫管理員進(jìn)行數(shù)據(jù)庫的轉(zhuǎn)儲和恢復(fù)、數(shù)據(jù)庫的安全性和完整性控制、數(shù)據(jù)庫性能的監(jiān)督和分析、數(shù)據(jù)庫的重組織與重構(gòu)造等數(shù)據(jù)庫的維護(hù)工作。 1.3 數(shù)據(jù)庫設(shè)計(jì)的步驟53第53頁,共88頁。1.4 SQL基本命令1SQL簡介2SQL基本語句54第54頁,共88頁。1.4 SQL基本命令1.4.1 SQL簡介 SQL(Structured Query Language)是結(jié)構(gòu)化查詢語言,是操作數(shù)據(jù)庫的通用語言。SQL語言由數(shù)據(jù)定義語言、數(shù)據(jù)操縱語言、數(shù)據(jù)查詢語言和數(shù)據(jù)控制語言(用于設(shè)置用戶訪問數(shù)據(jù)庫的權(quán)

25、限)四部分組成。在Access中,可以使用SQL語言的前3種語言。 SQL語言中語句并不多,但功能都非常強(qiáng)大,有些SQL語句結(jié)構(gòu)也比較復(fù)雜。目前各種大、中、小型關(guān)系數(shù)據(jù)庫管理系統(tǒng)都支持SQL語言,但不同數(shù)據(jù)庫管理系統(tǒng)中支持的SQL語句也有些差異。55第55頁,共88頁。1.4 SQL基本命令1.4.1 SQL簡介 在Access中,可以通過“查詢”向?qū)蒘QLSelect語句,也可以在“SQL視圖”中直接輸入SQL語言的任何語句,每條語句用分號“;”結(jié)束。無論使用那種方式,都可以將SQL語句存儲在數(shù)據(jù)庫的“查詢”對象中,當(dāng)需要時(shí)可以對其進(jìn)一步修改或運(yùn)行。 56第56頁,共88頁。1.4.1

26、SQL簡介數(shù)據(jù)定義語言數(shù)據(jù)操縱語言數(shù)據(jù)查詢語言數(shù)據(jù)控制語言SQL語言Access1.4 SQL基本命令57第57頁,共88頁。1.4.2 SQL基本語句用于建立(Create),刪除(Drop)數(shù)據(jù)庫表以及修改(Alter)數(shù)據(jù)庫表結(jié)構(gòu)。數(shù)據(jù)定義語言Data Definition Language, DLL1數(shù)據(jù)定義語言1.4 SQL基本命令58第58頁,共88頁。1.4.2 SQL基本語句語句格式:Create Table ( Not Null Primary Key , Not Null Primary Key ,Primary Key ( ) );語句說明:此語句用于建立數(shù)據(jù)庫表。.建立

27、數(shù)據(jù)庫表1.4 SQL基本命令59第59頁,共88頁。1.4.2 SQL基本語句指出新建數(shù)據(jù)庫表名稱,每個(gè)表中可以有多個(gè)屬性字段)名。表名字段名1, ,字段名n表中各個(gè)字段名稱,通常是英文字母或漢字開頭,由英文、漢字、數(shù)字和下劃線組成的字符串。.建立數(shù)據(jù)庫表1.4 SQL基本命令60第60頁,共88頁。1.4.2 SQL基本語句類型描述用于描述字段的數(shù)據(jù)特征,如存儲數(shù)據(jù)的類型和最大寬度,常用書寫格式為:()。 常用的數(shù)據(jù)類型符號有: 文本型:Char 雙精度型:Number 長整型:long 整型:Integer 日期型:Date 邏輯型:Logical 備注型:Memo對文本型數(shù)據(jù)需要說明最

28、大長度。.建立數(shù)據(jù)庫1.4 SQL基本命令61第61頁,共88頁。1.4.2 SQL基本語句Not Null 在輸入數(shù)據(jù)時(shí),Not Null(默認(rèn))表示該字段值不能空,而Null表示該字段值可以空。 Primary Key 指明對應(yīng)字段為表的關(guān)鍵字。在一個(gè)表中只能有一個(gè)主關(guān)鍵字。 Primary Key () 當(dāng)多個(gè)字段組成主關(guān)鍵字時(shí),不能在每個(gè)字段后寫“Primary Key”,只能在所有字段描述之后寫“Primary Key ()”,其中字段名表是逗號分隔的多個(gè)字段名。 .建立數(shù)據(jù)庫1.4 SQL基本命令62第62頁,共88頁。1.4.2 SQL基本語句其他參數(shù) 在用于定義數(shù)據(jù)有效性規(guī)則(

29、Check)等信息。 例:建立課程設(shè)置表SQL語句為Create Table 課程設(shè)置表( 課程編號 Char(5) Primary Key, 課程名稱 Char(30),開課學(xué)期Integer, 理論學(xué)時(shí) Integer, 實(shí)驗(yàn)學(xué)時(shí) Integer, 學(xué)分 Integer); .建立數(shù)據(jù)庫1.4 SQL基本命令63第63頁,共88頁。1.4.2 SQL基本語句語句格式:Alter Table Add | Alter | Drop ;語句說明:此語句可以在表中增加(Add)新字段,修改(Alter)表中已經(jīng)有字段的類型描述(數(shù)據(jù)類型和字段寬度)或刪除(Drop)已有的字段名。 .修改數(shù)據(jù)庫表結(jié)

30、構(gòu)1.4 SQL基本命令64第64頁,共88頁。1.4.2 SQL基本語句例:Alter Table 教室表 Drop 負(fù)責(zé)人; 向教室表中增加“負(fù)責(zé)人”字段:Alter Table 教室表 Add 負(fù)責(zé)人 Char(6);將教室表“星期”字段數(shù)據(jù)類型改為整型:Alter Table 教室表 Alter 星期Integer;刪除教室表中“負(fù)責(zé)人”字段:.修改數(shù)據(jù)庫表結(jié)構(gòu)1.4 SQL基本命令65第65頁,共88頁。1.4.2 SQL基本語句語句格式: Delete From Where 語句說明:此語句用于刪除數(shù)據(jù)庫表。 例:刪除數(shù)據(jù)庫表“TEST”: Drop Table Test;.刪除1

31、.4 SQL基本命令66第66頁,共88頁。1.4.2 SQL基本語句用于完成數(shù)據(jù)庫表中數(shù)據(jù)記錄的增加(Insert)、刪除(Delete)和修改(Update)操作。 數(shù)據(jù)操縱語言 Data Manipulation Language ,DML2數(shù)據(jù)操縱語言1.4 SQL基本命令67第67頁,共88頁。1.4.2 SQL基本語句語句格式:Insert Into () Values ();語句說明:此語句在指定表尾部追加新記錄,“字段名表”指出要填寫值的各個(gè)字段名,用“表達(dá)式表”中各個(gè)表達(dá)式值填寫對應(yīng)字段值,表達(dá)式與字段按前后順序一一對應(yīng),并且,表達(dá)式值的數(shù)據(jù)類型必須與對應(yīng)字段的數(shù)據(jù)類型一致。

32、如果省略“字段名表”,則表示要填寫表中所有字段值,并按表中字段順序與表達(dá)式一一對應(yīng)。 .增加數(shù)據(jù)記錄1.4 SQL基本命令68第68頁,共88頁。1.4.2 SQL基本語句例:向課程設(shè)置表中增加數(shù)據(jù)記錄: Insert Into 課程設(shè)置表(課程編號,開課學(xué)期,理論學(xué)時(shí),實(shí)驗(yàn)學(xué)時(shí),學(xué)分) Values (01004 ,2,70,20,4);1.4 SQL基本命令69第69頁,共88頁。1.4.2 SQL基本語句語句格式:Update Set = , = Where ; 語句說明:執(zhí)行此語句時(shí),用表達(dá)式值修改對應(yīng)字段值。如果省略Where 選項(xiàng),則修改表中全部記錄;如果使用Where ,則僅修改

33、那些使“條件”值為真(True)的記錄。.修改數(shù)據(jù)記錄1.4 SQL基本命令70第70頁,共88頁。1.4.2 SQL基本語句例:為選課學(xué)生表中所有記錄的“成績”字段填寫0: Update 選課學(xué)生表 Set 成績=0;1.4 SQL基本命令71第71頁,共88頁。1.4.2 SQL基本語句語句格式: Delete From Where ; 語句說明:使用此語句時(shí),如果省略Where選項(xiàng),則刪除表中全部記錄;如果使用Where ,則僅刪除那些滿足“條件”的記錄。 例:刪除選課學(xué)生表中“學(xué)號”3、4位(年級)等于02的所有記錄: Delete From 選課學(xué)生表 Where Mid(學(xué)號,3,

34、2)= 02 ;.刪除數(shù)據(jù)記錄1.4 SQL基本命令72第72頁,共88頁。1.4.2 SQL基本語句通過Select語句對數(shù)據(jù)進(jìn)行查詢、排序、匯總和表連接等輸出操作。 數(shù)據(jù)查詢語言 (Data Query Language, DQL )3數(shù)據(jù)查詢語言1.4 SQL基本命令73第73頁,共88頁。1.4.2 SQL基本語句語句格式:Select Distinct * As , As From , Where Order By ASCDESC Group By Having ; 語句說明:執(zhí)行此語句時(shí),將數(shù)據(jù)庫表中滿足Where 的數(shù)據(jù)記錄按各個(gè)表達(dá)式進(jìn)行計(jì)算,形成結(jié)果表。 1.4 SQL基本命

35、令74第74頁,共88頁。1.4.2 SQL基本語句Distinct 系統(tǒng)默認(rèn)情況下,輸出數(shù)據(jù)可能有重復(fù)行(對應(yīng)字段值相同)。如果使用Distinct,則對那些重復(fù)的數(shù)據(jù)行僅輸出其中一行。 From From 之后可以使用多個(gè)表名,表名之間用逗號“,”分開,用于指出數(shù)據(jù)來源,即從那些表中提取要操作的數(shù)據(jù)。特別是對多個(gè)表連接時(shí),需要在此說明連接的表名。例:輸出教室表中教室編號和名稱,不許出現(xiàn)重復(fù)的數(shù)據(jù)行: Select Distinct 教室編號,名稱 From 教室表; 1.4 SQL基本命令75第75頁,共88頁。1.4.2 SQL基本語句Where Where 不僅用于說明選擇數(shù)據(jù)記錄的條

36、件,也用于設(shè)置多個(gè)表的連接條件。 Order By 用于說明輸出結(jié)果數(shù)據(jù)的排序關(guān)鍵字,排序關(guān)鍵字可以是單獨(dú)字段,也可以是表達(dá)式。系統(tǒng)默認(rèn)輸出結(jié)果數(shù)據(jù)按排序關(guān)鍵字的值升序(ASC)排列,也可以使用DESC使輸出結(jié)果數(shù)據(jù)按排序關(guān)鍵字的值降序排列。例:輸出教師編號為“0001”的教師授課信息: Select 教室編號,名稱,課程編號,教師編號,課節(jié)From 教室表 Where 教師編號=”0001”; 1.4 SQL基本命令76第76頁,共88頁。1.4.2 SQL基本語句Group By Group By用于說明數(shù)據(jù)分組的關(guān)鍵字段,分組字段值相同的數(shù)據(jù)記錄匯總成一行輸出。Having 指出僅輸出那

37、些符合“條件”的分組行。 例:輸出“學(xué)生成績表”中所有記錄的學(xué)號、姓名和成績,并且按成績降序排序: Select 學(xué)號,姓名,成績From 學(xué)生成績表 Order By 成績 DESC;1.4 SQL基本命令77第77頁,共88頁。1.5 Access簡介 1Access的發(fā)展過程 2Access的主要特點(diǎn) 3Access數(shù)據(jù)庫的系統(tǒng)結(jié)構(gòu)4啟動(dòng)和關(guān)閉Access 78第78頁,共88頁。1.5.1 Access的發(fā)展過程 在1992年11月Microsoft公司推出了第一個(gè)供個(gè)人使用的關(guān)系數(shù)據(jù)庫系統(tǒng)Access 1.0,受到了廣泛關(guān)注,并且很快成為桌面數(shù)據(jù)庫的領(lǐng)導(dǎo)者。此后Access不斷地改進(jìn)

38、和優(yōu)化,從1995年開始,Access作為MS-Office套裝軟件的一部分,先后推出了2.0、7.0、8.0、9.0、2000,到現(xiàn)在的Access2003。最新推出的Access 2003更是在界面和操作方式上與Office 2003中的其它成員保持了高度的一致性,并且它們彼此之間可以通過更快捷的方式進(jìn)行協(xié)同工作和數(shù)據(jù)交換。 本書以Access2003為基礎(chǔ)來介紹Access的基本操作。1.5 Access簡介79第79頁,共88頁。1.5.2 Access的主要特點(diǎn) 1. Access本身具有Office系統(tǒng)的共同功能,如友好的用戶界面、方便的操作向?qū)?、提供幫助和有提示作用的Office

39、助手等 .2. Access是一個(gè)小型數(shù)據(jù)庫管理系統(tǒng),對數(shù)據(jù)庫的管理,它提供了許多功能強(qiáng)大的工具,如設(shè)計(jì)使用的查詢方法、設(shè)計(jì)制作不同風(fēng)格的報(bào)表和設(shè)計(jì)使用窗體等。 3. Access提供了與其他數(shù)據(jù)庫系統(tǒng)的接口,它可以直接識別由FoxBase、FoxPro等數(shù)據(jù)庫管理系統(tǒng)所建立的數(shù)據(jù)庫文件,也可以和電子表格Excel交換數(shù)據(jù)。 1.5 Access簡介80第80頁,共88頁。1.5.2 Access的主要特點(diǎn) 4. Access還提供了程序設(shè)計(jì)開發(fā)語言VBA,即Visual Basic for Application,使用它可以開發(fā)用戶的應(yīng)用程序。 5.Access的一個(gè)數(shù)據(jù)庫文件中即包含了該數(shù)

40、據(jù)庫中的所有數(shù)據(jù)表,也包含了基于數(shù)據(jù)表建立的查詢、窗體和報(bào)表等。 1.5 Access簡介81第81頁,共88頁。1.5.3 Access數(shù)據(jù)庫的系統(tǒng)結(jié)構(gòu) 作為一個(gè)數(shù)據(jù)庫管理系統(tǒng),Access通過各種數(shù)據(jù)對象來管理信息。Access將數(shù)據(jù)庫定義成一個(gè)MDB文件,由對象和組兩部分構(gòu)成。其中數(shù)據(jù)庫對象分為7種,包括表、查詢、窗體、報(bào)表、數(shù)據(jù)訪問頁、宏和模塊。 表是存儲數(shù)據(jù)的基本單元。表以行、列的格式組織數(shù)據(jù),每一行稱為一條記錄,每一列稱為一個(gè)字段。 1.表1.5 Access簡介82第82頁,共88頁。1.5.3 Access數(shù)據(jù)庫的系統(tǒng)結(jié)構(gòu) 查詢用來操作數(shù)據(jù)庫中的記錄對象,可以查看、更改以及分析數(shù)據(jù),也可將查詢作為窗體和報(bào)表的記錄源。查詢到的數(shù)據(jù)記錄集合稱為查詢的結(jié)果集,以二維表的形

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論