數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用基礎(chǔ).ppt_第1頁(yè)
數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用基礎(chǔ).ppt_第2頁(yè)
數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用基礎(chǔ).ppt_第3頁(yè)
數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用基礎(chǔ).ppt_第4頁(yè)
數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用基礎(chǔ).ppt_第5頁(yè)
已閱讀5頁(yè),還剩96頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、,大學(xué)計(jì)算機(jī)應(yīng)用基礎(chǔ),講 授: 陳秀瓊 電 話(huà): 8602686 E-mail: ,第一章 信息社會(huì)與計(jì)算機(jī),第二章 Windows XP 操作系統(tǒng),第三章 辦公自動(dòng)化軟件應(yīng)用,第四章 多媒體應(yīng)用技術(shù),第五章 計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ),第六章 數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用基礎(chǔ),目 錄,高考成績(jī)查詢(xún)系統(tǒng) 銀行存取款系統(tǒng) 三明學(xué)院教學(xué)平臺(tái)管理系統(tǒng),引 例,第六章 數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用基礎(chǔ),6.1基本概念,6.2數(shù)據(jù)模型,6.4關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL,6.3常用數(shù)據(jù)庫(kù)開(kāi)發(fā)平臺(tái),理解數(shù)據(jù)、信息、數(shù)據(jù)處理的概念 理解數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng)的概念 了解數(shù)據(jù)庫(kù)的特點(diǎn)、數(shù)據(jù)庫(kù)管理系統(tǒng)的功能和數(shù)據(jù)庫(kù)系統(tǒng)的組成 了解數(shù)據(jù)管理

2、技術(shù)的發(fā)展的三個(gè)階段,學(xué)習(xí)目標(biāo),6.1 基本概念,6.1 基本概念,6.1.1 數(shù)據(jù)、信息和數(shù)據(jù)處理,6.1.2 數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng),6.1.3 數(shù)據(jù)管理技術(shù)的發(fā)展,6.1 基本概念,數(shù)據(jù)(Data):在一般意義上被認(rèn)為是對(duì)客觀事物特征所進(jìn)行的一種抽象化、符號(hào)化的表示,本身并沒(méi)有實(shí)際意義。數(shù)據(jù)可以有不同的形式,包括數(shù)字、文字、圖形、圖象、視頻、聲音等都是數(shù)據(jù)??梢哉f(shuō),凡是能被計(jì)算機(jī)處理的對(duì)象都可以稱(chēng)為數(shù)據(jù)。 信息(Information):通常意義上被認(rèn)為是有一定含義的、經(jīng)過(guò)加工處理的、有價(jià)值的數(shù)據(jù)。數(shù)據(jù)經(jīng)過(guò)處理仍然是數(shù)據(jù),只有經(jīng)過(guò)解釋后才有意義,才成為信息。 數(shù)據(jù)處理:是將數(shù)

3、據(jù)轉(zhuǎn)換成信息的過(guò)程,它包括對(duì)原始數(shù)據(jù)的收集、分類(lèi)、存儲(chǔ)、排序、檢索、加工和傳輸?shù)纫幌盗谢顒?dòng)。其目的是從大量的原始數(shù)據(jù)中抽取和推導(dǎo)出有價(jià)值的信息。為了更好地提高信息的價(jià)值,必須用數(shù)據(jù)庫(kù)技術(shù)來(lái)管理信息。,6.1.1 數(shù)據(jù)、信息和數(shù)據(jù)處理,6.1 基本概念,數(shù)據(jù)庫(kù)(DB,DataBase):是存放數(shù)據(jù)的倉(cāng)庫(kù)。但所存放的數(shù)據(jù)并不是雜亂無(wú)章的,而是長(zhǎng)期存儲(chǔ)在某種存儲(chǔ)介質(zhì)上的有組織的、可共享的相關(guān)數(shù)據(jù)的集合。數(shù)據(jù)庫(kù)中的數(shù)據(jù)具有較高的數(shù)據(jù)共享性、獨(dú)立性、完整性及較低的數(shù)據(jù)冗余度。,6.1.2 數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng),6.1 基本概念,數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS,DataBase Managemen

4、t System) 數(shù)據(jù)庫(kù)管理系統(tǒng)是用來(lái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行集中統(tǒng)一的管理,是幫助用戶(hù)創(chuàng)建、維護(hù)和使用數(shù)據(jù)庫(kù)的系統(tǒng)軟件,從這個(gè)意義上說(shuō),DBMS是用戶(hù)與數(shù)據(jù)庫(kù)之間的接口。 DBMS的功能 數(shù)據(jù)定義:DBMS提供數(shù)據(jù)定義語(yǔ)言(data definition language,DDL),用戶(hù)利用DDL可以方便地對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)對(duì)象進(jìn)行定義。 數(shù)據(jù)操縱:DBMS提供數(shù)據(jù)操縱語(yǔ)言(data manipulation language,DML),用戶(hù)通過(guò)DML實(shí)現(xiàn)對(duì)數(shù)據(jù)的檢索、插入、修改、刪除和統(tǒng)計(jì)等數(shù)據(jù)存取及處理功能。 數(shù)據(jù)庫(kù)的運(yùn)行管理:包括數(shù)據(jù)的完整性、安全性及并發(fā)控制的管理。 數(shù)據(jù)庫(kù)的建立與維護(hù):包括數(shù)據(jù)

5、的輸入、轉(zhuǎn)換,數(shù)據(jù)庫(kù)的轉(zhuǎn)儲(chǔ)、恢復(fù)、重組及性能檢測(cè)和分析等。,6.1 基本概念,數(shù)據(jù)庫(kù)系統(tǒng)(DBS,DataBase System) 數(shù)據(jù)庫(kù)系統(tǒng)指在計(jì)算機(jī)系統(tǒng)中引進(jìn)數(shù)據(jù)庫(kù)技術(shù)后的整個(gè)系統(tǒng), 數(shù)據(jù)庫(kù)系統(tǒng)由數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)、應(yīng)用開(kāi)發(fā)工具(如:Delphi,Visual Basic,Visual C+等)、應(yīng)用系統(tǒng)(用戶(hù)或?qū)I(yè)軟件開(kāi)發(fā)人員編寫(xiě)的應(yīng)用程序)、數(shù)據(jù)庫(kù)管理員和用戶(hù)構(gòu)成。 數(shù)據(jù)庫(kù)關(guān)注的是數(shù)據(jù),數(shù)據(jù)庫(kù)管理系統(tǒng)強(qiáng)調(diào)的是系統(tǒng)軟件,是整個(gè)數(shù)據(jù)庫(kù)系統(tǒng)的核心,而數(shù)據(jù)庫(kù)系統(tǒng)側(cè)重的是數(shù)據(jù)庫(kù)的整個(gè)運(yùn)行系統(tǒng)。,6.1 基本概念,6.1 基本概念,數(shù)據(jù)處理是計(jì)算機(jī)的主要應(yīng)用領(lǐng)域,其面臨著如何管理大量復(fù)雜的數(shù)據(jù)

