第七章數(shù)據(jù)庫基礎(chǔ)與應(yīng)用_第1頁
第七章數(shù)據(jù)庫基礎(chǔ)與應(yīng)用_第2頁
第七章數(shù)據(jù)庫基礎(chǔ)與應(yīng)用_第3頁
第七章數(shù)據(jù)庫基礎(chǔ)與應(yīng)用_第4頁
第七章數(shù)據(jù)庫基礎(chǔ)與應(yīng)用_第5頁
已閱讀5頁,還剩98頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

數(shù)據(jù)庫基礎(chǔ)數(shù)據(jù)庫是計算機(jī)系統(tǒng)的一個重要組成部分。

數(shù)據(jù)庫技術(shù)是信息技術(shù)中應(yīng)用最廣泛的技術(shù)之一。計算機(jī)系統(tǒng)硬件軟件系統(tǒng)軟件應(yīng)用軟件OSDBMS編譯VisualFoxPro是DBMS的一員。數(shù)據(jù)管理技術(shù)的發(fā)展

數(shù)據(jù)處理是對各種類型的數(shù)據(jù)進(jìn)行收集、存儲、分類、計算、加工、檢索和傳輸?shù)鹊倪^程。

數(shù)據(jù)處理的五個步驟(五個環(huán)節(jié)):原始數(shù)據(jù)的收集數(shù)據(jù)的規(guī)范化及其編碼數(shù)據(jù)輸入數(shù)據(jù)處理數(shù)據(jù)輸出數(shù)據(jù)處理的中心問題是數(shù)據(jù)管理。數(shù)據(jù)管理是對數(shù)據(jù)的分類、組織、編碼、存儲、檢索和維護(hù)。數(shù)據(jù)庫發(fā)展歷史----數(shù)據(jù)處理技術(shù)角度計算機(jī)數(shù)據(jù)處理技術(shù)經(jīng)歷了如下4個階段:取決于兩方面的因素:

實(shí)際應(yīng)用的需求,即實(shí)踐中對數(shù)據(jù)管理的要求達(dá)到什么程度。承載平臺的功能,即硬件功能是否強(qiáng)大,軟件環(huán)境是否完善。(1)人工管理階段。(2)文件管理階段。(3)數(shù)據(jù)庫系統(tǒng)階段。(4)高級數(shù)據(jù)庫階段。無管理階段(或人工管理階段)背景:計算機(jī)主要用于科學(xué)計算。特點(diǎn):沒有軟件系統(tǒng)對數(shù)據(jù)進(jìn)行管理;數(shù)據(jù)的組織方式由程序員自行設(shè)計;一組數(shù)據(jù)對應(yīng)一個程序,數(shù)據(jù)不能共享,數(shù)據(jù)不具有獨(dú)立性。數(shù)據(jù)的冗余度大。數(shù)據(jù)和程序的相互依賴!FORI=1TO5READA(I)S=S+A(I)NEXTIAVER=S/5FORI=1TO5PRINTA(I);NEXTIPRINTPRINTAVERDATA89,77,76,86,90ENDQB8-1文件系統(tǒng)階段背景:計算機(jī)已大量用于管理。特點(diǎn):數(shù)據(jù)可以以文件形式保存,數(shù)據(jù)文件組織多樣化(索引、鏈接、直接存取文件等)。利用操作系統(tǒng)提供的文件系統(tǒng)管理數(shù)據(jù),但數(shù)據(jù)冗余度大,易造成數(shù)據(jù)的不一致性;程序與數(shù)據(jù)具有相對獨(dú)立性。

OPEN“STU.DAT”FORINPUTAS#1DOWHILENOTEOF(1)INPUT#1,NO$,NAME$,MATH,PHYSPRINTNO$,NAME$,MATHLOOPCLOSE#1STU.DAT“9901”,”LIJING”,”95”,”67”“9902”,”WANGHUA”,”87”,”97”數(shù)據(jù)庫系統(tǒng)階段背景:計算機(jī)更廣泛地應(yīng)用于各個領(lǐng)域,數(shù)據(jù)共享要求越來越強(qiáng)。特點(diǎn):采用數(shù)據(jù)模型表示復(fù)雜的數(shù)據(jù)結(jié)構(gòu);

