[其它考試]VisualFoxPro程序設(shè)計第一章_第1頁
[其它考試]VisualFoxPro程序設(shè)計第一章_第2頁
[其它考試]VisualFoxPro程序設(shè)計第一章_第3頁
[其它考試]VisualFoxPro程序設(shè)計第一章_第4頁
[其它考試]VisualFoxPro程序設(shè)計第一章_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、vfp培訓(xùn)課件hengjunyuehengjunyueqqqq:421480815421480815visual foxpro程序設(shè)計提出兩個問題什么是什么是visual foxpro ?visual foxpro ?為什么我們要學(xué)習(xí)為什么我們要學(xué)習(xí)visual foxpro ?visual foxpro ?答:答:visual foxprovisual foxpro是一種運行在微機上的數(shù)據(jù)庫管理系是一種運行在微機上的數(shù)據(jù)庫管理系統(tǒng)統(tǒng)答答:原因有三點:原因有三點:(1 1)提高自身的計算機綜合能力)提高自身的計算機綜合能力(2 2)了解有關(guān)數(shù)據(jù)庫的知識,熟練操作)了解有關(guān)數(shù)據(jù)庫的知識,熟練操作

2、foxprofoxpro數(shù)數(shù)據(jù)庫,為以后可能從事的相關(guān)工作作準(zhǔn)備據(jù)庫,為以后可能從事的相關(guān)工作作準(zhǔn)備(3 3)通過全國計算機二級等級考試)通過全國計算機二級等級考試visual foxpro visual foxpro 的特點的特點增強的項目及數(shù)據(jù)庫管理 更簡便、快速、靈活的應(yīng)用程序開發(fā) 提供真正的面向?qū)ο蟪绦蛟O(shè)計 充分利用已有數(shù)據(jù) 可以開發(fā)客戶服務(wù)器解決方案,增強客戶/服務(wù)器性能 第一章visual foxpro基礎(chǔ)1 11 1數(shù)據(jù)庫基礎(chǔ)知識數(shù)據(jù)庫基礎(chǔ)知識1 12 2關(guān)系數(shù)據(jù)庫關(guān)系數(shù)據(jù)庫1 13 3數(shù)據(jù)庫設(shè)計基礎(chǔ)數(shù)據(jù)庫設(shè)計基礎(chǔ)11數(shù)據(jù)庫基礎(chǔ)知識 數(shù)據(jù)庫管理系統(tǒng)是處理數(shù)據(jù)的有效工具,在數(shù)據(jù)庫管

3、理系統(tǒng)是處理數(shù)據(jù)的有效工具,在此首先需要了解數(shù)據(jù)、數(shù)據(jù)處理的概念和計算機數(shù)據(jù)管此首先需要了解數(shù)據(jù)、數(shù)據(jù)處理的概念和計算機數(shù)據(jù)管理的發(fā)展歷程。理的發(fā)展歷程。1 11 11 1計算機數(shù)據(jù)管理的發(fā)展計算機數(shù)據(jù)管理的發(fā)展 1 1數(shù)據(jù)與數(shù)據(jù)處理數(shù)據(jù)與數(shù)據(jù)處理 數(shù)據(jù)是指存儲在某一種媒體上能夠識別的物理符數(shù)據(jù)是指存儲在某一種媒體上能夠識別的物理符號。數(shù)據(jù)是信息的載體,號。數(shù)據(jù)是信息的載體,數(shù)據(jù)的概念包括兩個方面:數(shù)據(jù)的概念包括兩個方面:其一是描述事物特性的數(shù)據(jù)內(nèi)容;其一是描述事物特性的數(shù)據(jù)內(nèi)容;某人生日某人生日8080年年1 1月月1 1日日其二是存儲在某一種媒體上的數(shù)據(jù)形式。其二是存儲在某一種媒體上的數(shù)據(jù)

