如何設計高級的資料庫

来源:http://www.cnblogs.com/System-out-println/archive/2016/01/06/5106709.html
-Advertisement-
Play Games

相信大家認真看完這篇文章就會知道怎麼去設計出高級的資料庫了!!!最近有朋友一直問我為什麼需要規範的的資料庫設計?專業人士解析:因為在實際的項目開發中,如果系統的數據存儲量較大,設計的表比較多,表和表之間的關係比較複雜,就需要首先考慮規範的資料庫設計,然後進行具體的創建庫,創建表的工作,不管是創建動....


                   相信大家認真看完這篇文章就會知道怎麼去設計出高級的資料庫了!!!

 

 

最近有朋友一直問我為什麼需要規範的的資料庫設計?

專業人士解析:

因為在實際的項目開發中,如果系統的數據存儲量較大,設計的表比較多,表和表之間的關係比較

複雜,就需要首先考慮規範的資料庫設計,然後進行具體的創建庫,創建表的工作,不管是創建動

態網站,還是創建桌面視窗的應用程式,資料庫設計的重要性都不言而喻。如果設計不當,會存在

數據操作異常,修改複雜,數據冗餘等問題,程式性能就會受到影響。所以要有規範的資料庫設計

才可以提高項目的應用性能!

這位同鞋問的好!什麼是資料庫設計???

大鵬告訴你:資料庫設計就是將資料庫中的數據實體及這些數據實體之間的關係,進行規劃和結構化的過程。

如下圖(學生信息資料庫的結構也包括這四個數據實體之間的關係)

 

 說完了資料庫設計,接下來就說一說設計資料庫的步驟:

項目的開發需要經過:需求分析,概要設計,代碼編寫,運行測試和打包發行幾個階段。

需求分析:分析客戶的業務和數據處理需求。

概要設計階段:繪製資料庫的E-R圖,用於在項目團隊內部,設計人員和客戶之間的進行

溝通,確認需求信息的正確和完整性。

詳細設計階段:將E-R圖轉換為多張表,進行邏輯設計,確認各表的主外鍵,並應用數據

庫設計的三大範式進行審核。然而後面就是交給代碼編寫階段。

小竅門:無論資料庫的大小和複雜程度如何,在進行資料庫的系統分析時,都可以參考下列基本步驟:(不要告訴別人)

            1.收集信息。

            2.標識實體

            3.標識每個實體需要存儲的詳細信息

            4.標識實體之間的關係

標識實體:其實有的童鞋不知道怎麼標識出實體,實體可以是有形的事物,如人或者產品;也可以是無形的事物,如商業

交易,公司部門,發薪周期。就以一個酒店管理系統資料庫為例:我們需要標識出系統中最主要的實體。

可想而知那就是客房,客人。客房包括單人間,標準間,三人間,總統套房;客人包括客人姓名,客人身份信息等

這就是標識實體。實體一般是名詞,一個實體只描述一件事情,不能重覆出現含義相同的實體。

下一步需要做的就是要給實體存儲詳細的信息

客房:客房號,客房類型,客房狀態,客房描述,床位數,入住人數,價格

客人:姓名,身份證號,客人編號,入住日期,結賬日期,押金,總金額

概念設計————————————繪製E-R圖(Entity-Relationship)

E-R圖稱為實體-關係圖。它包括一些具有特定含義的圖形符號

矩形表示實體集

橢圓表示屬性

菱形標識聯繫集

直線用來連接屬性和實體集,也用來連接實體集和聯繫集。

繪製E-R圖可以使用Microsoft Visio軟體具體如何使用就不依依介紹了

必背的三大範式:

第一範式:其目標是確保每列的原子性

第二範式:在第一範式的基礎上更進一層,其目標是確保表中的每列都和主鍵相關。

第三範式:在第二範式的基礎上更進一層,其目標是確保每列都和主鍵直接相關,而不是間接相關。

 

 

相信你們看到這裡怎麼去設計出高大上的資料庫心裡應該也有了一個如意小算盤了吧。

如果對你有幫助請別忘了支持一下!

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • -----------------------------U盤安裝windows7操作系統簡述。
  • @hcy 敬請訪問:http://blog.sina.com.cn/iihcyMicrosoft公司從1983年開始研製Windows系統,最初的研製目標是在MS-DOS的基礎上提供一個多任務的圖形用戶界面。第一個版本的Windows 1.0於1985年問世,它是一個具有圖形用戶界面的系統軟體。19...
  • Icinga客戶端的部署相對於伺服器端來說,簡單很多。對於伺服器端來說,如果要通過以下這種方式來監控伺服器,必須包含三個組件,Icinga內核,Icinga插件,NRPE(Nagios Remote Plugin Executor)。對於Icinga客戶端來說,只需要部署Icinga插件和NRPE。...
  • Linux系統調用--getrusage函數詳解功能描述:獲得進程的相關資源信息。如:用戶開銷時間,系統開銷時間,接收的信號量等等;用法:#include #include #include #define RUSAGE_SELF 0#define RUSAGE_CHILDREN -1int get...
  • 一,nfs服務優缺點 NFS 是Network File System的縮寫,即網路文件系統,可以讓不同的客戶端掛載使用同一個目錄,作為共用存儲使用,這樣可以保證不同的節點客戶端數據一致性,在集群架構中經常用到 NFS優點:簡單、方便、可靠、穩定 NFS缺點: 1、存在單點故障 2...
  • 創建資料庫: 1 CREATE DATABASE Test --要創建的資料庫名稱 2 ON PRIMARY 3 ( 4 --資料庫文件的具體描述 5 NAME='Test_data', --主數據文件的邏輯名稱...
  • Convert函數和Cast函數都是轉化函數,效果是一樣的。cast函數,轉化,如果轉化之後,年齡還是Null的話,就顯示為“未知”Convert函數和Cast函數都是轉化函數,效果是一樣的。
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...