開發資料庫系統
① 如何設計開發資料庫應用系統
第13章 資料庫應用系統設計概述
13.1 資料庫設計概述
13.1.1 資料庫系統設計內容
資料庫設計包含兩方面的內容。
1. 結構特性設計
結構特性設計通常是指資料庫模式或資料庫結構設計,它應該具有最小冗餘的、能滿足不同用戶數據需求的、能實現數據共享的系統。資料庫結構特性是靜態的,應留有擴充餘地,使系統容易改變。
2. 行為特性設計
行為特性設計是指應用程序、事物處理的設計。
13.1.2 資料庫設計特點
資料庫設計是一項綜合性技術。「三分技術,七分管理,十二分基礎數據」是資料庫建設的基本規律。資料庫設計的特點是:
硬體、軟體和管理界面相結合。
結構設計和行為設計相結合。
13.2 資料庫設計步驟
見圖。
13.3 資料庫結構設計
13.3.1 需求分析
需求分析的目標是准確了解系統的應用環境,了解並分析用戶對數據及數據處理的需求。
1. 收集需求信息
一般來講,用戶對資料庫的要求如下:
(1)信息需求
(2)處理需求
(3)安全性與完整性要求
2. 分析整理
分析的過程是對所收集到的數據進行抽象的過程。下面是「高校收費管理系統」的用戶需求分析:
每年新生入學時學費基本信息的輸入
每年老生離校時學生基本信息的刪除
查詢、列印學生的交費情況
查詢、列印降級生的交費情況
進入學費管理系統的安全性條件設計
3. 數據流圖
資料庫設計中採用數據流圖(DFD:Data Flow Diagram)來描述系統的功能。DFD一般由下面圖素構成。
:數據及其流動方向,直線上方標明數據流名稱
:數據處理,圓圈內標明處理名稱
:數據流的終點和源點,方框內標明相應的名稱
:文件和數據存儲,在其內標明相應名稱
例如:高校收費管理系統
4.數據字典
數據字典(DD:Data Dictionary)用於記載系統中的各種數據、數據元素以及它們的名字、性質、意義及各類約束條件,記錄系統中用到的常量、變數、數組及其他數據單位,是系統開發與維護中不可缺少的重要文件。數據字典是關於資料庫中數據的一種描述,而不是數據本身。數據字典是在需求分析階段建立,在資料庫設計過程中不斷修改、充實、完善的。
數據字典產生於數據流圖,是對數據流圖中的四個成分(數據流、數據項、文件和處理)描述的結果。其中:
數據流描述:定義數據流的組成,一般包含若干數據項,通常在數據流圖的下方通過「說明」定義。
文件描述:定義文件的組成以及文件的組織方式,如學生交費數據可用下面方法描述:
交費數據=學號+姓名+收費標准+應交學費+待交學費+本次交款
數據項描述:定義數據項,一般包括名稱、類型長度、允許范圍等。如學生交費數據文件中的數據項。
數據項名稱 類型 長度(位元組) 范圍
學號 字元 8 H、G和數字
姓名 字元 8 任何字母
收費標准 正整數 5 0-99999
應交學費 正整數 5 0-99999
待交學費 正整數 5 0-99999
本次交款 正整數 5 0-99999
數據處理的描述:說明數據處理的邏輯關系,即輸入與輸出之間的邏輯關系。同時,也要說明數據處理的觸發條件、錯誤處理等問題。
13.3.2 概念結構設計
概念結構的目標是將需求分析得到的用戶需求抽象為資料庫的概念結構,即概念模式。概念結構設計形成一個獨立於具體DBMS的概念模型。描述概念模式的是E―R圖。
1. 局部E-R模型設計
局部E―R模型設計是從數據流圖出發確定實體和屬性,並根據數據流圖中表示的對數據的處理、確定實體之間的聯系。
2. 總體E-R模型設計
將各個局部E―R圖加以綜合,使同一個實體只出現一次,便可產生總體E―R圖。
13.3.3 邏輯結構設計
資料庫的邏輯結構設計的目標就是將概念結構轉換成特定的DBMS所支持的數據模型,並對其優化的過程。邏輯設計階段一般分三個過程進行:
將概念結構轉換為一般的關系、網狀、層次模型;
將由概念結構轉換來的模型向所選用DBMS支持的數據模型轉換;
對數據模型進行優化
13.3.4 物理設計
資料庫的物理設計目標是在選定的DBMS上建立起邏輯設計結構確立的資料庫的結構。這項工作一般由系統程序員完成。資料庫的物理設計通常分為兩步進行。
1. 確定資料庫的物理結構
在關系資料庫中,確定資料庫的物理結構主要指確定數據存放位置和存儲結構,包括確定關系、索引、日誌、備份等數據的存儲分配合存儲結構,確定系統配置等工作。
2. 對所確定的物理結構進行評價
13.4 應用程序設計
資料庫的應用程序設計和一般的應用程序設計方法基本相同。
應用程序的設計方法可以採用一般的程序設計方法。
13.5 運行和維護
13.5.1 數據載入資料庫
13.5.2 資料庫系統試運行
在試運行階段應當注意:
1. 數據的載入過程應先輸入小部分數據進行試運行
2. 應注意資料庫的轉儲和恢復工作
13.5.3 資料庫系統的運行和維護
在資料庫系統正式運行階段,對資料庫的經常性維護工作是由DBA來實施的,他的工作主要包括:
1. 資料庫的轉儲和恢復
2. 資料庫的安全性和完整性控制
3. 資料庫性能的監督、分析和改造
4. 資料庫的重組與重構
(1)資料庫的重組
(2)資料庫的重構
13.6 小結
本章通過高校收費管理系統資料庫的構建與設計過程的詳細描述,學習了資料庫設計的基本方法,資料庫設計的基本流程,E-R圖的建立和到關系模式的轉換,學習了軟體工程的基本思想,為後續課程資料庫開發技術打好基礎。
② 簡述資料庫應用系統的設計步驟
資料庫設計的基本步驟:
1、系統需求分析與設計。
2、概念結構分析與設計。
3、邏輯結構分析與設計。
4、物理結構分析與設計。
5、系統實施。
6、系統維護。
(2)開發資料庫系統擴展閱讀:
資料庫設計技巧:
1、原始文件與實體的關系
它可以是一對一,一對多,多對多的關系。一般來說,它們是一對一的關系:一個原始文檔只對應於一個實體。在特殊情況下,它們可以是一對多或多對一關系,即一個原始文檔對應於多個實體,或者多個原始文檔對應於一個實體。
這里的實體可以理解為基本表。在對應關系明確後,對輸入介面的設計非常有利。
2、主鍵和外鍵
一般來說,實體不能既沒有主鍵也沒有外鍵。在E-R圖中,葉中的實體可以定義主鍵或不定義主鍵(因為它沒有子代),但它必須有外鍵(因為它有父項)。
主鍵和外鍵的設計在全局資料庫的設計中起著重要的作用。當全球資料庫的設計完成後,一位美國資料庫設計專家說:「鑰匙無處不在,只有鑰匙。」。這是他資料庫設計的經驗,也體現了他對信息系統核心(數據模型)高度抽象的理念。
因為:主鍵是一個高度抽象的實體。主鍵和外鍵的配對表示實體之間的連接。
3、基本表的屬性
基本表不同於中間表和臨時表,因為它具有以下四個特點:
原子性。基本表中的欄位不可分解。
原始主義。基本表中的記錄是原始數據(基本數據)的記錄。
演繹的。所有輸出數據都可以從基本表和代碼表中的數據導出。
穩定。基本表的結構比較穩定,表中的記錄要長期保存。
在了解基本表的性質之後,在設計資料庫時,可以將基本表與中間表和臨時表區分開來。
③ 資料庫系統的開發過程不包括哪個階段
摘要 您好,我們正在查詢相關問題的信息,五分鍾時間回復您!
④ 資料庫的開發流程是什麼
這是一個非常復雜的問題。建議這位網友去看看有關軟體工程的書籍。當然,看書是一件非常煩悶的事情,在這,盡管試試將我的經驗寫一點吧。
首先,要明確你要做一個什麼系統。想達到什麼目的。想怎樣去使用。有了明確的目標後,便要開始計劃整個資料庫系統該怎樣去做。
第二,是選擇資料庫後台。資料庫是保存數據的工具,可以理解為保存數據的一個大倉庫,它把你所需要的數據全部保存起來。但要怎樣使用這些數據,使之可以根據你的需要顯示出來,那就不是資料庫的責任了,這就需要程序來實現了。不同的資料庫後台各有優點缺點,不可一概而論哪個好哪個差,要看系統實際來斟酌。即是說,確定目標後就需要選擇資料庫。
第三,確定後台資料庫的內容,即確定數據結構。既然整個資料庫等於一個大倉庫,此時就要把倉庫劃分成一個個區域,用於保存不同類別的東西。這就是確定數據表及每個表的欄位及各欄位的數據類型。這是非常巨大的工作,你需要把有可能使用到的內容都設計到你的數據表中,以便以後可以保存及調用數據。還要想到表與表的關系,欄位與欄位的關系。好的數據結構會使到整個程序設計方便、科學、全面。這些內容,必須去查看相關書籍,同時不斷積累經驗,並非三言兩語可以說得清楚了。
第四,選擇合適的前台開發工具。對於後台資料庫的操作,目前常用的前台開發工具基本都可以與之相連並對之操作,但是不同的開發語言有各自的長處。選擇哪一種語言並不太重要,最重要是看你是否願意一心一意鑽研下去。對於初學者,什麼語言都是一樣的,就如小孩子學語言,學中英意日其實都一樣容易,也一樣難。
第五,當清楚資料庫後台和開發前台的特性與功能後,就可以開始規劃系統的流程了。一般可以根據系統功能先將其劃分為幾大功能模塊,然後再細分為各個細功能模塊,然後對於各個功能模塊進行設計。一般流程可以是這樣的:
1、設計流程圖。把整個功能用流程的方式顯示出來,讓自己的思路清楚地記錄在流程圖上,這樣可以輕易地模擬模塊的運算過程,查找出不合理的地方進行修改。
2、編寫程序。確定流程合理無誤後,便可以開發進行程序的編寫。由於現時硬體的強大,對語句的要求已經不再強調。只要可以達到目的,就可以了。
第六,試運行程序。完成一個功能後,可以試運行,輸入數據進行測試,不斷修改,最後達到完全無誤。
第七,測試。完成程序後,就要進行全面的測試。一般來說,自己是找不到自己的錯誤的。明知是錯就不會寫進去,所以我喜歡找別人來為我測試。讓別人去用,而且是讓別人隨便地用,不一定按自己所說的操作方法去用。這樣最容易找到程序中的錯誤。
第八,不斷地修改。不斷修改程序,使其所有的漏洞都改正過來。
第九,編譯。程序確認無誤後,就可以進行編譯。
第十,投入使用。
其實我所寫的並不能回答這個問題,完全解答這個問題,最後還是去學習一下軟體工程。不看書總是不行的。希望可以為你帶來一點點幫助吧。
⑤ 開發一個完整的資料庫系統具體的流程是什麼
一:表中應該避免可為空的列; 二:表不應該有重復的值或者列; 三: 表中記錄應該有一個唯一的標識符 在資料庫表設計的時候,資料庫管理員應該養成一個好習慣,用一個ID號來 唯一的標識行記錄,而不要通過名字、編號等欄位來對紀錄進行區分。每個表都應該有一個ID列,任何兩個記錄都不可以共享同一個ID值。另外,這個ID值最 好有資料庫來進行自動管理,而不要把這個任務給前台應用程序。否則的話,很容易產生ID值不統一的情況。 另外,在資料庫設計的時候,最好還能 夠加入行號。如在銷售訂單管理中,ID號是用戶不能夠維護的。但是,行號用戶就可以維護。如在銷售訂單的行中,用戶可以通過調整行號的大小來對訂單行進行 排序。通常情況下,ID列是以1為單位遞進的。但是,行號就要以10為單位累進。如此,正常情況下,行號就以10、20、30依次擴展下去。若此時用戶需 要把行號為30的紀錄調到第一行顯示。此時,用戶在不能夠更改ID列的情況下,可以更改行號來實現。如可以把行號改為1,在排序時就可以按行號來進行排 序。如此的話,原來行號為30的紀錄現在行號變為了1,就可以在第一行中顯示。這是在實際應用程序設計中對ID列的一個有效補充。這個內容在教科書上是沒 有的。需要在實際應用程序設計中,才會掌握到這個技巧。 四:資料庫對象要有統一的前綴名 一個比較復雜的應用系統,其對應的資料庫表往往以千計。若讓資料庫管理員看到對象名就了解這個資料庫對象所起的作用,恐怕會比較困難。而且在資料庫對象引用的時候,資料庫管理員也會為不能迅速找到所需要的資料庫對象而頭疼。 為此,筆者建立,在開發資料庫之前,最好能夠花一定的時間,去制定一個資料庫對象的前綴命名規范。如筆者在資料庫設計時,喜歡跟前台應用程序協商,確定 合理的命名規范。筆者最常用的是根據前台應用程序的模塊來定義後台資料庫對象前綴名。如跟物料管理模塊相關的表可以用M為前綴;而以訂單管理相關的,則可 以利用C作為前綴。具體採用什麼前綴可以以用戶的愛好而定義。但是,需要注意的是,這個命名規范應該在資料庫管理員與前台應用程序開發者之間達成共識,並 且嚴格按照這個命名規范來定義對象名。 其次,表、視圖、函數等最好也有統一的前綴。如視圖可以用V為前綴,而函數則可以利用F為前綴。如此資料庫管理員無論是在日常管理還是對象引用的時候,都能夠在最短的時間內找到自己所需要的對象。 五:盡量只存儲單一實體類型的數據 這里將的實體類型跟數據類型不是一回事,要注意區分。這里講的實體類型 是指所需要描述對象的本身。筆者舉一個例子,估計大家就可以明白其中的內容了。如現在有一個圖書館里系統,有圖書基本信息、作者信息兩個實體對象。若用戶 要把這兩個實體對象信息放在同一張表中也是可以的。如可以把表設計成圖書名字、圖書作者等等。可是如此設計的話,會給後續的維護帶來不少的麻煩。 如當後續有圖書出版時,則需要為每次出版的圖書增加作者信息,這無疑會增加額外的存儲空間,也會增加記錄的長度。而且若作者的情況有所改變,如住址改變 了以後,則還需要去更改每本書的記錄。若這個作者的圖書從資料庫中全部刪除之後,這個作者的信息也就盪然無存了。很明顯,這不符合資料庫設計規范化的需 求。 遇到這種情況時,筆者建議可以把上面這張表分解成三種獨立的表,分別為圖書基本信息表、作者基本信息表、圖書與作者對應表等等。如此設計以後,以上遇到的所有問題就都引刃而解了。
⑥ 資料庫系統開發,用什麼編程語言最好
目前cs的編程語言早就淘汰了,現在主流是bs架構的系統,做bs的一般安全性高點用java,比如銀行這類就是用的java開發,還是就是.net,這個用得也比較多,做網站用php的比較多,就看你的用途選擇了
⑦ 資料庫開發是什麼
資料庫開發是資料庫管理系統(DBMS)和資料庫應用軟體設計研發的總稱,數據運維、參與資料庫生產環境的問題優化和解決等方面的事宜。
一般資料庫開發要經過設計、開發資料庫系統和資料庫應用軟體,因此與軟體研發的過程一樣,會覆蓋需求、設計、編程和測試四個階段:
需求:深入調研用戶市場需求,認清項目的應用場景,解決的問題,性能指標等,需要與資料庫系統使用方反復溝通,確定具體的需求。
設計:根據收集整理的需求文檔設計資料庫系統軟體的模型和架構,劃分模塊分別進行概要和詳細設計。
編程:按照模塊分工和設計文檔,進行編碼和調試。
測試:將開發完成的資料庫系統交給測試人員進行測試,主要使用的測試方法有黑盒測試、白盒測試、壓力測試、性能測試等,測試全部通過後即可等待發布。
⑧ 資料庫應用系統開發要經過那些步驟
資料庫應用系統的開發是一項軟體工程。一般可分為以下幾個階段:
1.規劃。
2.需求分析。
3.概念模型設計。
4.
邏輯設計。
5.物理設計。
6.程序編制及調試。
7.運行及維護。
詳細參照:
http://tech.ccidnet.com/art/11217/20070919/1217275_1.html
---
以上,希望對你有所幫助。