4、形式?!?0/01/01”80/01/01”2 2計算機數(shù)據(jù)管理計算機數(shù)據(jù)管理計算機對數(shù)據(jù)的管理是指對數(shù)據(jù)的組織、分類、計算機對數(shù)據(jù)的管理是指對數(shù)據(jù)的組織、分類、編碼、存儲、檢索和維護提供操作手段。編碼、存儲、檢索和維護提供操作手段。計算機數(shù)據(jù)管理經(jīng)歷了人工管理、文件系統(tǒng)、數(shù)計算機數(shù)據(jù)管理經(jīng)歷了人工管理、文件系統(tǒng)、數(shù)據(jù)庫系統(tǒng)、分布式數(shù)據(jù)庫系統(tǒng)和面向?qū)ο髷?shù)據(jù)據(jù)庫系統(tǒng)、分布式數(shù)據(jù)庫系統(tǒng)和面向?qū)ο髷?shù)據(jù)庫系統(tǒng)等幾個階段。庫系統(tǒng)等幾個階段。數(shù)據(jù)管理的幾個發(fā)展階段數(shù)據(jù)管理的幾個發(fā)展階段 1.1.人工管理階段(人工管理階段(5050年代中期以前)年代中期以前) 2.2.文件系統(tǒng)階段(文件系統(tǒng)階段(5050年

5、代后期年代后期6060年代中年代中期)期)3.3.數(shù)據(jù)庫系統(tǒng)階段(數(shù)據(jù)庫系統(tǒng)階段(6060年代年代)4.4.分布式數(shù)據(jù)庫系統(tǒng)分布式數(shù)據(jù)庫系統(tǒng)5.5.面向?qū)ο髷?shù)據(jù)庫系統(tǒng)(面向?qū)ο髷?shù)據(jù)庫系統(tǒng)(8080年代)年代)112數(shù)據(jù)庫系統(tǒng)1 1有關(guān)數(shù)據(jù)庫的概念有關(guān)數(shù)據(jù)庫的概念 數(shù)據(jù)庫(數(shù)據(jù)庫(dbdb) 數(shù)據(jù)庫數(shù)據(jù)庫(database(database) )是存儲在計算機存儲設(shè)備上,結(jié)是存儲在計算機存儲設(shè)備上,結(jié)構(gòu)化的相關(guān)數(shù)據(jù)集合。構(gòu)化的相關(guān)數(shù)據(jù)集合。它不僅包括描述事物的數(shù)據(jù)本身,而且還包括相關(guān)它不僅包括描述事物的數(shù)據(jù)本身,而且還包括相關(guān)事物之間的聯(lián)系。事物之間的聯(lián)系。數(shù)據(jù)庫中的數(shù)據(jù)是面向多個用戶和多個應(yīng)用

6、程序共數(shù)據(jù)庫中的數(shù)據(jù)是面向多個用戶和多個應(yīng)用程序共享。享。其數(shù)據(jù)結(jié)構(gòu)獨立于應(yīng)用程序,對于數(shù)據(jù)的增加、刪其數(shù)據(jù)結(jié)構(gòu)獨立于應(yīng)用程序,對于數(shù)據(jù)的增加、刪除、修改和檢索由系統(tǒng)軟件進除、修改和檢索由系統(tǒng)軟件進 行統(tǒng)一的控制。行統(tǒng)一的控制。數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(dbms)(dbms) 開發(fā)一個成功的數(shù)據(jù)庫應(yīng)用系統(tǒng)需要一個開發(fā)一個成功的數(shù)據(jù)庫應(yīng)用系統(tǒng)需要一個專門的軟件系統(tǒng)對數(shù)據(jù)實行專門管理專門的軟件系統(tǒng)對數(shù)據(jù)實行專門管理, ,以提供安以提供安全性和完整性等統(tǒng)一控制機制全性和完整性等統(tǒng)一控制機制, ,方便用戶使用。方便用戶使用。這個專門的軟件系統(tǒng)就是這個專門的軟件系統(tǒng)就是數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(

7、dbms)(dbms),dbmsdbms對數(shù)據(jù)庫的建立、使用和維護進行管理。對數(shù)據(jù)庫的建立、使用和維護進行管理。數(shù)據(jù)庫系統(tǒng)(數(shù)據(jù)庫系統(tǒng)(dbsdbs) 數(shù)據(jù)庫系統(tǒng)是指引進數(shù)據(jù)庫技術(shù)后的計算機系統(tǒng),數(shù)據(jù)庫系統(tǒng)是指引進數(shù)據(jù)庫技術(shù)后的計算機系統(tǒng),實現(xiàn)有組織地、動態(tài)地存儲大量相關(guān)數(shù)據(jù),提供數(shù)據(jù)處實現(xiàn)有組織地、動態(tài)地存儲大量相關(guān)數(shù)據(jù),提供數(shù)據(jù)處理和信息資源共享的便利手段。它由理和信息資源共享的便利手段。它由5 5部分組成部分組成: : 1 1、硬件系統(tǒng)、硬件系統(tǒng) 2 2、相關(guān)軟件、相關(guān)軟件 3 3、數(shù)據(jù)庫、數(shù)據(jù)庫 4 4、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng) 5 5、人(管理員和用戶)、人(管理員和用戶)2.

8、 2. 數(shù)據(jù)庫系統(tǒng)的特點數(shù)據(jù)庫系統(tǒng)的特點實現(xiàn)數(shù)據(jù)共享,減少數(shù)據(jù)冗余實現(xiàn)數(shù)據(jù)共享,減少數(shù)據(jù)冗余 數(shù)據(jù)的最小訪問單位是字段,既可以按字?jǐn)?shù)據(jù)的最小訪問單位是字段,既可以按字段的名稱存取庫中某一個或某一組字段,也可以存取段的名稱存取庫中某一個或某一組字段,也可以存取一條記錄或一組記錄。一條記錄或一組記錄。采用特定的數(shù)據(jù)模型采用特定的數(shù)據(jù)模型具有較高的數(shù)據(jù)獨立性具有較高的數(shù)據(jù)獨立性有統(tǒng)一的數(shù)據(jù)控制功能有統(tǒng)一的數(shù)據(jù)控制功能 數(shù)據(jù)庫可以被多個用戶或應(yīng)用程序共享,數(shù)據(jù)庫可以被多個用戶或應(yīng)用程序共享,數(shù)據(jù)的存取往往是并發(fā)的,即多個用戶同時使數(shù)據(jù)的存取往往是并發(fā)的,即多個用戶同時使 用用同一個數(shù)據(jù)庫。同一個數(shù)據(jù)庫