數(shù)據(jù)冗余度??;

數(shù)據(jù)獨(dú)立性高;

提供了數(shù)據(jù)安全性、完整性等控制功能,以及對數(shù)據(jù)操作的并發(fā)控制、數(shù)據(jù)的備份與恢復(fù)等功能;方便的用戶接口。數(shù)據(jù)庫技術(shù)發(fā)展--數(shù)據(jù)模型的發(fā)展

數(shù)據(jù)庫技術(shù)最初產(chǎn)生于20世紀(jì)60年代中期,根據(jù)數(shù)據(jù)模型的發(fā)展,可以劃分為三個階段:

第一代的網(wǎng)狀、層次數(shù)據(jù)庫系統(tǒng);

第二代的關(guān)系數(shù)據(jù)庫系統(tǒng);

第三代的以面向?qū)ο竽P蜑橹饕卣鞯臄?shù)據(jù)庫系統(tǒng)。第一代數(shù)據(jù)庫的代表:

1969年IBM公司研制的層次模型的數(shù)據(jù)庫管理系統(tǒng)IMS

70年代美國數(shù)據(jù)庫系統(tǒng)語言的網(wǎng)狀模型。

這兩種數(shù)據(jù)庫奠定了現(xiàn)代數(shù)據(jù)庫發(fā)展的基礎(chǔ)。教研室授課層次模型及其實(shí)例D06計算機(jī)趙一602軟件孫三601硬件錢二王五25助教801數(shù)據(jù)庫鄭六程序李四30講師微機(jī)(b)值

系號系名系主任名室號室名室主任名課程號課程名任課教員姓名年齡職稱專長課程教員系(a)型學(xué)生/選課/課程的網(wǎng)狀數(shù)據(jù)庫模式學(xué)生系別姓名學(xué)號學(xué)分課程號序號課程mn將m:n轉(zhuǎn)換為兩個1:n聯(lián)系學(xué)生系別姓名學(xué)號學(xué)分課程號序號成績課程號學(xué)號課程選課C-SCS-SC1n1n第二代數(shù)據(jù)庫的主要特征是支持關(guān)系數(shù)據(jù)模型(數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作、數(shù)據(jù)完整性)。關(guān)系模型具有以下特點(diǎn):1.關(guān)系模型的概念單一,實(shí)體和實(shí)體之間的連系用關(guān)系來表示;2.以關(guān)系數(shù)學(xué)為基礎(chǔ);3.數(shù)據(jù)的物理存儲和存取路徑對用戶不透明;4.關(guān)系數(shù)據(jù)庫語言是非過程化的。第三代數(shù)據(jù)庫產(chǎn)生于80年代,第三代數(shù)據(jù)庫支持多種數(shù)據(jù)模型(比如關(guān)系模型和面向?qū)ο蟮哪P停?,并和諸多新技術(shù)相結(jié)合(比如分布處理技術(shù)、并行計算技術(shù)、人工智能技術(shù)、多媒體技術(shù)、模糊技術(shù)),廣泛應(yīng)用于多個領(lǐng)域(商業(yè)管理、GIS、計劃統(tǒng)計等),由此也衍生出多種新的數(shù)據(jù)庫技術(shù)。

數(shù)據(jù)庫發(fā)展歷史----研究領(lǐng)域數(shù)據(jù)庫技術(shù)當(dāng)前的主要研究領(lǐng)域數(shù)據(jù)庫管理系統(tǒng)軟件的研制數(shù)據(jù)庫應(yīng)用系統(tǒng)實(shí)踐與開發(fā)數(shù)據(jù)庫理論數(shù)據(jù)庫系統(tǒng)(DataBaseSystem)

是實(shí)現(xiàn)有組織地、動態(tài)地存儲大量關(guān)聯(lián)數(shù)據(jù),方便用戶訪問的計算機(jī)軟硬件資源組成的具有管理數(shù)據(jù)庫功能的計算機(jī)系統(tǒng)。數(shù)據(jù)庫系統(tǒng)的構(gòu)成數(shù)據(jù)庫(DB)數(shù)據(jù)庫管理系統(tǒng)(DBMS)支持?jǐn)?shù)據(jù)庫運(yùn)行的軟、硬件環(huán)境數(shù)據(jù)庫管理員和用戶(DBA)在DBS中用戶通過DBMS可以建立和使用DB。使用DB是目的,而DBMS是實(shí)現(xiàn)目的的手段和工具。數(shù)據(jù)庫系統(tǒng)(DataBaseSystem)

