2
我正在進行建築物監控系統的數據庫設計。它有點像這樣: 有一個建築物。建築物有多個區域,可以包含記錄器或一組活動飼料傳感器。記錄器有一個傳感器,數據由手機收集,然後再下載到系統中。數據庫設計問題
因此,例如:
Building:
+ Area1:
Cold room 1 (Logger)
Cold room 2 (Logger)
+ Freezer 1 (Live monitoring):
Live sensor 1
Live sensor 2
記錄程序具有存儲在數據庫中,因爲這樣做現場監測傳感器的讀數,並且讀數可以生成警報。
我的問題是,記錄器和實時監測傳感器非常相似,但由於它們存在於不同層次的層次中,我發現很難以一種看起來不錯的方式進行建模。這是我迄今爲止提出的。這僅僅是一個模擬出主意玩,那裏有很多缺失:
http://thejunkroom.co.uk/~marks/db1.png
亂我所知道的..位
這是一個恥辱,它不能是這樣的:
Building:
+ Area1:
+ Foo
Cold room 1 (Logger)
Cold room 2 (Logger)
+ Freezer 1 (Live monitoring):
Live sensor 1
Live sensor 2
至於那麼它可能是更多這樣的:
http://thejunkroom.co.uk/~marks/db2.png
但可惜它不是這樣。
那麼,有沒有更好的設計呢?
我希望這是某種意義..
感謝, 馬克。
感謝查爾斯 - 一件事,你的意思是有LoggerId FK->日誌房間?一個房間並不總是有一個記錄器 - 稍後,雖然我看到你把Log Room中的RoomId fk - > Room,這對於Loggers來說是我所需要的嗎? – Mark 2010-08-28 18:34:31
有一個小問題 - 這個設計允許位置(或稱爲房間)具有記錄器*和*冷凍機 - 他們不需要這個。我應該嘗試在數據庫中限制這一點,還是僅僅依靠業務邏輯? – Mark 2010-08-28 18:38:10
所以你說的「位置」既是記錄器又是冰箱的屬性?而不是我模擬它的方式?我會重做模型,以反映... – 2010-08-28 19:09:11