第一章
人類社會活動的三大要素是能源、物質和信息。
信息是現實世界各種事物的存在特征、運動形態以及不同事物間的相互聯系等諸要素在人腦中的抽象反映,進而形成概念。是一個抽象的概念。信息源于客觀事物,而后通過人們加工處理再控制客觀事物,從而達到認識世界,改造世界的目的。數據本質上是對信息的一種符號化表示,即用一定的符號表示信息。符號是由人為而定,在計算機中通常使用0和1這兩個符號。信息和數據,既有區別,又有聯系,數據是信息的載體,用來載荷信息,信息是數據的內涵,數據處理本質上就是信息處理。
從已知數據出發,參照相關數據,進行加工計算,產生出一些新的數據,這些新的數據又表示了新的信息,可以作為某種決策的依據,這一過程就是數據處理過程。數據處理的任務不是計算,而是管理數據。數據處理本質上就是信息處理。數據的收集、整理、組織、存儲、查詢、維護和傳送等各種*作,是數據處理的基本環節,是任何數據處理任務必有的共性部分。
數據管理大體上可分為自由管理階段、文件系統階段和數據庫系統階段。
文件是*作系統管理數據的基本單位,文件可以命名,通過文件名以記錄為單位存取數據,不必關心數據的存儲位置。若干記錄的集合稱為文件。
描述事物性質的最小數據單位是數據項。記錄是若干數據的集合,一個記錄能表達一個具體事物。
在數據庫系統階段,數據庫技術具有以下五個特點:數據結構化、數據共享、減少了數據冗余、有較高的數據獨立性和提供了方便的用戶接口。文件系統與數據庫系統的最大區別是數據結構化。
數據庫系統由數據庫、支持數據庫運行的軟硬件、數據庫管理系統和應用程序等部分組成。
DB是存儲在磁盤等外部直接存取設備上的數據集合,是按一定的數據結構組織起來的,數據庫是一個結構化的數據集合,主要是通過綜合各個用戶的文件,除去不必要的冗余,使之相互聯系所形成的數據結構。(結構化的、有聯系的數據集合)
數據庫系統中的硬件是數據庫賴以存在的物理設備,包括CPU、存儲器和其他外部設備。
數據庫系統中的軟件是指數據庫管理系統。-用于數據管理的軟件系統
數據庫管理系統簡稱DBMS,是是數據庫系統的關鍵組成部分,是專門用于數據管理的軟件。任何數據*作,包括數據庫定義、數據查詢、數據維護、數據庫運行控制等都是在DBMS管理下進行的。DBMS是用戶與數據庫的接口,應用程序只有通過DBMS才能和數據庫打交道。
DBA是指數據庫管理員,其職責是維護和管理數據庫,使之始終處于最佳狀態。
UWA:用戶工作區,是用戶程序與系統緩沖區交換數據的場所。用戶只能對UWA中的數據進行處理,其數據是DBMS根據用戶的請求裝進去的。
DD:數據字典,其中存放著數據庫三級結構的描述以及各數據項的類型、值域和關鍵字等,從結構上對數據的語言和數值范圍加以約束。
計算機系統中任何軟件必須在*作系統的支持下才能工作。
1975年SPARC公布了數據庫標準報告,提出了數據庫三級組織結構,稱SPARC分級結構,從內到外分三個層次描述,分別稱為內模式、概念模式、外模式。
概念模式,簡稱模式,是對數據庫的整體邏輯描述,并不涉及物理存儲,故稱為DBA視圖。
內模式,又稱存儲模式,具體描述了數據是如何組織存儲在存儲介質上,是系統程序員用一定的文件形式組織起來的一個個存儲文件和聯系手段。故稱內模式為系統程序員視圖。只有內模式才是真正存儲數據的。
外模式通常是模式的一個子集,又稱子模式,外模式面向用戶,是用戶眼中的數據庫,稱外模式為用戶視圖。
數據庫系統的三級結構中,總體觀和存儲觀有一個,用戶觀有多個,一個應用對應一個用戶觀。三級結構的關系,可以概括為模式是內模式的邏輯表示,內模式是模式的物理實現,外模式是模式的部分抽取。
三個模式反映了對數據庫的三種不同觀點,模式表示了概念級數據庫,體現了對數據庫的總體觀,內模式表示了物理級數據庫,體現了對數據庫的存儲觀,外模式表示了用戶級數據庫,體現了對數據庫的用戶觀。
數據庫三個模式之間存在兩種映射,一是外模式/模式間的映射,另一映射是模式/內模式間的映射。
在數據庫系統的組織結構中,模式/內模式映射把概念數據庫與物理數據庫聯系起來,外模式/模式把用戶數據庫與概念數據庫聯系起來。
映射技術的好處:保證了數據的獨立性、保證了數據共享、方便了用戶使用數據庫、有利于數據的安全和保密。
應用程序員和終端用戶是數據庫的用戶。
DBMS通過DDL(數據描述語言)來定義三種模式,并將各種模式翻譯成相應的目標代碼。
DML數據*縱語言實現對數據庫的*作,基本*作有:插入、修改、刪除、檢索。
DBMS有兩種類型的程序設計語言:如FORTRAN、C等屬于宿主(HL)型,FoxPro則屬于自主(SCL)型。
DBMS對數據庫運行的控制主要是通過數據安全性控制、完整性控制、故障恢復和并發*作四個方面實現的。
關于信息和數據,下面的論述是正確的。D
(A)只有區別沒有聯系(B)信息是數據的載體(C)同一信息用同一數據表示形式(D)數據處理本質上就是信息處理
數據庫是。B
(A)單用戶獨享的 (B)多用戶共享的 (C)多用戶 (D)單用戶
下面關于數據庫管理系統的論述,是正確的。B
(A)數據庫管理系統是用戶與應用程序的接口 (B)應用程序只有通過數據庫管理系統才能和數據庫聯系
(C)數據庫管理系統用DML來定義三級模式 (D)數據庫管理系統用DDL來實現對數據庫的各種*作
第二章
數據模型是對客觀事物及其聯系的描述,是記錄及其聯系的集合,應具有描述數據和數據聯系兩方面的功能,采用形式化的描述方法表達數據和數據之間的聯系。數據模型表示的是數據庫的框架,在該框架約束下填上具體數據才是數據庫。數據庫類型根據數據模型劃分。數據的數據結構形式就是數據模型。
為保證數據的完整性,數據模型對數據的描述應包括)模型中包含哪些記錄類型,并對記錄類型進行命名;指明各個記錄類型由哪些數據項構成,并對數據項進行命名;每個數據項均需指明其數據類型和取值范圍。
對數據間聯系的描述要指明:各個不同記錄類型間所存在的聯系和聯系方式。
公式DM{R,L}是對數據模型的描述,其中R代表記錄類型的集合,L代表不同記錄類型聯系的集合。公式的含義是表示了數據模型具有描述數據和數據聯系兩方面的功能,R是對數據的描述,L是對數據間聯系的描述。
數據模型本質上是對“信息模型”的數據化表示,信息模型又稱“實體聯系模型”,是客觀事物及其自然聯系在人腦中所形成的概念。
信息來自于三個領域:現實世界、信息世界和數據世界。
在信息世界中,不論是實際存在的東西,還是概念性的東西,或是事物與事物之間的聯系,一律統稱為實體。不同實體是由其屬性的不同而被區分的。實體和屬性都有“型”和“值”之分。“型”是概念的內涵,而“值”是概念的實例。“型”表達的是個體的共性,而“值”是個體的具體內容。
“鍵”也稱關鍵字,是指在實體屬性中,可用于區分實體集中不同個體的那個或幾個屬性的組合。當有多個屬性可作為鍵而選定其中一個時,則稱它為該實體的“主鍵”。若在實體諸屬性中,某實體雖非該實體的主鍵,卻是另一個實體的主鍵,則稱此屬性為“外部鍵”。實體中每個屬性,都有一個取值范圍,這叫做屬性的“域”。
實體間的聯系分別是一對一聯系(1:1),一對多聯系(1:n),多對多聯系(m:n)。
E-R方法,又稱為實體聯系表示法。
E-R圖中所表示的實體及其聯系,實際上是信息模型。E-R圖的三大要素:屬性、實體、聯系。
目前,成熟地應用于數據庫系統中的數據模型有層次模型、網狀模型和關系模型。
層次模型用樹結構表示記錄類型及其聯系。結構特點:有且僅有一個結點無父結點,其他結點有且僅有一個父結點。在層次模型中,上一層記錄型和下一層記錄型之間的聯系為1:n.不能直接支持m:n聯系。對于記錄之間的m:n關系,可以將其轉換為1:n聯系。
網狀模型的結構是結點的連通圖,特點是:有一個以上結點無父結點且至少有一個結點有多于一個父結點。典型代表是DBTG系統。
目前,在微機上的數據庫系統應用最廣泛的數據模型是關系模型。關系模型的本質是一張二維表,關系模型中,一張二維表就稱為一個關系。如果二維表中的數據有變化,則它的記錄數改變,它的字段數相對固定。
在文件系統中,一張二維表稱為一個文件,表頭行稱為記錄型,表中其他各行稱為記錄,而每一列中的各元素稱為一個數據項。通常在數據庫中,二維表以文件的形式存儲在磁盤上,一個關系就是一個文件(一張二維表)。
從E-R圖導出關系模型的時候,圖中的每一個實體,都應轉換為關系,其中應包括對應實體的全部屬性,并應根據關系所表達的語義確定哪個屬性(或哪幾個屬性組合)作為主鍵。
E-R圖:方框表示實體,橢圓表示實體的屬性,菱形表示聯系。
信息世界用語:實體集、實體、屬性、實體鍵,在數據世界中對應:文件、記錄、數據項(字段)、記錄鍵。
以下關于數據模型的描述,A不正確。
(A)數據模型表示的是數據庫本身 (B)數據模型表示的是數據庫的框架
(C)數據模型是客觀事物及其聯系的描述(D)數據模型能夠以一定的結構形式表示出各種不同數據之間的聯系
下列關于實體的說法, 不正確。B
(A)實體是指現實世界中存在的一切事物(B)實體靠聯系來描述
(C)實體所具有的性質統稱為屬性 (D)實體和屬性是信息世界表達概念的兩個不同單位
實體集中,各實體值相應的屬性有著B的域。(A)不同 (B)相同 (C)各自 (D)固定
綜合:畫E-R圖,寫出關系模型
第三章
域是值的集合,域中數據個數叫做域的基數。
R(D1,D2,…Dn)的含義是:當且僅當R是D1×D2×…×Dn的一個子集,則稱R是D1×D2×…×Dn上的一個關系。其中,R是關系名,n是關系的度,Di是第i個域名。在關系的定義中,n度的關系,必有n個域。
一個關系就是一張二維表,表中的每一行對應關系中的一個元組,它對應于信息世界中的實體和計算機世界中的記錄,表中的每一列就是關系中的一個域。也稱為屬性,對應于計算機世界中的字段。
關系與文件有許多相似之處,把關系看成文件時,則元組就是文件中的記錄,屬性就是記錄中的數據項(字段)。
不允許“表中套表”,即表中元組分量必須是原子的。
二維表中的各列取自同一個域,因此一列中的各個分量具有相同性質。
列的次序、行的次序可以任意交換,不改變關系的實際意義。
表中的行叫元組,代表一個實體,因此表中不允許出現相同的兩行。
判斷兩個關系是否相等,與屬性的次序無關,與元組的次序無關,與關系的命名無關。
關系模式是指用關系數據描述語言描述后的關系,必須逐個對關系模型中的關系進行描述才能生成數據庫概念模式。對關系的描述實為定義關系模式。關系數據描述語言實質是定義關系框架的,包括對域和關系進行描述
常用的關系數據描述語言(DDL)有問答式和語言描述式,常用的FoxPro屬于問答式DBMS。
語言描述式有專門描述語言定義關系模式,包括關系名、組成該關系的各個域名、數據類型、長度和取值范圍。
域描述語句:DOMAIN<域名>PIC IS<類型(長度)>[RANGE IS<數1>THRU<數2>],通過DOMAIN定義域名、PIC定義數據類型和長度,RANGE定義取值范圍。
關系描述語句:RELATION<關系名>(<域名1,域名2,…>)KEY=(<域名i,域名j,…>)
關系模式的三類完整性規則是:實體完整性約束規則、引用完整性約束規則、用戶定義的完整性約束規則。
實體完整性約束是指關系中的“主鍵”不允許取空值。引用完整性約束規則是限制引用不存在的記錄。
在關系的各種*作中,關系查詢是核心,所以關系數據*縱語言DML語言,常被稱為查詢語言。
DML特點:*作對象與結果都是關系,非過程性強,語言一體化,有嚴密的數學工具。
關系數據*作的最大特點是:以關系為處理單位,處理后的結果是關系。
關系DML查詢,根據表達查詢方式的不同,可分為兩類:用關系代數運算表達查詢和用關系演算公式表達查詢。關系數據*作語言相應分為兩種不同類型:關系代數型和關系演算型。
所謂單目運算就是對一個關系施加的運算,所謂雙目運算就是對兩個關系施加的運算。選擇、投影是單目運算,連接、關系笛卡兒積是雙目運算。
集合運算符:∪并、∩交、-差、×迪卡爾積,關系運算符:π投影、σ選擇、|×|連接
比較運算符:>、≥、<、≤、=、≠,邏輯運算符:-非、∧與、∨或
并、交、差用于關系運算,要求參加運算的兩個關系是相容的,即兩個關系度數相同,相應屬性取自同一個域。
并:由屬于R或屬于S或同時屬于R和S的元組構成的集合,記為R∪S.
差:由屬于R而不屬于S的所有元組組成的集合,記為R-S.
交:由同時屬于R和S的元組組成的集合,記為R∩S.
選擇:按給定條件從關系中挑選滿足條件的元組組成的集合,記為σF(R)
投影:從關系中挑選出指定的屬性組成的新關系,記為:πA(R)A是屬性名表,R是關系名。
關系R和S的笛卡兒積,它是由R的第一個元組依次與S的所有元組組合,然后是R的第二個元組,直到最后一個元組依次與S所有元組組合,形成新的關系。記為:R×S關系R和S的笛卡兒積k1+k2個元組。
連接:按給定條件,把滿足條件的兩關系的所有元組,按一切可能拼接后形成的新關系,相當于在兩關系笛卡兒積上的選擇。記為:R|×|S=σF(R×S)關系R和S的連接后的關系有≤k1×k2個元組。
連接運算可以從乘積運算和選擇運算中導出,自然連接運算可以從乘積運算、選擇運算和投影運算中導出。
自然連接是連接的一個重要特例,它要求被連接的兩關系有若干相同的屬性名。記為:R|×|S
連接運算:JOIN <關系1> WITH <關系2> WHERE <條件>,按給定條件對兩關系進行連接運算。
五種基本運算:并、差、選擇、投影、連接。
在關系中,當有多個屬性可作為鍵而選定其中一個時,則稱它為該關系的主鍵。
在一個關系中,需要幾個屬性組合起來才能惟一標識元組時,則稱這幾個屬性為該關系的聯合鍵。
凡在關系中可以用來惟一標識元組的屬性或屬性組叫做候選鍵。
當關系中的某個屬性或某一組屬性并非主鍵,但卻是另一個關系的主鍵時,稱該屬性為外部鍵。
凡可作為侯選鍵的屬性叫主屬性,不能作為侯選鍵的屬性叫非主屬性。
所謂函數依賴其實質是刻畫關系中各個屬性之間相互制約而又相互依賴的關系。
函數依賴包括:完全函數依賴、部分函數依賴、傳遞函數依賴
滿足最低要求的關系稱它屬于第一范式,在此基礎上又滿足了某種條件,則稱它屬于第二范式的關系,依此類推直到第五范式。數據庫一般使用3NF以上的關系。滿足較高條件者必滿足較低范式條件。
一個較低范式的關系,可以通過關系的無損分解轉換為若干較高級范式關系的集合,這個過程叫做關系規范化。
如果關系R的所有屬性都是不可再分的數據項,稱該關系屬于第一范式。1NF
第一范式缺點:數據冗余大、修改麻煩、插入異常、刪除異常。
若關系R屬于1NF,且它的每一非主屬性都完全依賴于主鍵,則稱R屬于第二范式,2NF
若關系R屬于2NF,且它的每一非主屬性都不傳遞依賴于關鍵字,則稱R屬于第三范式,3NF
在關系規范化中,分解關系的兩條基本原則是:分解必須是無損的和分解后的關系要相互獨立。
關系規范化過程實質是對關系不斷分解的過程,通過分解使關系逐步達到較高范式。規范化是圍繞函數依賴進行的。在規范化過程中,消除部分依賴和傳遞依賴后,1NF變成3NF.1NF、2NF、3NF相互間是全包含關系。
以下說法正確的是。A
(A)一個關系就是一張二維表 (B)在關系所對應的二維表中,行對應屬性,列對應元組
(C)笛卡兒積中不允許有相同的域 (D)關系的各屬性名必須與對應的域同名
根據關系模式的完整性規則,一個關系中的“主鍵” .C
(A)不能有兩個 (B)不能成為另一個關系的外部鍵 (C)不允許為空 (D)可以取空值
關系中的最高范式為 .D (A)2NF (B)3NF (C)4NF (D)5NF
綜合:1、計算并、差、交、選擇、投影、關系笛卡爾積、連接、自然連接。
2、范式關系規范化
3、寫出關鍵字
4、確定范式等級
第四章
數據庫設計是數據庫應用系統的核心部分,它包括兩方面的內容:結構特性設計和行為特性設計。
在數據庫的兩方面設計中,結構特性是靜態的,一旦形成輕易不再改變,行為特性是指用戶的業務活動,這種活動體現在應用程序中。結構特性設計是指數據庫總體概念設計。它應該是具有最小數據冗余的,能反映不同用戶數據需求的,能實現數據共享的系統。數據庫設計中結構設計是關鍵。
在數據庫設計中,結構特性是在模式和子模式中定義的,而行為特性通過應用程序實現。
數據庫設計包括數據庫系統的邏輯設計、物理設計、應用程序設計和系統的運行與維護等方面。
數據庫邏輯設計分為三個階段,分別是:收集和分析用戶要求、建立E-R模型和數據庫模式設計。主要任務是創建數據庫模式。
數據庫邏輯設計中的第一階段收集和分析用戶需求是按以下四步進行的:分析用戶活動,確定系統范圍,分析用戶活動所涉及的數據和分析系統數據。
數據流圖是一種從數據和對數據的加工兩方面表達系統工作過程的圖形表示法。含有四種基本成分:帶箭頭的線段表示數據及其流動方向,圓形框表示對數據的加工,卡片形框表示文件,方框表示源點和終點。
畫數據流圖應遵循:由外向內、自頂向下原則進行。
數據庫系統的生命期可以分為五個階段,依次是分析、設計、編碼、測試、運行。
所謂分析用戶活動所涉及的數據就是以數據流圖的形式表示出數據的流向和對數據所進行的加工。
所謂分析系統數據就是對數據流圖中的每一個數據流名、每個文件名、每個加工名,都要給出具體定義,都需要用一個條目進行描述。描述后的產物是數據字典。數據流圖和數據字典結合在一起,加上必要的說明構成系統說明書。數據字典是對數據流圖中的四個成分(數據流、數據項、文件、加工)的描述。
教材中所講的數據庫設計方法稱為視圖設計法,即從分析用戶的活動入手,針對用戶的局部視圖,然后進行綜合,用E-R圖表示數據庫的概念,進而轉換為關系模式。
邏輯設計第二階段建立E-R模型分兩步,首先應進行局部E-R模型設計,然后進行總體E-R模型的設計。
邏輯設計第三階段在數據庫模式設計階段分兩步進行,第一步初步設計:把E-R圖轉換為關系模型,第二步優化設計:對模式進行調整和改善。
優化是在性能預測的基礎上進行的,一般用三方面指標來衡量:1、單位時間內所訪問的邏輯記錄個數要少,2、單位時間內數據傳送量要少;3、系統占用的存儲空間盡量要少。
數據庫物理設計包括:選擇存儲結構、確定存取方法、選擇存取路徑、確定數據的存放位置。主要解決選擇文件存儲結構和確定文件存取方法的問題。在數據庫中訪問數據的路徑主要表現為如何建立索引。如要直接定位到所要查找的記錄,應采用索引方法存取方法(索引表)。順序表只能從起點進去向后一個個訪問記錄。數據庫的物理實現取決于特定的DBMS,在規劃存儲結構時主要應考慮存取時間和存儲空間,這兩者通常是互相矛盾的,要根據實際情況決定。
經過從概念設計→邏輯設計→物理設計,標志著數據庫的框架搭設成功。
一般程序設計方法均適用于應用程序設計,如:自頂向下或結合由下而上靈活運用,程序按功能模塊化,使模塊便于組裝和調試,追求程序可讀性,不過多采用難以理解的技巧。應用程序設計的依據:數據庫邏輯設計。
老化就是對數據庫施加各種*作,例如增、刪、查、改。
數據庫投入運行標志著開發任務的基本完成和維護工作的開始。所謂維護就是整理數據的存儲。
數據庫維護工作包括:日常維護(指對數據庫中的數據隨時按需要進行增、刪、插入、修改或更新*作),定期維護(重構重組數據庫),故障維護(當數據庫遭到意外破壞時,把它恢復到破壞前的狀態)。
以下關于數據庫設計的說法,C不正確。
(A)數據庫設計是“反復探尋,逐步求精”的過程(B)數據庫設計包括結構特性設計和行為特征設計兩個部分
(C)數據庫設計中行為特征設計是關鍵部分(D)數據庫設計是數據庫應用系統設計中的核心部分。
數據庫系統中的技術文檔主要有系統說明書、技術說明書和使用說明書。
以下程序調試方法, 最為常用。B
(A)通讀程序編碼,發現錯誤的命令行 (B)在程序中設置斷點,觀察斷點處狀態
(C)輸入數據,進行人工檢驗 (D)暫時刪除無關語句,簡化程序編碼
以下觀點中,錯誤的是 .B
(A)關系數據庫中記錄通常是按到來的先后順序存放 (B)DNMS通常只支持順序存取方法
(C)數據庫訪問的路徑對效率影響是很大的 (D)數據庫多半存放在磁盤、光盤或磁帶上
第五章
數據管理系統是管理數據庫的系統軟件,是用戶與數據庫之間的接口,提供*縱數據庫的各種命令。
數據庫統是由用戶、數據庫管理系統和數據庫構成的。
Foxpro特點:windows應用程序風格,非編程接口,多用戶功能,提供了應用程序開發工具,快速查找機制,提供了真正的編譯器,提供了與高級語言接口,提供了對SQL的支持。
FoxPro提供了一個真正的編譯器“Distribution Kit”,可將FoxPro應用程序編譯為直接在*作系統下運行的“。exe”文件;提供了一個真正的外部程序接口“Library Construction Kit”,允許開發者用C語言創建FoxPro函數。
在FoxPro中每一條記錄最多可以有255個字段,最多可以有65000個內存變量。
在FoxPro中,一個二維表即稱為一個文件,二維表是以文件的形式存儲在磁盤上的,一個關系就是一個文件,這樣的文件稱為數據庫文件。 a$b測試字符串a是不是b的子串,a#b=a<>b
Foxpro的各類文件及其擴展名
庫文件dbf
備注文件fpt
備注后備文件tbk
后備文件bak
臨時文件tmp
索引文件idx
復合索引文件cdx
查詢程序文件qpr
編譯查詢程序文件qpx
Foxdoc文件文件doc
屏幕文件scx
屏幕備注文件sct
屏幕程序文件spr
編譯屏幕程序文件spx
配置文件config.fpw
菜單文件mnx
菜單備注文件mnt
菜單程序文件mpr
編譯菜單程序文件mpx
資源文件foxuser.fpt
項目文件pjx
項目備注文件pjt
項目程序文件app
項目可執行文件exe
幫助文件foxhelp.dbf
格式文件fmt
編譯格式文件frx
報表格式文件frx
報表備注文件frt
幫助備注文件foxhelp.fpt
標簽文件lbx
標簽備注文件lbt
程序文件prg
編譯程序文件fxp
可執行文件exe
視圖文件vue
鍵盤宏文件fky
內存變量文件mem
編譯記事文件log
編譯出錯記錄文件err
文本文件txt
窗口文件win
菜單:文件file編輯edit數據庫database記錄record程序program運行run文字text窗口window幫助help
在FoxPro菜單中,如果菜單右面帶有省略號(…),表示選擇菜單會彈出一個對話框窗口,如果菜單中某些項呈暗淡的灰色,表示該功能在當前狀態下不能使用。ALT或F10調用菜單。
命令窗口的顯示與隱藏可通過Window的“Command” 和“Hide”選項來控制。
FoxPro的數據類型有七種,它們的名字和簡寫字母是字符型C、數值型N、浮點型F、邏輯型L、日期型D、備注型M和通用型G ,數據庫中的字段變量可取其中的七種。內存變量是字符型、數值型、邏輯型、浮點型、屏幕S數據,常量通常只有字符型、數值型、日期型和邏輯型四種數據類型。
變量名不超過10個字母、數字和下劃線組成,而且必須以字母開頭,但系統變量一般以下劃線開頭。
字符型字段的最大長度是254個字符長,一個漢字視作2個ASCII碼字符,字符型數據可進行大小比較運算和字符連接運算。數值或浮點數據最大寬度為20.邏輯型字段固定的長度為1個字節,邏輯真值可用。T.或。Y.表示,邏輯假值可用。F.或。N.表示。日期型數據寬度固定為8;可以與數值相加減,所得結果為另一個日期,兩個日期型數據可以相減,結果為兩個日期之間的天數。備注、通用字段的寬度為10個字節,該字段中存放的是指向存放備注內容的地址指針,或指向圖形、圖像、聲音等文件的地址指針。在備注中,備注字段的每個數據,按大小為512個字節的數據塊存放。對常量而言,名和值是一致的,對變量而言,名和值是不一致的。字符變量是“”、或〔〕定界,日期變量用{}定界,邏輯常量用……定界。FoxPro的變量有兩種,單值的內存變量和多值的字段變量。當字段變量與內存變量同名時,字段變量優先,可通過在內存變量名前加M.或M->來區別。
從內存變量的組織形式上看,它可分為標量與數組,從內存變量的作用域上看,它可分為全局變量和局部變量。
單個常量、變量或函數都是表達式的特殊形式之一。表達式是指通過各種運算符連接的常量、字段變量、內存變量、函數等運算對象所構成的有意義的算式。
Foxpro的運算符有算術、字符串、關系、邏輯。比較運算會產生邏輯結果。字符串運算符有+、-、==、$.。
FoxPro有200多條命令,它一般由命令動詞開頭,后跟一個或多個限定該動詞的子句構成。子句一般由動能短語和表達式構成。FoxPro命令,常見的子句有三種,分別是是范圍子句,條件子句,字段列表子句。
<命令名>[<表達式表>][<范圍>][FOR<條件>][WHILE<條件>][TO FILE<文件名>|TO PRINTER|TO ARRAY<數組表>|TO<內存變量>][ALL[LIKE|EXCEPT<通配符>]][IN<別名>]][FIELDS<字段列表>]
①[FIELDS<字段列表>子句用于指定被*作數據庫文件的字段,是對二維數組表格各列的*作,又稱投影*作。
②而[<范圍>]子句、[FIELDS<條件>]子句或[]子句用于指定被*作記錄的范圍和被*作記錄要滿足的要求,對二維表格各行的*作,又稱選擇*作。其中<條件>是一個邏輯表達式。
③FOR<條件>[WHILE<條件>]這兩個條件子句是有區別的,前者能對所有數據庫中滿足條件的記錄*作,后者一旦遇到不滿足條件的記錄便停止*作。
有個別的命令不是命令動詞開頭的,而是以特殊符號,例如命令?和@.
FoxPro中,投影*作的子句是字段列表子句,選擇*作的子句是范圍子句和條件子句。
當數據庫一打開(如果不是空庫)記錄 指針指向記錄1的位置。
第六章
數據庫的基本*作包括:建立數據庫文件的結構,數據的錄入,數據庫的維護,數據庫結構的維護,對數據庫文件進行排序或建立索引,數據查詢,對數據庫中的數據進行加工計算,數據的輸出。
數據庫文件的編輯和處理都要打開數據庫文件,打開數據庫的含義是將數據文件由磁盤讀入內存。關閉數據庫文件是將數據庫文件從內存存到外存上,并釋放該文件所占的內存和工作區。一個工作區不能同時打開多個文件。
建立數據庫的結構是定義字段名、字段類型、字段寬度、小數位,打開數據庫,記錄指針指向第一條記錄。
數據庫文件名不能用a-j單個字母,因為Foxpro已把a-j作為工作區代號使用了。定義一個關系結構,應說明屬性名,屬性數據類型及位數。go或goto是數據庫記錄指針絕對定位命令,skip則是數據庫記錄指針相對定位命令。
插入記錄命令是insert,加上Before子句規定在當前記錄前插入記錄,而blank子句則表示插入一條空記錄。
對數據庫中的記錄進行邏輯刪除(加刪除標記*號)的命令是,物理刪除的命令則是PACK.
FoxPro中有兩種類型的索引文件:一類稱為單項索引文件,擴展名為idx,另一類稱為組合索引文件,擴展名為cdx.
單項索引文件分為兩類,一類是壓縮索引,另一類是非壓縮索引,組合索引文件分為兩類,一類是結構組合索引,另一類是獨立組合索引。組合索引總是壓縮的。索引所基于的字段稱索引項。一個庫文件可以建立多個索引,在*作中可以同時打開多個索引,但任何時刻只有一個索引起作用,這個索引稱主索引。利用索引文件快速檢索的命令是seek和find,如要檢索表達式則應該用二者中的seek命令,檢索成功一般由found()或eof()函數測試。
FoxPro用鍵盤為內存變量賦值的語句有accept、input、wait.
FoxPro用命令public定義全局變量,用private命令定義局部變量。
FoxPro中進行文本顯示命令是TYPE,能顯示FoxPro中的文本文件、命令文件或屏幕格式文件。
use命令可以關閉當前工作區打開的數據庫文件,close databases可以關閉所有工作區打開的數據庫文件,close all可以關閉所有工作區打開的所有類型的文件,clear all可以關閉所有工作區打開的所有類型的文件,同時釋放內存變量,quit命令在退出FoxPro之前關閉所有文件。
每個庫文件的開始和結尾都存在一個標志,首記錄前是開始標志,尾記錄后是結束標志。當前數據庫文件的記錄數為15,在未打開索引文件的情況下,先執行GO BOTTOM命令,再向下移動指針,此時,函數RECNO()的返回值是16,函數EOF()的返回值是。T.,打開數據庫,記錄號為1,bof()為。f.,skip –1后,bof()為。t.。當一條普通(非LOCATE)命令中的FOR子句執行完畢后,若范圍為ALL或REST,那么記錄指針指向末記錄后或庫文件結束標志,執行完LIST命令后,EOF()函數的值為。T.
備注型字段數據的輸入方法與其他字段不同,可把光標定位于memo字段,按Ctrl+PgUp、Ctrl+PgDn、或Ctrl+Home組合鍵進入FoxPro字處理編輯狀態,此時可輸入備注型字段內容,編輯結束后按Ctrl+W組合鍵退出
當備注字段的標識為Memo時,說明備注字段有內容;當備注字段的標識為memo時,說明備注字段沒有內容。
在修改數據庫結構時, 可用組合鍵Alt+I輸入一個字段, 可用Alt+D組合鍵刪去一個已有的字段,修改完后按Ctrl+W組合鍵可以將數據結構磁盤。
指針指向的記錄稱為當前記錄。工作區實質就是在內存中開辟的一塊區域,用來存放庫文件記錄。
關聯是將兩個或多個在不同工作區中打開的庫文件聯系起來,當一個工作區的記錄指針發生變化時,與之關聯的工作區記錄指針也隨之相應改變。進行關聯時,當前庫文件稱為關聯庫文件,其他工作區的稱被關聯庫文件。
SQL為結構化查詢語言,為關系數據庫標準語言。
未經說明時,主索引文件是索引文件列表中的第一個索引文件;主標記是復合索引文件中最先建立的的標記。
組合索引的每一個索引項稱為一個索引標記(TAG),打開一個組合索引文件相當于打開多個單項索引文件。
當對庫文件進行增刪等*作時,沒有打開的索引文件不能反應庫文件的實際內容,為此應對其重建索引。
使用SEEK和 FIND命令的前提條件是打開數據庫文件及其相關的索引文件。
要進行分類匯總的數據庫文件必須按照適當的表達式進行索引或排序。
FoxPro中用戶定義的內存變量的類型是在后賦值確定的。
每條記錄的長度等于每個字段的長度加起來,再加上一個邏輯刪除標記的固定長度1.
變量被定義為全局變量后,沒有被賦值前,默認為邏輯假值。但fox和foxpro這兩個特殊的變量默認為邏輯真值。
SQL臨時庫文件,文件擴展名tmp,該文件一旦關閉,便被系統自動刪除。
SQL的數據查詢命令主要由三個子句構成select、from和where.。其中select子句和from子句是不可省略的
select命令可在命令窗口直接鍵入執行,也可通過RQBE交互窗口進行查詢,進入方法是選擇file菜單的new菜單項,在彈出的對話框中選擇query.命令:create query[<查詢文件名>]或modify query[<查詢文件名>]
聲明:
(一)由于考試政策等各方面情況的不斷調整與變化,本網站所提供的考試信息僅供參考,請以權威部門公布的正式信息為準。
(二)本網站在文章內容來源出處標注為其他平臺的稿件均為轉載稿,免費轉載出于非商業性學習目的,版權歸原作者所有。如您對內容、版權等問題存在異議請與本站聯系,我們會及時進行處理解決。
相關推薦
2022年浙江自考《當代中國政治制度》復習筆記匯總
09-152023年10月浙江自考傳播學概論復習資料:有限效果論
08-30自考輔導資料:2019年10月《美學》知識點-崇高的內涵與特點
09-172022年浙江自考中國古代文學史(一)第三編第九章復習資料
10-31自考輔導資料:2021年10月《學前教育史》—論幼稚師范教育
06-052023年4月浙江自考外國文學史復習筆記:高爾基
12-262023年4月浙江自考中外教育簡史復習筆記:英國近代教育制度
12-082022年浙江自考心理學復習筆記:情緒情感的功能
11-03自考輔導資料:2019年10月《美學》知識點-優美及優美的內涵與特點
09-17自考輔導資料:2021年10月《學前教育史》—雅典的學前教育
06-07