DBS=DB+DBMS+DBA數(shù)據(jù)庫在計算機(jī)系統(tǒng)中的地位應(yīng)統(tǒng)系用應(yīng)具工發(fā)開用SMBD統(tǒng)系譯編統(tǒng)系作操件硬數(shù)據(jù)庫DB(Database)以一定的組織形式存放在計算機(jī)存儲介質(zhì)上的相互關(guān)聯(lián)的數(shù)據(jù)的集合叫數(shù)據(jù)庫。數(shù)據(jù)庫的特點(diǎn):數(shù)據(jù)具有最小的冗余度,即數(shù)據(jù)盡可能不重復(fù);資源共享性,即以最優(yōu)的方式服務(wù)于一個或多個應(yīng)用程序;數(shù)據(jù)獨(dú)立性,即數(shù)據(jù)的存儲盡可能獨(dú)立于使用它的應(yīng)用程序;數(shù)據(jù)安全可靠;保密性能好。數(shù)據(jù)庫管理系統(tǒng)(DBMS-DataBaseManagementSystem)是用于描述、管理和維護(hù)數(shù)據(jù)庫的程序系統(tǒng),是數(shù)據(jù)庫系統(tǒng)的核心組成部分。它建立在操作系統(tǒng)的基礎(chǔ)上,對數(shù)據(jù)庫進(jìn)行統(tǒng)一的管理和控制。其主要功能有:1.描述數(shù)據(jù)庫:描述數(shù)據(jù)庫的邏輯結(jié)構(gòu)、存儲結(jié)構(gòu)、語義信息和保密要求等。2.管理數(shù)據(jù)庫:控制整個數(shù)據(jù)庫系統(tǒng)的運(yùn)行,檢驗(yàn)數(shù)據(jù)的安全,執(zhí)行數(shù)據(jù)檢索、插入、刪除、修改操作。3.維護(hù)數(shù)據(jù)庫:控制數(shù)據(jù)庫初始數(shù)據(jù)的裝入,監(jiān)視數(shù)據(jù)庫性能,修改更新重新組織數(shù)據(jù)庫等。4.數(shù)據(jù)通信:組織數(shù)據(jù)的傳輸。數(shù)據(jù)庫管理系統(tǒng)DBMSDBMS是DBS的核心,是用于建立、使用和維護(hù)數(shù)據(jù)庫的系統(tǒng)軟件。DBMS是對DB進(jìn)行管理的軟件,是用戶與DB之間的接口。DBMS提供用戶對DB進(jìn)行操作的各種命令:

(DB的建立、記錄的輸入、修改、檢索、顯示、刪除和統(tǒng)計等)常見的DBMS有:DB2、Oracle、VFP、Access、PowerBuilder、MS-SQLServer等。DBMS的組成DBMS主要由“查詢”管理器、存儲管理器和事務(wù)管理器組成。模式修改查詢數(shù)據(jù)修改“查詢”管理器存儲管理器事務(wù)管理器數(shù)據(jù)和元數(shù)據(jù)存儲器DBMS的組成數(shù)據(jù)和元數(shù)據(jù)(有關(guān)數(shù)據(jù)的結(jié)構(gòu)的信息:

關(guān)系名、屬性名、屬性的數(shù)據(jù)類型、索引等)DBMS的輸入:查詢:要求數(shù)據(jù)庫回答一個問題。(交互方式、程序方式)

數(shù)據(jù)修改:修改數(shù)據(jù)的操作。(交互方式、程序方式)

模式修改:即結(jié)構(gòu)的修改,包括索引的修改。

