通過 UML OO 進行資料庫設計

2021-08-29 19:17:24 字數 994 閱讀 1912

程式開發中使用oo的語言和方式,自然的養成了oo的思想,那麼在設計資料庫datamodel時,完成可以繼續發揚光大。

用oo的方式發現物件,發現class,找到class之間的關係,完成uml的類圖。

結合這個類圖,根據一對一,一對多,和多對多的,物件關係。來設計資料的datamodel

這個過程很清楚也很自然。

舉例說明:

1.use case的描述。

資料庫相關的設計,無非是資料如何輸入,和特定檢索條件的資料標示。

所以根據使用者的輸入的方式,和檢索輸出條件可以確定基本的usecase。

不同的使用者,不同時間點的資料輸入。不同的檢索條件,都要作為usecase的考慮重點,

注意)千萬不要假定使用者會一次性的完整的錄入我們設定好的資料格式。

根據這個一點,乙個簡單的資料的錄入case,可能會分解成很多的輸入case。

2.class的發現

基於use case 發現 用例中的class和他的熟悉,建立 class圖。

用class去驗證usecase,保證usecase的完整覆蓋。

注意採用oo的方式,注意要先把名詞都處理成class,而不要先把名詞都處理成屬性。

例如。書,有作者和分類。如果上來就先處理成屬性,book 有author 和 category屬性

那麼當一本書有多個作者和屬於 「科幻,戰爭,愛情」分類時就麻煩了 。

所以應該自然的優先考慮物件的方式,定義 book class, author class, catalog class

然後對他們之間的關聯關係分析,(一對多,多對多,一對一)看那些class可以退化成屬性。(一對一的情況,考慮用屬性實現)

3.class之間的關係

一對一,

一對多,

多對多

4.datamodel的完成。

class設計成表,關係通過外來鍵來描述。多對多的關係需要乙個中間表。

最後再用設計好的datamodel來覆蓋usecase。檢查設計有無問題。

通過shell指令碼進行資料庫操作

在做一些日常的運維工作的時候,經常需要些一些shell指令碼進行裝置效能以及其它引數的監控。在過去的一年工作中,接觸到的比較多的是對資料庫中某些資訊的監控。於是就想到了用shell mysql crontab進行實現。下面附上通過shell命令列非互動式的運算元據庫的方法 mysql hhostna...

通過shell指令碼進行資料庫操作

在做一些日常的運維工作的時候,經常需要些一些shell指令碼進行裝置效能以及其它引數的監控。在過去的一年工作中,接觸到的比較多的是對資料庫中某些資訊的監控。於是就想到了用shell mysql crontab進行實現。下面附上通過shell命令列非互動式的運算元據庫的方法 mysql hhostna...

通過Mysql資料檔案進行資料庫還原

一直沒有做mysql資料庫的備份,最近伺服器壞了,怎麼樣都啟不了,檔案倒是能夠拿回來,現在就只能通過資料庫的檔案進行還原了,剛開始的我的操作是在本地建立乙個相同的資料庫,然後將原來資料庫的檔案給拷貝過去替換現在資料庫的檔案,通過show tables命令倒是能夠看到其中所有的表,但是操作表如查詢的時...