6、,即計(jì)算機(jī)數(shù)據(jù)管理成了數(shù)據(jù)處理的中心問(wèn)題,數(shù)據(jù)管理技術(shù)是伴隨著計(jì)算機(jī)軟、硬件技術(shù)與數(shù)據(jù)管理手段的發(fā)展而發(fā)展,它的發(fā)展經(jīng)歷了以下三個(gè)階段: 人工管理階段(20世紀(jì)40年代中50年代中) 文件系統(tǒng)階段(20世紀(jì)50年代末-60年代中) 數(shù)據(jù)庫(kù)系統(tǒng)階段(20世紀(jì)60年代末-現(xiàn)在),6.1.3 數(shù)據(jù)管理技術(shù)的發(fā)展,6.1 基本概念,時(shí)期 20世紀(jì)40年代中-20世紀(jì)50年代中 產(chǎn)生的背景 應(yīng)用需求 科學(xué)計(jì)算 硬件水平 無(wú)直接存取存儲(chǔ)設(shè)備 軟件水平 沒(méi)有操作系統(tǒng) 處理方式 批處理,1 人工管理階段,6.1 基本概念,應(yīng)用程序與數(shù)據(jù)的對(duì)應(yīng)關(guān)系(人工管理),6.1 基本概念,時(shí)期 20世紀(jì)50年代末-20世

7、紀(jì)60年代中 產(chǎn)生的背景 應(yīng)用需求科學(xué)計(jì)算、管理 硬件水平磁盤(pán)、磁鼓 軟件水平有文件系統(tǒng) 處理方式聯(lián)機(jī)實(shí)時(shí)處理、批處理,2 文件系統(tǒng)管理階段,6.1 基本概念,應(yīng)用程序與數(shù)據(jù)的對(duì)應(yīng)關(guān)系(文件系統(tǒng)),6.1 基本概念,數(shù)據(jù)的管理者:文件系統(tǒng),數(shù)據(jù)可長(zhǎng)期保存 數(shù)據(jù)面向的對(duì)象:某一應(yīng)用程序 數(shù)據(jù)的共享程度:共享性差、冗余度大 數(shù)據(jù)的結(jié)構(gòu)化:記錄內(nèi)有結(jié)構(gòu),整體無(wú)結(jié)構(gòu) 數(shù)據(jù)的獨(dú)立性:獨(dú)立性差,數(shù)據(jù)的邏輯結(jié)構(gòu) 改變必須修改應(yīng)用程序 數(shù)據(jù)控制能力:應(yīng)用程序自己控制,文件系統(tǒng)管理階段特點(diǎn),6.1 基本概念,時(shí)期 20世紀(jì)60年代末以來(lái) 產(chǎn)生的背景 應(yīng)用背景 大規(guī)模管理 硬件背景 大容量磁盤(pán) 軟件背景 有數(shù)據(jù)庫(kù)

8、管理系統(tǒng) 處理方式 聯(lián)機(jī)實(shí)時(shí)處理,分布處理,批處理,3 數(shù)據(jù)庫(kù)管理階段,6.1 基本概念,應(yīng)用程序與數(shù)據(jù)的對(duì)應(yīng)關(guān)系(數(shù)據(jù)庫(kù)系統(tǒng)),6.1 基本概念,數(shù)據(jù)的管理者:DBMS 數(shù)據(jù)面向的對(duì)象:現(xiàn)實(shí)世界 數(shù)據(jù)的共享程度:共享性高 數(shù)據(jù)的獨(dú)立性:高度的物理獨(dú)立性和一定的 邏輯獨(dú)立性 數(shù)據(jù)的結(jié)構(gòu)化:整體結(jié)構(gòu)化 數(shù)據(jù)控制能力:由DBMS統(tǒng)一管理和控制,數(shù)據(jù)庫(kù)系統(tǒng)特點(diǎn),6.1 基本概念,了解現(xiàn)實(shí)世界、信息世界和機(jī)器世界的關(guān)系; 了解數(shù)據(jù)模型的兩個(gè)層次; 理解信息世界所涉及的概念(實(shí)體、屬性、聯(lián)系); 掌握E-R圖表示的基本方法; 了解層次模型、網(wǎng)狀模型; 理解關(guān)系模型的基本概念(包括關(guān)系、元組、屬性、域、關(guān)

9、鍵字、主鍵、外鍵等)、關(guān)系模型的特點(diǎn)及關(guān)系的三種基本運(yùn)算(選擇、投影、連接)。,學(xué)習(xí)目標(biāo),6.2 數(shù)據(jù)模型,6.2 數(shù)據(jù)模型,6.2 數(shù)據(jù)模型,6.2.1 數(shù)據(jù)模型的基本概念,6.2.2 概念模型及其表示,6.2.3 常見(jiàn)的三種數(shù)據(jù)模型,6.2 數(shù)據(jù)模型,數(shù)據(jù)模型就是現(xiàn)實(shí)世界的模擬,是對(duì)客觀事物及其聯(lián)系的抽象描述。在數(shù)據(jù)庫(kù)系統(tǒng)中針對(duì)不同的使用對(duì)象和不同的應(yīng)用目的,可采用不同層次的數(shù)據(jù)模型。數(shù)據(jù)模型大致分為兩個(gè)不同層次: 概念模型:也稱(chēng)信息模型,是按用戶(hù)的觀點(diǎn)對(duì)數(shù)據(jù)和信息進(jìn)行建模,是現(xiàn)實(shí)世界到信息世界的第一層抽象; 基本數(shù)據(jù)模型:是按計(jì)算機(jī)系統(tǒng)的觀點(diǎn)對(duì)數(shù)據(jù)進(jìn)行建模,是概念模型的數(shù)據(jù)化。,6.2.