此項(xiàng)工作一般由DBA完成。DBMS的組成存儲管理器(由文件管理器和緩沖管理器組成)文件管理器:按緩沖管理器的要求對磁盤進(jìn)行文件的存取。緩沖管理器:處理經(jīng)文件管理器取得的內(nèi)存中的數(shù)據(jù)?!安樵儭惫芾砥鹘M成:查詢、數(shù)據(jù)和元數(shù)據(jù)的修改任務(wù):將一個查詢操作或一個數(shù)據(jù)庫操作轉(zhuǎn)化為一系列的對現(xiàn)存數(shù)據(jù)的請求,并對存儲管理器發(fā)出命令,由存儲管理器完成操作。微機(jī)數(shù)據(jù)庫系統(tǒng)的發(fā)展

70年代后期,微機(jī)出現(xiàn),81年IBM公司開發(fā)出PC機(jī),同年美國Ashton-Tate公司推出PC上第一個數(shù)據(jù)庫產(chǎn)品dBASE。86年FoxSoftware公司推出FoxBASE,速度比dBASE快,功能更強(qiáng)。但:語言結(jié)構(gòu)復(fù)雜,命令語句多,界面過于簡單,程序生成功能較差,數(shù)據(jù)完整性較差。后來FOX公司并入微軟,推出FoxPro以界面的易用性吸引了用戶。95、97、98年微軟先后推出VFP3.0、VFP5.0、VFP6.0、VFP7.0

1992年微軟將Access捆綁在OFFICE中一起發(fā)售,帶來了小型數(shù)據(jù)庫的變革。1992年Access1.0、1993年Access2.01995年Access95、1997年Access97、1999年Access2000(9.0)等。,常用的小型數(shù)據(jù)庫有Access、Pradox、Foxpro等?,F(xiàn)在比較流行的大中型關(guān)系型數(shù)據(jù)庫有Oracle、SQLServer、SyBase、Informix等。小數(shù)據(jù)庫:文件容量有限(通常不超過2G);

同時可以使用的用戶數(shù)較少(盡管很多軟件允許255個用戶,但正常工作通常不超過20個用戶);安全功能較弱(xBase甚至于不能加密),不支持事務(wù)處理(有的任務(wù)需要一次同時更新多個表,如果因?yàn)榈綦娀蚱渌麊栴}造成有的表修改了,而有的表沒有修改會使數(shù)據(jù)出現(xiàn)錯誤,而事務(wù)處理就是解決這個問題的)。但大數(shù)據(jù)庫也有弱點(diǎn):比較昂貴、安裝和備份比較麻煩,系統(tǒng)資源占用多。Access、FoxPro、Pradox屬于上面提到的小型數(shù)據(jù)庫,而SQLServer屬于上面提到的大型數(shù)據(jù)庫。SQLServer2000支持的最大數(shù)據(jù)庫為1,048,516TB,而Access2000的最大容量為2GB,兩者在這方面不是一個量級的。在安全性上,也是SQLServer2000強(qiáng)很多。速度快慢要看你的任務(wù),因?yàn)镾QLServer2000對系統(tǒng)的要求比Access2000高很多。關(guān)系模型和二維表三個世界:現(xiàn)實(shí)世界、觀念(信息)世界、數(shù)據(jù)世界

現(xiàn)實(shí)世界觀念世界數(shù)據(jù)世界↓↓↓事物及聯(lián)系概念模型數(shù)據(jù)模型↓↓↓事物實(shí)體數(shù)據(jù)↙↘↙↘↙↘對象性質(zhì)對象屬性記錄字段(抽象)(數(shù)據(jù)表示)關(guān)系的性質(zhì)在關(guān)系模型中,對關(guān)系作了下列規(guī)范性限制:(1)關(guān)系中每一個屬性值都是不可分解的;(2)關(guān)系中不允許出現(xiàn)重復(fù)元組(即不允許出現(xiàn)相同的元組);(3)由于關(guān)系是一個集合,因此不考慮元組間的順序,即沒有行序;(4)元組中的屬性在理論上也是無序的,但使用時按習(xí)慣考慮列的順序。下一頁二維表的關(guān)鍵字超關(guān)鍵字:二維表中能唯一確定記錄的一個列或幾個列的組被稱為“超關(guān)鍵字”。侯選關(guān)鍵字:如果一個超關(guān)鍵字,去掉其中任何一個字段后不再能唯一確定記錄,則稱它為侯選關(guān)鍵字。侯選關(guān)鍵字既能唯一確定記錄,它包含的字段又是最精練的。

