MySQL之三大范式

時間 : 2019-12-20
點擊次數 : 85

      必須保證數據庫設計的合理性

      數據庫設計關系整個系統的架構,關系到后續的開發效率和運行效率

      數據庫的設計主要包含了設計表結構和表之間的聯系

      如何是合理數據庫

      結構合理

      冗余較小

      盡量避免插入刪除修改異常

      如何才能保證數據庫設計水平

      遵循一定的規則

      在關系型數據庫中這種規則就稱為范式

      什么是范式(NF= Normal Form)

      范式是符合某一種設計要求的總結。

      要想設計一個結構合理的關系型數據庫,必須滿足一定的范式。

      第一范式

      要求

      最基本的范式

      數據庫表每一列都是不可分割的基本數據項,同一列中不能有多個值

      簡單說就是要確保每列保持原子性

      第一范式的合理遵循需要根據系統的實際需求來定

      示例

      用戶表(用戶名,家庭地址)

      用戶表(用戶名,省,城市,詳細地址)

      第二范式

      要求

      第二范式需要確保數據庫表中的每一列都和主鍵相關,而不能只與主鍵的某一部分相關(主要針對聯合主鍵而言)。

      即在一個數據庫表中只能保存一種數據,不可以把多種數據保存在同一張數據庫表中。

      示例

      學號和課程編號作為聯合主鍵

      課程名稱只依賴于課程編號,而和學號沒有關系

      解決

      提取出學生表

      提取成課程表

      提取選課表,存放選課記錄

      第三范式

      要求

      確保數據表中的每一列數據都和主鍵直接相關,而不能間接相關

      屬性不依賴于其他非主屬性。

      范式的優缺點

      優點

      結構合理

      冗余較小

      盡量避免插入刪除修改異常

      缺點

      性能降低

      多表查詢比單表查詢速度慢

      數據庫的設計應該根據當前情況和需求做出靈活的處理。

      在實際設計中,要整體遵循范式理論。

      如果在某些特定的情況下還死死遵循范式也是不可取的,因為可能降低數據庫的效率,此時可以適當增加冗余而提高性能。

      總結

      范式是指導數據設計的規范化理論,可以保證數據庫設計質量

      第一范式:字段不能再分

      第二范式:不存在局部依賴

      第三范式:不含傳遞依賴(間接依賴)

      使用范式可以減少冗余,但是會降低性能

      特定表的的設計可以違反第三范式,增加冗余提高性能

上一篇:Git基本常用操作

上一篇:2020年元旦放假通知

友情鏈接:云聯泰達OA開發
煙臺網云網絡科技有限公司 魯ICP備14027327號-3

回到頂部
天津快乐10分开奖软件 拖码和胆码怎么选 一码 历史数据股票工具 手机版四川麻将 2017能赚钱的网 在线股票实时行情 欢乐斗牛改名了叫什么 四肖三期必出一管家婆 股票代码查询网 棋牌游戏信誉