9、。 113數(shù)據(jù)模型 數(shù)據(jù)庫需要根據(jù)應(yīng)用系統(tǒng)中數(shù)據(jù)的數(shù)據(jù)庫需要根據(jù)應(yīng)用系統(tǒng)中數(shù)據(jù)的性質(zhì)、內(nèi)在聯(lián)系,按照管理的要求來設(shè)計和組性質(zhì)、內(nèi)在聯(lián)系,按照管理的要求來設(shè)計和組織。人們把客觀存在的事物以數(shù)據(jù)的形式存儲織。人們把客觀存在的事物以數(shù)據(jù)的形式存儲到計算機中,經(jīng)歷了對現(xiàn)實生活中事物特性的到計算機中,經(jīng)歷了對現(xiàn)實生活中事物特性的認(rèn)識、概念化到計算機數(shù)據(jù)庫里的具體表示的認(rèn)識、概念化到計算機數(shù)據(jù)庫里的具體表示的逐級抽象過程。逐級抽象過程。1實體的描述 現(xiàn)實世界存在各種事物,事物與事現(xiàn)實世界存在各種事物,事物與事物之間存在著聯(lián)系。這種聯(lián)系是客觀存在的,物之間存在著聯(lián)系。這種聯(lián)系是客觀存在的,是事物本身的性質(zhì)所