主關(guān)鍵字:從侯選關(guān)鍵字中選出一個作為主關(guān)鍵字。外部關(guān)鍵字:當(dāng)一個二維表(A表)的主關(guān)鍵字被包含到另一個二維表(B表)中時,它就稱為B表的外部關(guān)鍵字。

用單一的列構(gòu)成關(guān)鍵字,稱為“單一關(guān)鍵字”;用兩個或兩個以上的列構(gòu)成關(guān)鍵字,稱為“合成關(guān)鍵字”。請說出下面三張表中的關(guān)鍵字:學(xué)號姓名性別年齡001王紅女19002李罡男20003趙靈女18學(xué)號課程代號成績00100190002001870010028900300176課程代號課程名學(xué)分001VFP5002C2003VB2VisualFoxPro6.0概述一個基于Windows平臺和服務(wù)器上的可視化關(guān)系型DBMS。特點(diǎn):區(qū)分了數(shù)據(jù)庫與數(shù)據(jù)表的概念(DBC——DBF);采用了Rushmore技術(shù)(快速索引)提高查詢效率;引入了SQL命令,使操作更為簡單;可以與多種格式的文件交換數(shù)據(jù);面向?qū)ο蟮某绦蛟O(shè)計,用較少的代碼,設(shè)計出功能強(qiáng)大的應(yīng)用程序;用項(xiàng)目對文件集中管理;豐富的向?qū)А⒃O(shè)計器、生成器和管理器。VFP的集成操作環(huán)境菜單欄工具欄主窗口命令窗口狀態(tài)欄項(xiàng)目管理器項(xiàng)目:一個系統(tǒng)中文件、數(shù)據(jù)、文檔等對象的集合。項(xiàng)目管理器:VFP中處理對象的主要組織工具,是VFP的“控制中心”。其管理信息以項(xiàng)目文件保存。項(xiàng)目文件:.PJX.PJT創(chuàng)建項(xiàng)目文件CREATEPROJECT[項(xiàng)目文件名]“文件”菜單中的“新建”命令工具欄中的“新建”按鈕表表:保存在磁盤中的一張二維表(表文件.DBF/.FPT)與數(shù)據(jù)庫相關(guān)聯(lián)的表叫數(shù)據(jù)庫表;

與數(shù)據(jù)庫無關(guān)聯(lián)的表叫自由表。字段(Field):表中的一列,規(guī)定了數(shù)據(jù)的特征。

每張表最多可以有255個字段,當(dāng)有字段允許空值時,最多254個字段記錄(Record):表的一行,多個字段的集合。一條記錄的長度為所有字段長度之和+1表結(jié)構(gòu)(Structure):存儲表記錄的一個公共結(jié)構(gòu)。要建立一張完整的表,必須先建立表的結(jié)構(gòu),然后再輸入記錄(數(shù)據(jù))。

字段的基本屬性字段名:用以標(biāo)識一個字段名字。不能以下劃線開頭。字段的數(shù)據(jù)類型:說明字段是什么類型的數(shù)據(jù)。不同的數(shù)據(jù)類型的表示和運(yùn)算的方法不一樣。VFP提供了13種字段的數(shù)據(jù)類型。字段寬度:指該字段所能容納數(shù)據(jù)的最大字節(jié)數(shù)。小數(shù)位數(shù):數(shù)值型、浮點(diǎn)型、雙精度型的字段可指定小數(shù)位數(shù)。字段寬度=整數(shù)部分寬度+小數(shù)點(diǎn)1位+小數(shù)位寬度整數(shù)不為0時,小數(shù)位至少比整個字段寬度小2??罩担翰皇且环N數(shù)據(jù)類型,用來指示數(shù)據(jù)存在或不存在的一種屬性。3.2表結(jié)構(gòu)的創(chuàng)建和修改表結(jié)構(gòu)的創(chuàng)建表設(shè)計器方式用菜單或工具欄打開“表設(shè)計器”CREATECREATE?CREATE表文件名“項(xiàng)目管理器”中的“新建”SQL命令方式CREATETABLE-SQL格式CREATETABLE表文件名(字段名1字段類型[(字段寬度[,小數(shù)位數(shù)])][NULL|NOTNULL][,字段名2……])CREATETABLExs2(xhc(6)NULL,xmc(8),xbc(2))命令字表文件名字段名類型寬度NULL值對于一些寬度固定的字段類型,寬度不用標(biāo)出。可以用SETNULLON|OFF控制是否允許NULL值默認(rèn)為OFFVFP數(shù)據(jù)庫數(shù)據(jù)庫是一個包容器,用來組織和聯(lián)系表,它提供了存取數(shù)據(jù)的一種結(jié)構(gòu)。數(shù)據(jù)庫文件:.DBC、.DCT、.DCX內(nèi)容:表表之間的關(guān)系連接本地視圖、遠(yuǎn)程視圖存儲過程數(shù)據(jù)庫的設(shè)計過程確定數(shù)據(jù)庫的目的確定需要的表確定需要的字段確定表之間的關(guān)系改進(jìn)設(shè)計確定表之間的關(guān)系關(guān)系的種類一對多關(guān)系(1:M)

