數(shù)據(jù)庫設(shè)計需求1. 需求概述 建立完善的數(shù)據(jù)庫結(jié)構(gòu)管理設(shè)備的基本參數(shù)、運行狀態(tài)和各種工作計劃,。 數(shù)據(jù)庫的框架和結(jié)構(gòu)必須根據(jù)設(shè)備和運行狀態(tài)而設(shè)計,,方便提供強(qiáng)大的錄入、查詢,、統(tǒng)計、分析和報表等各種功能操作,,較好的反映平臺業(yè)務(wù)的基本情況和運行狀況,,滿足平臺的基本要求。 2. 外部設(shè)計需求2.1 標(biāo)識符和狀態(tài) 數(shù)據(jù)庫表前綴:根據(jù)模塊名定義(如用戶模塊:sys_) 用戶名:root 密碼:待定 權(quán)限:全部 有效時間:開發(fā)階段 說明:系統(tǒng)正式發(fā)布后,,可能更改數(shù)據(jù)庫用戶/密碼,。 2.2 使用它的程序 本系統(tǒng)主要利用java作為后端的應(yīng)用開發(fā)工具,使用MySQL作為后臺的數(shù)據(jù)庫,, Linux或Windows均可作為系統(tǒng)平臺,。 2.3 約定
2.4 專門指導(dǎo) 對本系統(tǒng)的開發(fā)者,、使用這、測試員和維護(hù)人員,,提出以下參考意見:
2.5 支持軟件 操作系統(tǒng): Linux / Windows 數(shù)據(jù)庫系統(tǒng):MySQL 查詢?yōu)g覽工具:Navicat Premium 命令行工具:mysql 注意:mysql 命令行環(huán)境下對中文支持不好,,可能無法書寫帶有中文的 SQL 語句,。 3. 結(jié)構(gòu)設(shè)計需求3.1 概念結(jié)構(gòu)設(shè)計需求 概念數(shù)據(jù)庫的設(shè)計是進(jìn)行具體數(shù)據(jù)庫設(shè)計的第一步,概念數(shù)據(jù)庫設(shè)計的好壞直接影響到邏輯數(shù)據(jù)庫的設(shè)計,,影響到整個數(shù)據(jù)庫的好壞,。 我們已經(jīng)得到了系統(tǒng)的數(shù)據(jù)流程圖和數(shù)據(jù)字典,現(xiàn)在就是要結(jié)合數(shù)據(jù)規(guī)范化的理論,,用一種模型將用戶的數(shù)據(jù)要求明確地表示出來,。 概念數(shù)據(jù)庫的設(shè)計應(yīng)該極易于轉(zhuǎn)換為邏輯數(shù)據(jù)庫模式,又容易被用戶所理解,。概念數(shù)據(jù)庫設(shè)計中最主要的就是采用“實體-關(guān)系數(shù)據(jù)”模型來確定數(shù)據(jù)庫的結(jié)構(gòu),。 數(shù)據(jù)是表達(dá)信息的一種重要的量化符號,是信息存在的一種重要形式,。數(shù)據(jù)模型則是數(shù)據(jù)特征的一種抽象,。它描述的是數(shù)據(jù)的共性,而不是描述個別的數(shù)據(jù),。一般來說,,數(shù)據(jù)模型包含兩方面內(nèi)容:
在數(shù)據(jù)庫系統(tǒng)設(shè)計中,,建立反映客觀信息的數(shù)據(jù)模型,是設(shè)計中最為重要的,,也最基本的步驟之一,。 數(shù)據(jù)模型是連接客觀信息世界和數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)邏輯組織的橋梁,也是數(shù)據(jù)庫設(shè)計人員與用戶之間進(jìn)行交流的共同基礎(chǔ),。概念數(shù)據(jù)庫中采用的實體-關(guān)系模型,,與傳統(tǒng)的數(shù)據(jù)模型有所不同?!皩嶓w-關(guān)系”模型是面向現(xiàn)實世界,,而不是面向?qū)崿F(xiàn)方法的,它主要是用使用方便,,因而在數(shù)據(jù)庫系統(tǒng)應(yīng)用的設(shè)計中,,得到了廣泛應(yīng)用?!皩嶓w-關(guān)系”模型可以用來說明數(shù)據(jù)庫中實體的等級和屬性,。 以下是實體-關(guān)系模型中的重要標(biāo)識:
3.2 邏輯結(jié)構(gòu)設(shè)計需求 項目結(jié)構(gòu)實體、實體屬性ER圖如下: 用戶權(quán)限實體,、實體屬性ER圖如下: 進(jìn)度計劃權(quán)限實體,、實體屬性ER圖如下: 3.3 物理結(jié)構(gòu)設(shè)計需求 1)定義數(shù)據(jù)庫、表及字段的命名規(guī)范:
2)選擇合適的存儲引擎: 3)為表中的字段選擇合適的數(shù)據(jù)類型。 4)建立數(shù)據(jù)庫結(jié)構(gòu) 4. 運用設(shè)計需求4.1 表名的命名規(guī)范 表名以英文單詞,、單詞縮寫,、簡寫、下劃線構(gòu)成,,總長度要求小于30位,。 4.2 表字段的命名規(guī)范
5.1 防止用戶直接操作數(shù)據(jù)庫的方法 通過把關(guān)鍵應(yīng)用服務(wù)器和數(shù)據(jù)庫服務(wù)器進(jìn)行分離,防止用戶對數(shù)據(jù)庫服務(wù)器的直接操作,,保證數(shù)據(jù)庫安全,。 5.2 應(yīng)用系統(tǒng)的用戶口令進(jìn)行加密 在軟件系統(tǒng)中,對于數(shù)據(jù)的保護(hù),、業(yè)務(wù)操作的許可是通過識別用戶身份和權(quán)限來完成的,。用戶口令相比較,相同的話系統(tǒng)將該用戶的操作權(quán)限分配給用戶,,用戶再根據(jù)所分配的權(quán)限對系統(tǒng)進(jìn)行操作,。 由以上過程可知,用戶口令在傳輸過程中容易被竊取泄漏,,另外如果數(shù)據(jù)庫被非法進(jìn)入則其中保存的口令能夠被非法查看,。因此,在傳輸過程中和數(shù)據(jù)庫中的口令記錄字段不應(yīng)使用明文傳遞和保存,,應(yīng)該在口令被傳遞前對其明文口令使用有效的主流技術(shù),,對傳輸數(shù)據(jù)進(jìn)行加密部分描述的加密算法進(jìn)行加密,在加密后傳輸?shù)较到y(tǒng),。系統(tǒng)將用戶提交的經(jīng)過加密的口令數(shù)據(jù)保存的加密口令進(jìn)行比較,,相一致則進(jìn)行后續(xù)操作。 通過以上措施和過程,,證了加密口令即使被竊取仍無法得到原始口令,。 5.3 對用戶進(jìn)行權(quán)限識別和分級 在XXXXXX平臺中,不同的業(yè)務(wù)不同的人員處理,,并且對于不同的操作人員其所能夠訪問的數(shù)據(jù)是不同的,。 為了保障各功能模塊的授權(quán)使用和數(shù)據(jù)不被非法訪問,系統(tǒng)劃分了不同的操作權(quán)限和數(shù)據(jù)讀寫等級,。系統(tǒng)管理人員可以方便,、靈活的將這些權(quán)限登記分配給某一個或某一類用戶,。 當(dāng)用戶登陸時,系統(tǒng)在用戶身份驗證通過后取得用戶的權(quán)限,,根據(jù)用戶權(quán)限顯示相應(yīng)的功能菜單,。當(dāng)用戶對數(shù)據(jù)進(jìn)行讀、寫,、刪除后瀏覽操作時,,系統(tǒng)判斷用戶對該數(shù)據(jù)的訪問權(quán)限確定是否允許該操作的執(zhí)行。 本文由 @臥枕江山 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,。 題圖來自Unsplash,,基于CC0協(xié)議 |
|