- Visual FoxPro程序設計
- 黃玲芳 劉建蘭主編
- 1920字
- 2019-07-25 11:48:25
3.1 數據庫操作
3.1.1 數據庫設計
在數據庫應用系統中數據庫是核心,數據庫的設計將很大程度上決定開發的成敗。正確地設計表的結構和數據庫才能準確地為用戶提供信息并方便用戶操作,從而提高用戶的工作效率,起到事半功倍的作用。
數據庫的設計步驟如下。
(1)分析數據需求,確定應用程序的功能。
綜合各類用戶提出的需求,確定所設計的應用程序的功能、應用范圍和所需信息。本書將以人事工資數據庫為例,根據各類管理人員的要求確定要創建的數據庫可以存儲所有的個人基本信息、工資信息、部門信息,以及工資變化信息等。
另外,數據庫還要具有根據各種情況進行統計和查詢的功能,如統計部門人數和職工工資,以及根據各種要求查詢人事信息等。
(2)收集和規劃數據。
根據所設計的應用程序的功能收集所要的數據,然后根據數據間的關系把數據劃分成若干個相對獨立的部分,每一部分存儲在一個表中。筆者把人事工資數據庫中的數據分為4類,即人事信息、工資信息、部門信息及增加工資信息,每一部分存儲在一個表中,如表3-1~表3-4所示。
表3-1 人事信息表

表3-2 工資信息表

表3-3 部門信息表

表3-4 工資增加表

(3)設計表的結構。
確定數據庫中的表和表的結構,即定義表中字段個數、字段名稱、字段數據類型和字段寬度等。根據需求分析的結果進行數據庫的概念設計和邏輯設計,如表3-5~表3-8所示。
表3-5 人事表RSB的結構

表3-8 增加工資表ZZ的結構

表3-6 工資表Gzb的結構

表3-7 部門代碼表BMDM的結構

(4)確定表間關系。
為了方便程序設計與數據處理,把要處理的數據分成若干個相互獨立的表。但在程序設計時表中的數據并不是獨立的,有時只需要一個表中的數據,有時需要兩個表中的數據,甚至是多個表中的數據。為此要求數據庫中不同表中的數據能夠按照一定的關系重新進行組合,即要創建表之間的聯系。
(5)定義數據庫的增強特性。
確定實體完整性規則、參照完整性規則、有效性檢驗和其他特性,具體實現方法后面再做介紹。
(6)優化設計。
如果設計的數據庫有缺陷,便會導致數據難于使用和維護。因此確定所需的表、表結構和表間關系后應該仔細研究設計方案,以求設計精益求精。消除不必要的重復字段,減少冗余。
3.1.2 創建數據庫
創建數據庫的方法有多種。
1.通過菜單方式創建數據庫
例3-1:在E盤RSGZK目錄下創建人事工資RSGZK數據庫。
操作步驟如下。

圖3-1 “新建”對話框
(1)選擇“文件”|“新建”選項,彈出“新建”對話框,如圖3-1所示。
(2)選中“數據庫”單選按鈕,單擊“新建文件”按鈕,彈出“創建”對話框,如圖3-2所示。

圖3-2 “創建”對話框
(3)設定保存數據庫文件的文件夾并輸入數據庫文件名,這里輸入“RSGZK.dbc”。
(4)單擊“保存”按鈕,彈出“數據庫設計器-Rsgzk”窗口,如圖3-3所示;同時“數據庫設計器”工具欄也變為有效狀態。

圖3-3 “數據庫設計器-Rsgzk”窗口
注意:如果在命令或程序中未指定路徑,系統會從默認的VFP 9.0的安裝目錄中讀取和保存文件。為了不把自己的數據文件與VFP 9.0混在一起,最好創建一個自己的工作目錄來存放數據文件,以避免在打開和保存數據文件時反復選擇目錄的麻煩。本書所設定的默認目錄為E:\RSGZK。
2.通過命令方式創建數據庫
格式:CREATE DATABASE [<數據庫文件名>]
功能:創建一個數據庫文件,若未指定數據庫文件名,則彈出“創建”對話框,等待用戶選中保存數據庫文件的文件夾和輸入數據庫文件名。數據庫文件的擴展名默認為“.dbc”。
例如:
CREATE DATABASE E:\教務管理
它的功能是在E盤創建一個名為“教務管理”的數據庫。
注意:使用該命令創建數據庫后打開的僅僅是數據庫,并不打開“數據庫設計器”窗口。如果要打開“數據庫設計器”窗口,則在命令窗口中輸入MODIFY DATABASE命令。
3.1.3 打開和關閉數據庫
處理數據庫之前應先打開數據庫。
1.打開數據庫
(1)菜單方式。
● 選擇“文件”|“打開”選項,彈出“創建”對話框,如圖3-4所示。

圖3-4 “創建”對話框
● 在“保存在”下拉列表框中選擇數據庫文件所在的位置,在“保存類型”下拉列表框中選擇文件類型為“數據庫(*.dbc)”,然后選擇數據庫文件名。
● 單擊“確定”按鈕,彈出“數據庫設計器”窗口,系統菜單中的“格式”菜單項變為“數據庫”。
(2)命令方式。
格式:OPEN DATABASE [<數據庫文件名>|? ] [NOUPDATE][ EXCLUSIVE|SHARED]
功能:打開指定的數據庫。
說明如下。
● ? :系統彈出“打開”對話框。
● NOUPDATE:指定以只讀方式打開數據庫。
● EXCLUSIVE:指定以獨占方式打開數據庫。
● SHARED:指定以共享方式打開數據庫。
例3-2:打開E盤RSGZK目錄下的RSGZK數據庫。
OPEN DATABASE E:\RSGZK\ RSGZK
注意:以這種方式打開的數據庫不打開“數據庫設計器”窗口。
如果需要在打開數據庫的同時打開“數據庫設計器”窗口修改數據庫,則用以下命令:
MODIFY DATABASE [<數據庫文件名>|? ]
2.關閉數據庫
(1)菜單方式。
選擇“文件”|“關閉”選項,關閉正在使用的數據庫。
(2)命令方式。
格式1:CLOSE DATABASES
功能:關閉所有打開的數據庫和數據表。
格式2:CLOSE ALL
功能:關閉所有打開的數據庫和數據表,以及除主窗口之外的所有窗口。
- Spring Boot 2實戰之旅
- 演進式架構(原書第2版)
- R語言經典實例(原書第2版)
- Developing Mobile Web ArcGIS Applications
- HTML5游戲開發案例教程
- 編譯系統透視:圖解編譯原理
- PySide GUI Application Development(Second Edition)
- Visual Basic程序設計
- Python機器學習算法: 原理、實現與案例
- Mastering Linux Security and Hardening
- Learning Hadoop 2
- Red Hat Enterprise Linux Troubleshooting Guide
- Xcode 6 Essentials
- SQL Server 入門很輕松(微課超值版)
- 零基礎看圖學ScratchJr:少兒趣味編程(全彩大字版)