- Access 2010數據庫程序設計
- 邵敏敏 董保蓮 張楠
- 1695字
- 2019-10-23 13:59:09
1.3.1 數據庫設計步驟
數據庫設計一般要經過:確定創建數據庫的目的、確定數據庫中需要的表、確定該表中需要的字段、確定主關鍵字和確定表之間的關系等步驟。
1.確定創建數據庫的目的
設計數據庫的第一個步驟是確定數據庫的目的,即需求分析。用戶需要確定數據庫保存哪些信息。分析用戶對數據庫的具體要求,這是整個數據庫設計的起點。由用戶的信息要求可以導出數據要求,即在數據庫中需要存儲哪些數據。
(1)需求分析的任務
通過詳細調查現實世界要處理的對象(組織、部門、企業等),充分了解原系統(手工系統或計算機系統)工作概況,明確用戶的各種需求。
在此基礎上確定新系統的功能。新系統要充分考慮今后可能的擴充和改變,不能僅僅按當前應用需求來設計數據庫。
(2)需求分析的重點
需求分析的重點是調查、收集與分析用戶在數據管理中的信息要求、處理要求、安全性與完整性要求。
①信息要求。即用戶需要從數據庫中獲得信息的內容與性質。由用戶的信息要求可以導出數據要求,即在數據庫中需要存儲哪些數據。
②處理要求。包含對處理功能的要求、對處理的響應時間的要求、對處理方式的要處理/聯機處理)等。
③安全性與完整性要求。安全性是指用戶需要如何保護數據才能不被未授權的用戶破完整性是指用戶需要如何檢查和控制不合語義的、不正確的數據,防止它們進入數據庫。
具體操作就是與將要使用數據庫的人員進行交流,集體討論需要使用數據庫解決的問題,并描述需要數據庫生成的報表,同時收集當前用于記錄數據的表格。
2.確定該數據庫中需要的表
表的確定是數據庫設計過程中的關鍵步驟。在設計表時,應按以下設計原則對信息進行分類。
(1)表不應包含備份信息,表間不應有重復信息。
如果每條信息只保存在一個表中,則數據庫管理員只需在一處進行更新,這樣效率更高,同時也消除了包含不同信息重復項的可能性。例如,每個學生的地址和電話號碼只在一個表中保存一次。
(2)每個表應該只包含關于一個主題的信息。
如果每個表只包含一個主題的信息,則可以獨立于其他主題維護每個主題的信息。例如,將學生的住址與學生選課成績存在不同表中,則在刪除某個學生成績后仍然可以保留學生的信息。
3.確定表中需要的字段
每個表都包含關于同一主題的信息,并且表中的字段應包含關于該主題所需的全部信息。例如,課程表中可以包含課程的課程編號、課程名稱、課程類別和學分等字段。在確定每個表的字段時,需要注意以下問題:
(1)每個字段直接與表的主題相關;
(2)不包含推導或計算的數據(表達式的計算結果),即表中字段存儲的是原始數據;
(3)包含表的主題所需的所有信息;
(4)以最小的邏輯單位保存信息。例如,在工資表中基本工資、獎金、津貼等應設置為不同的字段,不能只保存為工資一個字段。
4.確定主關鍵字
數據庫中的每個表必須包含表中唯一確定每個記錄的字段或字段集,將這種字段或字段集確定為主鍵(主關鍵字)。例如,學生表中學生編號可以唯一確定某一個學生,則學生編號可以定為主鍵。
5.確定表之間的關系
為了能夠滿足實際應用需求,有些信息需要從幾張表中得到,這就需要將多表進行連接,因此一項重要的操作就是要確定數據庫中表與表之間的關系。有些字段在本表中不是關鍵字,但在其他表中是關鍵字,那么它就是外部關鍵字。表之間的關系通過外部關鍵字聯系起來。例如,學生編號在學生表中為主鍵,在選課成績表中并不是主鍵,而是外鍵。學生表和選課成績表之間通過學生編號產生聯系。
6.優化設計
在設計完成需要的表、字段和關系后,就應對該設計進行檢查并找出任何可能存在的不足。如果不能滿足要求,則要返回到之前幾個階段進行調整并修改。
用Access創建表,指定表之間的關系,并且在每個表中輸入充足的示例數據以驗證設計。可通過創建查詢,檢查結果與預期結果是否一致,驗證數據庫中的關系是否正確;創建簡單的窗體和報表,檢查顯示數據是否是所期望的;最后查找不需要的重復數據,并將其去掉。以上操作如發現問題,需要及時修改該設計。
7.輸入數據并創建其他數據對象
如果表的結構已達到了設計要求,則可繼續進行操作并在表中添加所有已有的實際數據,創建所需要的相應查詢、窗體、報表、數據訪問頁、宏和模塊等數據對象,完成數據庫應用系統。
- Python數據分析與挖掘實戰
- 企業大數據系統構建實戰:技術、架構、實施與應用
- R數據科學實戰:工具詳解與案例分析(鮮讀版)
- 數據要素五論:信息、權屬、價值、安全、交易
- INSTANT Cytoscape Complex Network Analysis How-to
- Power BI商業數據分析完全自學教程
- SQL優化最佳實踐:構建高效率Oracle數據庫的方法與技巧
- 數字IC設計入門(微課視頻版)
- SAS金融數據挖掘與建模:系統方法與案例解析
- R Object-oriented Programming
- 改變未來的九大算法
- 活用數據:驅動業務的數據分析實戰
- Doris實時數倉實戰
- SIEMENS數控技術應用工程師:SINUMERIK 840D-810D數控系統功能應用與維修調整教程
- R Machine Learning Essentials