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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

9、鍵字、主鍵、外鍵等)、關(guān)系模型的特點及關(guā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 常見的三種數(shù)據(jù)模型,6.2 數(shù)據(jù)模型,數(shù)據(jù)模型就是現(xiàn)實世界的模擬,是對客觀事物及其聯(lián)系的抽象描述。在數(shù)據(jù)庫系統(tǒng)中針對不同的使用對象和不同的應(yīng)用目的,可采用不同層次的數(shù)據(jù)模型。數(shù)據(jù)模型大致分為兩個不同層次: 概念模型:也稱信息模型,是按用戶的觀點對數(shù)據(jù)和信息進行建模,是現(xiàn)實世界到信息世界的第一層抽象; 基本數(shù)據(jù)模型:是按計算機系統(tǒng)的觀點對數(shù)據(jù)進行建模,是概念模型的數(shù)據(jù)化。,6.2.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

27、SQL語句,6.4 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL簡介,SQL是英文Structured Query Language的縮寫,意思為結(jié)構(gòu)化查詢語言。 SQL語言是一種介于關(guān)系代數(shù)與關(guān)系演算之間的語言,其功能包括數(shù)據(jù)定義、數(shù)據(jù)查詢、數(shù)據(jù)操縱和數(shù)據(jù)控制等4個方面,是一個通用的功能極強的關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言。 SQL語言已經(jīng)被確定為關(guān)系數(shù)據(jù)庫系統(tǒng)的國際標(biāo)準(zhǔn),被絕大多數(shù)商品化的關(guān)系數(shù)據(jù)庫系統(tǒng)采用。如Oracle、DB2、SQL Server、Sybase等。,6.4.1 SQL概述,6.4 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL簡介,SQL語言的組成 數(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ù)庫標(biāo)準(zhǔn)語言SQL簡介,SQL語言的特點 非過程化語言 面向集合的操作方式 兩種使用方式:可以作為獨立語言和嵌入某種高級語言中使用 SQL是一種語言標(biāo)準(zhǔn) 語言簡潔、功能強大:SQL語言功能極強,完成核心功能只用了9個動詞,包括如下四類: 數(shù)據(jù)查詢:SELECT 數(shù)據(jù)定義:CREATE、DROP、ALTER 數(shù)據(jù)操縱:INSERT、UPDATE、DELETE 數(shù)據(jù)控制:GRANT、REVOKE,6.4 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL簡介,將學(xué)生成績E-R

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

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

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

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

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

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

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

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

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

38、T INTO (,) VALUES (, ) 功能:將新元組插入指定表中。,插入數(shù)據(jù),6.4 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL簡介,例1 將一個新學(xué)生記錄 (學(xué)號: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ù)庫標(biāo)準(zhǔn)語言SQL簡介,修改數(shù)據(jù)的UPDATE語句格式 UPDA

39、TE SET =,= WHERE ; 功能 修改指定表中滿足WHERE子句條件的元組,修改數(shù)據(jù),6.4 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL簡介,例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ù)庫標(biāo)準(zhǔn)語言SQL簡介,刪除數(shù)據(jù)的DELETE語句格式 DELETE FROM WHERE ; 功能 刪除指定表中滿足WHERE子句條件的元組 WHERE子句 指定要刪除的元組 缺省表示要修改表中的所有元組,

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

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

溫馨提示

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

評論

0/150

提交評論