10、決定的。是事物本身的性質(zhì)所決定的。例如,圖書館中有圖書和讀者,讀者借閱圖書;例如,圖書館中有圖書和讀者,讀者借閱圖書;學(xué)校的教學(xué)系統(tǒng)中學(xué)校的教學(xué)系統(tǒng)中 有教師、學(xué)生、課程,教有教師、學(xué)生、課程,教師為學(xué)生授課,學(xué)生選修課程并取得成績;如師為學(xué)生授課,學(xué)生選修課程并取得成績;如果管理的對象較多或者比較特殊,事物之間的果管理的對象較多或者比較特殊,事物之間的聯(lián)系就可能較為復(fù)雜。聯(lián)系就可能較為復(fù)雜。實體 客觀存在并且可以相互區(qū)別的事物稱為實體。實體可以是實體可以是實際的事物實際的事物,也可能是,也可能是抽象的事件抽象的事件。比如比如: : 人、圖書等屬于實際事物;人、圖書等屬于實際事物; 借閱圖書、

11、比賽等活動是比較抽象借閱圖書、比賽等活動是比較抽象的事件。的事件。實體的屬性 描述實體的特性稱為屬性。描述實體的特性稱為屬性。例如,職工實體用例如,職工實體用( (職工號,姓名,性別,出生職工號,姓名,性別,出生口期,職稱口期,職稱) ) 等若干個屬性來描述;圖書實體等若干個屬性來描述;圖書實體用用( (總編號,分類號,書名,作者,單價總編號,分類號,書名,作者,單價) )等多等多個屬性來描述。個屬性來描述。實體集和實體型 屬性值的集合表示一個實體,而屬性的集屬性值的集合表示一個實體,而屬性的集合表示一種實體的類型,稱為實體型。同類型的實合表示一種實體的類型,稱為實體型。同類型的實體的集合,稱

12、為實體集。體的集合,稱為實體集。例如,在職工實體集當(dāng)中,例如,在職工實體集當(dāng)中, ( (吳大偉,男,吳大偉,男,555512120606,教授,教授) )表示表示個具體教工個具體教工; 在圖書實體集中,在圖書實體集中, (tp298tp298,visualfoxprovisualfoxpro教程,張三立教程,張三立) )則具體代表一本書。則具體代表一本書。 在在visual foxprovisual foxpro中,用中,用“表表”來存放同一類來存放同一類實體,即實體集。例如,職工表、圖書表等。實體,即實體集。例如,職工表、圖書表等。 visual foxprovisual foxpro的一個

13、的一個“表表”包含若干個字段,包含若干個字段,“表表”中所包含的中所包含的“字段字段”就是實體的屬性。字段值的集就是實體的屬性。字段值的集合組成表中的一條記錄,代表一個具體的實體,即合組成表中的一條記錄,代表一個具體的實體,即每每條記錄表示條記錄表示個文體。個文體。2實體間聯(lián)系及聯(lián)系的種類 實體之間的對應(yīng)關(guān)系稱為聯(lián)系,它反映現(xiàn)實體之間的對應(yīng)關(guān)系稱為聯(lián)系,它反映現(xiàn)實世界事物之間的相互關(guān)聯(lián)。如,一位讀者可實世界事物之間的相互關(guān)聯(lián)。如,一位讀者可 以借閱若干本圖書;同一本書可以相繼被幾個讀者以借閱若干本圖書;同一本書可以相繼被幾個讀者借閱。實體間聯(lián)系的種類是指一個實體型中可能出現(xiàn)借閱。實體間聯(lián)系的種