10、1 數(shù)據(jù)模型的基本概念,6.2 數(shù)據(jù)模型,數(shù)據(jù)從現(xiàn)實(shí)世界到計(jì)算機(jī)里的具體表示一般要經(jīng)歷現(xiàn)實(shí)世界、信息世界和機(jī)器世界三個(gè)階段。這三個(gè)世界的關(guān)系如下圖所示。,6.2 數(shù)據(jù)模型,在進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí),必須首先給出概念模型,它不涉及DBMS,它只描述實(shí)體的存在及聯(lián)系。 概念模型的用途 概念模型用于信息世界的建模 是現(xiàn)實(shí)世界到機(jī)器世界的一個(gè)中間層次 是數(shù)據(jù)庫(kù)設(shè)計(jì)的有力工具 數(shù)據(jù)庫(kù)設(shè)計(jì)人員和用戶(hù)之間進(jìn)行交流的語(yǔ)言 對(duì)概念模型的基本要求 較強(qiáng)的語(yǔ)義表達(dá)能力,能夠方便、直接地表達(dá)應(yīng)用中的各種語(yǔ)義知識(shí); 簡(jiǎn)單、清晰、易于用戶(hù)理解。,6.2.2 概念模型及其表示,6.2 數(shù)據(jù)模型,概念模型的最常用方法是P.P.Ch

11、en于1976年提出的實(shí)體聯(lián)系方法(E-R圖法,Entity-Relationship Approach)。 E-R圖法提供了表示實(shí)體集、屬性和聯(lián)系的方法,在E-R圖中: 實(shí)體:用矩形框表示,框內(nèi)標(biāo)明實(shí)體名。 屬性:用橢圓框表示,框內(nèi)標(biāo)明屬性名。 聯(lián)系:用菱形框表示,框內(nèi)標(biāo)明聯(lián)系名。 實(shí)體與其屬性之間以無(wú)向邊連接,菱形框及相關(guān)實(shí)體之間也用無(wú)向邊連接,并在無(wú)向邊旁標(biāo)明聯(lián)系的類(lèi)型。,6.2 數(shù)據(jù)模型,E-R圖中三種基本圖素內(nèi)涵如下: 實(shí)體(Entity):通常是現(xiàn)實(shí)世界中客觀存在的可以相互區(qū)分的事物,例如一個(gè)學(xué)生、一臺(tái)計(jì)算機(jī)等;也可以是抽象的概念,例如一場(chǎng)比賽、一門(mén)課程等。實(shí)體集是具有相同屬性的實(shí)

12、體集合。例如學(xué)校所有學(xué)生具有相同的屬性,因此,學(xué)生的集合可以定義為一個(gè)實(shí)體集。 屬性(Attribute):是描述對(duì)象的某個(gè)特性,如:學(xué)生實(shí)體可用學(xué)號(hào)、姓名、性別、出生日期等屬性來(lái)描述;課程實(shí)體可用課程號(hào)、課程名、學(xué)分等屬性來(lái)描述。 聯(lián)系(Relationship):是實(shí)體間的相互關(guān)系。它反映了客觀事物間相互依存的狀態(tài)。,6.2 數(shù)據(jù)模型,聯(lián)系(Relationship) 現(xiàn)實(shí)世界中事物內(nèi)部以及事物之間的聯(lián)系在信息世界中反映為實(shí)體內(nèi)部的聯(lián)系和實(shí)體之間的聯(lián)系 兩個(gè)不同實(shí)體集之間的聯(lián)系有三種類(lèi)型: 一對(duì)一聯(lián)系(1:1):如果對(duì)于實(shí)體集A中的每個(gè)實(shí)體,實(shí)體集B中至多有一個(gè)實(shí)體(也可以沒(méi)有)與之聯(lián)系,

13、反之亦然,則稱(chēng)實(shí)體集A與實(shí)體集B具有一對(duì)一的聯(lián)系,記為1:1。 一對(duì)多聯(lián)系(1:n):如果對(duì)于實(shí)體集A中的每個(gè)實(shí)體,實(shí)體集B中有多個(gè)實(shí)體與之聯(lián)系,反之,對(duì)于實(shí)體集B中的每個(gè)實(shí)體,實(shí)體集A中至多有一個(gè)實(shí)體與之聯(lián)系,則稱(chēng)實(shí)體集A與實(shí)體集B具有一對(duì)多的聯(lián)系,記為1:n。 多對(duì)多聯(lián)系(m:n):如果對(duì)于實(shí)體集A中的每個(gè)實(shí)體,實(shí)體集B中有多個(gè)實(shí)體與之聯(lián)系,反之,對(duì)于實(shí)體集B中的每個(gè)實(shí)體,實(shí)體集A中也有多個(gè)實(shí)體與之聯(lián)系,則稱(chēng)實(shí)體集A與實(shí)體集B具有多對(duì)多的聯(lián)系,記為m:n。,6.2 數(shù)據(jù)模型,E-R模型的表示方法,6.2 數(shù)據(jù)模型,運(yùn)用E-R方法可以方便地進(jìn)行概念模型設(shè)計(jì)。 概念模型設(shè)計(jì)是對(duì)實(shí)體的抽象過(guò)程:

14、 第一步:根據(jù)各個(gè)局部應(yīng)用設(shè)計(jì)出分E-R圖。 第二步:綜合各分E-R圖得到初步E-R圖,在綜合過(guò)程中主要的工作是消除沖突。 第三步:對(duì)初步E-R圖消除冗余,得到基本E-R圖。,6.2 數(shù)據(jù)模型,以教學(xué)管理系統(tǒng)為例 經(jīng)需求分析后,可確定如下實(shí)體: 學(xué)生:學(xué)號(hào)、姓名、性別、出生日期、地址、 課程:課程號(hào)、課程名稱(chēng)、學(xué)時(shí)、學(xué)分、,6.2 數(shù)據(jù)模型,以上各實(shí)體間的聯(lián)系如下: 一個(gè)學(xué)生可選修多門(mén)課,一門(mén)課可為多個(gè)學(xué)生選修;,學(xué)生選課E-R圖如下:,6.2 數(shù)據(jù)模型,在數(shù)據(jù)庫(kù)中用數(shù)據(jù)模型這個(gè)工具來(lái)抽象、表示和處理現(xiàn)實(shí)世界中的數(shù)據(jù)和信息。通俗地講數(shù)據(jù)模型就是現(xiàn)實(shí)世界的模擬。 數(shù)據(jù)模型應(yīng)滿(mǎn)足三方面要求: 能比

