《數(shù)據(jù)庫應用基礎》PPT課件.ppt
《《數(shù)據(jù)庫應用基礎》PPT課件.ppt》由會員分享,可在線閱讀,更多相關《《數(shù)據(jù)庫應用基礎》PPT課件.ppt(72頁珍藏版)》請在裝配圖網(wǎng)上搜索。
第7章數(shù)據(jù)庫應用基礎VFP,7.1數(shù)據(jù)庫的基本概念,日常生活工作中,我們每天都要接觸大量的信息,比如學生成績、人事檔案、工資表、貨物清單等。那么,它們都可以表示為數(shù)據(jù)的形式,這么多的數(shù)據(jù),單靠紙、筆、算盤進行統(tǒng)計幾乎是不可能的,計算機的出現(xiàn)解決了這個復雜的問題,它將大批量的數(shù)據(jù)信息存儲在大容量磁盤上,并方便地進行管理。那么,這些數(shù)據(jù)是怎樣存儲的,怎樣被訪問、修改和刪除呢?這就用到了數(shù)據(jù)庫技術。數(shù)據(jù)庫技術將各種各樣的數(shù)據(jù)分門別類地存儲起來,用戶可以很容易地查看、管理、操作這些數(shù)據(jù)。,數(shù)據(jù)不僅僅是文本,多媒體數(shù)據(jù)庫的發(fā)展可以讓數(shù)據(jù)是圖片、聲音、視頻等內容。7.1.1數(shù)據(jù)庫系統(tǒng)的特點、數(shù)據(jù)模型7.1.1.1數(shù)據(jù)庫系統(tǒng)的特點a.數(shù)據(jù)的共享性b.數(shù)據(jù)的獨立性c.數(shù)據(jù)的完整性d.數(shù)據(jù)的集中性7.1.1.2數(shù)據(jù)模型,1、層次數(shù)據(jù)模型,,,,,,系名系號系主任,,,專業(yè)號專業(yè)名,,教師號姓名職稱,,,學號姓名性別年齡,課程號課程名學分,,,,,,,,,,系教務管理層次模型,2、網(wǎng)狀數(shù)據(jù)模型,3、關系數(shù)據(jù)模型關系模型中每個關系對應一張二維表,它由一些行和列組成。關系模型中,實體和實體之間的聯(lián)系都使用關系(二維表)來表示的。關系模型結構單一、操作方便,容易被用戶接收,且有堅實的數(shù)學理論基礎,因而得到了廣泛的應用,成為目前最流行的一種數(shù)據(jù)模型。當前的一些數(shù)據(jù)庫,從Oracle到SQLServer,以及Access和VFP,都毫無例外地采用了關系模型。,7.1.2了解數(shù)據(jù)類型1、字符型(C)由字母(漢字)、數(shù)字、空格等任意字符串組成。每個字符占1字節(jié),漢字占2字節(jié)。長度0-254。2、貨幣型(Y)存儲與貨幣有關的數(shù)據(jù),如工資、價格等。3、日期型(D)保存不帶時間的日期,存儲格式為“yyyymmdd”。字段寬度8字節(jié)。4、日期時間型(T)包括年、月、日、時、分、秒。,5、邏輯型(L)用于存儲只有兩個值的數(shù)據(jù),存入的值只有(.T.)和(.F.)兩種狀態(tài),占一個字節(jié)。如婚否,及格否等。6、數(shù)值型(N)用來存儲由數(shù)字、小數(shù)點和正負號組成的,可以進行計算的數(shù)據(jù),如成績、重量、體積、訂貨數(shù)量等。7、雙精度型(B)存儲高精度的試驗數(shù)據(jù)。8、浮點型(F)9、整型(I)存放由數(shù)字和正負號構成的整數(shù)型數(shù)據(jù)。其字段寬度為4字節(jié)。使用整型比使用其它類型節(jié)省空間,運算速度也快。,10、備注型(M)占用10個字節(jié)的空間,單獨存在于一個備注文件中,備注文件擴展名為.DBT。7.1.3掌握VFP中常量與變量的概念1、常量值不變的數(shù)據(jù)項。數(shù)值型常量:5、2.345、-100。字符型常量:“XUV”、“歡迎!”、‘Hello’。邏輯型常量:.T.和.F.。日期型常量和日期時間型常量:{^2008-11-11}、{^2009-1-1211:11am}。,2、變量可以變化,有名字的數(shù)據(jù)。命名規(guī)則:變量名只能由字母、數(shù)字、下劃線組成。以字母或下劃線開頭,長度為1-128個字符。不能使用VFP的保留字。每個漢字占2字符。“A_XX”、“_UU”、“運算結果”?!?abc”、“IF”、“ELSE”、“A@2”、“{2}”、“8開始”。,7.1.4掌握VFP表達式的使用1、算術運算符2、字符串運算符3、日期時間運算符4、關系運算符5、邏輯運算符,求值:2+3>1+4.AND..NOT.6<8,算數(shù)運算符的優(yōu)先級為()→^或**→*和/→%→+和-。,1、算術運算符,表達式的書寫規(guī)則:每個符號占1格,所有符號都必須排在同一橫線上,不能出現(xiàn)上標或下標。例如:102寫為10^2或10**2、3xy寫為3*x*y、2[x+5(y+z)]寫為2*(x+5*(y+z))、∏r2寫為pi()*r^2。練習:將下式寫為VFP算術表達式。2、字符串運算符,字符串表達式:“ab123”+”88xy”結果為:“ab12388xy”?!皻g迎光臨”+“謝謝惠顧!”結果為:“歡迎光臨謝謝惠顧!”?!癮bc“+”123“+”xyz“結果為:”abc123xyz“。“ABC“+”DEF”結果為:”ABCDEF”。3、日期時間運算符日期之間只能進行加減運算,有下面3種情況:(1)日期相減,得到相差的天數(shù)。(2)日期加數(shù)值,得到新的日期。(3)日期減數(shù)值,得到以前某個日期。,例如:{^2008/11/11}–{2008/11/1}結果為數(shù)值10。{^2008/11/11}+5結果為日期型數(shù)據(jù):{^2008/11/16}。{^2008/11/11}-3結果為日期型數(shù)據(jù):{^2008/11/8}。4、關系運算符,說明:關系運算符兩邊的表達式只能是數(shù)值型、字符串型、日期型,不能是邏輯型的表達式或值。字符型數(shù)據(jù)按其ASCII碼值進行比較,ASCII碼大的字符所在的串值大。(ASCII碼用0-127的數(shù)字表示字母和一些符號,其中空格(的ASCII碼)<0<1<2<…<9<…=0。,閏年的條件是:年號(year)能被4整除,但不能被100整除;或者能被400整除。結果為:(y%4=0.AND.Y%1000).OR.(y%400=0)7.1.5VFP常用函數(shù)1、數(shù)學函數(shù)MAX(表達式1,表達式2,…)求各表達式中的最大值。MIN()求各表達式中最小值。MOD(表達式1,表達式2)求表達式1除以表達式2的余數(shù)。?BETWEEN(15,10,30)&&結果顯示.T.score=80?IIF(score>=90,”優(yōu)”,”合格”)&&顯示:合格。2、字符串函數(shù)LEN(表達式)求字符串表達式長度。SUBSTR(表達式,n[,m])從字符串表達式中提取從n開始的m個字符的字符串,若省略m,則取n開始的所有字符串。,SUBSTR(“11/30/03”,7,2)=“03"LOWER(表達式)將字符串表達式中的大寫字母轉化為小寫字母,其余不變。UPPER(表達式)與上相反。3、日期時間函數(shù)DATE()取系統(tǒng)當前日期。TIME()取系統(tǒng)當前時間。DATETIME()YEAR(日期表達式)取日期表達式的年份值,返回整數(shù)。MONTH(日期表達式)取日期表達式的月份值,返回整數(shù)。DAY(日期表達式)取日期表達式的月份值,返回整數(shù)。LISTYEAR(出生日期),4、類型轉化函數(shù)STR(數(shù)值表達式)轉換數(shù)值表達式為數(shù)字字符串。CTOD(表達式)將字符串轉化為日期型。DTOC(表達式)將日期型表達式轉化為字符串。86年出生的表達式:SUBSTR(DTOC(出生時間),7,2)="86"等價于:YEAR(出生時間)=1986出生時間必須為日期型。,1、求3的10次方。2、求199除以5得的余數(shù)。3、"1995"+"年"+"8"+"月"+"日"結果為什么?4、"聞雞起舞"+"枕戈待旦"5、"聞雞起舞"-"枕戈待旦"6、{^2008/11/11}-3結果為?7、3#9結果為?(或、!=)8、"菊"$"采菊東籬下"結果為?9、陶潛==陶精確匹配,結果為?10、(1>8).AND.(28).OR.(2=480&&顯示入學成績大于480的所有記錄。Go2RECALLALL&&取消當前表中所有記錄的刪除標記。FIELDS子句:后面可以跟字段名和表達式。LISTFIELDS姓名,性別,出生時間,入學成績&&后跟字段名LISTFIELDS“姓名”+姓名,”性別”,性別,FOR子句:LISTFOR性別.AND.入學成績>=480LISTFIELDS姓名,入學成績FOR性別.AND.入學成績>=480LISTFIELDS“姓名”+姓名,”性別”,性別FOR.NOT.性別LISTALLFIELDS學號,入學成績FOR入學成績>=460.AND.性別DISPLAYFOR出生時間的作用是:在規(guī)定的中,按檢查全部記錄。即從第1條記錄開始,,滿足條件的就執(zhí)行該命令,不滿足條件就跳過去繼續(xù)搜索,直到最后一條記錄。若省略,則默認為ALL。,命令書寫規(guī)則:1)每條命令必須以一個命令動詞開頭。2).T..F.兩個邏輯值中的小數(shù)點與字母間不能有空格。3)一個命令行的最大長度是254個字符,空格數(shù)也包括在內。4)如果一個命令太長,一行寫不下,可以使用續(xù)行符“;”。5)不區(qū)分大小寫。6)命令動詞和子句中的短語可以用其前4個字符縮寫表示。如DISPLAYSTRUCTURE可簡寫為DISPSTRU。7)不要用A到I之間的單個字母作為表名,因為它們已被保留作數(shù)據(jù)庫工作區(qū)的名稱。8)不要用VFP的保留字作文件名、字段名、變量名等。9)一行只能寫一條命令,每條命令的結束標志是回車鍵。10)數(shù)據(jù)庫文件后綴為.DBC、表文件名后綴為.DBF、備注文件.FPT。,7.2VFP數(shù)據(jù)表7.2.1數(shù)據(jù)表的基本概念數(shù)據(jù)表:一些有組織數(shù)據(jù)的集合,由行、列組成的二維表格。簡稱表(Table)。一個數(shù)據(jù)庫包含一個或多個二維表,表表示現(xiàn)實世界的關系或實體,各個數(shù)據(jù)表之間可能存在某種關系。字段:數(shù)據(jù)表中的每一列稱為一個字段,它對應表格中的數(shù)據(jù)項,每個數(shù)據(jù)項的名稱稱為字段名(屬性),如“年齡”、“性別”、“學號”、“入學時間”等都是字段名。記錄:表中每一數(shù)據(jù)行成為一條記錄,每條記錄由許多字段組成,如“2006001、趙小霞、女、1987年6月12日、490、計算機、程家吉”。,St.dbf數(shù)據(jù)表,7.2.2啟動VFP7.2.3建立數(shù)據(jù)表可以在VFP中建立兩種表:數(shù)據(jù)表和自由表。數(shù)據(jù)表是數(shù)據(jù)庫的一部分,自由表可以獨立存在于任何數(shù)據(jù)庫之外。數(shù)據(jù)庫文件后綴為.DBC、表文件名后綴為.DBF、備注文件.FPT。1)利用“表設計器”創(chuàng)建新表。2)追加記錄。3)使用命令創(chuàng)建新表CREATETABLE(()[,()],字符型(C)由字母(漢字)、數(shù)字、空格等任意字符串組成。每個字符占1字節(jié),漢字占2字節(jié)。長度0-254。貨幣型(Y)存儲與貨幣有關的數(shù)據(jù),如工資、價格等。日期型(D)保存不帶時間的日期,存儲格式為“yyyymmdd”。字段寬度8字節(jié)。日期時間型(T)包括年、月、日、時、分、秒。邏輯型(L)用于存儲只有兩個值的數(shù)據(jù),存入的值只有(.T.)和(.F.)兩種狀態(tài),占1個字節(jié)。如婚否,及格否等。,數(shù)值型(N)用來存儲由數(shù)字、小數(shù)點和正負號組成的,可以進行計算的數(shù)據(jù),如成績、重量、體積、訂貨數(shù)量等。整型(I)存放由數(shù)字和正負號構成的整數(shù)型數(shù)據(jù)。其字段寬度為4字節(jié)。使用整型比使用其它類型節(jié)省空間,運算速度也快。備注型(M)占用10個字節(jié)的空間,單獨存在于一個備注文件中,備注文件擴展名為.DBT。1、創(chuàng)建新表命令CREATETABLESt_1(學號c(7),姓名C(6),性別L(1),出生時間d(8),入學成績n(6,1),所在系c(10),系負責人c(8)),2、打開表命令USESt3、關閉表命令USE4、添加記錄命令APPEND7.2.4瀏覽數(shù)據(jù)表USESt(如果當前表不在默認路徑下,一定要加路徑)BROWSEUSE“d:\vfp\st.dbf”顯示數(shù)據(jù)還可以使用LIST和DISPLAY命令。命令格式如下:LIST或DISPLAY[][FIELDS][FOR][OFF](DISPLAY若沒有FOR語句,則只顯示當前行。若不指定FIELDS,則輸出所有字段。加上OFF,則顯示系統(tǒng)加上的記錄號,反之,不顯示。),顯示所有數(shù)據(jù):LIST或DISPLAYALL。顯示當前記錄:DISPLAY不帶記錄號現(xiàn)實當前記錄:DISPOFF顯示男同學的姓名和出生時間:DISPLAY姓名,出生時間FOR性別或LIST姓名,出生時間FOR性別,顯示入學成績在480分以上的女生的學號、姓名、性別、入學成績。LISTOFF“學號:”+學號,姓名,性別,入學成績FOR.not.性別.and.入學成績>=480顯示女同學的姓名和年齡:DISP姓名,year(date())-year(出生時間)FOR性別編輯模式:EDIT與CHANGE命令等價。例如:修改當前記錄EDIT修改第n條記錄EDITn修改包括當前記錄在內的n條記錄:EDITNEXTn,,列出8月份出生的女同學的姓名和出生時間?列出年齡大于等于20歲的學生紀錄,要求不顯示記錄號?,記錄指針的移動:①絕對定位:GOTOP、GOBOTTOM、GO。②相對定位:SKIP。n>0下移、n19)。INDEXON學號toxhforyear(date())-year(出生時間)>=22LIST4、查詢記錄使用普通索引、候選索引或主索引,可以進行記錄排序,以便提高顯示、查詢或打印的速度。①字符查找例:在已經(jīng)建立的索引文件的基礎上,查找姓名為“李才”和學號為“2006011”的記錄。,SETORDERTOxmFIND李才DISPSETORDERTOxhFIND2006011DISPFIND2006001DISP注意:使用SETORDER命令,可以改變表單中記錄的順序。格式為:SETORDERTO(索引名為已存在的索引)。FIND字符查找命令,查找關鍵字與所給字符串相匹配的第一個記錄。若找到,指針指向該記錄,否則指向文件尾。FIND|,②表達式查找:例:以性別為關鍵字建立索引,并查找第一個男生記錄和第一個女生記錄.INDEXON性別TOxbSETORDERTOxbLISTSEEK.T.DISPSEEK.F.DISPSEEK命令查找關鍵字與所給字符串相匹配的第一個記錄。若找到,指針指向該記錄,否則指向文件尾,給出信息“沒找到”。語法格式為:SEEK刪除所有索引:DELETETAGALL。刪除索引:DELETETAG索引名。,說明:只能找出符合條件的第一條記錄,該命令可以查找字符、數(shù)值、日期和邏輯型索引關鍵字。若為字符串,則必須用界限符號括起來(‘’,“”,[])。若是找到了符合條件的首記錄,則函數(shù)FOUND()的值為.T.,否則為.F.。順序查詢例:在數(shù)據(jù)表中依次查找86年出生的學生記錄。USESTLISTLOCATEFORSUBSTR(DTOC(出生時間),7,2)=“86”DISPCONTINUEDISPCONTINUEDISP,將記錄指針定位在第一條中文系學生紀錄上?將記錄指針定位在第一條成績大于500分的學生紀錄上?,LOCATE命令是在不建立索引的條件下,查找當前數(shù)據(jù)表中滿足條件的第一條記錄。語法格式為:LOCATE[][FOR]④統(tǒng)計記錄建立數(shù)據(jù)表后,常常要對數(shù)據(jù)表中數(shù)值型字段的記錄進行統(tǒng)計。統(tǒng)計記錄數(shù)COUNT:例:分別統(tǒng)計女生人數(shù)和入學成績>480分的學生記錄。USEstLISTCOUNTFOR.NOT.性別TOnCOUNTFOR入學成績>=480TOx?n,x,統(tǒng)計函數(shù)使用COUNT命令,格式為:COUNT[][FOR][TO]求和SUM:例:求女生入學成績之和。SUM入學成績FOR.NOT.性別TOnu求平均值AVERAGE:例:求86年出生的學生的平均入學成績,以及中文系男學生的平均入學成績。AVERAGE入學成績FORSUBSTR(DTOC(出生時間),7,2)=“86”TOpjcj,AVERAGE入學成績FORSUBSTR(DTOC(出生時間),7,2)=“86”另外一種寫法:AVERAGE入學成績FORYEAR(出生時間)=1986LISTYEAR(出生時間)&&返回4位數(shù)整數(shù)。LISTFORYEAR(出生時間)>=1987,AVERAGEFOR所在系=“中文”TOpjszx?“86年出生的學生的平均入學成績?yōu)椋骸?str(pjcj)?“中文系學生的平均入學成績?yōu)椋骸?str(pjszx)AVERAGE命令格式為:AVERAGE[][][FOR][TO],補充內容:①索引的降序處理:如果是數(shù)字,可直接在前面加“-”號。如果是字符串,則格式如下:INDEXON出生時間TAGsjDESC②求最大值最小值函數(shù)(MAX和MIN函數(shù)的使用)。CALCULATESUM(入學成績),MAX(入學成績),MIN(入學成績),AVG(入學成績)CALCULATEMAX(入學成績)TOmaxcj,③復制數(shù)據(jù)到新文件命令如下:COPYTOFIELDSFORCOPYTO學生2.dbfFIELDS姓名,補助,出生日期FOR專業(yè)="計算機",對計算機專業(yè)的學生按年齡的降序排列,生產新表table1.dbf,且只包含姓名、性別、出生時間3字段?將1986年出生的同學按分數(shù)升序排列,并生成新表table2?,常用的操作命令總結:子句4種情況:ALL操作對象為表中全部數(shù)據(jù)。NEXT操作包括當前記錄在內的以下n條記錄。RECORD只操作第n個數(shù)據(jù)。REST操作從當前到結尾的記錄。顯示表中記錄LIST、DISPLAYLIST[][FIELDS][FOR][OFF]LISTALLFIELDS學號,語文FOR語文>=85.AND.性別DISPLAYFOR出生日期=480TOx?n,xSUM入學成績FOR.NOT.性別TOnuSUM入學成績FOR所在系="計算機"TOnumberAVERAGE入學成績FORSUBSTR(DTOC(出生時間),7,2)="86"TOpjcj(或YEAR(出生時間)=1986)AVERAGE入學成績FOR所在系="中文"TOpjszx,,,,⑦用命令建立索引INDEXON[FOR]INDEXON學號TOxhLISTINDEXON-入學成績TOcjLISTINDEXON姓名TAGxmDESC按姓名的降序建立索引(默認為升序)。LIST,復制數(shù)據(jù)到新文件命令如下:COPYTOFIELDSFORCOPYTO學生2.dbfFIELDS姓名,補助,出生日期FOR專業(yè)="計算機",- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 數(shù)據(jù)庫應用基礎 數(shù)據(jù)庫 應用 基礎 PPT 課件
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經(jīng)上傳用戶書面授權,請勿作他用。
相關資源
更多
正為您匹配相似的精品文檔
相關搜索
鏈接地址:http://ioszen.com/p-13094794.html