14、類是指一個實體型中可能出現(xiàn)的每一個實體與另一個實體型中多少個具體實體存在的每一個實體與另一個實體型中多少個具體實體存在聯(lián)系。兩個實體間的聯(lián)系可以歸結(jié)為三種類型:聯(lián)系。兩個實體間的聯(lián)系可以歸結(jié)為三種類型:一對一聯(lián)系一對一聯(lián)系一對多聯(lián)系一對多聯(lián)系多對多聯(lián)系多對多聯(lián)系一對一聯(lián)系 在在visual foxprovisual foxpro中,一對一的聯(lián)系表現(xiàn)為中,一對一的聯(lián)系表現(xiàn)為主表中的每一條記錄只與相關(guān)表中的一條記錄相關(guān)聯(lián)。主表中的每一條記錄只與相關(guān)表中的一條記錄相關(guān)聯(lián)。例如,一個單位的職工表和工資表之間就存在一對一例如,一個單位的職工表和工資表之間就存在一對一的聯(lián)系。的聯(lián)系。定義:實體集a中的一個

15、實體至多與實體集b中的一個實體相對應(yīng)(相關(guān)聯(lián)),反之亦然,則稱實體集a與實體集b的聯(lián)系為一對一的聯(lián)系。公司總經(jīng)理一對多聯(lián)系 定義:實體集定義:實體集a a中的一個實體與實體集中的一個實體與實體集b b中的多個實體相對應(yīng),反之,實體集中的多個實體相對應(yīng),反之,實體集b b中中的一個實體至多與實體集的一個實體至多與實體集a a中的一個實體相中的一個實體相對應(yīng),則稱實體集對應(yīng),則稱實體集a a與實體集與實體集b b的聯(lián)系為一的聯(lián)系為一對多的聯(lián)系對多的聯(lián)系部門職工1職工n 在visual foxpro中,一對多的聯(lián)系表現(xiàn)為主表中的每條記錄與相關(guān)表中的多條記錄相關(guān)聯(lián)。即表a的一個記錄在表b中可以有多個記

16、錄與之對應(yīng),但表b中的一個記錄最多只能有一個表a的記錄與之對應(yīng)。 一對多聯(lián)系是最普遍的聯(lián)系。也可以把一對一的聯(lián)系看作一對多聯(lián)系的一個特殊情況。多對多聯(lián)系 定義:實體集定義:實體集a a中的一個實體與中的一個實體與實體集實體集b b中的多個實體相對應(yīng),而實中的多個實體相對應(yīng),而實體集體集b b中的一個實體與實體集中的一個實體與實體集a a中的中的多個實體相對應(yīng),則稱實體集多個實體相對應(yīng),則稱實體集a a與實與實體集體集b b的聯(lián)系為多對多的聯(lián)系。的聯(lián)系為多對多的聯(lián)系。課程1課程n學(xué)生1學(xué)生n 在visual foxpro中,多對多的聯(lián)系表現(xiàn)為一個表中的多個記錄在相關(guān)表中同樣有多個記錄與其匹配。即

17、表a的一條記錄在表b中可以對應(yīng)多條記錄,而表b的一條記錄在表a中也可以對應(yīng)多條記錄。 可以通過一個紐帶表將一個多對多的聯(lián)系分解成兩個一對多的聯(lián)系3數(shù)據(jù)模型簡介 數(shù)據(jù)庫中的數(shù)據(jù)必須有一定的結(jié)構(gòu),這種結(jié)數(shù)據(jù)庫中的數(shù)據(jù)必須有一定的結(jié)構(gòu),這種結(jié)構(gòu)用數(shù)據(jù)模型來表示。數(shù)據(jù)模型是數(shù)據(jù)庫管理系統(tǒng)用構(gòu)用數(shù)據(jù)模型來表示。數(shù)據(jù)模型是數(shù)據(jù)庫管理系統(tǒng)用來表示實體及實體間聯(lián)系的方法。來表示實體及實體間聯(lián)系的方法。 數(shù)據(jù)庫管理系統(tǒng)所支持的數(shù)據(jù)模型為三種:數(shù)據(jù)庫管理系統(tǒng)所支持的數(shù)據(jù)模型為三種: 1. 1. 層次模型層次模型-樹形結(jié)構(gòu)樹形結(jié)構(gòu) 2. 2. 網(wǎng)狀模型網(wǎng)狀模型-網(wǎng)狀結(jié)構(gòu)網(wǎng)狀結(jié)構(gòu) 3. 3. 關(guān)系模型關(guān)系模型-二維表

