我們的專案為界首市閥栓監管系統,是在原有的水資源管理系統的基礎上進行迭代開發的,本專案開發的目的是統計閥栓用水資料,以圖表的形式進行顯示,為相關部門對閥栓的監管與維護提供支援。
因此在資料庫設計上主要儲存閥栓的相關資訊。結合需求,資料庫以閥栓資訊表為起點,遵循一類一表的原則,先建了乙個閥栓的資訊表,再將其與測量流量的檢測裝置表關聯,每個閥栓都對應乙個檢測裝置,檢測裝置又與裝置型別表和實時流量記錄表關聯;閥栓資訊表還有對應的日用水量表與月用水量表記錄用水量;閥栓資訊表還與位址相關表關聯,位址表由城市表、區縣表、鄉鎮表、村莊表、道路表共同組成了乙個分級的位址,便於統計各級的資料;閥栓資訊表還與負責部門表關聯,每個閥栓有對應的負責部門,當閥栓出現問題時會傳送警告記錄在警告表中並通知負責部門及時進行維護。這部分是業務相關的表,還有一部分是使用者許可權相關的表。其中包括了使用者資訊表、選單許可權表、api許可權表和角色表,超級管理員通過將選單許可權與api許可權賦予角色,再將角色賦予使用者將使用者分為多種等級來實現管理功能。
我們的資料庫表主要是分成兩部分:使用者許可權管理相關表,記錄使用者、角色及其相關的系統許可權;閥栓監測業務相關表,記錄閥栓資訊、閥栓用水量、報警情況及相關地理資訊。這樣,我們在處理資料的時候就比較有條理,能邏輯清楚地獲取、處理各部分資料。
由於我們的需求比較明確,模型的建立也就比較順利。我們為閥栓、檢測裝置等實體建立表,再根據它們之間的關係建立關係表並建立相應的約束。在許可權管理方面,我們利用角色和具體許可權項之間的多對多關係建立關係表,將許可權和角色相關聯,再建立角色和使用者的關係,使使用者能夠獲取角色的許可權,實現許可權管理。
1. 表與表之間的不同關係需要不同的表結構。一對多和一對一可以直接使用外來鍵實現,而多對多就需要在兩表之間建立乙個多對多關係表來儲存兩表之間的關係。
2. 每個表最好都使用乙個自增id作為主鍵,這樣可以更好地標識每一行資料,保證資料的實體完整性。
在這個過程中,我們發現資料庫的設計是整個專案中至關重要的一環,應該盡早開始。如果沒有理清專案中各種實體以及它們之間的關係,在設計資料庫時就會感到無從下手。良好的資料庫設計能夠增強可讀性,避免對錶和專案資料的頻繁改動,減少專案其他部分的修改成本。
通過這次資料庫設計,我們對關係型資料庫有了更深的理解。
資料庫設計心得
在培訓學校學習期間,老師一直很重視培養我們的 在這裡只指關聯式資料庫 資料庫設計能力的提高,在軟工期間很注意,現在的專案練習中又重點訓練,這是我對資料庫的設計不敢輕視。第乙個問題,資料庫的表依據什麼來建立。第二個問題,乙個優秀的資料庫具備哪些標準。我想,首先以滿足業務要求為底線,業務需要操作的資料及...
資料庫設計心得
今天,是我實習的第三個星期,也就是星期一,公司在趕乙個專案,短時間內需要快速融入公司的專案,了解整個大概,主要是要考自己能夠快速看懂,並且理解。在這過程中,看了這個專案的資料庫後,我對資料庫方面有了新的認識,而不單單是在學校所學的,在學校的時候,只懂得跟著書本上走,顯示分析出整個系統的實體,然後畫出...
資料庫設計心得
例子 alter table bx message 表名 addcolumn sendchannel 欄位名 int 4 null comment sendchannel的型別是int,它的標識是從0開始的,這樣帶來的問題就是,我在使用mvc的模型驗證時 required 沒有傳sendchanne...