15、較真實(shí)地模擬現(xiàn)實(shí)世界; 容易為人所理解; 便于在計(jì)算機(jī)上實(shí)現(xiàn); 數(shù)據(jù)模型的三要素: 數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和完整性規(guī)則(結(jié)束)。 目前成熟地應(yīng)用在數(shù)據(jù)庫(kù)系統(tǒng)中的數(shù)據(jù)模型有: 層次模型、網(wǎng)狀模型和關(guān)系模型。,6.2.3 常見(jiàn)的三種數(shù)據(jù)模型,6.2 數(shù)據(jù)模型,層次模型 用樹(shù)型結(jié)構(gòu)來(lái)表示實(shí)體之間聯(lián)系的模型叫層次模型。 層次模型必須滿(mǎn)足下面兩個(gè)條件: 有且只有一個(gè)結(jié)點(diǎn)沒(méi)有雙親結(jié)點(diǎn),這個(gè)結(jié)點(diǎn)稱(chēng)為根 結(jié)點(diǎn) 根以外的其它結(jié)點(diǎn)有且只有一個(gè)雙親結(jié)點(diǎn) 層次模型中的幾個(gè)術(shù)語(yǔ) 根結(jié)點(diǎn),雙親結(jié)點(diǎn),兄弟結(jié)點(diǎn),葉結(jié)點(diǎn),1 層次模型,6.2 數(shù)據(jù)模型,層次模型樣例,6.2 數(shù)據(jù)模型,網(wǎng)狀模型 滿(mǎn)足下面兩個(gè)條件的基本層次聯(lián)系的集合

16、為網(wǎng)狀模型。 允許一個(gè)以上的結(jié)點(diǎn)無(wú)雙親; 一個(gè)結(jié)點(diǎn)可以有多于一個(gè)的雙親。,2 網(wǎng)狀模型,6.2 數(shù)據(jù)模型,網(wǎng)狀模型樣例,6.2 數(shù)據(jù)模型,關(guān)系模型的基本概念 關(guān)系模型是目前使用最廣的數(shù)據(jù)模型。 關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)采用關(guān)系模型作為數(shù)據(jù)的組織方式,現(xiàn)在流行的數(shù)據(jù)庫(kù)管理系統(tǒng)幾乎都支持關(guān)系模型,如SQL Server、Oracle、Access、FoxPro等。 關(guān)系模型具有特別強(qiáng)的數(shù)據(jù)表示能力,可表示一對(duì)一、一對(duì)多和多對(duì)多的聯(lián)系。 在關(guān)系模型中,用一個(gè)二維表格來(lái)描述實(shí)體及其之間的聯(lián)系。,3 關(guān)系模型,6.2 數(shù)據(jù)模型,關(guān)系模型中的常用術(shù)語(yǔ): 關(guān)系(Relation):對(duì)應(yīng)通常所說(shuō)的二維表。 元組(Tup

17、le):表中的一行稱(chēng)為一個(gè)元組。 屬性(Attribute):表中的一列稱(chēng)為一個(gè)屬性,列名稱(chēng)為屬性名,列值稱(chēng)為屬性值。 關(guān)鍵字(Key):能夠唯一確定一個(gè)元組的屬性集合稱(chēng)為關(guān)鍵字。 主鍵(Primary Key):表中可能有多個(gè)關(guān)鍵字,在應(yīng)用中被選用的關(guān)鍵字稱(chēng)為主鍵。 域(Domain):屬性的取值范圍稱(chēng)為域。 外鍵(Foreign Key):若屬性集合S存在于關(guān)系R1中,但不是關(guān)系R1的主鍵;它同時(shí)也存在于關(guān)系R2中,而且是關(guān)系R2的主鍵,則S是關(guān)系R1相對(duì)于R2的外鍵。,6.2 數(shù)據(jù)模型,關(guān)系模型中的常用術(shù)語(yǔ): 關(guān)系模式(Relation Mode):對(duì)關(guān)系的描述,一般表示為 關(guān)系名(屬性

18、名1,屬性名2,屬性名n) 例如,學(xué)生關(guān)系模式可描述為: 學(xué)生(學(xué)號(hào),姓名,性別,出生日期,專(zhuān)業(yè)) 主屬性:組成主鍵的屬性 非主屬性:一個(gè)關(guān)系模式中不是主屬性的屬性,關(guān)系名,關(guān)系模式,元組,屬性和屬性名(字段),關(guān)系,主鍵,外鍵,6.2 數(shù)據(jù)模型,關(guān)系模型的特點(diǎn): 對(duì)于一個(gè)符合關(guān)系模型的二維表格,通常將其中的每一列稱(chēng)為一個(gè)字段(Field);而將其中的每一行稱(chēng)為一個(gè)記錄(Record)。一張二維表格若能構(gòu)成一個(gè)關(guān)系模型,必須滿(mǎn)足一定的條件,即關(guān)系必須規(guī)范化,一個(gè)規(guī)范化的關(guān)系必須具備以下幾個(gè)特點(diǎn): 每一列不可再分,即不能表中有表; 關(guān)系的每一列上,屬性值應(yīng)取自同一值域; 在同一個(gè)關(guān)系中不能有相同