18、結(jié)構(gòu)二維表結(jié)構(gòu)12關(guān)系數(shù)據(jù)庫visual foxprovisual foxpro就是一種關(guān)系數(shù)據(jù)庫管理系統(tǒng)就是一種關(guān)系數(shù)據(jù)庫管理系統(tǒng)1 12 21 1關(guān)系模型關(guān)系模型 關(guān)系模型的用戶界面非常簡單,一個關(guān)系模型的用戶界面非常簡單,一個關(guān)系的邏輯結(jié)構(gòu)就是一張二維表。這種用二維關(guān)系的邏輯結(jié)構(gòu)就是一張二維表。這種用二維表的形式表示實體和實體間聯(lián)系的數(shù)據(jù)模型稱表的形式表示實體和實體間聯(lián)系的數(shù)據(jù)模型稱為關(guān)系數(shù)據(jù)模型。為關(guān)系數(shù)據(jù)模型。 1 1關(guān)系術(shù)語關(guān)系術(shù)語在在visual foxprovisual foxpro中,一個中,一個“表表”就是一個關(guān)系。就是一個關(guān)系。 關(guān)系:一個關(guān)系就是一張二維表,每個關(guān)系關(guān)系

19、:一個關(guān)系就是一張二維表,每個關(guān)系有一個關(guān)系名。在有一個關(guān)系名。在visual foxprovisual foxpro中,一個關(guān)中,一個關(guān)系存儲為一個文件,文件擴展名為系存儲為一個文件,文件擴展名為 “.dbf ”-.dbf ”-稱為表。稱為表。一個關(guān)系模式對應(yīng)一個關(guān)系的結(jié)構(gòu),其格式為:一個關(guān)系模式對應(yīng)一個關(guān)系的結(jié)構(gòu),其格式為:關(guān)系名關(guān)系名( (屬性名屬性名1 1,屬性名,屬性名2 2,屬性名,屬性名n)n) 在在visual foxprovisual foxpro中表示為表結(jié)構(gòu):中表示為表結(jié)構(gòu): 表名表名( (字段名字段名1 1,字段名,字段名2 2,字段名,字段名”) )表名元組:在一個二

20、維表中,水平方向的行稱為元組。元組對應(yīng)存儲文件中的一條一條記錄記錄。 屬性:二維表中垂直方向的列稱為屬性,在vlsuai foxpr中表示為字字段名段名。域:字段的取值范圍。關(guān)鍵字:字段或字段的組合,其值能夠惟一地標(biāo)識一個元組。2關(guān)系的特點 并不是日常的所有表格,都可以作并不是日常的所有表格,都可以作為一張表一個關(guān)系來使用。在關(guān)系模型中對關(guān)為一張表一個關(guān)系來使用。在關(guān)系模型中對關(guān)系(表)有一定的要求,關(guān)系必須具有以下特系(表)有一定的要求,關(guān)系必須具有以下特點:點:關(guān)系必須規(guī)范化。要求是每個屬性(字段)必關(guān)系必須規(guī)范化。要求是每個屬性(字段)必須是不可分割的數(shù)據(jù)單元,即表中不能再包含須是不可分

21、割的數(shù)據(jù)單元,即表中不能再包含表。表。在同一個關(guān)系中不能出現(xiàn)相同的屬性名,在同一個關(guān)系中不能出現(xiàn)相同的屬性名, visual foxprovisual foxpro不允許同一個表中有相同的字段不允許同一個表中有相同的字段名。名。關(guān)系中不允許有完全相同的元組(記錄),即冗關(guān)系中不允許有完全相同的元組(記錄),即冗余。余。在一個關(guān)系中元組的次序無關(guān)緊要。也就是說,在一個關(guān)系中元組的次序無關(guān)緊要。也就是說,任意交換兩行的位置并不影響數(shù)據(jù)任意交換兩行的位置并不影響數(shù)據(jù) 的實際含義。的實際含義。在一個關(guān)系中列的次序無關(guān)緊要。任意交換兩列在一個關(guān)系中列的次序無關(guān)緊要。任意交換兩列的位置也不影響數(shù)據(jù)的實際含