一/主表;一個記錄在子表中有幾個記錄與之對應(yīng)。

多/子表;一個記錄在主表中僅有一個記錄與之對應(yīng)。多對多關(guān)系(M:N)

甲表:一個記錄對應(yīng)于乙表中多個記錄。

乙表:一個記錄對應(yīng)于甲表中多個記錄。

必須建立“紐帶表”(JunctionTable),把多對多的關(guān)系分成兩個一對多的關(guān)系。

一對一關(guān)系(1:1)關(guān)系的存在方式永久關(guān)系永久關(guān)系是保存在數(shù)據(jù)庫中的是數(shù)據(jù)庫表之間的一種關(guān)系不論庫表是否打開,此關(guān)系都存在臨時關(guān)系又叫表之間的關(guān)聯(lián)臨時關(guān)系可以存在于任何表之間用SETRELATION命令建立表關(guān)閉后臨時關(guān)系消失創(chuàng)建數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫利用“項(xiàng)目管理器”創(chuàng)建文件

新建或“新建”按鈕CREATEDATABASE[數(shù)據(jù)庫名|?]打開數(shù)據(jù)庫OPENDATABASE[數(shù)據(jù)庫名|?]設(shè)定當(dāng)前數(shù)據(jù)庫SETDATABASETO數(shù)據(jù)庫名

關(guān)閉數(shù)據(jù)庫CLOSEDATABASE:關(guān)閉當(dāng)前數(shù)據(jù)庫CLOSEDATABASEALL:關(guān)閉所有數(shù)據(jù)庫CLOSEALL:關(guān)閉所有數(shù)據(jù)庫、表、索引及設(shè)計器VFP程序設(shè)計簡介程序自動執(zhí)行多條命令,省去了鍵入大量字符的麻煩,并且節(jié)約了寶貴的時間。程序可被修改并重新運(yùn)行,且可多次運(yùn)行.一個程序可調(diào)用其他程序(子程序、過程、函數(shù))。程序中可使用結(jié)構(gòu)化程序設(shè)計命令來控制操作的流程。程序文件:.PRG、.FXP(編譯后的程序文件)建立程序文件的命令:ModifyCommand運(yùn)行程序的命令:Do程序文件名[With參數(shù)]程序控制有四類:順序、條件分支、循環(huán)、子程序開發(fā)VFP數(shù)據(jù)庫應(yīng)用系統(tǒng)數(shù)據(jù)庫應(yīng)用系統(tǒng)根據(jù)以數(shù)據(jù)為中心和處理為中心可分為兩大類:前者以提供數(shù)據(jù)為目的,重點(diǎn)在數(shù)據(jù)采集、建庫及數(shù)據(jù)庫維護(hù)等工作;后者雖然也包含這些內(nèi)容,但重點(diǎn)是使用數(shù)據(jù),即進(jìn)行查詢、統(tǒng)計、打印報表等工作,前數(shù)據(jù)量比前者小得多。一、需求分析