19、的屬性名; 在同一個(gè)關(guān)系中不能有完全相同的元組; 在一個(gè)關(guān)系中行、列的順序無(wú)關(guān)緊要。,6.2 數(shù)據(jù)模型,將學(xué)生成績(jī)E-R圖轉(zhuǎn)換成關(guān)系模型下:,6.2 數(shù)據(jù)模型,1.學(xué)生(學(xué)號(hào),姓名,性別,出生年月,所在專(zhuān)業(yè)) 2.課程(課程號(hào),課程名,學(xué)時(shí),學(xué)分) 3.選修(學(xué)號(hào),課程號(hào),成績(jī)),概念模型,數(shù)據(jù)模型 (關(guān)系模型),了解數(shù)據(jù)庫(kù)開(kāi)發(fā)平臺(tái) 掌握使用Access XP的基本方法(包括建立數(shù)據(jù)庫(kù)、數(shù)據(jù)表、表間的聯(lián)系及進(jìn)入SQL查詢(xún)窗口等);,學(xué)習(xí)目標(biāo),6.3 常用數(shù)據(jù)庫(kù)開(kāi)發(fā)平臺(tái),6.3 常用數(shù)據(jù)庫(kù)開(kāi)發(fā)平臺(tái),6.3.1 認(rèn)識(shí)數(shù)據(jù)庫(kù)開(kāi)發(fā)平臺(tái),6.3.2 Access XP,6.3.3 SQL Server

20、2000,6.3 常用數(shù)據(jù)庫(kù)開(kāi)發(fā)平臺(tái),使用數(shù)據(jù)庫(kù)開(kāi)發(fā)平臺(tái)的目的就是建立數(shù)據(jù)庫(kù),將數(shù)據(jù)庫(kù)的設(shè)計(jì)方案付與實(shí)施。按數(shù)據(jù)庫(kù)的觀點(diǎn)這些軟件可劃分為如下的兩大類(lèi)。 數(shù)據(jù)庫(kù)服務(wù)器 這一類(lèi)數(shù)據(jù)庫(kù)軟件常見(jiàn)的有SQL Server、Oracle、Sybase、MySQL等,它們都是大型的數(shù)據(jù)庫(kù)開(kāi)發(fā)平臺(tái),重點(diǎn)在于后端數(shù)據(jù)庫(kù)的管理,它們的數(shù)據(jù)庫(kù)都是隱身于后的“服務(wù)器”。其主要功能有:強(qiáng)大的數(shù)據(jù)庫(kù)引擎、高度的數(shù)據(jù)安全、備份及還原、不同數(shù)據(jù)庫(kù)之間的數(shù)據(jù)轉(zhuǎn)換等。 桌面型數(shù)據(jù)庫(kù)軟件 目前,最流行的桌面型數(shù)據(jù)庫(kù)軟件有Access和Visual FoxPro等,它們都是小型的數(shù)據(jù)庫(kù)開(kāi)發(fā)平臺(tái),其特點(diǎn)是易學(xué)易用,適合建立小型數(shù)據(jù)庫(kù)。

21、其主要特色有:強(qiáng)大的窗體及報(bào)表制作能力、強(qiáng)化數(shù)據(jù)庫(kù)的工具和易學(xué)易用的操作界面等。,6.3.1 認(rèn)識(shí)數(shù)據(jù)庫(kù)開(kāi)發(fā)平臺(tái),6.3 常用數(shù)據(jù)庫(kù)開(kāi)發(fā)平臺(tái),作為Microsoft Office組件之一的Microsoft Access是在Windows環(huán)境下最具代表性的桌面型數(shù)據(jù)庫(kù)開(kāi)發(fā)平臺(tái)。 使用Microsoft Access無(wú)需編寫(xiě)任何代碼,只需通過(guò)直觀的可視化操作就可以輕松地創(chuàng)建數(shù)據(jù)庫(kù)和數(shù)據(jù)表,并進(jìn)行有效的管理。 Access XP的使用方法。,6.3.2 Access XP,6.3 常用數(shù)據(jù)庫(kù)開(kāi)發(fā)平臺(tái),Access XP是一種關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)。 數(shù)據(jù)庫(kù)的組成 在Access XP中,一個(gè)數(shù)據(jù)庫(kù)包

22、含的對(duì)象有表、查詢(xún)、窗體、報(bào)表、宏、模塊和頁(yè)。 表:是數(shù)據(jù)庫(kù)中最基本的對(duì)象,沒(méi)有表也就沒(méi)有其他對(duì)象。 查詢(xún):就是從一個(gè)或多個(gè)表(或查詢(xún))中選擇一部分?jǐn)?shù)據(jù),將它們集中起來(lái),形成一個(gè)全局性的集合,供用戶(hù)查看。 窗體:是用戶(hù)與數(shù)據(jù)庫(kù)交互的界面,是數(shù)據(jù)庫(kù)維護(hù)的一種最靈活的方式。,Access數(shù)據(jù)庫(kù)的建立和維護(hù),6.3 常用數(shù)據(jù)庫(kù)開(kāi)發(fā)平臺(tái),數(shù)據(jù)庫(kù)的組成 報(bào)表:Access中的報(bào)表與現(xiàn)實(shí)生活的報(bào)表是一樣的,是一種按指定的樣式格式化的數(shù)據(jù)形式。 宏:宏是若干個(gè)操作的組合,可用來(lái)簡(jiǎn)化一些經(jīng)常性的操作。 模塊:在模塊中,用戶(hù)可以用VBA語(yǔ)言編寫(xiě)函數(shù)過(guò)程或子程序。 頁(yè):是Access 2003中新增加的對(duì)象。用戶(hù)

23、通過(guò)創(chuàng)建頁(yè)(Web),把數(shù)據(jù)庫(kù)中的數(shù)據(jù)向Internet或Intranet上發(fā)布。,6.3 常用數(shù)據(jù)庫(kù)開(kāi)發(fā)平臺(tái),數(shù)據(jù)庫(kù)的建立 設(shè)計(jì)一個(gè)數(shù)據(jù)庫(kù)的關(guān)鍵就集中體現(xiàn)在建立基礎(chǔ)表上。 字段數(shù)據(jù)類(lèi)型 文本型(Text) 備注型(Memo) 數(shù)字型(Number) 日期/時(shí)間型(Date/Time) 貨幣型(Currency) 自動(dòng)編號(hào)型(AutoNumber) 是/否型(Yes/No) OLE對(duì)象(OLE Object),6.3 常用數(shù)據(jù)庫(kù)開(kāi)發(fā)平臺(tái),字段屬性 確定數(shù)據(jù)類(lèi)型之后,還應(yīng)設(shè)定字段屬性才能更準(zhǔn)確地確定數(shù)據(jù)的存儲(chǔ)。 字段大小 格式 小數(shù)位數(shù) 標(biāo)題 默認(rèn)值 有效性規(guī)則 有效性文本 索引,6.3 常用數(shù)