22、義。的位置也不影響數(shù)據(jù)的實際含義。3實際關(guān)系模型 一個具體的關(guān)系模型由若干個關(guān)系一個具體的關(guān)系模型由若干個關(guān)系模式組成。模式組成。在在visual foxprovisual foxpro中,一個數(shù)據(jù)庫中包含相中,一個數(shù)據(jù)庫中包含相互之間存在聯(lián)系的多個表?;ブg存在聯(lián)系的多個表。這個數(shù)據(jù)庫文件就代表一個實際的關(guān)系模這個數(shù)據(jù)庫文件就代表一個實際的關(guān)系模型。為了反映出各個表所表示的實體之間的聯(lián)型。為了反映出各個表所表示的實體之間的聯(lián)系,公共字段名往往起著系,公共字段名往往起著“橋梁橋梁”的作用。的作用。 例11部門一職工一工資關(guān)系模型和公共字段名的作用。通過職工表找部門負責(zé)人122關(guān)系運算 關(guān)系的基

23、本運算有兩類:一類是傳統(tǒng)的集合關(guān)系的基本運算有兩類:一類是傳統(tǒng)的集合運算運算( (并、差、交等并、差、交等) ),另一類是專門的關(guān)系運算,另一類是專門的關(guān)系運算( (選擇、選擇、投影、聯(lián)接投影、聯(lián)接) ),有些查詢需要幾個基本運算的組合。,有些查詢需要幾個基本運算的組合。1 1傳統(tǒng)的集合運算傳統(tǒng)的集合運算 進行并、差、交集合運算的兩個關(guān)系必須具有相同進行并、差、交集合運算的兩個關(guān)系必須具有相同的關(guān)系模式,即相同結(jié)構(gòu)。的關(guān)系模式,即相同結(jié)構(gòu)。 并并例如,有兩個結(jié)構(gòu)相同的學(xué)生關(guān)系例如,有兩個結(jié)構(gòu)相同的學(xué)生關(guān)系rlrl、r2r2,分別存放兩,分別存放兩個班的學(xué)生,把第二個班的學(xué)生記錄追加到第一個班個

24、班的學(xué)生,把第二個班的學(xué)生記錄追加到第一個班的學(xué)生記錄后面就是這兩個關(guān)系的并集。的學(xué)生記錄后面就是這兩個關(guān)系的并集。差差例如,設(shè)有參加計算機小組的學(xué)生關(guān)系例如,設(shè)有參加計算機小組的學(xué)生關(guān)系r r,參加,參加橋牌小組的學(xué)生關(guān)系橋牌小組的學(xué)生關(guān)系s s。求參加了計算機小組,。求參加了計算機小組,但沒有參加橋牌小組的學(xué)生,就應(yīng)當(dāng)進行差運但沒有參加橋牌小組的學(xué)生,就應(yīng)當(dāng)進行差運算。算。交交例如,有參加計算機小組的學(xué)生關(guān)系例如,有參加計算機小組的學(xué)生關(guān)系r r,參加橋,參加橋牌小組的學(xué)生關(guān)系牌小組的學(xué)生關(guān)系s s。求既參加計算機小組又。求既參加計算機小組又參加橋牌小組的學(xué)生,就應(yīng)當(dāng)進行交運算。參加橋牌小

25、組的學(xué)生,就應(yīng)當(dāng)進行交運算。2專門的關(guān)系運算選擇選擇 從關(guān)系中找出滿足給定條件的元組的操作從關(guān)系中找出滿足給定條件的元組的操作稱為選擇。選擇的條件以邏輯表達式給出,使稱為選擇。選擇的條件以邏輯表達式給出,使 得邏輯表達式的值為真的元組將被選取。得邏輯表達式的值為真的元組將被選取。例如,要從圖書表中找出由某出版社出版的圖書,例如,要從圖書表中找出由某出版社出版的圖書, 所進行的查詢操作就屬于選擇運算。所進行的查詢操作就屬于選擇運算。 選擇是從行的角度進行的運算,即從水平選擇是從行的角度進行的運算,即從水平方向抽取記錄。方向抽取記錄。投影投影 從關(guān)系模式中指定若干個屬性組成新的關(guān)從關(guān)系模式中指定若

