




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第1章數(shù)據(jù)庫理論基礎(chǔ)
1.數(shù)據(jù)庫概念:數(shù)據(jù)庫(DataBase,DB)、數(shù)據(jù)庫管理系統(tǒng)(DataBaseManagement
System,DBMS),數(shù)據(jù)庫系統(tǒng)(DataBaseSystem,DBS)?數(shù)據(jù)庫系統(tǒng)涉及數(shù)據(jù)庫和數(shù)據(jù)庫管
理系統(tǒng)。數(shù)據(jù)庫系統(tǒng)中對數(shù)據(jù)庫進(jìn)行管理的核心軟件是數(shù)據(jù)庫管理系統(tǒng)。VFP6.0屬于32位
關(guān)系數(shù)據(jù)庫管理系統(tǒng)。
2.實體間的聯(lián)系:一對一聯(lián)系(1:1)、一對多聯(lián)系(1:n)、多對一聯(lián)系(n:1)和多對多聯(lián)系(m:
n)。
例如,假如一個班只有一個班長,并且一個班長不能同時擔(dān)任其它班的班長,班級和班長兩個實體之
間的聯(lián)系是一對一。公司中有多個部門和多名職工,每個職工只能屬于一個部門,一個部門可以有多
名職工,職工與部門兩個實體之間的聯(lián)系是多對一;部門與職工兩個實體之間的聯(lián)系是一對多。在
奧運會游泳比賽中,一個游泳運動員可以參與多項比賽,一個游泳比賽項目可以有多個運動員參與,游泳
運動員與游泳比賽項目兩個實體之間的聯(lián)系是多對多聯(lián)系。
例如,在超市營業(yè)過程中,每個時段要安排一個班組上崗值班,每個收款口要配備兩名收款員配合工
作,共同使用一套收款設(shè)備為顧客服務(wù),在超市數(shù)據(jù)庫中,實體之間屬于一對一關(guān)系的是Do
A.〃顧客"與"收款口”的關(guān)系B."收款口"與“收款員”的關(guān)系
C."班組"與"收款口”的關(guān)系D."收款口"與"設(shè)備"的關(guān)系
例如,為了把多對多的聯(lián)系分解成兩個一對多聯(lián)系所建立的"紐帶表''中,應(yīng)當(dāng)包含兩個表的關(guān)鍵
說明:學(xué)生(學(xué)號,姓名,…)與課程(課程號,課程名,…)之間是多對多的聯(lián)系,為了表達(dá)這種多
對多的聯(lián)系,建立一個成績表(學(xué)號、課程號、成績),即學(xué)生表與課程表之間的"紐帶表”。這樣學(xué)生表與
成績表、課程表與成績表之間都是一對多的聯(lián)系了。
3.數(shù)據(jù)模型:層次模型(樹狀結(jié)構(gòu))、網(wǎng)狀模型和關(guān)系模型(用二維表結(jié)構(gòu)來表達(dá)實體以及實體之
間聯(lián)系的模型)。VFP支持的數(shù)據(jù)模型是關(guān)系模型,它也是最常用的一種基本數(shù)據(jù)模型。
4.關(guān)系數(shù)據(jù)系統(tǒng)的概念:數(shù)據(jù)表(也即是關(guān)系)、記錄(元組)、字段(數(shù)據(jù)項)、字段類
型、域、關(guān)鍵字(可以唯一地擬定一條記錄的一個字段(學(xué)生.dbf中的“學(xué)號"字段)或多個字段的組
合(成績.dbf中的"學(xué)號"和"課程號"字段組合),不允許有反復(fù)值或空值(NULL))、外
部關(guān)鍵字。
例如,在VFP中,關(guān)系數(shù)據(jù)庫管理系統(tǒng)所管理的關(guān)系是B。
A.一個DBF文獻(xiàn)B.若干個二維表C.一個DBC文獻(xiàn)1).若干個DBC文
獻(xiàn)
例如,在關(guān)系模型中,每個關(guān)系模式中的關(guān)鍵字C。
A.可由多個任意屬性組成B.最多由一
個屬性組成
C.可由一個或多個其值能唯一標(biāo)記關(guān)系中任何元組的屬性組成D.以上說法都不對
例如,設(shè)有表達(dá)學(xué)生選課的三張表,學(xué)生S(學(xué)號,姓名,性別,年齡,身份證號),課程C(課號,課
名),選課SC(學(xué)號,課號,成績),則表SC的關(guān)鍵字(鍵或碼)為C。
A.課號,成績B.學(xué)號,成績C.學(xué)號,課號D.學(xué)號,姓名,
成績
5.關(guān)系的特點
①關(guān)系必須規(guī)范化(關(guān)系的每個分量必須是一個不可分割的數(shù)據(jù)項,也就是說,不允許表中包含
表)O
②同一關(guān)系中不能出現(xiàn)相同的字段名(列),也不允許有完全相同的記錄(行)。
成績
學(xué)號姓名姓名
平時成績卷面成績
070100張三張三豐9585
1
0701001張三張三豐9585
③在一個關(guān)系中記錄的順序和字段的順序都無關(guān)緊要。
解釋:如在一個表中有同名字段,在執(zhí)行SELECT學(xué)號,姓名FROM成績時,系統(tǒng)就不知該取哪個
姓名字段的值;如有相同的記錄,既浪費了存儲空間,又導(dǎo)致記錄錯誤(如記錄人數(shù),一個人就記錄了兩
次)。
6.關(guān)系的運算
①選擇:從數(shù)據(jù)表中找出滿足給定條件的記錄(元組)的操作稱為選擇。選擇運算是對數(shù)據(jù)表從
行的方向上進(jìn)行的運算,往往是通過條件短語FOR/WHILE(VFP命令中)、W1IERE(SQL中)實
現(xiàn)。
②投影:從數(shù)據(jù)表中指定若干字段組成新的數(shù)據(jù)表的操作稱為投影。投影運算是對數(shù)據(jù)表從—列
的方向上進(jìn)行的運算,往往是通過短語FIELDS(VFP命令中)、SELECT(SQL中)實現(xiàn)。
③聯(lián)接:聯(lián)接運算將兩個數(shù)據(jù)表拼接成一個新的數(shù)據(jù)表,生成的新數(shù)據(jù)表中包含滿足連接條件的
記錄。自然聯(lián)接是去掉反復(fù)屬性的等值聯(lián)接。
例如,從表中選丁字段形成新關(guān)系的操作是投影;選擇滿足條件的記錄形成新關(guān)系的操作是
選擇。
例如,學(xué)生表中有"學(xué)號"、"姓名"和"年齡"三個字段,SQL語句"SELECT學(xué)號FROM學(xué)生"
完畢的操作稱為投影,SQL語句"SELECT*FROM學(xué)生WHERE年齡>=20”完畢的操
作稱為選擇。
例如,下列關(guān)系模型中,能使經(jīng)運算后得到的新關(guān)系中屬性個數(shù)多于本來關(guān)系中屬性個數(shù)的是
B,操作對象只能是一個表的關(guān)系運算是AC。A.選擇B.聯(lián)接
C.投影D.并
第2章VFP環(huán)境簡介及常用操作命令
1.常用文獻(xiàn)擴(kuò)展名及其關(guān)聯(lián)的文獻(xiàn)類型
常用文獻(xiàn)擴(kuò)展名及其關(guān)聯(lián)的文獻(xiàn)類型
擴(kuò)展名文獻(xiàn)類型擴(kuò)展名文獻(xiàn)類型
.APPVisua1FoxPro應(yīng)用程序,QPR查詢文獻(xiàn)
.EXE可執(zhí)行應(yīng)用程序.PRG源程序文獻(xiàn)
.PJX項目文獻(xiàn).FXP源程序編譯后的文獻(xiàn)
.DBF數(shù)據(jù)表文獻(xiàn).VCX可視類庫文獻(xiàn)
.FPT數(shù)據(jù)表備注文獻(xiàn).SCX表單文獻(xiàn)
.IDX數(shù)據(jù)表獨立索引文獻(xiàn).MNX菜單文獻(xiàn)
.CDX數(shù)據(jù)表復(fù)合索引文獻(xiàn).MPR生成的菜單源程序文獻(xiàn)
.DBC數(shù)據(jù)庫文獻(xiàn).FRX報表文獻(xiàn)
說明:視圖不是一個文獻(xiàn),它沒有擴(kuò)展名。視圖保存在當(dāng)前打開的數(shù)據(jù)庫中。
例如,在VFP中,可視類庫文獻(xiàn)的擴(kuò)展名是」。
A..DBFB..SCXC..VCXD..DBC
2.Visua1FoxPro可視化工具(向?qū)А⒃O(shè)計器、生成器)
?向?qū)В和ㄟ^一系列的對話框向用戶提醒每一個操作環(huán)節(jié),引導(dǎo)用戶一步步完畢各項任務(wù)。
?設(shè)計器:創(chuàng)建和修改各種組件的可視化工具。如表設(shè)計器、數(shù)據(jù)庫設(shè)計器、查詢設(shè)計器等。
?生成器:帶有多個選項卡的對話框,用來創(chuàng)建、生成或修改某種控件。如選項卡生成器。
例如,在VFP中修改數(shù)據(jù)庫、表單、報表等對象的可視化工具是」—。
A.向?qū).設(shè)計器C.生成器D.項目管理器
3.條件短語
1)在VFP命令中使用的條件短語:FOR和WHILE。記錄號
1男
女
①FOR〈條件》:在指定范圍內(nèi)(缺省范圍為ALL),逐條檢查記錄,符合條件的男
3
男
4
記錄執(zhí)行命令,不符合條件的跳過去。在命令假如使用了FOR〈條件>短語,不管該命令女
5男
6
女
的缺省范圍是什么,只要省略了缺省范圍,則該命令的操作范圍為ALL。\男
②WHILE〈條件》:在指定記錄范圍內(nèi)(缺省范圍為REST),逐條檢查,符合條件的記錄執(zhí)行命
令。當(dāng)碰到第一個不滿足條件的記錄,停止命令的執(zhí)行。在命令假如使用了WHILE〈條件>短語,不管該
命令的缺省范圍是什么,只要省略了缺省范圍,則該命令性別一男"1、3,4、6、
此外,尚有兩個范圍短語:NEXTN和RECORDN。'
2)在SQL中使用的條件短語:WHERE、ON和IIAVING?
①WHERE(條件):即可用于非超聯(lián)接查詢時多表間的聯(lián)接條件,也可用于多表查詢(既可是非
超聯(lián)接查詢,也可是超聯(lián)接查詢)中設(shè)立記錄滿足的條件。
②ON〈條件>:對多表進(jìn)行超聯(lián)接查詢時,用于設(shè)立多表間的聯(lián)接條件(此時不能用WHERE)。
③HAVING〈條件>:HAVING必須跟隨GROUPBY之后使用,用于限定分組必須滿足的條件。
說明:WHERE子句作用于記錄,而HAVING子句作用分組,可以使用WHERE子句的同時使用
HAVING子句(但必須在GROUPBY分組子句之后使用)。
例如,在學(xué)生.dbf和成績.dbf中查找平均成績大于等于85分的男生的學(xué)號、姓名和平舉成績。
SELECT學(xué)生.學(xué)號,姓名,AVG(成績)AS平均成績;SELECT學(xué)生.學(xué)號,姓名,AVG(成績)AS平
均成績;
FROM學(xué)生JOIN成績;FROM學(xué)生,成績;
ON學(xué)生.學(xué)號=成績.學(xué)號;WHERE學(xué)生.學(xué)號=成績.學(xué)號;
GROUPBY學(xué)生.學(xué)號;AND性別="男";
HAVINGAVG(成績)>=85;GROUPBY學(xué)生.學(xué)號;
WHERE性別="男"HAVINGAVG(成績)〉=85
4.常用操作命令
4.1.1VFP命令建立數(shù)據(jù)表:GREATE〈數(shù)據(jù)表文獻(xiàn)名》&&打開表設(shè)計器
創(chuàng)建表結(jié)構(gòu)
說明:1)在VFP的表文獻(xiàn)中,日期型占8個字節(jié),邏輯型占1個字節(jié),備注型和通用型占
4個字節(jié)。每條記錄的總寬度比用戶定義的各個字段寬度之和多一個字節(jié),該字節(jié)用于存放_超
錄刪除標(biāo)記。自由表字段名最長為10個字符,數(shù)據(jù)庫表字段名最長為128個字
符。
2)空值(.NULL.):空值不同于空字符串(”)、空格字符串《”)、數(shù)值0,空值(.NULL.)
就是不擬定的值,,
3)如EMP表中有備注型或通用型字段(不管有多少個),在創(chuàng)建EMP表時,系統(tǒng)會自動創(chuàng)建與所屬數(shù)
據(jù)表的表名相同,擴(kuò)展名為fpt的1個數(shù)據(jù)表備注文獻(xiàn)。表備注文獻(xiàn)名為
EMP.FPT。
例如,在一個VFP數(shù)據(jù)表文獻(xiàn)中有2個通用字段和3個備注字段,該數(shù)據(jù)表的備注文獻(xiàn)數(shù)目是
1.
4.1.2SQL建立數(shù)據(jù)表:CREATETABLE〈表名〉;
(〈字段1>〈字段類型>[(〈字段寬度>[,<小數(shù)位數(shù)>])];
[PRIMARYKEY][CHECK〈表達(dá)式》[ERROR〈錄入錯誤提醒信
息>]];
[DEFAULT〈表達(dá)式>],;
〈字段名2>……)
常用數(shù)據(jù)類型說明
字段類型相應(yīng)字符及表達(dá)方法字段類型相應(yīng)字符及表達(dá)方法字段類型相應(yīng)字符及表達(dá)方法
字符型C(n)數(shù)值型N(n,[m])邏輯型L
日期型D整型I
注意:對自由表不能實現(xiàn)其完整性、有效性規(guī)則等信息的設(shè)立。
例如,教師表中有"職工號"、"姓名"和"工齡"字段,其中“職工號"為主關(guān)鍵字,建立教師表的SQL
命令是D
A.CREATETABLE教師表(職工號C(10)PRIMARY,姓名C(20),工齡I)
B.CREATETABLE教師表(職工號C(10)POREING,姓名C(20),工齡I)
C.CREATETABLE教師表(職工號C(10)POREINGKEY,姓名C(20),工齡I)
D.CREATETABLE教師表(職工號C(10)PRIMARYKEY,姓名C(20),工齡I)
例如,在VFP中,使用SQL的CREATETABLE語句建立數(shù)據(jù)庫表時,使用PRIMARYKEY
子句說明主索引,使用CHECK子句說明有效性規(guī)則(域完整性規(guī)則或字段取值范圍)。
4.2.1VFP命令修改表結(jié)構(gòu):MODIFYSTRUCTURE&&打開表設(shè)計器修改
功能:修改數(shù)據(jù)表的結(jié)構(gòu),涉及增長/刪除字段,修改已有的字段(字段名、字段類型、寬度、有效性
規(guī)則等),不能修改表中的數(shù)據(jù)。
4.2.2SQL修改表結(jié)構(gòu):ALTERTABLE〈表名>
格式1:ALTERTABLE〈表名》ADD〈字段》……&&同定義表結(jié)構(gòu)同樣
ALTERTABLE〈表名〉A(chǔ)DDPRIMARYKEYIUNIQUE<索引表達(dá)式〉TAG〈索引標(biāo)記〉]
功能:修改數(shù)據(jù)表的結(jié)構(gòu),為表增長字段或和添加主索引或候選索引。
例如,為學(xué)生.dbf增長年齡字段(整型,即不帶小數(shù)位);為成績.dbf增長成績字段并設(shè)立有效
性。
ALTERTABLE學(xué)生ADD年齡_1
ALTERTABLE成績ADD成績N(6,2)CHECK成績>=0AND成績<
=100
例如,將學(xué)生表中的學(xué)號定義為主索引,索引名為xh。學(xué)號和姓名定義為候選索弓I,索引名xhxm。
定義主索引:ALTERTABLE學(xué)生ADDPRIMARYKEY學(xué)號TAGxh
定義候選索引:ALTERTABLE學(xué)生ADDUNIQUE學(xué)號+姓名TAGxhxm
格式2:ALTERTABLE〈表名〉A(chǔ)LTER〈字段>〈字段類型〉[(〈字段寬度>[,<小數(shù)位數(shù)>])]
ALTERTABLE〈表名〉A(chǔ)LTERV字段〉SETCHECK(有效規(guī)則》[ERROR〈錯誤提醒
信息>]
ALTERTABLE〈表名〉A(chǔ)LTER〈字段〉[SETDEFAULT〈默認(rèn)值》]
ALTERTABLE〈表名〉A(chǔ)LTER〈字段〉DROPCHECKIDROPDEFAULT
ALTERTABLE〈表名〉DROPPRIMARYKEYIDROPUNIQUETAG〈索引標(biāo)
記》|DROP〈字段名〉
功能:修改數(shù)據(jù)表的結(jié)構(gòu),為其修改已有字段的類型、寬度;有效性規(guī)則(涉及錯誤提醒信息)、默認(rèn)
值;刪除有效性規(guī)則和默認(rèn)值;刪除主索引、候選索引和字段。
例如,ALTERTABLE學(xué)生ALTER學(xué)號C(8)&&將學(xué)生表中學(xué)號字段修改為字符
型(8)
例如,ALTERTABLE成績ALTER成績SETCHECK成績>=0AND成績〈=100
例如,為成績表中定義的成績字段的默認(rèn)值改為0,對的的命令是A。
A.ALTERTABLE成績ALTER成績SETDEFAULT0
B.ALTERTABLE成績ALTER成績DEFAULT0
C.ALTERTABLE成績ALTER成績SETDEFAULT成績=0
D.ALTERTABLE成績ALTER成績DEFAULT成績=0
注意:在定義表結(jié)構(gòu)或為表增長字段時,設(shè)立有效性規(guī)則和默認(rèn)值用CHECK和DEFAU
LT;為表中已存在的字段增長/修改有效性規(guī)則和默認(rèn)值時SETCHECK和SETDEFAUL
T?
例如,ALTERTABLE成績ALTERCOLUMN成績DROPCHECK&&刪除成績表中成績字段
的有效性規(guī)則
例如,ALTERTABLE成績ALTERCOLUMN成績DROPDEFAULT&&刪除成績表
中成績字段的默認(rèn)值
例如,將學(xué)生表的主索引和候選索引xhxm刪除。
刪除主索引:ALTERTABLE學(xué)生DROPPRIMARYKEY;
刪除候選索引:ALTERTABLE學(xué)生DROPUNIQUExhxm。
解釋:由于一個數(shù)據(jù)庫表只有一個主索引,因此刪除主索引時不需要指出主索引名(如指出主索引名
就導(dǎo)致語法錯誤);但一個表可以有多個候選索引,在刪除候選索引時,必須指出要刪除的候選索引名,否
則系統(tǒng)不知刪除哪個候選索引(就算只建立了一個候選索引)。
例如,將學(xué)生表中的"年齡”字段刪除,對的的SQL命令是ALTERTABLE學(xué)生DROP年
格式3:ALTERTABLE<表名>RENAME[COLUMN]〈原字段名〉TO〈新字段名〉
功能:修改數(shù)據(jù)表的結(jié)構(gòu),對指定的字段改名。
例如,將成績表中的"成績"字段改為"考試成績",對的的SQL命令是ALTERTABLE成績
RANAME成績TO考試成績。
4.3SQL刪除表命令格式:DROPTABLE<表名)
例如,在VFP中,刪除數(shù)據(jù)庫表S的SQL命令是DROPTABLES。
4.4.1VFP命令復(fù)制數(shù)據(jù)表結(jié)構(gòu)。
命令格式:COPYSTRUCTURETO〈新表文獻(xiàn)名》[FIELDS(字段名表>]
4.4.2SQL語句復(fù)制數(shù)據(jù)表結(jié)構(gòu)。
SELECT*FROM〈表文獻(xiàn)名》INTOTABLE(新表文獻(xiàn)名》WHERE.F.&&表達(dá)沒有符合
條件的記錄
例如,將學(xué)生.dbf的結(jié)構(gòu)(不包含數(shù)據(jù))復(fù)制到Student.dbf中。
VFP命令:USE學(xué)生SQL語句:SELECT*FROM學(xué)生INTO
TABLEStudent;
COPYSTRUCTURETOStudentWHERE.F.
4.5.1VFP命令增長記錄&&WHERE.F.表達(dá)所有記錄都不
滿足條件
DAPPEND命令(表的尾部增長記錄)。命令格式:APPEND[BLANK]
2)INSERT命令(在表的當(dāng)前記錄前后位置插入新的記錄)。命令格式:INSERT[BEFORE]
[BLANK]
如使用BLANK短語插入空白記錄,可使用REPLACE命令直接修改該空記錄值。
4.5.2SQL增長記錄命令格式:
INSERTINTO〈表名>[(<字段1>[,<字段2>,…])]VALUES(<表達(dá)式1>[,〈表達(dá)式
2>,…])
注意:1)表定義時說明了PRIMARYKEY(關(guān)鍵字)的字段不能取空值和反復(fù)值,且必須為該字段賦
值。
2)表達(dá)式的值的類型應(yīng)與相應(yīng)的字段數(shù)據(jù)類型一致。
例如,向?qū)W生表中插入一條記錄,對的的命令是D。
CREATETABLE學(xué)生(學(xué)號C(4)PRIMARYKEY,;
姓名C(8),專業(yè)C(8),;
年齡ICHECK年齡>=15AND年齡V=20)
A.INSERTINTO學(xué)生VALUES(1234,"張濤","計算機(jī)",18)
B.INSERTINTO學(xué)生VALUES("1234"張濤","計算機(jī)",25)
C.INSERTINTO學(xué)生(姓名,專業(yè),年齡)VALUES("張濤","計算機(jī)",25)
D.INSERTINT0學(xué)生(學(xué)號,姓名,年齡)VALUES("1234","張濤",18)
4.6.1VFP命令刪除記錄(在VFP中刪除記錄有邏輯刪除和物理刪除兩種)
命令格式1:DELETE[范圍][FOR<條件>]命令格式2:PACK命令格式
4.6.2SQL刪除記錄命令格式:DELETEFROM<表名>[WHERE<條件》]
例如,不帶條件的SQLDELETE命令將刪除指定表的所有或所有記錄。
例如,使用SQL從圖書表中刪除總編號以字母"A"開頭的記錄,應(yīng)使用命令:
DELETEFROM圖書WHERE總編號LIKE"A%”
說明:此例中的條件運算符只能用LIKE,而不能用=。如使用=,則表達(dá)刪除總編號等于"A%〃
的記錄(此時%就是一個普通字符,由于%只有在SQL的條件使用LIKE時才作為代表任意多個字符的通
配符)。
如使用VFP命令刪除:DELETEFOR總編號="A"或DELETEFORLEFT(總編號,1)
="A"
說明:此處的運算符只能用=,而不能用LIKE。運算符LIKE只能用在SQL命令的條件短語中。
4.7.1VFP命令REPLACE修改記錄:
命令格式:REPLACE[范圍]〈字段1〉WITH〈表達(dá)式1>[FOR(條件>]
說明:范圍缺省時只修改當(dāng)前一條記錄,要修改所有記錄,應(yīng)使用范圍:ALL。
例如,為當(dāng)前表中所有學(xué)生的總分增長10分,可以使用的命令是D.
A.CHANGE總分WITH總分+10B.REPLACE總分WITH總分+10
C.CHANGEALL總分WITH總分+10D.REPLACEALL總分WITH總
分+10
此題答案也可表達(dá)為:REPLACE總分WITH總分+10FOR.T.
說明:使用FOR〈條件>短語,不管命令的缺省范圍是什么,其操作范圍都變成所有(ALL)。
在VFP的命令(DELETE,REPLACE)中,假如沒有條件短語,表達(dá)刪除或修改當(dāng)前記錄(記錄指針指
向的記錄),而在SQL語句(DELETE、UPDATE)中,假如沒有條件短語,表達(dá)刪除或修改所有(所
有)記錄。
4.7.2SQL修改記錄命令格式:UPDATE〈表名〉;
SET〈字段名>=〈表達(dá)式〉;
[WHERE〈條件>]
說明:使用SQL操作數(shù)據(jù)表(插入數(shù)據(jù)、更新數(shù)據(jù)、刪除數(shù)據(jù))時不需要先執(zhí)行USE表名命令打開表,
而使用VFP命令操作表時則需要先打開相應(yīng)的表再操作。VFP命令和SQL刪除表記錄都只能邏輯刪
除,如要物理刪除,還需執(zhí)行PACK命令。
4.8.1創(chuàng)建視圖的SQL語句
命令格式:CREATEVIEW〈視圖名》AS〈查詢語句〉;
例如,CREATEVIEWview_stockASSELECT股票名稱AS名稱,單價FROMstock
執(zhí)行該語句后產(chǎn)生的視圖具有的字段名是U。
A.股票名稱、單價B.名稱、單價
C.名稱、單價、交易所D.股票名稱、單價、交易所
4.8.2刪除視圖的SQL語句
命令格式:DROPVIEW〈視圖名〉
例如,刪除視圖myview的命令是DROPVIEWmyview。
4.9建立各類文獻(xiàn)的命令:建立項目的命令:CREATEPROJECT項目文獻(xiàn)名
建立數(shù)據(jù)表命令:CREATE數(shù)據(jù)表文獻(xiàn)名
建立數(shù)據(jù)庫命令:CREATEDATABASE數(shù)據(jù)庫文獻(xiàn)名
建立查詢的命令:CREATEQUERY查詢文獻(xiàn)名
建立視圖的命令:CREATEVIEW視圖文獻(xiàn)名
建立程序/打開的命令:MODIFYCOMMAND程序文獻(xiàn)名
建立表單的命令:CREATEFORM表單文獻(xiàn)名
建立菜單的命令:CREATEMENU菜單文獻(xiàn)名
建立報表的命令:CREATEREPORT報表文獻(xiàn)名
4.10打開各類文獻(xiàn)的命令:打開數(shù)據(jù)表的命令:USE表文獻(xiàn)名[???][???]
打開數(shù)據(jù)庫的命令:OPENDATABASE數(shù)據(jù)庫文獻(xiàn)名[???][???]
…fEXCLUSIVE:以獨占方式打開數(shù)據(jù)表或數(shù)據(jù)庫。
SHARED:以共享方式打開數(shù)據(jù)表或數(shù)據(jù)庫。
打開項目的命令:MODIFYPROJECT項目文獻(xiàn)名
打開查詢的命令:MODIFYQUERY查詢文獻(xiàn)名
打開視圖的命令:MODIFYVIEW視圖文獻(xiàn)名
打開表單的命令:MODIFYFORM表單文獻(xiàn)名
打開菜單的命令:M0DIFYMENU菜單文獻(xiàn)名
打開報表的命令:MODIFYREPORT報表文獻(xiàn)名
例如,執(zhí)行以下一組命令:SETEXCLUSIVEOFF
USEjs
USExsEXCLUSIVEIN0、
/數(shù)據(jù)庫表與自由表之間
則js表打開方式是共享,XS表的打開方式是獨占。(
、)可以互相轉(zhuǎn)換。但一
4.11自由表和數(shù)據(jù)庫表轉(zhuǎn)換命令(命令操作前,先打開相應(yīng)的數(shù)據(jù)庫):
向數(shù)據(jù)庫中添加自由表的命令格式:ADDTABLE〈表文獻(xiàn)名〉
從數(shù)據(jù)庫中移去數(shù)據(jù)庫表的命令格式:REMOVETABLE〈表文獻(xiàn)名〉
4.12執(zhí)行各類文獻(xiàn)的命令:
查詢文獻(xiàn):DO查詢文獻(xiàn)名(必須帶擴(kuò)展名.qpr,DOMyquery,qpr)
菜單文獻(xiàn):DO菜單文獻(xiàn)名(必須帶擴(kuò)展名.mpr,如DOMymenu.mpr)
程序文獻(xiàn):DO程序文獻(xiàn)名(如不帶擴(kuò)展名,則按.EXE(可執(zhí)行文獻(xiàn))
,APP(VFP應(yīng)用程序)一.FXP(已編譯的程序)一.PRG(源程序),如DOMyprog.prg)
表單文獻(xiàn):DOFORM表單文獻(xiàn)名(可省略擴(kuò)展名.sex)
報表文獻(xiàn):REPORTFORM報表文獻(xiàn)名[PREVIEW](可省略擴(kuò)展名.frx)
說明:不使用PREVIEW在主窗口顯示報表,使用PREVIEW在預(yù)覽窗口中顯示報表。
例如,在VFP中可以用DO命令執(zhí)行的文獻(xiàn)不涉及(C
A.PRG文獻(xiàn)B.MPR文獻(xiàn)C.FRX文獻(xiàn)D.QPR文獻(xiàn)
4.13其它命令:
SETMARKTO[日期分隔符]&&分隔符有(/)、(-)、(.)和
空格四種
SETDATETOYMDMDYDMY&&設(shè)立日期顯示格式
4/v-?rnwn
SETCENTURY0N|0FF&&設(shè)立是否顯示世紀(jì)值
例如,
SETCENTURYTO19ROLLOVER10
?CTOD("09-05-01")(結(jié)果:2023.05.01)
?CTOD("49—05-01")(結(jié)果:1949.05.01)
例如,想要將日期型或日期時間型數(shù)據(jù)中的年份用4位數(shù)字顯示,應(yīng)當(dāng)使用設(shè)立命令A(yù)。
A.SETCENTURYONB.SETCENTURYOFFC.SETCENTURYTO4
D.SETCENTURYOF4
設(shè)立字符排序序列:SETCOLLATETO"〈排序順序名〉”
說明:排序順序名必須放在引號當(dāng)中。排序順序名有"Machine"、"PinYin"和"Sroke"?
>Machine(機(jī)器)順序:按照機(jī)內(nèi)碼順序排列。西文字符是按照ASCII碼值排列(大寫ABCD字母
序列在小寫abed字母序列的前面)。漢字根據(jù)它們的拼音順序決定大小。
空格<A<B<…<Z<a<b<一<z
>PinYin(拼音)順序:按照拼音順序排列。對于西文字符而言,小寫abed字母序列在前,大寫
ABCD字母序列在后,同一字母,大寫大,小寫小。(默認(rèn)排序方式)
空格<a<A〈b〈B<…<z<Z
AStroke(筆畫)順序:無論中文、西文,按照書寫筆畫的多少排序。
5.項目管理器
1)項目管理器的組成
?"數(shù)據(jù)”選項卡:用于顯示和管理數(shù)據(jù)庫、自由表、查詢和視圖。
?"文檔''選項卡:用于顯示和管理表單、報表和標(biāo)簽。
?"代碼"選項卡:用于顯示和管理程序。
?"其他”選項卡:用于顯示和管理菜單和文本文獻(xiàn)。
例如,在"項目管理器"窗口中可以完畢的操作是D。
A.新建文獻(xiàn)B.添加/刪除文獻(xiàn)C.修改文獻(xiàn)D.以上
操作均可以
說明:在VFP中,新建或添加一個文獻(xiàn)到項目中并不意味著把該文獻(xiàn)合并到項目文獻(xiàn)中。事實上,
每一個文獻(xiàn)仍然以獨立文獻(xiàn)的形式存在,只是表達(dá)該文獻(xiàn)與項目建立了一種關(guān)聯(lián)。
2)項目連編:項目連編結(jié)果有三種文獻(xiàn)形式:
?應(yīng)用程序文獻(xiàn)(.app):需要在VisualFoxPro中運營。
?可執(zhí)行文獻(xiàn)(.exe):可以直接在Windows下運營。
?動態(tài)鏈接庫庫文獻(xiàn)(.d1Do
例如,在連編對話框中,下列不能生成的文獻(xiàn)類型是」O
A.DLLB.APPC.PRGD.EXE
例如,假如添加到項目中的文獻(xiàn)標(biāo)記為"排除
A.此類文獻(xiàn)不是應(yīng)用程序的一部分
B.生成應(yīng)用程序時不涉及此類文獻(xiàn)
C.生成應(yīng)用程序時涉及此類文獻(xiàn),用戶可以修改
D.生成應(yīng)用程序時涉及此類文獻(xiàn),用戶不能修改
例如,在連編項目文獻(xiàn)之前應(yīng)在"項目管理器”中指定一個主文獻(xiàn),該主文獻(xiàn)將作為已編譯的應(yīng)用程序
執(zhí)行的開始點。可以作為主文獻(xiàn)的可以是查詢、程序、表單、菜單。
第3章VisualFoxpro語言基礎(chǔ)
1.常量:字符型(C)、數(shù)值型(N)、貨幣型(Y)、邏輯型(L)、日期型(D)和日期時間型
(T)。
字符型常量:也稱字符串,字符型常量的定界符不作為常量自身的內(nèi)容。字符型常量的定界符必須成
對匹配,不能一邊用一種定界符而另一邊用此外一種定界符。定界符有口、’三種。
例如,下列字符型常量的表達(dá)中,錯誤的是B。
C答案也可表達(dá)為:"[x=y]〃,但不能表
A.'5+3'B.[[品牌]]C.'[x=y]'D."計算機(jī)”]
達(dá)為仃x=y]];D答案也可表達(dá)為:'”計
例如,X=「2023-07-2810:15:20PM}
Y=.F.
M=5123.45執(zhí)行左述賦值語句之后,內(nèi)存變量X,Y,M,N和Z的數(shù)據(jù)類型分別是
Bo
N=$123.45A.D、L、Y、N、CB.T、L、N、Y、
C
Z="123.24"C.T、L、N、M、CD.T、L、Y、N、
S
日期型常量:「yyyy-mm-dd},如2023年4月15日應(yīng)表達(dá)為「2023-04-15}。
執(zhí)行命令A(yù)-2023/4/15之后,內(nèi)存變量A的數(shù)據(jù)類型是數(shù)值型或N,表達(dá)式score<=100
ANDscore>=0的數(shù)據(jù)類型是邏輯型或L,表達(dá)式100+100=300的數(shù)據(jù)類型是邏輯
型或L,表達(dá)式"505"-"50"的數(shù)據(jù)類型是字符型或C。
2.變量:內(nèi)存常量(涉及數(shù)組)、字段變量
使用"="一次只能給一個內(nèi)存變量賦值(=不能給字段變量賦值),而STORE命令可以同時給多個內(nèi)
存變量賦予相同的值(不能給字段變量賦值)。字段變量可通過REPLACE命令賦值或修改已有的值。
注意,內(nèi)存變量也具有常量的6種數(shù)據(jù)類型,字段變量除此之外,尚有備注型、通用型等。
例如,以下賦值語句對的的是」。
A.STORE8TOX,YB.STORE8,9TOX,Y&&不能給多
個變量賦不同的值
C.X=8,Y=9&&-?行只能寫一條命令1).X,Y=9&&語法錯誤
例如:x='3x='3
y='xy—
?x,y(顯示結(jié)果:33)?x,y(顯示結(jié)果:3.F.)
說明:"="有兩個作用,一是作為賦值命令,如上述例題中=';二是關(guān)系運算符,如上述例題中
例如,假設(shè)當(dāng)前表當(dāng)前記錄的”科目"字段值為[j型*^安即,字陟富庶*心在金金窗口處
如下命令將顯示結(jié)果-科目+"考試"
M=科目考試"
?m(顯示結(jié)果:計算機(jī)考試)
例如,假設(shè)職工表已在當(dāng)前工作區(qū)打開,其當(dāng)前記錄的“姓名"字段值為"李彤"(C型字段)。在命
令窗口輸入并執(zhí)行如下命令:
姓名【姓名J"出勤"
?姓名3(顯示結(jié)果:李彤)
?M.姓名'(顯示結(jié)果:李彤出勤)
注意:內(nèi)存變量和字段變量在同名的情況下,直接引用變量名時使用的是字段變量,要引用內(nèi)存變
量,需在變量名前加扎或加>。
例如,假如內(nèi)存變量和字段變量均有變量名"姓名",那么引用內(nèi)存變量的對的方法是3
ENDIE
S=1
?S(執(zhí)行結(jié)果:」)
變量名(不管是字段變量還是內(nèi)存變量)在表達(dá)時不能使用定界符,否則視為字符型常量。
例如,查詢學(xué)生選修課程成績小于60分的學(xué)號,對的的SQL語句是C。
A.SELECTDISTINCT學(xué)號FROMSCWHERE"成績”<60
B.SELECTDISTINCT學(xué)號FROMSCWHERE成績〈”6
C.SELECTDISTINCT學(xué)號FROMSC
D.SELECTDISTINCT學(xué)號FROM*??WHERE"成績”<60
內(nèi)存變量的顯示命令格式:LIST|DISPLAYMEMORY[LIKE〈通配符>]
例如,語句LISTMEMORYLIKEa*可以顯示的變量不涉及D。
A.aB.a1C.ab2D.ba3
例如,清除內(nèi)存中第一個字母為"A”的內(nèi)存變量,應(yīng)使用命令:RELEASEALLLIKEA*。
3.數(shù)組:數(shù)組是按一定順序排列的一組內(nèi)存變量。
數(shù)組變量一般需先創(chuàng)建再使用(在SQL中將查詢結(jié)果送入數(shù)組,數(shù)組不需事先創(chuàng)建),創(chuàng)建數(shù)組的命令
有:DIMENSION、DECLARE,PUBLIC和LOCAL。其中,使用DIMENSION、DECLARE命令創(chuàng)建的數(shù)組屬
于“私有數(shù)組”,使用PUBLIC命令創(chuàng)建的數(shù)組屬于“全局?jǐn)?shù)組”,使用LOCAL命令聲明的數(shù)組屬于
“局部數(shù)組”。
命令格式:DIMENSION〔DECLARE〈數(shù)組名1>(〈下標(biāo)1>[,<下標(biāo)2>])
例如,在VFP中可以使用命令D
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國加密貨幣ATM行業(yè)市場全景分析及前景機(jī)遇研判報告
- 設(shè)計現(xiàn)金管理管理制度
- 評估機(jī)構(gòu)業(yè)務(wù)管理制度
- 診所污水污物管理制度
- 試劑供應(yīng)應(yīng)急管理制度
- 財務(wù)管理薪金管理制度
- 財政加強日常管理制度
- 賬戶開銷風(fēng)險管理制度
- 貨源倉庫現(xiàn)場管理制度
- 貨車進(jìn)廠閉環(huán)管理制度
- 2025年出版:全球市場光伏硅膠總體規(guī)模、主要生產(chǎn)商、主要地區(qū)、產(chǎn)品和應(yīng)用細(xì)分調(diào)研報告
- 北京市朝陽區(qū)2023-2024學(xué)年四年級下學(xué)期語文期末考試卷(含答案)
- 上樣合作協(xié)議合同協(xié)議
- GB/T 45385-2025燃?xì)馊紵骱腿紵骶哂冒踩涂刂蒲b置特殊要求排氣閥
- 公司2025慶七一活動方案七一活動方案2025
- 留學(xué)機(jī)構(gòu)合作協(xié)議書范本
- 太極拳教學(xué)合同協(xié)議
- 家校社協(xié)同勞動教育實施現(xiàn)狀與對策研究
- 國家開放大學(xué)《農(nóng)村經(jīng)濟(jì)管理》形考任務(wù)1-4參考答案
- 鐵絲圍擋施工方案
- 石家莊事業(yè)單位綜合類崗位筆試真題2024
評論
0/150
提交評論