計算機二級vpf專升本(1).doc_第1頁
計算機二級vpf專升本(1).doc_第2頁
計算機二級vpf專升本(1).doc_第3頁
計算機二級vpf專升本(1).doc_第4頁
計算機二級vpf專升本(1).doc_第5頁
已閱讀5頁,還剩24頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第八章 Visual FoxPro基礎計算機應用領域 任一企事業(yè)單位都涉及 到數(shù)據(jù)處理,稱“五M管理”:人 man 財 money 物 material 設備 machine 方法 methodology 制度等8.1數(shù)據(jù)庫基礎知識 8.1.1 計算機數(shù)據(jù)管理的發(fā)展一、據(jù)與數(shù)據(jù)處理1.數(shù)據(jù):是描述客觀事物的符號記錄,是用物理符號記錄下來的可以鑒別的事物特性。包括:數(shù)字、文字、圖形、圖像、動畫、聲音等。2.信息:是數(shù)據(jù)經(jīng)過加工處理后的有用結(jié)果。或是能表示一定含義的數(shù)據(jù)。例: 數(shù)據(jù)描述: 王陽,9098135,男1980,江蘇,計算機系,1998。經(jīng)過簡單的推論后,可得出這樣的信息:王陽是位男大學生,學號為9098135,1980年出生,江蘇人,1998年考入計算機系。3.數(shù)據(jù)處理:將數(shù)據(jù)轉(zhuǎn)換或信息的過程。內(nèi)容包括:數(shù)據(jù)收集 數(shù)據(jù)整理(鑒別) 存儲數(shù)據(jù) 使用數(shù)據(jù)(計算、統(tǒng)計、查詢等) 維護數(shù)據(jù) 故通過數(shù)據(jù)處理可以獲取信息,然后對信息進行解釋、推論、歸納、分析、綜合等而產(chǎn)生決策。在一個企事業(yè)單位中,數(shù)據(jù)的處理與作用呈金字塔形,如下圖所示:高層中層基層戰(zhàn)略層 戰(zhàn)術(shù)層 數(shù)據(jù)管理任務 操作層 二、據(jù)管理技術(shù)的發(fā)展計算機對數(shù)據(jù)的管理是指對數(shù)據(jù)的組織、分類、編碼、檢索和維護所提供的操作手段。經(jīng)歷了:人工管理、文件系統(tǒng)、數(shù)據(jù)庫系統(tǒng)、分布式數(shù)據(jù)系統(tǒng)、面向?qū)ο髷?shù)據(jù)庫系統(tǒng)。1、人工管理20世紀50年代中期以前特點:程序員必須掌握數(shù)據(jù)在計算機中的存儲地址和方式,才能在程序中正確的使用數(shù)據(jù)。程序與數(shù)據(jù)不獨立,數(shù)據(jù)不能保存,程序之間有數(shù)據(jù)冗余。2文件系統(tǒng)20世紀50年代后期主60年代中期特點:數(shù)據(jù)存儲在數(shù)據(jù)文件中,由文件管理系統(tǒng)使用數(shù)據(jù)。 數(shù)據(jù)文件和程序文件相互依賴,數(shù)據(jù)冗余度大,且造成數(shù)據(jù)的不一致性。3數(shù)據(jù)庫系統(tǒng)20世紀60年代后期至今特點:數(shù)據(jù)庫誕生, 數(shù)據(jù)庫通過數(shù)據(jù)庫管理系統(tǒng)進行管理。 數(shù)據(jù)冗余度減小,共享性提高。4分布式數(shù)據(jù)庫系統(tǒng)20世紀80年代,隨著網(wǎng)絡技術(shù)的發(fā)展,適應C/S系統(tǒng)結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)。特點:在一個分布式數(shù)據(jù)庫中,一個應用可以對其所需的數(shù)據(jù)進行透明的操作,這些數(shù)據(jù)在不同的數(shù)據(jù)庫中分布,由不同的數(shù)據(jù)庫管理系統(tǒng)管理,在不同的機器上運行,由不同的操作系統(tǒng)支持,被不同的通信網(wǎng)絡支持。透明:指從邏輯角度看,應用程序所操作的數(shù)據(jù)好像是由運行在一臺機器上的單一的數(shù)據(jù)庫管理系統(tǒng)管理著。由很多物理上分開的數(shù)據(jù)庫系統(tǒng)通過通信網(wǎng)絡連在一起,不同位置的數(shù)據(jù)庫協(xié)同工作,用戶可以訪問到網(wǎng)絡上任何位置的數(shù)據(jù)庫中的數(shù)據(jù),就好像在本機訪問一樣。5面向?qū)ο髷?shù)據(jù)庫:是數(shù)據(jù)庫技術(shù)與面向?qū)ο蟪绦蛟O計相結(jié)合的產(chǎn)物,是面向?qū)ο蟮姆椒ㄔ跀?shù)據(jù)庫領域中的實現(xiàn)和應用。基本思想:用戶程序不應與面向機器的結(jié)構(gòu)如字段和記錄直接打交道,而應該直接對對象和建立在對象之上的操作進行處理。OODB(OAbject Oriented Database)技術(shù)可以滿足的應用包括:CAD 計算機輔助軟件工程 多媒體數(shù)據(jù)庫 辦公自動化 超文本數(shù)據(jù)庫8.1.2數(shù)據(jù)庫系統(tǒng)一、數(shù)據(jù)庫的概念1數(shù)據(jù)庫(DBDatabase):(是以一定的組織方式存儲在計算機的存儲設備上的相互關(guān)聯(lián)的數(shù)據(jù)集合。)定義:是存儲在計算機存儲設備上,結(jié)構(gòu)化的相關(guān)數(shù)據(jù)集合。它能以最佳的方式、最少的重復為多種應用服務特點:1)數(shù)據(jù)的共享性:庫中的數(shù)據(jù)可為多個程序、用戶服務。2)獨立性:數(shù)據(jù)文件與用戶的應用程序彼此獨立,即修改數(shù)據(jù)時,不必修改使用數(shù)據(jù)的程序3)數(shù)據(jù)庫的數(shù)據(jù)冗余(重復)少。例:學生信息庫學號,姓名,性別,年齡,特長,各門課程學習成績,家庭住址,學習經(jīng)歷等。應用1: 班主任了解學生基本狀況住址,學習經(jīng)歷應用2:開運動會挑選運動員特長應用3:文藝活動特長應用4:評三好學生、優(yōu)秀畢業(yè)生,或用人單位篩選學生成績2數(shù)據(jù)庫應用系統(tǒng)定義:指系統(tǒng)開發(fā)人員利用數(shù)據(jù)庫系統(tǒng)資源開發(fā)出來的,而向某一類實際應用的應用軟件系統(tǒng)。如:勞資系統(tǒng)、人事管理系統(tǒng)、學生信息系統(tǒng)、員工培訓系統(tǒng)、物資管理系統(tǒng)、教學管理系統(tǒng)、維修系統(tǒng)、客戶跟蹤系統(tǒng)等。3數(shù)據(jù)庫管理系統(tǒng)(DBMSDatabase Management System) 定義:是用來管理數(shù)據(jù)庫數(shù)據(jù)的大型程序,是用戶與數(shù)據(jù)庫的接口。 說明:1)DBMS 提供各種命令對DB進行操作,可以幫助用戶完成數(shù)據(jù)庫的建立、詢問、顯示、修改、打印報表等工作。2)DBMS包括數(shù)據(jù)描述語言及其翻譯程序、數(shù)據(jù)操縱語言及其編譯程序、數(shù)據(jù)庫管理例行程序。3)通俗地說:數(shù)據(jù)庫是存放數(shù)據(jù)的地方,而DBMS是指在數(shù)據(jù)庫的環(huán)境下,如何存取數(shù)據(jù)等多種管理數(shù)據(jù)庫的功能。4數(shù)據(jù)庫系統(tǒng)定義:指引進數(shù)據(jù)庫技術(shù)后的計算機系統(tǒng)現(xiàn)有組織地,動態(tài)地存儲大量相關(guān)數(shù)據(jù)提供數(shù)據(jù)處理和信息資源共享的便利手段組成有五部分:硬件系統(tǒng)、數(shù)據(jù)庫集合、DBMS及相關(guān)軟件、數(shù)據(jù)管理員和用戶。 數(shù)據(jù)庫系統(tǒng)如圖1-1所示。5用戶偶然用戶、簡單用戶、復雜用戶數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫計算機軟硬件系統(tǒng)用戶1用戶2用戶nDBMSDBDBS圖1-1 數(shù)據(jù)庫系統(tǒng)組成二、數(shù)據(jù)庫系統(tǒng)的特點1實現(xiàn)數(shù)據(jù)共享,減少數(shù)據(jù)冗余。2采用特定的數(shù)據(jù)模型:結(jié)構(gòu)化的數(shù)據(jù)通過數(shù)據(jù)模型表現(xiàn)出來,事物內(nèi)部屬性間的聯(lián)系和事物與事物之間的聯(lián)系。3具有較高的數(shù)據(jù)獨立性:用戶只需操作數(shù)據(jù),而無需考慮數(shù)據(jù)在存儲上的物理位置與結(jié)構(gòu)。4有統(tǒng)一的數(shù)據(jù)控制功能: DBS提供了必要的保護措施,包括 :8.1.3數(shù)據(jù)模型一、實體的描述1、實體:客觀存在并且可以相互區(qū)別的事物家實體2、實體的屬性屬性:描述實體的特性3、實體集和實體型實體集:同類型的實體的集合(行)實體型:屬性的集合表示一種實體的類型(列)二、實體間的聯(lián)系及聯(lián)系的種類聯(lián)系:實體之間的對應關(guān)系。聯(lián)系的種類:指一個實體型中可能出現(xiàn)的每一個實體與另一個實體型中多少個具體實體存在聯(lián)系。實體聯(lián)系有3種: 一對一聯(lián)系 (1:1) 例:班長與班級 一對多聯(lián)系 (1:n) 例:系與教師、班級與學生 多對對聯(lián)系 (m:n) 例:學生與課程、教師與課程三、數(shù)據(jù)模型簡介1模型:是實現(xiàn)世界特征的模擬和抽象。數(shù)據(jù)模型:是實現(xiàn)世界數(shù)據(jù)特征的抽象。數(shù)據(jù)模型用來表示數(shù)據(jù)庫中數(shù)據(jù)的結(jié)構(gòu),即事物本身屬性間及事物之間的各種聯(lián)系。數(shù)據(jù)模型是DBS的基礎,因此任何一個DBMS都是基于某種數(shù)據(jù)模型的,其分為3種: 層次模型、網(wǎng)狀模型、關(guān)系模型2層次數(shù)據(jù)模型定義:用樹型結(jié)構(gòu)表示實體及其之間聯(lián)系的模型,支持層次模型的DBMS稱為層次DBMS,在此系統(tǒng)中建立的DB是層次數(shù)據(jù)庫。特點:有且只有一個根結(jié)點;除根結(jié)點之外的其他結(jié)點有且只有一個雙親結(jié)點;結(jié)點間的關(guān)系是父子之間的一對多的聯(lián)系。例:家譜 、單位部門 、學院機構(gòu)等。3網(wǎng)狀模型定義:用網(wǎng)狀結(jié)構(gòu)表示實體間聯(lián)系的模型特點:允許一個以上的結(jié)點無父結(jié)點;一個結(jié)點可以有多于一個的父結(jié)點雙親。4關(guān)系數(shù)據(jù)模型關(guān)系模型:用二維表結(jié)構(gòu)來表示實體以及實體間聯(lián)系的模型。特點:概念描述單一。每個關(guān)系就是一個二維表,無論實體本身還是實體間的聯(lián)系均用二維表來表示。8.2關(guān)系數(shù)據(jù)庫8.2.1關(guān)系模型關(guān)系數(shù)據(jù)模型:用二維表的形式表示實體和實體間聯(lián)系的數(shù)據(jù)模型。一、關(guān)系術(shù)語1.關(guān)系:一個關(guān)系就是一張二維表,每個關(guān)系有一個關(guān)系名。說明:在VFP中,一個關(guān)系存儲為一個文件,文件擴展名為dbf,稱為 “表”。對關(guān)系的描述為關(guān)系模型,一個關(guān)系的模式對應一個關(guān)系的結(jié)構(gòu),其格式為:關(guān)系名(屬性名1,屬性名2,.,屬性名n)在VFP中表示為表結(jié)構(gòu): 表名(字段名1,字段名2,.,字段名n)2.元組:表中的一行稱為一個元組,在VF中稱為記錄。注:元組對應存儲文件中的一條記錄3.屬性:表中的一列稱為一個屬性,每一列有一個屬性名。每個屬性有屬性名、數(shù)據(jù)類型、寬度 (注:在VFP中表示為字段)4.域:屬性的取值范圍。例:職工的年齡在1860歲,性別的屬性域為(男、女)5.關(guān)鍵字(PK-Primary Key):屬性或?qū)傩缘慕M合,其值能唯一確定一個元組,例:學號。候選關(guān)鍵字:滿足關(guān)鍵字特性的最小屬性組合都叫候選關(guān)鍵字。 注:每個關(guān)系都必須選擇一個候選關(guān)鍵字作為主關(guān)鍵字。6.外部關(guān)鍵字(FK-Foreign Key):如果表中的一個字段不是本表的主關(guān)鍵字或候選關(guān)鍵字,而是另外一個表的主關(guān)鍵字或候選關(guān)鍵字,這個字段就稱外部關(guān)鍵字。C_NO 例: 學生表 成績表 S_NOSC_NO S_NO(FK) C_NO(FK) S SC 二、關(guān)系的特點1.關(guān)系必須規(guī)范化:即每一個關(guān)系模式都必須滿足一定的要求。(巴科斯范式)最基本的要求:每個屬性必須是不可分割(每個字段必須是初等項)的數(shù)據(jù)單元。例學生成績:分割為各科成績。2.在同一類關(guān)系中不能出現(xiàn)相同的屬性名即一個表中不能有相同的字段名(列唯一)3.關(guān)系中不允許有完全相同的元組,即冗余(行唯一)4.在一個關(guān)系中元組的次序無關(guān)緊要5.在一個關(guān)系中列的次序無關(guān)緊要即:行,列次序可以任意交換總結(jié) :屬性初等項、行和列唯一、行列任意交換三、實際關(guān)系模型VFP中一個數(shù)據(jù)庫中,包含相互之間存在聯(lián)系的多個表,這個庫文件就代表一個實際的關(guān)系模型。例: 學生 選課 課程關(guān)系模型有三個關(guān)系模式: student(學號,姓名,性別,年齡) sc(學號,課程號,成績) course(課程號,課程名,學分) 關(guān)系模型如下圖所示:學號課程號成績S1C198S1C289S1C385S2C192S2C390S3C289S3C399S4C171S5C179課程號課程名學分C1VF2C2C+4C3VB3PKFKFKPK Student SC Course學號 姓名年齡性別S1李小平15男S2王大海16男S3劉小娟15女S4張萍16女S5劉小林15男8.2.2 關(guān)系運算關(guān)系的基本運算有兩類: 傳統(tǒng)的集合運算(并、差、交等);專門的關(guān)系運算(選擇、投影、聯(lián)接)一、傳統(tǒng)的集合運算:進行運算的關(guān)系須有相同的結(jié)構(gòu)1并: 由屬于這兩個關(guān)系的所有元組組成的集合(RS)3交: 兩個相同結(jié)構(gòu)關(guān)系的公共元組組成的集合(RS)2差: 從前一個關(guān)系去掉后一個關(guān)系中也有的元組:(RS )-結(jié)果為屬于R但不屬于S的元組:R-S=R-(RS)例: R S RS RS RS 二、專門的關(guān)系運算1選擇 Select定義:從關(guān)系中找出滿足給定條件的元組的操作條件由邏輯表達式給出水平方向的選擇- 行(選行操作)結(jié)果是原關(guān)系的一個子集例:查詢總分在480以上的考生2投影 Project定義:從關(guān)系模式中指定若干個屬性組成新的關(guān)系垂直方向的選擇 選列例:顯示學生信息表的特長屬性只產(chǎn)生由學號,姓名,特長,組成的新表3聯(lián)接 join定義:將兩個關(guān)系模式組合,生成的新關(guān)系中包含滿足聯(lián)接條件的元組兩表橫向結(jié)合 例:學生表和成績表,通過學號連接。4自然聯(lián)接等位聯(lián)接:按照字段值對應相等為條件進行的聯(lián)接操作自然聯(lián)接:去掉重復屬性的等值聯(lián)接。 8.2.3項目管理器項目:是指文件、數(shù)據(jù)、文檔和VF對象的集合、包括:表、數(shù)據(jù)庫、表單、報表、查詢、類、程序等等。項目管理器:將一個應用程序的所有文件都集合成一個有機的整體形成一個擴展名為PJX的項目文件項目管理器包括:全部、數(shù)據(jù)、文檔、類、代碼、其他6個選項卡“數(shù)據(jù)”選項卡包含:文檔選項卡類選項卡 代碼選項卡,包括三大類程序其他選項卡 全部選項卡:以上各類文件的集中顯示窗口。 29第九章 數(shù)據(jù)與數(shù)據(jù)運算 9.1常量與變量 將各種形式的數(shù)據(jù)經(jīng)過數(shù)字化存入計算機,都須確定其:數(shù)據(jù)在VFP中,常量、變量、函數(shù)和表達式的類型包括6種:字符型、數(shù)值型、貨幣型、邏輯型、回期型、日期型、日期時間型。9.1.1常量常量:在程序運行過程中保持不變的量1、 數(shù)值型常量(常數(shù))格式:由數(shù)字09、小數(shù)點和正負號構(gòu)成,很大或很小的數(shù)用科學記數(shù)法表示長度:8個字節(jié)2、貨幣型常量格式:表示貨幣值,是在數(shù)值型常量之前,加前綴$,但不能用科學記數(shù)法來表示貨幣型常量。例:$-3456 、 $0.1415, 但$3E-5是錯誤的貨幣型常量的小數(shù)位不能超過4位,若超過4位,多余的位將被四舍五入。3、字符型常量格式:又稱字符串,是由任意字符、數(shù)字、漢字組成的字符序列,用定界符“” 、 成對括起來,如果字符串的內(nèi)容中包含了某個定界符,則需要用另一種定界符做為該字符串的定界符。例:12.356 、“姓名”、 紅的“abcdcfghj” 、abcdefghj注意:“”空串與空格字符串“ ”不同補:顯示值命令 ?功能:在下一行顯示若干個表達式的值?功能:在同一行顯示表達式的值4、日期型常量格式:用將年、月、日括起,年、月、日之間用分隔符,分隔符可以是/、_、和空格。日期型常量有兩種格式:嚴格的日期格式和傳統(tǒng)的日期格式傳統(tǒng)的日期格式mm/dd/yy,年份可以是2位數(shù)字或4位數(shù)字,此格式命令會受語句SET DATE TO和SET CENTURY TO設置的影響嚴格的日期格式y(tǒng)yyy-mm-dd 例:1999-10-02年份必須是4位數(shù)字,年月日的次序不能顛倒,不能缺省,用8個字節(jié)表示取值范圍是:0001-01-019999-12-31影響日期格式的設置命令A)格式:SET MARK TO 日期分隔符 功能:設置日期型數(shù)據(jù)的分隔符,若SET MARK TO 表示恢復默認斜杠分隔符B)格式:SET DATE TO MDY |DMY|YMD 功能:設置日期顯示的格式C)格式:SET CENTURY ON/OFF世紀值 功能:設置(或關(guān)閉)成用4位數(shù)字顯示年份 例:SET CENTURY ON ?10/02/19995、日期時間型常量(占用8個字節(jié))日期時間型常量可以同時表示日期和時間格式為:, 與日期型常量完全相同時間格式為:hh:mm:ssa/p例: 2002-9-17,9 表示2002年 9月17日上午9點6、邏輯型常量數(shù)據(jù): 邏輯真-.t.、.T.、.y.、.Y.邏輯假-.F.、.f.、.N.、.n. (占用一個字節(jié))9.1.2變量定義:在程序運行過程中變化著的量。說明:分類有6類1簡單內(nèi)存變量賦值:格式1:=格式2:STORE TO 說明:當內(nèi)存變量與字段變量同名時,在內(nèi)存變量名前加M.(或M-)區(qū)分同名的字段變量。 格式1一次只能給一個變量賦值; 格式2一次可以給多個用逗號分隔的變量賦值。 在使用變量之前不需要定義,當使用賦值命令后,即建立了內(nèi)存變量 可以通過對內(nèi)存變量重新賦值來改變其內(nèi)容和類型。例: ZF1=銀川STORE 18.4 to A1,A2,A3 L1=.T. S1=$500.89 Store 2004-09-15 to RQ1,RQ2 ? ZF1,A1,A2,A3,L1,S1,RQ1,RQ22.數(shù)組定義:是內(nèi)存中連續(xù)的一片存儲區(qū)域,數(shù)組中的每個變量稱為數(shù)組元素,每個數(shù)組元素的數(shù)據(jù)類型可以不相同,每個數(shù)組元素通過數(shù)組名及相應的下標來訪問。創(chuàng)建命令:DIMENSION 數(shù)組名(下標上限1,下標上限2),DECLEAR 數(shù)組名(下標上限1,下標上限2) ,例: dimension x(8),y(3,4) 8個元素 12個元素9.1.3內(nèi)存變量常用命令1內(nèi)存變量的賦值2表達式值的顯示3內(nèi)存變量的顯示格式1:LIST MEMORY LIKE通配符TO PRINTER|TO FILE 文件名格式2:DISPLAY MEMORY LIKE通配符TO PRINTER| TO FILE文件名功能:顯示內(nèi)存變量的當前信息,包括變量名、作用域、類型、取值。說明:選用LIKE只顯示與通配符相匹配的內(nèi)存變量。TO PRINTER顯示的同時送往打印機; TO FILE 存入給定文件名的文本文件.TXT中。 LIST滾動顯示,DISP分頁顯示4內(nèi)存變量的清除格式1:CLEAR MEMORY格式2:RELEASE 格式3:RELEASE ALL EXTENDED格式4:RELEASE ALL LIKE|EXCEPT5表中數(shù)據(jù)與數(shù)組數(shù)據(jù)之間的交換將表的當前記錄復制到數(shù)組格式1:SCATTER F1ELDS MEMO TO BLANK功能:復制表的當前記錄的指定字段到數(shù)組元素,若不指定字段 ,則復制除備注型M和通用型G之外的全部字段。格式2:SCATTER F1ELDS LIKE|FIELDS EXCEPTMEMOTOBLANK功能:復制用通配符指定包括或排除的字段將數(shù)組數(shù)據(jù)復制到表的當前記錄。格式1:GATHER FROM FIELDS MEMO功能:將數(shù)組中的數(shù)據(jù)作為一個記錄復制到表的當前記錄中,若數(shù)組元素個數(shù)多于記錄中字段的個數(shù),則多余部分被忽略。格式2:GATHER FROM FIELDS LIKE|FIELDS EXCEPTMEMO功能:復制用通配符指定包括或排除的字段9.2表達式 定義:同類型的各種數(shù)據(jù)(常量、變量、函數(shù))通過同類型運算符按一定規(guī)則連接起來的式子。9.2.1數(shù)值、字符與日期時間表達式一、數(shù)值表達式定義:由算術(shù)運算符將數(shù)值型常量、變量、函數(shù)連接起來形成,運算結(jié)果仍為數(shù)值型。算術(shù)運算符優(yōu)先級A. ( ) B. *或 C.*、/、% D.+、_求余運算 %或MOD( ) 求余或取模,余數(shù)的正負號與除數(shù)一致二、字符表達式定義:由字符運算符與字符型常量、變量、函數(shù)構(gòu)成,運算結(jié)果仍為字符型 +:將兩個字符串連接形成一個新字符串 -:連接前后兩個字符串,并將前字符串的尾部空格移到合并后的新字符串尾部三、日期時間表達式定義:由日期型運算符與日期型或數(shù)值型的常量、變量或函數(shù)構(gòu)成。運算結(jié)果為日期型或數(shù)值型。日期運算符:+、-對日期表達式的格式有一些限制,合法的如教材P64表3.3? 2005-09-16,10:10:10AM-2004-09-16,09:10:10AM9.2.2關(guān)系表達式定義:也稱簡單邏輯表達式,由關(guān)系運算符與其他表達式組成,其作用是比較兩個表達式的大小或前后,其運算結(jié)果是邏輯型。1形式:說明:數(shù)值型和貨幣型數(shù)據(jù)比較:按數(shù)值的大小比較 日期和日期時間型數(shù)據(jù)比較:早的日期或時間小,晚的日期或時間大邏輯型數(shù)據(jù)比較: .T. 大于.F.子串包含測試:測試前字符串是否為后字符串的子字符串2設置字符的排列次序當字符串比較時,按從左向右順序比較,對字符序列的排序設置友人機會話和命令兩種方式在人機會話方式下設置“工具”“選項”數(shù)據(jù)選項卡排序序列 命令方式設置SET COLLATE TO “”次序名 說明:A.Machine: 按ASC碼值排列空格“0”“1”“9”“A”“B”“Z”“a”b”z”任何漢字B.PinYin:按照拼音次序排列空格小寫字母ANDOR)2運算符優(yōu)先級: 算術(shù)運算符字符運算符和日期時間運算符關(guān)系運算符邏輯運算符例:? X“B” ? (3*620/4) .AND. (AB) ? (微型計算機=計算機) OR (計算機$計算機世界) 年齡=20性別 =“男” 婚否=.F.學歷=“大學” ? 年齡18 .AND. (.NOT. (性別=“女”) ? 婚否=.F. .AND. 學歷=“大學”.OR. 性別=“女” ? .NOT. 性別=”男” .OR. .NOT. 婚否=.T.9.3常用函數(shù)函數(shù)特點:自由變量(或稱參數(shù))的值,經(jīng)過某些特定的運算后,得到相應的函數(shù)值格式:函數(shù)名(自變量1,自變量2,自變量N)類型:每個函數(shù)的自變量和函數(shù)值都有規(guī)定的數(shù)據(jù)類型掌握:自變量類型 函數(shù)名和功能 函數(shù)值類型分為5類9.3.1數(shù)值函數(shù)特點:自變量和返回值都是數(shù)值型數(shù)據(jù)1、 絕對值和符號函數(shù)格式: ABS()SIGN()功能:返回絕對值 返回符號2、求平方根函數(shù)格式:SQRT()功能:返回指定表達式的平方根,自變量不能為負3、 圓周率函數(shù)格式:PI( )功能:返回圓周率 A=PI( )4、 求整數(shù)函數(shù)格式: INT ()CEILING()FLCIOR()功能: 返回整數(shù)部分返回大于或等于指定數(shù)值表達式的最小整數(shù)返回小于或等于指定數(shù)值表達式的最大整數(shù)5、四舍五入函數(shù)格式:ROUND(,)功能:返回在指定位置四舍五入后的結(jié)果。說明:若表達式2為負,則舍入到對應整數(shù)位例: ROUND(123.456.2) 123.46 X=6789.5678? ROUND(X,3), ROUND(X,0) ROUND(X,-1),ROUND(X,-3)6、 求余數(shù)函數(shù)格式:MON(數(shù)值表達式1,數(shù)值表達式2 )功能:返回余數(shù),余數(shù)的正負號與除數(shù)相同。 即負數(shù)以正數(shù),余數(shù);正數(shù)除以,余,負7、求最大和最小值函數(shù)格式:MAX(數(shù)值表達式1,數(shù)值表達式2),數(shù)值表達式3MIN(表達式1,表達式2,表達式3)功能:返回最大值 返回其中的最小值說明:自變量表達式可以是:數(shù)值型、字符型、貨幣型、雙精度型、浮點型、日期型和日期時間型,但所有表達式類型須相同9.3.2字符函數(shù)指自變量一般是字符型數(shù)據(jù)的函數(shù)1、 求字符串長度函數(shù)格式:LEN(字符表達式)功能:返回字符表達式的長度,結(jié)果為數(shù)值型2、大小寫轉(zhuǎn)化函數(shù)格式: LOWER(字符表達式)UPPER(字符表達式)3、空格字符串生成函數(shù)格式:SPACE(數(shù)值表達式)功能:生成指定數(shù)目的空格字符串4、刪除前后空格函數(shù)格式:TRIM(字符表達式)LTRIM(字符表達式)ALLTRIM(字符表達式)5、取子串函數(shù)格式:LEFT(字符表達式,長度)RIGHT(字符表達式,長度)SUBSTR(字符表達式,其始位置,長度)功能:從左端取一個指定長度的子串 從右邊取一個長度的子串 從指定起始位置取指定長度的子串6、計算子串出現(xiàn)次數(shù)函數(shù)格式:OCCURS(字符表達式1,字符表達式2)功能:返回第一個字符在第二字符串中出現(xiàn)的次數(shù),函數(shù)值為N型7、求子串位置函數(shù)格式:AT(字符表達式1,字符表達式2,字符表達式)ATC(字符表達式1,字符表達式2,字符表達式)功能:若串1是串2的子串,則返回串1首字符在串2中的位置,否則返回0。數(shù)字表達式指明串1在串2中第N次出現(xiàn)的位置。例:AT(“IS”,“THIS IS A BOOK”) AT(5,123456) AT(安,西安)8、子串替換函數(shù)格式:STUFF(,N2,)功能:用C2替換C1中起始位置開始的N個字符注: N1大于C1的長度.則將C2連到C1后面;N2=0,將C2插到C1中第N1個字符后面;C2是空串,則刪除C1中由N1指定的N2長度的字符串。例: C1=“abcdef” ? stuff(C1,2,3,“12345”) ? stuff(c1,2,0,“12345”) ? stuff(c1,2,3,“”) 9、字符替換函數(shù) 格式:CHRTRAN(,)功能:當C1中的一個或多個字符與C2匹配時就用C3中對應字符替換這些字符;若C3串字符少于C2中時,則C1中會被刪掉字符;若C3中字符多與C2中時,多余被忽略。10、字符串匹配函數(shù) 格式:LIKE(,)功能:C1與C2所有對應位置都匹配,則返回.T., 否則返回.F.注:C1中可以包含通配符*和?例:? LIKE(“XY?”,“XYZ”),LIKE(“38*”,“38.29”)9.3.3日期和時間函數(shù)1.系統(tǒng)日期和時間函數(shù)格式: DATE( )TIME( )DATETIME()功能:分別返回當前系統(tǒng)日期、時間、日期時間。2求年份、月份和、天數(shù)函數(shù)格式:YEAR(|) MONTH(|) DAY(|)3時、分、秒函數(shù)格式: HOUR()MINUTE()SEC()功能:分別取表達式中的時,分,秒部分9.3.4數(shù)據(jù)類型轉(zhuǎn)換函數(shù)1數(shù)值轉(zhuǎn)換成字符串格式:STR(,小數(shù)位數(shù)功能:按長度和保留的小數(shù)位數(shù),將數(shù)字轉(zhuǎn)成字符串。說明: 若省略小數(shù)位,則轉(zhuǎn)為正數(shù),小數(shù)四舍五入 若同時省略長度和小數(shù)位,則小數(shù)位為0,長度為10。當長度實際轉(zhuǎn)換后的長度時,不能轉(zhuǎn)換 。2字符串轉(zhuǎn)換成數(shù)值格式:VAL()功能:從第1個字符開始到第1個非數(shù)字字符間的字符串轉(zhuǎn)換成對應數(shù)值。注:若以非數(shù)字開頭,則返回O。例: ?val(“34.85abc”) ?val(“315計劃”) ?val(“ABC123546”)3.字符串轉(zhuǎn)成日期或日期時間格式: CTOD()CTOT()功能:將字符表達式的值轉(zhuǎn)換成日期或日期時間型.4.日期或日期時間轉(zhuǎn)換成字符串格式: DTOC(|,1)TTOC(,1)功能:將D或T型數(shù)據(jù)轉(zhuǎn)換成字符串選1時按約定格式,例: ? DTOC (date(),DTOC (date(),1),TTOC (datetime() ? TTOC (datetime(),1)5.宏替換函數(shù)格式: &.功能: 替換出字符型變量的內(nèi)容,當需要用一個表達式代替許多可變的內(nèi)容時,取變量當前值例: 城市=“北京” STORE “向&城市.致敬!” TO A ? A X1=10 X2=10 ? &X1*&X2 100 ABC=“FoxPro”X=“B”Y=“C” Z=“A&”+“X&”+“Y” ?&z FoxPro BJ=“96(2)” XSK=“A:XS”+BJUSE &XSK A:XS96 (2)9.3.5測試函數(shù)1.值域測試函數(shù)格式:BETWEEN(,)功能:測試一個表達式的值是否介于另外兩個表達式之間。函數(shù)值為.T. 、.F. 或 NULL值。注:三個自變量類型須一致2.空值測試函數(shù)格式:ISNULL()功能:判斷一個表達式的運算結(jié)果是否為NULL值。3空值測試函數(shù)格式:EMPTY()功能:表達式結(jié)果為空,則 .T. ;否則.F. (注:“空”與NULL不同) 4數(shù)據(jù)類型測試函數(shù)格式:VARTYPE(,)功能:返回表達式的類型字母,5表文件尾測試函數(shù)格式:EOF(|)功能:測試記錄指針是否向文件尾,若是為.T.; 否則是.F.。6表文件首測試函數(shù)格式:BOF(|)功能:測試記錄指針是否指向文件首,若是為.T.; 否則是.F.。7記錄號測試函數(shù)格式:RECNO(|)功能:返回當前表文件的當前記錄號8記錄個數(shù)測試函數(shù)格式:RECOUNT(|)功能:返回當前表的記錄個數(shù)。9條件測試函數(shù)格式:IIF(,)功能:測試L值,若為.T.返回表達式1的值;若為.F., 返回的值。10、記錄刪除測試函數(shù)格式:DELETED(|)功能:測試指定工作區(qū)中的表,當前記錄是否被邏輯刪除,若有*,則返回.T.否則返回.F.表中概念補充:1首記錄:表文件的第一個記錄叫文件首記錄。2末記錄:表文件的最后一個記錄叫文件末記錄。3記錄號:能夠表明每個記錄在表文件中存放的前后次序的,叫記錄序號,每條記錄都有一個記錄號,它由系統(tǒng)在內(nèi)部賦給每條記錄。4記錄指針:在表文件中,用來指示記錄位置的指針。每個表文件、排序文件或索引文件都設置有一個記錄指針,由系統(tǒng)內(nèi)部設置,在對表文件進行數(shù)據(jù)操作過程中,記錄指針是可以移動的。5當前記錄:記錄指針指向的記錄被稱作當前記錄。任何時候,記錄指針都指向一個記錄。6記錄函數(shù): RECNO(),用來記錄當前記錄序號的函數(shù)。第十章 數(shù)據(jù)庫與表的基本操作10.1 VFP數(shù)據(jù)庫及其建立一、說明:DB是一個邏輯上的概念和手段,是一個容器,通過一組系統(tǒng)文件統(tǒng)一組織和管理相互關(guān)聯(lián)的數(shù)據(jù)庫表及其相關(guān)的DB對象。 建立DB時,產(chǎn)生三個同名文件 二、建立數(shù)據(jù)庫1在項目管理器中建立數(shù)據(jù)庫項目管理器“數(shù)據(jù)”“數(shù)據(jù)庫”“新建”“新建數(shù)據(jù)庫”庫名.dbc2通過“新建”對話框建立數(shù)據(jù)庫“文件”“新建”文件類型數(shù)據(jù)庫3使用命令交互建立數(shù)據(jù)庫格式:CREATE DATABASE Database Name|?說明: 1、2方法會自動打開庫設計器,3打不開。若庫名已存在,則會覆蓋。 命令: SET SAFETY ON/OFF 設置警告。三、使用數(shù)據(jù)庫命令格式:OPEN DATABASE Filename|? EXCLUSIVE|SHAREDNOUPDATEVALIDATE說明:filename是數(shù)據(jù)庫名,若使用?則顯示打開對話框。EXCLUSTVE|SHARED:以獨占或共享方式打開數(shù)據(jù)庫。NOUPDATE:以只讀方式打開指定DB。VALIDATE:檢查在數(shù)據(jù)庫中引用的對象是否合法。注意:NOUPDATE實際不起作用。當DB打開后,庫中的表還需要用USE打開。當USE打開一個表時,首先在當前庫中找,找不到時會繼續(xù)在庫外找并打開表。指定當前庫命令:SET DATABASE TO DataBaseName SET data to 含義:所有打開DB都不是當前DB四、修改數(shù)據(jù)庫:用戶可以在DB設計中完成對DB的建立、修改和刪除方法 格式:MODIFY DATABASE DatabaseName |? Nowait Noedit說明:Nawait在程序中繼續(xù)執(zhí)行此命令后的語句;若無,則DB設計器關(guān)閉后程序才繼續(xù)執(zhí)行。Naedit只是打開DB設計器,但禁止對DB修改。五、刪除數(shù)據(jù)庫通常在項目管理器中 刪除命令格式:DELETE DATABASE DATABASENAME|?DELETTABLESRECYCLE 說明: DELETETABLES刪除DB時刪除庫所包含的表。RECYCLE將刪除的DB和表放入回收站。 在SET SAFETY ON 時會提示,否則直接刪。10.2建立數(shù)據(jù)庫表一、在數(shù)據(jù)庫中建立表操作方式1字段名:以字母或漢字開頭,由字母、漢字、數(shù)字和下劃線組成,不能包含空格。2字段類型和寬度 字符型、貨幣型、數(shù)值型、浮點型、日期型、日期時間型、雙精度型、整數(shù)型、邏輯型、備注型、通用型。3空值:是否允許為NULL4字段有效性規(guī)則:字段值的約束5顯示組框:可以定義字段顯示的格式,輸入的掩碼或字段標題格式:是輸出掩碼,字段的顯示風格輸入掩碼:用以限制或控制用戶輸入的格式。例:X、A、9、#、!等標題:字段的描述6字段注釋:為字段添加注釋命令方法:用OPEN DATABSE 打開 DB用CREATE建立表格式:CREATE 說明:可以不打開庫,直接建自由表 新建表處于打開狀態(tài) 打開/關(guān)閉表命令 USE TABLENAME 打開USE 關(guān)閉 二、修改表結(jié)構(gòu) 操作方式 DB設計器中右單擊表“修改”表設計器 命令方式:MODIFY STRUCTURE10.3表的基本操作10.3.1使用瀏覽器操作表一、使用BROWSK瀏覽器:項目管理器選擇表單擊“瀏覽”按鈕數(shù)據(jù)庫設計器選擇表 數(shù)據(jù)庫菜單瀏覽 右單擊快捷“瀏覽”命令方式:use 表名 browse二、瀏覽操作、 PageDown、PageUp、Tab、Shift+Tab. 添加記錄 :Ctrl+Y “表”菜單“追加新記錄”之后在表末會添加一條空白記錄,輸入新記錄值即可。三、修改記錄 直接光標定位修改四、刪除記錄 邏輯刪除:只在記錄旁做刪除標記,必要時可以恢復記錄 物理刪除:將有刪除標記的記錄真正刪除邏輯方法:命令:Ctrl+T 表菜單切換刪除標記物理方法:“表”菜單“徹底刪除:10.3.2增加記錄的命令1APPEND命令格式:APPEND BLANK功能:在表的尾部追加記錄,可以連續(xù)輸入多條。 在表尾增加一條空白記錄。2INSERT命令格式:INSERT BEFORE BLANK功能:在表的任意位置插入新的記錄,不指定Before插當前記錄后,否則插當前記錄前。注意:若表上建立了主索引或候選索引則不能用APPEND或INSERT命令插入記錄。10.3.3刪除記錄的命令1.置刪除標記命令格式:DELETE FOR條件功能:邏輯刪除符合條件的所有記錄,若無條件則只邏輯刪除當前一條記錄。2.恢復記錄命令格式:RECALL FOR條件功能:恢復符合條件的記錄,無條件則只恢復當前一條記錄。3.物理刪除有刪除標記的記錄格式:PACK 4.物理刪除表中的全部記錄格式:ZAP10.3.4修改記錄的命令1.用EDIT或CHANGE命令交互或修改2.用REPLACE命令直接修改格式:REPLACE字段名1 WITH 表達式1,字段名2 WITH 表達式2FOR條件功能:可以成批快速修改滿足條件的一批記錄的幾個字段。用With后面的表達式的值替換在With前面的字段的內(nèi)容。說明:不使用FOR短語則只修改當前記錄。 使用FOR短語,則只修改滿足條件的所以記錄例:將“工程師”的工資加100。.use zgk.repl 工資 with 工資+100 for 職稱=“工程師” 將75年前工作的人的職稱改為工程師,工資加80。.repl 職稱 with “工程師”,工資 with 工資+80 for 工作日期1975-01-01 10.3.5顯示記錄的命令格式:LIST/SIS

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論