『壹』 資料庫設計的一般步驟包括哪些內容
資料庫設計包括六個主要步驟:
1、需求分析:了解用戶的數據需求磨雹源、處理需求、安全性及完整性要求;
2、概念設計:通過數據抽象,設計系統概念模型,一般為E-R模型;
3、邏輯結構設計:設計系統的模式和外模式,對於關系模型主要是基本表和視圖;
4、物理結構設計:設計數據的存儲結構和存取肆扮方法,如索引的設瞎態計;
5、系統實施:組織數據入庫、編制應用程序、試運行;
6、運行維護:系統投入運行,長期的維護工作。
『貳』 創建資料庫有哪幾種方法
創建資料庫的方法有兩種,使用向導創建資料庫,使用菜單創建資料庫和創建空資料庫;使用向導創建資料庫是一種簡單便捷的方法。
在消伏物理上,資料庫的建設要遵循實際情況。即在邏輯上建立一個整體的空間數據車、框架統一設計的同時,各級比例尺和不同數據源的數據分別建成子庫,由開發的平台管螞橋爛理軟體來統一協調與調度。
(2)資料庫系統的設計方法有哪些方法有哪些擴展閱讀:
在建庫時,要充分考慮數據有效共享的需求,同時也要保證數據訪問的合法性和安全性。資料庫採用統一的坐標系統和高程基準,矢量數據採用大地坐標大地坐標的數據在數值上是連續的,避免高斯投影跨帶問題,從而保證資料庫地理對象的完整性,為資料庫的查詢檢索、悶漏分析應用提供方便。
在創建資料庫之時,要重點考慮獨立與完整性原則、面向對象的資料庫設計原則、建庫與更新有機結合的原則、分級共享原則、並發性原則、實用性原則。
『叄』 為系統擴展資料庫採用什麼設計方法
資料庫設計(Database Design)是指對於一個給定的應用環境,構造最優的資料庫模式,建立資料庫及其應用系統,使之能夠有效地存儲數據,滿足各種用戶的應用需求(信息要求和處理要求)。
在資料庫領域內,常常把使用資料庫的各類系統統稱為資料庫應用系統。
一、資料庫和信息系統
(1)資料庫是信息系統的核心和基礎,把信息系統中大量的數據按一定的模型組織起來,提供存儲、維護、檢索數據的
功能,使信息系統可以方便、及時、准確地從資料庫中獲得所需的信息。
(2)資料庫是信息系統的各個部分能否緊密地結合在一起以及如何結合的關鍵所在。
(3)資料庫設計是信息系統開發和建設的重要組成部分。
(4)資料庫設計人員應該具備的技術和知識:
資料庫的基本知識和資料庫設計技術
計算機科學的基礎知識和程序設計的方法和技巧
軟體工程的原理和方法
應用領域的知識
二、資料庫設計的特點
資料庫建設是硬體、軟體和干件的結合
三分技術,七分管理,十二分基礎數據
技術與管理的界面稱之為「干件」
資料庫設計應該與應用系統設計相結合
結構(數據)設計:設計資料庫框架或資料庫結構
行為(處理)設計:設計應用程序、事務處理等
結構和行為分離的設計
傳統的軟體工程忽視對應用中數據語義的分析和抽象,只要有可能就盡量推遲數據結構設計的決策早期的資料庫設計致力於數據模型和建模方法研究,忽視了對行為的設計
如圖:
三、資料庫設計方法簡述
手工試湊法
設計質量與設計人員的經驗和水平有直接關系
缺乏科學理論和工程方法的支持,工程的質量難以保證
資料庫運行一段時間後常常又不同程度地發現各種問題,增加了維護代價
規范設計法
手工設計方
基本思想
過程迭代和逐步求精
規范設計法(續)
典型方法:
(1)新奧爾良(New Orleans)方法:將資料庫設計分為四個階段
S.B.Yao方法:將資料庫設計分為五個步驟
I.R.Palmer方法:把資料庫設計當成一步接一步的過程
(2)計算機輔助設計
ORACLE Designer 2000
SYBASE PowerDesigner
四、資料庫設計的基本步驟
資料庫設計的過程(六個階段)
1.需求分析階段
准確了解與分析用戶需求(包括數據與處理)
是整個設計過程的基礎,是最困難、最耗費時間的一步
2.概念結構設計階段
是整個資料庫設計的關鍵
通過對用戶需求進行綜合、歸納與抽象,形成一個獨立於具體DBMS的概念模型
3.邏輯結構設計階段
將概念結構轉換為某個DBMS所支持的數據模型
對其進行優化
4.資料庫物理設計階段
為邏輯數據模型選取一個最適合應用環境的物理結構(包括存儲結構和存取方法)
5.資料庫實施階段
運用DBMS提供的數據語言、工具及宿主語言,根據邏輯設計和物理設計的結果
建立資料庫,編制與調試應用程序,組織數據入庫,並進行試運行
6.資料庫運行和維護階段
資料庫應用系統經過試運行後即可投入正式運行。
在資料庫系統運行過程中必須不斷地對其進行評價、調整與修改
設計特點:
在設計過程中把資料庫的設計和對資料庫中數據處理的設計緊密結合起來將這兩個方面的需求分析、抽象、設計、實現在各個階段同時進行,相互參照,相互補充,以完善兩方面的設計
設計過程各個階段的設計描述:
如圖:
五、資料庫各級模式的形成過程
1.需求分析階段:綜合各個用戶的應用需求
2.概念設計階段:形成獨立於機器特點,獨立於各個DBMS產品的概念模式(E-R圖)
3.邏輯設計階段:首先將E-R圖轉換成具體的資料庫產品支持的數據模型,如關系模型,形成資料庫邏輯模式;然後根據用戶處理的要求、安全性的考慮,在基本表的基礎上再建立必要的視圖(View),形成數據的外模式
4.物理設計階段:根據DBMS特點和處理的需要,進行物理存儲安排,建立索引,形成資料庫內模式
六、資料庫設計技巧
1. 設計資料庫之前(需求分析階段)
1) 理解客戶需求,詢問用戶如何看待未來需求變化。讓客戶解釋其需求,而且隨著開發的繼續,還要經常詢問客戶保證其需求仍然在開發的目的之中。
2) 了解企業業務可以在以後的開發階段節約大量的時間。
3) 重視輸入輸出。
在定義資料庫表和欄位需求(輸入)時,首先應檢查現有的或者已經設計出的報表、查詢和視圖(輸出)以決定為了支持這些輸出哪些是必要的表和欄位。
舉例:假如客戶需要一個報表按照郵政編碼排序、分段和求和,你要保證其中包括了單獨的郵政編碼欄位而不要把郵政編碼糅進地址欄位里。
4) 創建數據字典和ER 圖表
ER 圖表和數據字典可以讓任何了解資料庫的人都明確如何從資料庫中獲得數據。ER圖對表明表之間關系很有用,而數據字典則說明了每個欄位的用途以及任何可能存在的別名。對SQL 表達式的文檔化來說這是完全必要的。
5) 定義標準的對象命名規范
資料庫各種對象的命名必須規范。
2. 表和欄位的設計(資料庫邏輯設計)
表設計原則
1) 標准化和規范化
數據的標准化有助於消除資料庫中的數據冗餘。標准化有好幾種形式,但Third Normal Form(3NF)通常被認為在性能、擴展性和數據完整性方面達到了最好平衡。簡單來說,遵守3NF 標準的資料庫的表設計原則是:「One Fact in One Place」即某個表只包括其本身基本的屬性,當不是它們本身所具有的屬性時需進行分解。表之間的關系通過外鍵相連接。它具有以下特點:有一組表專門存放通過鍵連接起來的關聯數據。
舉例:某個存放客戶及其有關定單的3NF 資料庫就可能有兩個表:Customer 和Order。Order 表不包含定單關聯客戶的任何信息,但表內會存放一個鍵值,該鍵指向Customer 表裡包含該客戶信息的那一行。
事實上,為了效率的緣故,對表不進行標准化有時也是必要的。
2) 數據驅動
採用數據驅動而非硬編碼的方式,許多策略變更和維護都會方便得多,大大增強系統的靈活性和擴展性。
舉例,假如用戶界面要訪問外部數據源(文件、XML 文檔、其他資料庫等),不妨把相應的連接和路徑信息存儲在用戶界面支持表裡。還有,如果用戶界面執行工作流之類的任務(發送郵件、列印信箋、修改記錄狀態等),那麼產生工作流的數據也可以存放在資料庫里。角色許可權管理也可以通過數據驅動來完成。事實上,如果過程是數據驅動的,你就可以把相當大的責任推給用戶,由用戶來維護自己的工作流過程。
3) 考慮各種變化
在設計資料庫的時候考慮到哪些數據欄位將來可能會發生變更。
舉例,姓氏就是如此(注意是西方人的姓氏,比如女性結婚後從夫姓等)。所以,在建立系統存儲客戶信息時,在單獨的一個數據表裡存儲姓氏欄位,而且還附加起始日和終止日等欄位,這樣就可以跟蹤這一數據條目的變化。
欄位設計原則
4) 每個表中都應該添加的3 個有用的欄位
dRecordCreationDate,在VB 下默認是Now(),而在SQL Server • 下默認為GETDATE()
sRecordCreator,在SQL Server 下默認為NOT NULL DEFAULT • USER
nRecordVersion,記錄的版本標記;有助於准確說明記錄中出現null 數據或者丟失數據的原因 •
5) 對地址和電話採用多個欄位
描述街道地址就短短一行記錄是不夠的。Address_Line1、Address_Line2 和Address_Line3 可以提供更大的靈活性。還有,電話號碼和郵件地址最好擁有自己的數據表,其間具有自身的類型和標記類別。
6) 使用角色實體定義屬於某類別的列
在需要對屬於特定類別或者具有特定角色的事物做定義時,可以用角色實體來創建特定的時間關聯關系,從而可以實現自我文檔化。
舉例:用PERSON 實體和PERSON_TYPE 實體來描述人員。比方說,當John Smith, Engineer 提升為John Smith, Director 乃至最後爬到John Smith, CIO 的高位,而所有你要做的不過是改變兩個表PERSON 和PERSON_TYPE 之間關系的鍵值,同時增加一個日期/時間欄位來知道變化是何時發生的。這樣,你的PERSON_TYPE 表就包含了所有PERSON 的可能類型,比如Associate、Engineer、Director、CIO 或者CEO 等。還有個替代辦法就是改變PERSON 記錄來反映新頭銜的變化,不過這樣一來在時間上無法跟蹤個人所處位置的具體時間。
7) 選擇數字類型和文本類型盡量充足
在SQL 中使用smallint 和tinyint 類型要特別小心。比如,假如想看看月銷售總額,總額欄位類型是smallint,那麼,如果總額超過了$32,767 就不能進行計算操作了。
而ID 類型的文本欄位,比如客戶ID 或定單號等等都應該設置得比一般想像更大。假設客戶ID 為10 位數長。那你應該把資料庫表欄位的長度設為12 或者13 個字元長。但這額外占據的空間卻無需將來重構整個資料庫就可以實現資料庫規模的增長了。
8) 增加刪除標記欄位
在表中包含一個「刪除標記」欄位,這樣就可以把行標記為刪除。在關系資料庫里不要單獨刪除某一行;最好採用清除數據程序而且要仔細維護索引整體性。
3. 選擇鍵和索引(資料庫邏輯設計)
鍵選擇原則:
1) 鍵設計4 原則
為關聯欄位創建外鍵。 •
所有的鍵都必須唯一。 •
避免使用復合鍵。 •
外鍵總是關聯唯一的鍵欄位。 •
2) 使用系統生成的主鍵
設計資料庫的時候採用系統生成的鍵作為主鍵,那麼實際控制了資料庫的索引完整性。這樣,資料庫和非人工機制就有效地控制了對存儲數據中每一行的訪問。採用系統生成鍵作為主鍵還有一個優點:當擁有一致的鍵結構時,找到邏輯缺陷很容易。
3) 不要用用戶的鍵(不讓主鍵具有可更新性)
在確定採用什麼欄位作為表的鍵的時候,可一定要小心用戶將要編輯的欄位。通常的情況下不要選擇用戶可編輯的欄位作為鍵。
4) 可選鍵有時可做主鍵
把可選鍵進一步用做主鍵,可以擁有建立強大索引的能力。
索引使用原則:
索引是從資料庫中獲取數據的最高效方式之一。95%的資料庫性能問題都可以採用索引技術得到解決。
1) 邏輯主鍵使用唯一的成組索引,對系統鍵(作為存儲過程)採用唯一的非成組索引,對任何外鍵列採用非成組索引。考慮資料庫的空間有多大,表如何進行訪問,還有這些訪問是否主要用作讀寫。
2) 大多數資料庫都索引自動創建的主鍵欄位,但是可別忘了索引外鍵,它們也是經常使用的鍵,比如運行查詢顯示主表和所有關聯表的某條記錄就用得上。
3) 不要索引memo/note 欄位,不要索引大型欄位(有很多字元),這樣作會讓索引佔用太多的存儲空間。
4) 不要索引常用的小型表
不要為小型數據表設置任何鍵,假如它們經常有插入和刪除操作就更別這樣作了。對這些插入和刪除操作的索引維護可能比掃描表空間消耗更多的時間。
4. 數據完整性設計(資料庫邏輯設計)
1) 完整性實現機制:
實體完整性:主鍵
參照完整性:
父表中刪除數據:級聯刪除;受限刪除;置空值
父表中插入數據:受限插入;遞歸插入
父表中更新數據:級聯更新;受限更新;置空值
DBMS對參照完整性可以有兩種方法實現:外鍵實現機制(約束規則)和觸發器實現機制
用戶定義完整性:
NOT NULL;CHECK;觸發器
2) 用約束而非商務規則強制數據完整性
採用資料庫系統實現數據的完整性。這不但包括通過標准化實現的完整性而且還包括數據的功能性。在寫數據的時候還可以增加觸發器來保證數據的正確性。不要依賴於商務層保證數據完整性;它不能保證表之間(外鍵)的完整性所以不能強加於其他完整性規則之上。
3) 強制指示完整性
在有害數據進入資料庫之前將其剔除。激活資料庫系統的指示完整性特性。這樣可以保持數據的清潔而能迫使開發人員投入更多的時間處理錯誤條件。
4) 使用查找控制數據完整性
控制數據完整性的最佳方式就是限制用戶的選擇。只要有可能都應該提供給用戶一個清晰的價值列表供其選擇。這樣將減少鍵入代碼的錯誤和誤解同時提供數據的一致性。某些公共數據特別適合查找:國家代碼、狀態代碼等。
5) 採用視圖
為了在資料庫和應用程序代碼之間提供另一層抽象,可以為應用程序建立專門的視圖而不必非要應用程序直接訪問數據表。這樣做還等於在處理資料庫變更時給你提供了更多的自由。
5. 其他設計技巧
1) 避免使用觸發器
觸發器的功能通常可以用其他方式實現。在調試程序時觸發器可能成為干擾。假如你確實需要採用觸發器,你最好集中對它文檔化。
2) 使用常用英語(或者其他任何語言)而不要使用編碼
在創建下拉菜單、列表、報表時最好按照英語名排序。假如需要編碼,可以在編碼旁附上用戶知道的英語。
3) 保存常用信息
讓一個表專門存放一般資料庫信息非常有用。在這個表裡存放資料庫當前版本、最近檢查/修復(對Access)、關聯設計文檔的名稱、客戶等信息。這樣可以實現一種簡單機制跟蹤資料庫,當客戶抱怨他們的資料庫沒有達到希望的要求而與你聯系時,這樣做對非客戶機/伺服器環境特別有用。
4) 包含版本機制
在資料庫中引入版本控制機制來確定使用中的資料庫的版本。時間一長,用戶的需求總是會改變的。最終可能會要求修改資料庫結構。把版本信息直接存放到資料庫中更為方便。
5) 編制文檔
對所有的快捷方式、命名規范、限制和函數都要編制文檔。
採用給表、列、觸發器等加註釋的資料庫工具。對開發、支持和跟蹤修改非常有用。
對資料庫文檔化,或者在資料庫自身的內部或者單獨建立文檔。這樣,當過了一年多時間後再回過頭來做第2 個版本,犯錯的機會將大大減少。
6) 測試、測試、反復測試
建立或者修訂資料庫之後,必須用用戶新輸入的數據測試數據欄位。最重要的是,讓用戶進行測試並且同用戶一道保證選擇的數據類型滿足商業要求。測試需要在把新資料庫投入實際服務之前完成。
7) 檢查設計
在開發期間檢查資料庫設計的常用技術是通過其所支持的應用程序原型檢查資料庫。換句話說,針對每一種最終表達數據的原型應用,保證你檢查了數據模型並且查看如何取出數據。
『肆』 資料庫概念設計的方法是什麼
資料庫概念構設計的任務是在需求分析階段產生的需求說明書的基礎上,按照特定的方法把它們抽象為一個不依賴於任何具體機器的數據模型,即概念模型。
概念模型使設計者的注意力能夠從復雜的實現細節中解脫出來,而只集中在最重要的信息的組織結構和處理模式上。
『伍』 資料庫進階:ERP管理軟體資料庫系統的幾種設計方法
自增長primary key
採用自增長primary key主要是性能 早期的資料庫系統 經常採用某種編號 比如身份證號碼 公司編號等等作為資料庫表的primary key 然而 很快 大家就發現其中的不利之處
比如早期的醫院管理系統 用身份證號碼作為病人表的primary key 然而 第一 不是每個人都有身份證;第二 對於國外來的病人 不同國家的病人的證件號碼並不見得沒有重復 因此 用身份證號碼作為病人表的primary key是一個非常糟糕的設計 考慮到沒有醫生或者護士會刻意去記這些號碼 使用自增長primary key是更好的設計
公司編號採用某種特定的編碼方法 這也是早期的資料庫系統常見的做法 它的缺點也顯而易見 很容易出現像千年蟲的軟體問題 因為當初設計資料庫表的時候設計的位數太短 導致系統使用幾年後不能滿足要求 只有修改程序才能繼續使用 問題在於 任何人設計系統的時候 在預計某某編號多少位可以夠用的時候 都存在預計不準的風險 而採用自增長primary key 則不存在這種問題 同樣的道理 沒有人可以去記這些號碼
使用自增長primary key另外一個原因是性能問題 略有編程常識的人都知道 數字大小比較比字元串大小比較要快得多 使用自增長primary key可以大大地提高數據查找速度
避免用復合主鍵 (pound primary key)
這主要還是因為性能問題 數據檢索是要用到大量的 primary key 值比較 只比較一個欄位比比較多個欄位快很多 使用單個primary key 從編程的角度也很有好處 sql 語句中 where 條件可以寫更少的代碼 這意味著出錯的機會大大減少
雙主鍵
雙主鍵是指資料庫表有兩個欄位 這兩個欄位獨立成為主鍵 但又同時存在 資料庫系統的雙主鍵最早用在用戶管理模塊 最早的來源可能是參照操作系統的用戶管理模塊
操作系統的用戶管理有兩個獨立的主鍵 操作系統自己自動生成的隨機 ID (Linux windows 的 SID) login id 這兩個 ID 都必須是唯一的 不同的是 刪除用戶 test 然後增加一個用戶 test SID 不同 login id 相同 採用雙主鍵主要目的是為了防止刪除後增加同樣的 login id 造成的混亂 比如銷售經理 hellen 本機共享文件給總經理 peter 一年後總經理離開公司 進來一個普通員工 peter 兩個peter 用同樣的 login id 如果只用 login id 作操作辯叢歷系統的用戶管理主鍵 則存在漏洞 普通員工 peter 可以訪問原來只有總經理才能看的文件 操作系統自己自動生成的隨機 ID 一般情況下面用戶是看不到的
雙主鍵現在已經廣泛用在各種資料庫系統中 不限於用戶管理系統
以固定的資料庫 表應付變化的客戶需求
這主要基於以下幾個因素的考慮
大型EPR系統的正常使用 維護需要軟體廠商及其眾多的合作夥伴共同給客戶提供技術服務 包括大量的二次開發攜搜
如果用戶在軟體正常使用過程中需要增加新的表或者資料庫 將給軟體廠商及其眾多的合作夥伴帶來難題
軟體升級的需要
沒有一個軟體能夠讓客戶使用幾十上百年不用升級的 軟體升級往往涉及資料庫表結構的改變 軟體廠商會做額外的程序將早期版本軟體的資料庫數據升級到新的版本 但是對於用戶使用過程中生成的表進行處理就比較為難
軟體開鄭絕發的需要
使用固定的資料庫庫表從開發 二次開發來說 更加容易 對於用戶使用過程中生成的表 每次查找數據時都要先查表名 再找數據 比較麻煩
舉例來說 早期的用友財務軟體用Access作資料庫 每年建立一個新的資料庫 很快 用戶和用友公司都發現 跨年度數據分析很難做 因此這是一個不好的設計 在 ERP 中 很少有不同的年度數據單獨分開 一般來說 所有年份的數據都在同一個表中 對於跨國公司甚至整個集團公司都用同一個 ERP 系統的時候 所有公司的數據都在一起 這樣的好處是數據分析比較容易做
現在大多數資料庫系統都能做到在常數時間內返回一定量的數據 比如 Oracle 資料庫中 根據 primary key 在 萬條數據中取 條數據 與在 億條數據中取 條數據 時間相差並不多
避免一次取資料庫大量數據 取大量數據一定要用分頁
這基本上是現在很多資料庫系統設計的基本守則 ERP 系統中超過 萬條數據的表很多 對於很多表中的任何一個 一次取所有的會導致資料庫伺服器長時間處於停滯狀態 並且影響其它在線用戶的系統響應速度
一般來說 日常操作 在分頁顯示的情況下面 每次取得數據在 之間 系統響應速度足夠快 客戶端基本沒有特別長的停頓 這是比較理想的設計 這也是大型資料庫系統往往用 ODBC ADO 等等通用的資料庫聯接組件而不用特定的速度較快的專用資料庫聯接組件的原因 因為系統瓶頸在於資料庫( Database) 方面(數據量大) 而不在於客戶端(客戶端每次只取少量數據)
在 B/S 資料庫系統中 分頁非常普遍 早期的資料庫系統經常有客戶端程序中一次性取大量數據做緩沖 現在已經不是特別需要了 主要原因有
資料庫本身的緩沖技術大大提高
大部分資料庫都會自動將常用的數據自動放在內存中緩沖 以提高性能
資料庫聯接組件的緩沖技術也在提高
包括 ADO 在內的一些資料庫聯接組件都會自動對數據結果集(result set)進行緩沖 並且效果不錯 比較新穎的資料庫聯接組件 比如 Hibernate 也加入了一些數據結果集緩沖功能
當然 也有一些資料庫聯接組件沒有對數據結果集進行緩沖 比如 JDBC Driver 不過幾年之內情況應該有所改觀 也有些不太成功的數據緩沖 比如 EJB 中的實體Bean 性能就不盡如人意 實體Bean數據也是放在內存中 可能是因為佔用內存過多的緣故
lishixin/Article/program/SQL/201311/16157
『陸』 資料庫設計的步驟有哪些
資料庫的設計過程大致可分為以下六個階段:
1. 需求分析階段
需求收集和分析,結果得到數據字典描述的數據需求(和數據流圖描述的處理需求)。
2. 概念結構設計階段
通過對用戶需求進行綜合、歸納與抽象,形成一個獨立於具體DBMS的概念模型,可以用E-R圖表示。
3. 邏輯結構設計階段
將概念結構轉換為某個DBMS所支持的數據模型(例如關系模型),並對其進行優化。
4. 資料庫物理設計階段
為邏輯數據模型選取一個最適合應用環境的物理結構(包括存儲結構和存取方法)。
5. 資料庫實施階段
運用DBMS提供的數據語言(例如SQL)及其宿主語言(例如C),根據邏輯設計和物理設計的結果建立資料庫,編制與調試應用程序,組織數據入庫,並進行試運行。
6. 資料庫運行和維護階段
資料庫應用系統經過試運行後即可投入正式運行。在資料庫系統運行過程中必須不斷地對其進行評價、調整與修改。
『柒』 資料庫設計的基本步驟
資料庫設計的基本步驟如下:
1、安裝並打開MySQL WorkBench軟體以後,在軟體的左側邊欄有三個選項,分別是對應「連接數據喊做庫」、「設計資料庫」、「遷移資料庫」的功能。這類選擇第二項,設計資料庫,點擊右邊的「+」號,創建models。
『捌』 簡述資料庫應用系統的設計步驟
資料庫設計的基本步驟:
1、系統需求分析與設計。
2、概念結構分析與設計。
3、邏輯結構分析與設計。
4、物理結構分析與設計。
5、系統實施。
6、系統維護。
(8)資料庫系統的設計方法有哪些方法有哪些擴展閱讀:
資料庫設計技巧:
1、原始文件與實體的關系
它可以是一對一,一對多,多對多的關系。一般來說,它們是一對一的關系:一個原始文檔只對應於一個實體。在特殊情況下,它們可以是一對多或多對一關系,即一個原始文檔對應於多個實體,或者多個原始文檔對應於一個實體。
這里的實體可以理解為基本表。在對應關系明確後,對輸入介面的設計非常有利。
2、主鍵和外鍵
一般來說,實體不能既沒有主鍵也沒有外鍵。在E-R圖中,葉中的實體可以定義主鍵或不定義主鍵(因為它沒有子代),但它必須有外鍵(因為它有父項)。
主鍵和外鍵的設計在全局資料庫的設計中起著重要的作用。當全球資料庫的設計完成後,一位美國資料庫設計專家說:「鑰匙無處不在,只有鑰匙。」。這是他資料庫設計的經驗,也體現了他對信息系統核心(數據模型)高度抽象的理念。
因為:主鍵是一個高度抽象的實體。主鍵和外鍵的配對表示實體之間的連接。
3、基本表的屬性
基本表不同於中間表和臨時表,因為它具有以下四個特點:
原子性。基本表中的欄位不可分解。
原始主義。基本表中的記錄是原始數據(基本數據)的記錄。
演繹的。所有輸出數據都可以從基本表和代碼表中的數據導出。
穩定。基本表的結構比較穩定,表中的記錄要長期保存。
在了解基本表的性質之後,在設計資料庫時,可以將基本表與中間表和臨時表區分開來。
『玖』 資料庫設計主要包括哪幾部分,分別包括哪些內容
資料庫設計主要包括需求分析、概念結構設計、邏輯結構設計、物理結構設計、資料庫的實施和資料庫的運行和維護,具體內容如下:
1、需求分析
內容:調查和分析用戶的業務活動和數據的使用情況,弄清所用數據的種類、范圍、數量以及它們在業務活動中交流的情況,確定用戶對資料庫系統的使用要求和各種約束條件等,形成用戶需求規約。
2、概念設計
內容:對用戶要求描述的現實世界,通過對其中諸處的分類、聚集和概括,建立抽象的概念數據模型。這個概念模型應反映現實世界各部門的信息結構、信息流動情況、信息間的互相制約關系以及各部門對信息儲存、查詢和加工的要求等。
3、邏輯設計
內容:主要工作是將現實世界的概念數據模型設計成資料庫的一種邏輯模式,即適應於某種特定資料庫管理系統所支持的邏輯數據模式。與此同時,可能還需為各種數據處理應用領域產生相應的邏輯子模式。這一步設計的結果就是所謂「邏輯資料庫」。
4、物理設計
內容:根據特定資料庫管理系統所提供的多種存儲結構和存取方法等依賴於具體計算機結扒塌構的各項物理設計措施,對具體的應用任務選定最合適的物理存儲結構(包括文件類型、索引結構和數據的存放次序與位邏輯等)、存取方法和存取路徑等。
5、驗證設計
內容:收集數據並具體建立一個資料庫,運行一些典型的應用任務來驗證資料庫設計的正確性和合理性。一般,一個大型資料庫的設計過程往往需要經過多次循環反復。當設計的某步發現問題時,可能就需要返回到前面去進行修改。
6、運行與維護設計
內容:在資料庫系統正式投入運行的過程中,必須不斷地對其進行調整與修改。除了關系型資料庫已有一套較完整的數據範式理論可用來部分地指導資料庫設計之外,尚缺乏一套完善的資料庫設計理論、方法和工具,以實現資料庫設計的自動化或互動式的半自動化春衫圓設計。
(9)資料庫系統的設計方法有哪些方法有哪些擴展閱讀:
重要性
1、有利於資源節約
對計算機軟體資料庫設塌春計加以重視不僅可減少軟體後期的維修,達到節約人力與物力的目的,同時還有利於軟體功能的高效發揮。
2、有利於軟體運行速度的提高
高水平的資料庫設計可滿足不同計算機軟體系統對於運行速度的需求,而且還可充分發揮並實現系統功能。計算機軟體性能提高後,系統發出的運行指令在為用戶提供信息時也將更加快速有效,軟體運行速度自然得以提高。
3、有利於軟體故障的減少
加強資料庫設計可有效減少軟體故障的發生幾率,推動計算機軟體功能的實現。
『拾』 資料庫設計的步驟有哪些
資料庫設計過程分為以下六個階段:
1、需求分析階段
准確理解和分析用戶需求(包括數據和處理),它是整個設計過程的基礎,也是最困難、最耗時的一步。
2、概念結構設計階段
是整個資料庫設計的關鍵,通過對用戶需求的集成、歸納和抽象,形成了一個獨立於特定資料庫管理系統的概念模型。
3、邏輯結構設計階段
將概念結構轉換為DBMS支持的數據模型,對其進行優化。
4、資料庫物理設計階段
為邏輯數據模型選擇最適合應用程序環境的物理結構(包括存儲結構和存取方法)。
5、資料庫實現階段
根據邏輯設計和物理設計的結果,使用資料庫管理系統提供的數據語言、工具和主機語言,建立資料庫,編寫調試應用程序,組織數據倉庫,並進行試運行。
6、資料庫運行維護階段
資料庫應用系統經試運行後可投入正式運行,在資料庫系統運行過程中,需要不斷地對其進行評估、調整和修改。
註:在設計過程中,將資料庫的設計與資料庫中數據處理的設計緊密結合起來,在每個階段同時對這兩個方面的要求進行分析、抽象、設計和實現,相互借鑒和補充,從而完善這兩個方面的設計。
(10)資料庫系統的設計方法有哪些方法有哪些擴展閱讀:
資料庫設計技術
1、清晰的用戶需求:作為計算機軟體開發的重要基礎,資料庫設計直接反映了用戶的需求。資料庫必須與用戶緊密溝通,緊密結合用戶需求。在定義了用戶開發需求之後,設計人員還需要反映具體的業務關系和流程。
2、注意數據維護:設計面積過大、數絕遲御據過於復雜是資料庫設計中常見的問題,設計人員應注意數據維護。旦碰
3、增加命名規范化:命名資料庫程序和文件非常重要,不僅要避免重復的名稱,還要確保數據處於平衡狀態。為了降低檢索信息和資源的復雜度和難度,設計人員應了解資料庫程序與文件之並岩間的關系,並靈活使用大小寫字母命名。
4、充分考慮資料庫的優化和效率:考慮到資料庫的優化和效率,設計人員需要對不同表的存儲數據採用不同的設計方法。在設計中,還應該使用最少的表和最弱的關系來實現海量數據的存儲。
5、不斷調整數據之間的關系:不斷調整和簡化數據之間的關系,可以有效減少設計與數據之間的聯系,進而為維護數據之間的平衡和提高數據讀取效率提供保障。
6、合理使用索引:資料庫索引通常分為聚集索引和非聚集索引,這樣可以提高數據搜索的效率。
參考資料來源:網路-資料庫設計