26、干個屬性組成新的關(guān)系稱為投影。系稱為投影。 投影是從列的角度進行的運算,相當(dāng)于對投影是從列的角度進行的運算,相當(dāng)于對關(guān)系進行垂直分解。關(guān)系進行垂直分解。經(jīng)過投影運算可以得到一個新關(guān)系,其關(guān)系模式經(jīng)過投影運算可以得到一個新關(guān)系,其關(guān)系模式所包含的屬性個數(shù)往往比原關(guān)系少,或者屬性的排列所包含的屬性個數(shù)往往比原關(guān)系少,或者屬性的排列順序不同。順序不同。 例如,要從圖書關(guān)系中查詢藏書所涉及的例如,要從圖書關(guān)系中查詢藏書所涉及的所有出版單位、書名及作者,所進行的查詢操所有出版單位、書名及作者,所進行的查詢操 作就屬于投影運算。作就屬于投影運算。聯(lián)接聯(lián)接 定義:將兩個表按給定的連接條件,定義:將兩個表按給

27、定的連接條件,將第一個關(guān)系中的所有記錄逐個與第二個關(guān)系將第一個關(guān)系中的所有記錄逐個與第二個關(guān)系的所有記錄按條件進行連接的所有記錄按條件進行連接( (連接連接) ),即選擇兩,即選擇兩個關(guān)系在連接屬性上滿足條件的元組拼接成一個關(guān)系在連接屬性上滿足條件的元組拼接成一個新的關(guān)系的運算。個新的關(guān)系的運算。聯(lián)接運算需要兩個以上表作為操作對象自然聯(lián)接自然聯(lián)接 在聯(lián)接運算中,按照字段值對應(yīng)相在聯(lián)接運算中,按照字段值對應(yīng)相等為條件進行的聯(lián)接操作稱為等值聯(lián)接。自然等為條件進行的聯(lián)接操作稱為等值聯(lián)接。自然聯(lián)接是重復(fù)屬性的等值聯(lián)接。聯(lián)接是重復(fù)屬性的等值聯(lián)接。13數(shù)據(jù)庫設(shè)計基礎(chǔ)1 13 31 1數(shù)據(jù)庫設(shè)計步驟數(shù)據(jù)庫設(shè)計步驟 數(shù)據(jù)庫應(yīng)用系統(tǒng)與其他計算機應(yīng)用數(shù)據(jù)庫應(yīng)用系統(tǒng)與其他計算機應(yīng)用系統(tǒng)相比,一般都具有數(shù)據(jù)量龐大、數(shù)據(jù)保存系統(tǒng)相比,一般都具有數(shù)據(jù)量龐大、數(shù)據(jù)保存時間長、數(shù)據(jù)關(guān)聯(lián)比較復(fù)雜、用戶要求多樣化時間長、數(shù)據(jù)關(guān)聯(lián)比較復(fù)雜、用戶要求多樣化等特點。等特點。 在在visual foxprovisual foxpro中具體實施時表中具體實施時表現(xiàn)為現(xiàn)為數(shù)據(jù)庫數(shù)據(jù)庫和和表表的結(jié)構(gòu)合理,不僅存儲了所需的結(jié)構(gòu)合理,不僅存儲了所需要的實體信息,并且反映出實體之間客觀存在要的實體信息,并且反映出實體之間客觀存在的聯(lián)系。的聯(lián)系。1設(shè)計原則關(guān)系數(shù)據(jù)庫的設(shè)計應(yīng)遵從概念

溫馨提示

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

評論

0/150

提交評論