數據建模
數據建模 |
數據建模指的是對現實世界各類數據的抽象組織,確定數據庫需管轄的範圍、數據的組織形式等直至轉化成現實的數據庫。 將經過系統分析後抽象出來的概念模型轉化為物理模型後,在visio或erwin等工具建立數據庫實體以及各實體之間關係的過程(實體一般是表)。在軟件工程中,數據建模是運用正式的數據建模技術,建立信息系統的數據模型的過程。
目錄
簡介
數據建模是一種用於定義和分析數據的要求和其需要的相應支持的信息系統的過程。因此,數據建模的過程中,涉及到的專業數據建模工作,與企業的利益和用戶的信息系統密切相關。從需求到實際的數據庫,有三種不同的類型。用於信息系統的數據模型作為一個概念數據模型,本質上是一組記錄數據要求的最初的規範技術。數據首先用於討論適合企業的最初要求,然後被轉變為一個邏輯數據模型,該模型可以在數據庫中的數據結構概念模型中實現。一個概念數據模型的實現可能需要多個邏輯數據模型。數據建模中的最後一步是確定邏輯數據模型到物理數據模型中到對數據訪問性能和存儲的具體要求。數據建模定義的不只是數據元素,也包括它們的結構和它們之間的關係。
評價
這也是一個迭代,如果先有需求,儘量去理解需求,明白當前項目或者軟件需要完成什麼,不明白或者不確定的地方和客戶及時交流,和客戶double confirm過的需求,落實到實體(Package);但是好多時候我們需要通過先和客戶交流,進而將交流結果落實到需求,之後進一步具體到實體;本文可能會涉及到一些來自於EA(Enterprise Architect 7.1)建模術語,(EA中將每個實體視為一個Package)。這裡並不對各種建模工具進行比較,如Visio,EA,PowerDesigner, ERWin等;其實作為員工的我們選擇性很少,公司有哪個產品的Licence,我們就用哪個吧。舉例說明:在一個B2C電子商務網站中,這樣的需求再普通不過了:客戶可以在該網站上自由進行購物!我們就以這個簡單例子,對其進行細分,來講解整個數據建模的過程,通過上面這句話,我們可以得出三個實體:客戶,網站,商品;就像Scrum(敏捷開發框架的一種)中倡導的一樣每個Sprint,都要產出確確實實的東西,OK,概念建模階段,我們就要產出實體。客戶和商品(我們將網站這個實體扔掉,不需要它。)在創建這兩個實體(Package)的時候,我們記得要講對需求的理解,以及業務規則,作為Notes添加到Package中,這些信息將來會成為數據字典中非常重要的一部分,也就是所謂的元數據。BTW,EA或者其他建模工具應該都可以自動生成數據字典,只不過最終生成的格式可能不太一樣。如在Customer這個Package的Notes上,我們可以這樣寫,用戶都要通過填寫個人基本信息以及一個郵箱來註冊賬戶,之後使用這個郵箱作為登錄帳號登錄系統進行交易。 [1]