24、據(jù)庫(kù)開(kāi)發(fā)平臺(tái),表的建立 建立表有三種方法。除了使用設(shè)計(jì)器創(chuàng)建表之外,還能使用向?qū)?chuàng)建表和通過(guò)輸入數(shù)據(jù)創(chuàng)建表。 以”學(xué)生管理”三個(gè)表的創(chuàng)建為例. 數(shù)據(jù)庫(kù)的管理與維護(hù) 數(shù)據(jù)庫(kù)的管理與維護(hù)主要就是表的管理與維護(hù)。 向表中輸入、修改、刪除數(shù)據(jù) 表結(jié)構(gòu)的修改 數(shù)據(jù)的導(dǎo)出和導(dǎo)入 表的復(fù)制、刪除、恢復(fù)和更名,6.3 常用數(shù)據(jù)庫(kù)開(kāi)發(fā)平臺(tái),SQL Server 2000是美國(guó)微軟公司在大型關(guān)系數(shù)據(jù)庫(kù)領(lǐng)域的旗艦產(chǎn)品,它使用傳統(tǒng)的Transact-SQL語(yǔ)言,基于客戶(hù)機(jī)/服務(wù)器,將所有的工作分解為客戶(hù)機(jī)任務(wù)和服務(wù)器任務(wù),由兩者分別完成。 它的可靠性和易用性使其成為一個(gè)杰出的數(shù)據(jù)庫(kù)平臺(tái),可用于大型聯(lián)機(jī)事務(wù)處理、數(shù)據(jù)倉(cāng)

25、庫(kù)及電子商務(wù)等。 SQL Server 2000提供了功能強(qiáng)大而又使用便捷的三個(gè)管理工具:服務(wù)器管理器、企業(yè)管理器和查詢(xún)管理器。,6.3.3 SQL Server 2000,6.3 常用數(shù)據(jù)庫(kù)開(kāi)發(fā)平臺(tái),服務(wù)管理器 SQL Server服務(wù)管理器的主要作用是用來(lái)啟動(dòng)數(shù)據(jù)庫(kù)服務(wù)器的實(shí)時(shí)服務(wù)、暫停和停止正在運(yùn)行的服務(wù),或在暫停服務(wù)后繼續(xù)服務(wù)。,6.3 常用數(shù)據(jù)庫(kù)開(kāi)發(fā)平臺(tái),企業(yè)管理器 企業(yè)管理器是SQL Server中最重要和最常用的管理工具,它可以完成大多數(shù)的數(shù)據(jù)庫(kù)管理工作,如用戶(hù)、登錄、權(quán)限的管理;創(chuàng)建和管理數(shù)據(jù)庫(kù);創(chuàng)建和管理表、視圖、存儲(chǔ)過(guò)程、觸發(fā)器、索引、規(guī)則等SQL Server的數(shù)據(jù)庫(kù)對(duì)象

26、和用戶(hù)自定義數(shù)據(jù)類(lèi)型及導(dǎo)入與導(dǎo)出數(shù)據(jù)等。,6.3 常用數(shù)據(jù)庫(kù)開(kāi)發(fā)平臺(tái),查詢(xún)分析器 SQL Server 2000提供的查詢(xún)管理器既可使用戶(hù)交互式地輸入和執(zhí)行各種Transact-SQL語(yǔ)句,方便地編寫(xiě)查詢(xún)程序;又可迅速地查看這些語(yǔ)句的執(zhí)行結(jié)果,來(lái)完成對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的分析和處理。這是一個(gè)非常實(shí)用的管理工具。,返回,6.3 常用數(shù)據(jù)庫(kù)開(kāi)發(fā)平臺(tái),了解SQL語(yǔ)言的特點(diǎn); 掌握在Access XP的“SQL查詢(xún)”窗口中使用SELECT語(yǔ)句實(shí)現(xiàn)簡(jiǎn)單查詢(xún)、條件查詢(xún)和自然連接查詢(xún)的方法。,學(xué)習(xí)目標(biāo),6.4 關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL簡(jiǎn)介,6.4 關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL簡(jiǎn)介,6.4.1 SQL概述,6.4.2

27、SQL語(yǔ)句,6.4 關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL簡(jiǎn)介,SQL是英文Structured Query Language的縮寫(xiě),意思為結(jié)構(gòu)化查詢(xún)語(yǔ)言。 SQL語(yǔ)言是一種介于關(guān)系代數(shù)與關(guān)系演算之間的語(yǔ)言,其功能包括數(shù)據(jù)定義、數(shù)據(jù)查詢(xún)、數(shù)據(jù)操縱和數(shù)據(jù)控制等4個(gè)方面,是一個(gè)通用的功能極強(qiáng)的關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言。 SQL語(yǔ)言已經(jīng)被確定為關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的國(guó)際標(biāo)準(zhǔn),被絕大多數(shù)商品化的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)采用。如Oracle、DB2、SQL Server、Sybase等。,6.4.1 SQL概述,6.4 關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL簡(jiǎn)介,SQL語(yǔ)言的組成 數(shù)據(jù)定義(DDL,Data Definition Language) 數(shù)

28、據(jù)操縱DML (Data Manipulation Language) 數(shù)據(jù)控制(DCL,Data control language),6.4 關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL簡(jiǎn)介,SQL語(yǔ)言的特點(diǎn) 非過(guò)程化語(yǔ)言 面向集合的操作方式 兩種使用方式:可以作為獨(dú)立語(yǔ)言和嵌入某種高級(jí)語(yǔ)言中使用 SQL是一種語(yǔ)言標(biāo)準(zhǔn) 語(yǔ)言簡(jiǎn)潔、功能強(qiáng)大:SQL語(yǔ)言功能極強(qiáng),完成核心功能只用了9個(gè)動(dòng)詞,包括如下四類(lèi): 數(shù)據(jù)查詢(xún):SELECT 數(shù)據(jù)定義:CREATE、DROP、ALTER 數(shù)據(jù)操縱:INSERT、UPDATE、DELETE 數(shù)據(jù)控制:GRANT、REVOKE,6.4 關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL簡(jiǎn)介,將學(xué)生成績(jī)E-R