系統(tǒng)需求包括對數(shù)據(jù)的需求和對應(yīng)用功能的需求兩方面的內(nèi)容。前者稱為數(shù)據(jù)分析,后者稱為功能分析。數(shù)據(jù)分析的結(jié)果是歸納出系統(tǒng)應(yīng)該包括的數(shù)據(jù),以便進(jìn)行數(shù)據(jù)庫設(shè)計;功能分析的目的是為應(yīng)用程序設(shè)計提供依據(jù)。

數(shù)據(jù)庫的邏輯設(shè)計和物理設(shè)計

數(shù)據(jù)庫邏輯設(shè)計的任務(wù)大致如下:

a.按一定的原則將數(shù)據(jù)組織成一個或是多個數(shù)據(jù)庫,指明數(shù)據(jù)庫中包含了幾個表,并指出每個表包含的字段。b.安排表之間的關(guān)聯(lián)。

數(shù)據(jù)庫的物理設(shè)計就是用指定的軟件來創(chuàng)建數(shù)據(jù)庫,定義數(shù)據(jù)庫表,以及表之間的關(guān)聯(lián)。在VFP中:

a.利用數(shù)據(jù)庫設(shè)計器可創(chuàng)建數(shù)據(jù)庫并添加數(shù)據(jù)庫表;

b.利用表設(shè)計器可創(chuàng)建數(shù)據(jù)庫表或自由表

c.利用表單、表單集或報表的數(shù)據(jù)環(huán)境設(shè)計器可添加表,并可建立表之間的關(guān)聯(lián);

用戶界面設(shè)計與編碼

VFP的用戶界面主要包括表單集、表單、菜單和工具欄,它們所包含的控件與菜單命令應(yīng)能實(shí)現(xiàn)應(yīng)用程序的功能。也就是說,用戶界面應(yīng)直接表現(xiàn)應(yīng)用系統(tǒng)的功能。事實(shí)上,無論應(yīng)用程序的代碼如何簡潔,算法如何巧妙,對用戶都是不可見的,他們所能見到并進(jìn)行操作的不僅是應(yīng)用系統(tǒng)提供的用戶界面。因此,用戶對所開發(fā)的應(yīng)用系統(tǒng)是否滿足,很大程度上取決于界面功能是否完善。

實(shí)例:“汽車修理管理系統(tǒng)”開發(fā)需求分析

某汽車修理廠根據(jù)業(yè)務(wù)發(fā)展的需求,決定建立一個“汽車修理管理系統(tǒng)”,以取代人工操作管理。開發(fā)項(xiàng)目如下:

(1)能對汽車修理有關(guān)數(shù)據(jù)進(jìn)行輸入、修改和查詢。

(2)編制季度零件定貨計劃。

(3)打印汽車修理發(fā)票和工資月報表。數(shù)據(jù)需求

功能需求

功能分析的任務(wù),是弄清用戶對目標(biāo)系統(tǒng)數(shù)據(jù)處理功能所提出的需求。

1.數(shù)據(jù)登記

登記功能用于把各種單據(jù)的數(shù)據(jù)即時登記到系統(tǒng)獎要定義的表中,還要求能進(jìn)行修改,這些單據(jù)還包括修車登記單、汽車修理單、零件入庫單和零件入庫單。2.查詢

能查詢登記單,修理單,汽車,車主,修理工,零件庫存的有關(guān)數(shù)據(jù)。

3.編制并顯示季度零件定貨計劃

編制零件定貨計劃需要找出要定貨的零件,定貨條件為<最低庫存量。定貨量可由用戶輸入和修改。

4.打印發(fā)票

發(fā)票中除包含顧客、汽車及修理項(xiàng)目等數(shù)據(jù)外,還要計算出修車費(fèi),修車費(fèi)包括修理費(fèi)和零件費(fèi),按下式計算:

零件費(fèi)=∑(零件價格*耗用數(shù)量)

修理費(fèi)=小時工資*修理工時*3

總計=零件費(fèi)+修理費(fèi)

5.打印修理工工資月報表

某修理工的月工資=∑修理小時*小時工資數(shù)據(jù)庫設(shè)計

一、邏輯設(shè)計

設(shè)計從輸入數(shù)據(jù)著手,輸入數(shù)據(jù)中的某類相關(guān)數(shù)據(jù)可以歸納唯一個表。對需要同時調(diào)用的若干表,應(yīng)使它們符合關(guān)聯(lián)要求。6個表的數(shù)據(jù)庫如下:

