數據庫電子教案第02講
單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,上一頁,下一頁,第2講 Visual FoxPro 關系數據庫入門,返 回,2.1 Visual FoxPro 系統概述,2.4 Visual FoxPro 應用系統開發(fā)的基本步驟,2.2 Visual FoxPro 的主要文件類型及創(chuàng)建工具,2.5 Visual FoxPro 數據庫設計,2.3 Visual FoxPro 的數據類型,2.6 Visual FoxPro 的啟動與退出,1,2.1 Visual FoxPro,系統概述,2.1.1,歷史沿革,VFP起源于Xbase 微機數據庫系列。,(1)1981年,美國 Ashton-Tate,公司推出dBASEII 微機關系數據庫產品。,(2)1884年,美國Fox software 公司推出FoxBASE,性能比dBASE 先進。,(3)1989年,Fox software 公司推出 FoxPro 1.0,以后不斷升級,性能不斷改進。,(4)1992年,微軟兼并 Fox software 公司,(5)1995年,推出面向對象的數據庫Visual FoxPro 3.0,1997年,推出Visual FoxPro 5.0,1998年推出Visual FoxPro 6.0,(目前已經推出Visual FoxPro 8.0,9.0,等新版本),2,返 回,2.1.2 Visual FoxPro的主要特點,1.采用可視化操作界面、面向對象的程序設計方法。,Visual FoxPro提供了多種可視化編程工具,利用面向對象技術,通過重復使用各種類,可以直觀地建立數據庫應用程序。,2.功能強大的項目和數據庫管理。,Visual FoxPro可以對項目和數據進行很強的控制,能夠使用源代碼管理產品,同時可以在項目管理器中看到組件的狀態(tài)。利用項目管理器,用戶可以完成一個應用系統全部開發(fā)工作并實現可視化管理。,3.大量使用可視化的界面操作工具。,往常,設計應用程序的界面時要耗費設計人員的大量精力和時間,而Visual FoxPro 提供有三類界面操作工具:向導、設計器和生成器,其數量達40多種。這些操作工具均采用圖形界面,使用戶能夠以簡單的操作完成各種設計任務,提高應用程序開發(fā)的生產率。,3,返 回,4.提供OLE技術實現應用集成。,OLE(Object Linking and Embedding,對象鏈接與嵌人)是Microsoft公司開發(fā)的一項重要技術。,5.強大的網絡功能。,Visual FoxPro可以用于單機環(huán)境,但更重要的是它適用于網絡環(huán)境,其強大的網絡功能體現為以下三個方面:,(1)支持客戶/服務器結構。Visual FoxPro可訪問本地計算機,也支持對服務器的訪問。,(2)對于來自本地、遠程或多個數據庫表的異種數據,Visual FoxPro 可支持用戶通過本地或遠程視圖訪問與使用,并在需要時更新數據庫表中的數據。,(3)在多用戶環(huán)境中,Visual FoxPro還允許建立事務處理程序以控制對數據的并發(fā)訪問。包括支持用戶共享數據,或限制部分用戶訪問某些數據等。,4,6.可以直接使用SQL進行操作和編程,Visual FoxPro不僅有自己的一套語言系統,可以進行各種操作和編寫程序,而且可以直接使用國際標準化組織(ISO)推薦的“SQL”(結構化查詢語言的縮寫)進行操作和編寫程序。由于SQL具有通用性和簡潔性,使用SQL可以顯著提高操作和編寫程序的效率。,由于SQL的特殊重要性,我們將把SQL的學習貫穿整個教學過程。,5,2.2,Visual FoxPro,的主要文件類型及創(chuàng)建工具,2.2.1,主要文件類型,1.項目文件(Project),是用戶為所開發(fā)的應用軟件系統建立的文件。它的擴展名為.pjx。,該文件同時是一個“項目管理器”,把應用系統的所有其他文件集合成為一個有機整體。形成一個可視化的管理控制中心。,2.數據庫(Database),數據庫是應用系統所有數據的管理中心。是項目文件建立后第二個必須建立的重要文件。其擴展名為.dbc。數據庫統一管理存放數據的表、視圖以及表之間的聯系,保證數據的完整性。,3.表(Table),表即為存放具體數據的二維表。其擴展名為.dbf。Visual FoxPro的表分為兩種:數據庫表和“自由表”。,圖2-1 主要文件類型,6,4.視圖(View),視圖是一個定制的虛擬表或邏輯表,它是有一個已經存在或多個相關的數據表根據需要組織起來的查看數據表的一個窗口,通過它不僅可以查看表中感興趣的內容,而且可以更新表的數據。,視圖分為本地視圖和遠程視圖。,5.查詢(Query),從指定的表或視圖中快速地篩選出需要的記錄,為報表或表單組織信息,或用查詢結果創(chuàng)建新的表和圖形。,6.表單(Form),表單是應用系統最主要的操作界面,是最體現面向對象程序設計的思想和方法的工具。表單又是實現各種操作功能的“窗口”,如數據的輸入、維護、查詢、報表打印等。Visual FoxPro面向對象的程序設計主要是各種表單的設計。其擴展名是.scx。,7.報表(,Report),報表是Visual FoxPro最重要的打印輸出文件,也是一個應用系統設計的重要部分。實際管理工作中需要打印各種報表。報表文件的擴展名為.frx。,7,8.標簽(Label),標簽是類似“名片”形狀的打印輸出方式。即表中的每一條記錄分別作為一個輸出單元。每張紙可以打印若干個“標簽”。標簽文件的擴展名為.Lbx。,9.程序(Program),程序即命令文件。擴展名為.prg。在面向對象的程序設計中,需要編寫的程序文件不多了。絕大部分都由可視化表單代替。但是掌握程序設計的基本結構和方法,仍是系統開發(fā)的基本功。,10.菜單(Menu),菜單能夠表示應用系統功能并通過它調用各種程序和表單等。,Visual FoxPro的文件還包括一些其他類型的文件。如可執(zhí)行文件(.exe)和應用程序文件(.app)等。,8,2.2.2 向導、設計器、生成器簡介,1.向導,向導是一種交互式程序。用戶在向導的指引下,通過選擇或輸入適當參數,系統即可直接生成相應的文件。,向導自動生成的文件的,(表單、報表等)往往,具有局限性,如果用戶不滿意,可以在相應的設計器中進行修改。,2.設計器,如果說向導是幫助程序設計的“傻瓜式”的工具,設計器就是創(chuàng)建和修改應用系統各種組件的“基本可視化工具”。系統提供了許多設計器。利用各種設計器使得創(chuàng)建和修改表、表單、數據庫、查詢和報表變得輕而易舉,表2-1列出不同設計器的名稱和功能。,3.生成器,生成器是帶有選項卡的對話框,用于簡化對表單、復雜控件和參照完整性代碼的創(chuàng)建和修改過程。每個生成器顯示一系列選項卡,用于設置選中對象的屬性??墒褂蒙善髟跀祿毂碇g生成控件、表單、設置控件格式和創(chuàng)建參照完整性。,9,2.3,Visual FoxPro,的數據類型,Visual FoxPro數據庫可以存放多種類型的數據,即表中字段的類型可以有多種,如圖2-2所示。對常用類型介紹如下:,(1),字符型,:簡稱C型,是默認的數據類型。一個字符型字段最長為255個字符。用戶可按需要確定寬度。,(2),貨幣型,:簡稱Y型。貨幣單位,如價格。寬度為8,自動取4位小數。,(3),數值型,:簡稱N型。整數或小數,如考試分數。需要用戶確定其寬度。最多可以有20位數字(包括小數點)。,(4),浮動型,:簡稱F型。整數或小數,如考試分數。需要用戶確定其寬度。與數值型相似,最多可以有20位數字(包括小數點)。,(5),日期型,:簡稱D型。表示年月日,如出生日期等,標準寬度為8個字符長度。,(6),日期時間型,:簡稱T型。表示年月日和時分秒,標準寬度為8個字符長度。,圖2-2 數據類型,10,(7),雙精度型,:,簡稱,B,型,,寬度為8,自動取6位小數。一般用于精度要求很高的數據。,(8),整型,:,簡稱,I,型,寬度為。,只能取整數。,(9),邏輯型,:簡稱L型。只有兩個值,真(.T.)或假(.F.),標準寬度為1。,(10),備注型,:簡稱M型。存放不定長文本,如個人簡歷等。標準寬度度為4。,(11),通用型,:簡稱G型。存放任意文件,如電子表格、圖片、照片等,標,準寬度為4。,11,2.4 Visual FoxPro,應用系統開發(fā)的基本步驟,根據結構化系統開發(fā)思想和方法,一個數據庫應用系統的開發(fā)步驟如下。,1.系統需求分析,確定開發(fā)項目,進行實地調查,明確用戶需求。,2.數據庫設計,根據用戶需求進行數據庫設計。,3.系統功能分析與設計,用結構化系統分析和設計方法,進行系統功能分解和設計。,以上三個步驟屬于系統分析和設計階段。下面的步驟屬于系統實施階段。,4.創(chuàng)建項目和數據庫,按照設計方案創(chuàng)建項目和數據庫、表的結構,同時輸入若干用于程序調試的數據。,5.報表設計,按照用戶的需要設計打印報表和標簽。,12,6.編寫主程序和建立系統菜單,在學習和掌握程序設計思想和方法的基礎上設計應用系統的主程序和系統菜單,搭建系統的框架。,7.設計系統的主要操作界面表單,運用面向對象程序設計方法,設計應用系統的操作界面表單。這是系統程序設計工作量最大的部分。,8.連編項目程序和創(chuàng)建系統安裝盤,將以上步驟完成的所有文件進行連接編譯,形成系統的可執(zhí)行文件(.exe),然后利用安裝向導制作系統的安裝盤。,13,2.5 Visual FoxPro,數據庫設計,2.5.1 數據庫設計的原則,進行數據庫設計時,需要遵循以下主要原則:,(1)概念單一化、“一事一地”的原則,所謂概念單一化,“一事一地”的原則是指:讓一個關系描述一個概念,一個實體或者 實體之間的一種聯系。,(2)避免在表中間出現重復字段,例如,在學生表中已經存在的姓名、性別等字段,在成績表中就不必再出現了,而只需保留一個“學號”作為兩個表聯系的“公共字段”。,(3)表中的字段必須是原始數據和基本數據元素,表中不應該包括通過計算可以得到的屬性或多項數據的組合。例如在“學生表”中,已經有“出生日期”字段,就不必再有“年齡”字段,因為“年齡”可以通過“出生日期”計算出來。,(4)用外部關鍵字保證有關聯的表之間的聯系。,表之間的關聯依靠外部關鍵字來維系,使得表具有合理結構。,14,2.5.2 數據庫設計的步驟,可以按照以下步驟設計數據庫。,1需求分析,了解管理需求,確定數據庫應保存哪些信息。用戶需求主要包括三個方面,(1)信息需求;,(2)處理需求;,(3)安全性及完整性要求。,在進行需求分析時應該與用戶充分交流,細致耐心地了解業(yè)務處理流程,盡可能收集所有基礎資料。如報表、合同、檔案、原始單據等。,2確定需要的表,根據系統存在的實體及他們之間的聯系,確定需要建立哪些表。一般每個實體都要建立一個表,存儲它的相關信息。實體之間的聯系也要建立一個表。,15,3確定所需字段,確定每個表中需要保存哪些字段,應包括實體的主要屬性。確定字段時要同時確定字段的四個要素:即字段名、數據類型、寬度,如果是數值型字段,還要確定小數位數。,需要確定每個表的主關鍵字。,4確定聯系,5設計求精,對設計進一步分析,找出其中的錯誤,改正;創(chuàng)建表,并輸入一些示例數據,看是否可以的到預想的結果,必要時進行修改。,16,2.5.3 “教學管理系統”數據庫設計案例,1需求分析,2確定需要的表,(1)xsb(學生表):存放學生的基本信息;,(2)kcb(課程表):存放課程的基本信息;,(3)zyb(專業(yè)表):存放各專業(yè)的基本信息,(4)czy(操作員):存放教學管理系統操作人員的姓名和密碼,(5)cjb(成績表):存放每個學生各門課程的期末考試成績;,(6)bkb(補考表):存放期末考試不及格同學的補考成績;,(7)lsb(臨時表):在輸入課程考試和補考成績時作為中轉表用。,以上7個表,就是“教學管理系統”數據庫中的全部表。,17,3代碼設計,本系統代碼的設計方案是:,學號,:,用,8,位數字表示。,從結構可以看出,學號是本,系統最重要的代碼,其