29、圖轉(zhuǎn)換成關(guān)系模型下:,6.2 數(shù)據(jù)模型,1.學(xué)生(學(xué)號(hào),姓名,性別,出生年月,所在專(zhuān)業(yè)) 2.課程(課程號(hào),課程名,學(xué)時(shí),學(xué)分) 3.選修(學(xué)號(hào),課程號(hào),成績(jī)),概念模型,數(shù)據(jù)模型 (關(guān)系模型),學(xué)生表(Student),課程表(Course),6.2 數(shù)據(jù)模型,成績(jī)表(Score),主鍵,主鍵,主鍵,外鍵,外鍵,連接,連接,關(guān)系模型的基本運(yùn)算: 在一個(gè)關(guān)系中訪問(wèn)數(shù)據(jù)時(shí),必然要進(jìn)行一定的關(guān)系運(yùn)算,關(guān)系模型主要支持的三種基本關(guān)系運(yùn)算為:選擇、投影和連接,它們操作的對(duì)象和結(jié)果都是關(guān)系。 選擇運(yùn)算 從一個(gè)關(guān)系或二維表格中找出滿(mǎn)足給定條件的記錄行的操作稱(chēng)為選擇。 選擇運(yùn)算是對(duì)單個(gè)關(guān)系施加的運(yùn)算,是從水

30、平方向(即行的方向)上進(jìn)行的選擇,其結(jié)果構(gòu)成一個(gè)新的關(guān)系,這個(gè)關(guān)系是原關(guān)系上的一個(gè)子集,其關(guān)系模式不變。 例:從學(xué)生表中篩選出“計(jì)算機(jī)”專(zhuān)業(yè)的記錄,可用SQL語(yǔ)句表示為: SELECT * FROM 學(xué)生 WHERE 專(zhuān)業(yè)= 計(jì)算機(jī),6.2 數(shù)據(jù)模型,投影運(yùn)算 從一個(gè)關(guān)系或二維表格中找出若干個(gè)屬性列組成新的關(guān)系的操作稱(chēng)為投影。 投影運(yùn)算也是對(duì)單個(gè)關(guān)系施加的運(yùn)算,是從垂直方向(即列的方向)上進(jìn)行的運(yùn)算,投影運(yùn)算的結(jié)果也形成新的關(guān)系,其關(guān)系模式所包含的字段(屬性)個(gè)數(shù)往往比原關(guān)系少,或者字段(屬性)排列的順序?qū)⒂兴煌窃P(guān)系的一個(gè)子集。 例:從學(xué)生表中篩選出所需的列(學(xué)號(hào)、姓名、專(zhuān)業(yè)),可用

31、SQL語(yǔ)句表示為: SELECT 學(xué)號(hào),姓名,專(zhuān)業(yè) FROM 學(xué)生,6.2 數(shù)據(jù)模型,連接運(yùn)算 將兩個(gè)關(guān)系表中的記錄按一定的條件橫向結(jié)合,組成一個(gè)新的關(guān)系表的操作稱(chēng)為連接。 最常見(jiàn)的連接運(yùn)算是自然連接,它是利用兩個(gè)關(guān)系中所共有的一個(gè)字段, 將該字段值相等的記錄內(nèi)容連接起來(lái),自動(dòng)剔除掉重復(fù)的字段作為新關(guān)系中的一條記錄。 連接運(yùn)算是對(duì)兩個(gè)或兩個(gè)以上的表施行的運(yùn)算,如果需要連接的是兩個(gè)以上的表,則應(yīng)當(dāng)進(jìn)行兩兩關(guān)系連接,而連接過(guò)程是通過(guò)連接條件來(lái)控制的。 例:從表中篩選出“課程號(hào)”為C01的列(姓名、課程號(hào)、成績(jī)),可用SQL語(yǔ)句表示為: SELECT 姓名,課程號(hào),成績(jī) FROM 學(xué)生,成績(jī) WHE

32、RE 學(xué)生.學(xué)號(hào)=成績(jī).學(xué)號(hào) AND 課程號(hào)= C01,6.2 數(shù)據(jù)模型,查詢(xún)語(yǔ)句SELECT的格式 SELECT ALL|DISTINCT , FROM , WHERE GROUP BY HAVING ORDER BY ASC|DESC ;,6.4 關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL簡(jiǎn)介,查詢(xún)語(yǔ)句,SELECT子句:指定要顯示的屬性列(所有列用*) FROM子句:指定查詢(xún)對(duì)象(基本表或視圖) WHERE子句:指定查詢(xún)條件 GROUP BY子句:對(duì)查詢(xún)結(jié)果按指定列的值分組,該屬性列值相等的元組為一個(gè)組。通常會(huì)在每組中作用集函數(shù)。 HAVING短語(yǔ):篩選出只有滿(mǎn)足指定條件的組,只能與GROUP BY配合使

33、用 ORDER BY子句:對(duì)查詢(xún)結(jié)果表按指定列值的升序或降序排序,6.4 關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL簡(jiǎn)介,(1)比較運(yùn)算符 、=、!、!=20 AND Sage 25,運(yùn)算符,6.4 關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL簡(jiǎn)介,(3)列表運(yùn)算符 NOT IN(列表項(xiàng)1,列表項(xiàng)2,) 例1:Ssex IN(男,女) 等價(jià)于:Ssex=男 OR Ssex=女 例2:Sdept NOT IN(計(jì)算機(jī)系,信息系) 等價(jià)于:Sdept 計(jì)算機(jī)系 AND Sdept 信息系,6.4 關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL簡(jiǎn)介,(4)模式匹配運(yùn)算符 NOT LIKE 含通配字符的字符串 通配字符(在ACCESS中): *任意類(lèi)型和長(zhǎng)度的

34、字符 ?單個(gè)任意字符 例:Sname LIKE 張* Sname LIKE ?四?,6.4 關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL簡(jiǎn)介,(5)空值判斷運(yùn)算符 IS NOT NULL 例:所在系未確定的名單 Sdept IS NULL (6)邏輯運(yùn)算符 NOT、AND、OR 例:計(jì)算機(jī)系的所有女生 Ssex=女 AND Sdept=計(jì)算機(jī)系,6.4 關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL簡(jiǎn)介,舉例P292 1簡(jiǎn)單查詢(xún) 2.條件查詢(xún) 3.自然連接查詢(xún),若查詢(xún)涉及兩個(gè)以上的表且目標(biāo)列中去掉相同的字段名,則稱(chēng)為自然連接查詢(xún)。 例:查詢(xún)選修了課程號(hào)為“C1”的學(xué)生學(xué)號(hào)、姓名和成績(jī)。 SELECT Student.Sno,Sname