a修理單:xld(編號牌號工號修理項(xiàng)目修理小時送修日期完工日期)

b汽車:qc(牌號型號生產(chǎn)家車主名)

c車主:cz(車主名地址電話)

d修理工:xlg(工號姓名地址電話出身日期進(jìn)廠日期小時工資)

f零件用量:ljyl(編號零件號數(shù)量)

g零件庫存:ljkc(零件號零件名成本庫存量最地庫存量定貨量)

以上括號外的字符是表名,括號內(nèi)為字段名表,第一個字段為關(guān)聯(lián)關(guān)鍵字。物理設(shè)計

如修理單(c:\qcxl\xld.dbf)

結(jié)構(gòu):

xld(c(4),c(12),d,d,c(4)n(4,1))

記錄:

記錄號編號牌號修理項(xiàng)目送修日期完工日期工號修理小時

15001A2020203點(diǎn)火線圈01/12/9901/15/9900032.0

25002R1212123剎車02/05/9902/10/9900053.2

35003H210-100噴漆02/06/9902/13/9900016.0

45004K333-667換轉(zhuǎn)動軸05/08/9905/15/99000318.0

55005A2312318大修06/28/9907/27/99000198.0汽車(C:\QCXL\QC.DBF)

結(jié)構(gòu)

qc(牌號c(8)普通索引,型號c(6),生產(chǎn)廠c(20),車主名c(8))

記錄

記錄號牌號型號生產(chǎn)廠車主名

1A2020203S130南方汽車廠李符

2R1212123760東環(huán)汽車制造廠馬一鼎

3H210-210C12-5國光轎車廠孔力

4K333-667FG323V福鈴貨車總廠賈嘉丁

5A2312318NA122全球汽車廠施志秋應(yīng)用程序設(shè)計

一、總體設(shè)計

按照功能分類時總體設(shè)計中常用的方法,系統(tǒng)中總體結(jié)構(gòu)可用層次圖來表示。這種圖自上而下進(jìn)行分層:第一層為系統(tǒng)層,通常對應(yīng)主程序;第二層圍子系統(tǒng)層,一般分來控制作用,但是單該層沒有下一層的時候,可以直接表達(dá)功能,第三層為功能層,第四層為操作層。汽車修理管理系統(tǒng)有3個層次,系統(tǒng)功能分類如下:修車登記單,汽車修理單和修工數(shù)據(jù)管理等的輸入和修改歸入登記一項(xiàng),零件定貨計劃,零件定貨和出貨歸入零件管理一類,查詢和打印各成類圖中未畫出操作層,該程序的模塊將在模塊設(shè)計時列出。初始用戶界面設(shè)計

從總體結(jié)構(gòu)圖很容易列出應(yīng)用程序的菜單,由總體結(jié)構(gòu)圖轉(zhuǎn)化到菜單時,其對應(yīng)的情況如下:系統(tǒng)層對菜單文件;子系統(tǒng)對應(yīng)菜單標(biāo)題;功能層對應(yīng)子菜單項(xiàng)。菜單程序(QCXLCD.MPR)

往命令窗口鍵入命令MODIMENUQCXLCD,就會出現(xiàn)菜單設(shè)計窗口。是Office辦公套件中一個極為重要的組成部分。剛開始時微軟公司是將Access單獨(dú)作為一個產(chǎn)品進(jìn)行銷售的,后來微軟發(fā)現(xiàn)如果將Access捆綁在OFFICE中一起發(fā)售,將帶來更加可觀的利潤,于是第一次將Access捆綁到OFFICE97中,成為OFFICE套件中的一個重要成員。自從1992年開始銷售以來,Access已經(jīng)賣出了超過6000萬份,現(xiàn)在它已經(jīng)成為世界上最流行的桌面數(shù)據(jù)庫管理系統(tǒng)。后來微軟公司通過大量地改進(jìn),將Access的新版本功能變得更加強(qiáng)大。不管是處理公司的客戶訂單數(shù)據(jù);管理自己的個人通訊錄;還是大量科研數(shù)據(jù)的記錄和處理,人們都可以利用它來解決大

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論