35、,Grade FROM Student , Score WHERE Student.Sno=Score.Sno AND Cno=C1; 注:如果字段名在各個(gè)表中是唯一的,可以把字段名前的表名去掉,否則就必須加上表名作為前綴,以免引起混淆。,自然連接查詢(xún),6.4 關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL簡(jiǎn)介,查詢(xún)結(jié)果排序 ORDER BY order_by_expression ASC | DESC ,.n 例:從STUDENT表中列出所有信息。輸出時(shí)要求首先按所在系降序排列,若是同一系的再按出生日期的先后順序排列。 SELECT * FROM student ORDER BY Sdept DESC,Sbirt

36、hday,6.4 關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL簡(jiǎn)介,數(shù)據(jù)統(tǒng)計(jì)函數(shù) 計(jì)數(shù) COUNT(ALL | * | ) 計(jì)算總和 SUM(ALL | ) 計(jì)算平均值 AVG(ALL |) 求最大值 MAX(ALL |) 求最小值 MIN(ALL |),6.4 關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL簡(jiǎn)介,例1 查詢(xún)學(xué)生總?cè)藬?shù)。 SELECT COUNT(*) FROM Student; 例2 計(jì)算C1號(hào)課程的學(xué)生平均成績(jī)。 SELECT AVG(Grade) FROM Score WHERE Cno= C1 ; 例3 查詢(xún)選修C1號(hào)課程的學(xué)生最高分?jǐn)?shù)。 SELECT MAX(Grade) FROM Score WHER Cn

37、o= C1 ;,6.4 關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL簡(jiǎn)介,使用GROUP BY子句分組細(xì)化統(tǒng)計(jì)函數(shù)的作用對(duì)象 未對(duì)查詢(xún)結(jié)果分組,集函數(shù)將作用于整個(gè)查詢(xún)結(jié)果 對(duì)查詢(xún)結(jié)果分組后,集函數(shù)將分別作用于每個(gè)組 HAVING短語(yǔ)作用于組,從中選擇滿(mǎn)足條件的組。,6.4 關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL簡(jiǎn)介,例4 查詢(xún)有3門(mén)以上課程是90分以上的 學(xué)生的學(xué)號(hào)及(90分以上的)課程數(shù)。 SELECT Sno, COUNT(*) FROM Score WHERE Grade=90 GROUP BY Sno HAVING COUNT(*)=3;,6.4 關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL簡(jiǎn)介,插入數(shù)據(jù)的INSERT語(yǔ)句格式 INSER

38、T INTO (,) VALUES (, ) 功能:將新元組插入指定表中。,插入數(shù)據(jù),6.4 關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL簡(jiǎn)介,例1 將一個(gè)新學(xué)生記錄 (學(xué)號(hào):95020;姓名:陳冬;性別:男;所在系:IS;年齡:18歲)插入到Student表中。 INSERT INTO Student VALUES (95020,陳冬,男,IS,18); 例2 插入一條選課記錄( 95020,1 )。 INSERT INTO Score(Sno,Cno) VALUES ( 95020 , 1 ); 新插入的記錄在Grade列上取空值,6.4 關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL簡(jiǎn)介,修改數(shù)據(jù)的UPDATE語(yǔ)句格式 UPDA

39、TE SET =,= WHERE ; 功能 修改指定表中滿(mǎn)足WHERE子句條件的元組,修改數(shù)據(jù),6.4 關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL簡(jiǎn)介,例3 將學(xué)生95001的年齡改為22歲。 UPDATE Student SET Sage=22 WHERE Sno= 95001 ; 例4 將所有學(xué)生的年齡增加1歲。 UPDATE Student SET Sage= Sage+1;,修改數(shù)據(jù),6.4 關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL簡(jiǎn)介,刪除數(shù)據(jù)的DELETE語(yǔ)句格式 DELETE FROM WHERE ; 功能 刪除指定表中滿(mǎn)足WHERE子句條件的元組 WHERE子句 指定要?jiǎng)h除的元組 缺省表示要修改表中的所有元組,

40、刪除數(shù)據(jù),6.4 關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL簡(jiǎn)介,例5 刪除學(xué)號(hào)為95019的學(xué)生記錄。 DELETE FROM Student WHERE Sno=95019; 例6 刪除C2號(hào)課程的所有選課記錄。 DELETE FROM Score; WHERE Cno=C2; 例7 刪除所有的學(xué)生選課記錄。 DELETE FROM Score;,6.4 關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL簡(jiǎn)介,定義基本表的SQL語(yǔ)句 CREATE TABLE ( , , ); :所要定義的基本表的名字 :組成該表的各個(gè)屬性(列) :涉及相應(yīng)屬性列的完整性約束條件 :涉及一個(gè)或多個(gè)屬性列的完整性約束條件,6.4 關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQ

41、L簡(jiǎn)介,創(chuàng)建表,6.4.2 SQL語(yǔ)句,例1 建立一個(gè)“學(xué)生”表Student,它由學(xué)號(hào)Sno、姓名Sname、性別Ssex、年齡Sage、所在系Sdept五個(gè)屬性組成。其中學(xué)號(hào)不能為空,值是唯一的,并且姓名取值也唯一。 CREATE TABLE Student (Sno CHAR(5) Primary Key, Sname CHAR(20) UNIQUE, Ssex CHAR(1) , Sage INT, Sdept CHAR(15);,6.4 關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL簡(jiǎn)介,常用完整性約束 主碼約束: PRIMARY KEY 唯一性約束:UNIQUE 非空值約束:NOT NULL 參照完整性約束 PRIMARY KEY與 UNIQUE的區(qū)別?,6.4 關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL簡(jiǎn)介,修改基本表的SQL語(yǔ)句 ALTER TABLE ADD 完整性約束 DROP MODIFY ; :要修改的基本表 ADD子句:增加新列和新的完整性約束條件 DROP子句:刪除指定的完整性約束條件 MODIFY子句:用于修改列名和數(shù)據(jù)類(lèi)型,6.4 關(guān)系數(shù)據(jù)庫(kù)標(biāo)

溫馨提示

  • 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)論