mysql的三大范式


1、數據庫導出的方式

(1)使用可視化工具導出

(2)使用命令行導出

  指令

mysqldump -h 主機地址 -u 用戶名 -p 密碼 數據庫名 表1 表2 表3 > 物理磁盤位置/文件名

(3)導入

  已登錄,指令

source d:/a.sql

  未登錄,指令

mysql -u用戶名 -p密碼 庫名 < 備份文件

(4)為什么需要備份?

  為了應對突發情況,如果將整個sql文件導出,就可以迅速在另一個物理機器上復原數據。

 

2、如何設計一個數據庫

  步驟

  • 分析需求:分析業務的需要,並明確數據庫需要處理的數據
  • 概要設計:設計關系圖
  • 建表、建庫

 

3、數據庫的三大范式

(1)為什么需要規范sql數據規范化?

  --入庫額數據設計不合理,會存在數據重復、更新插入異常等情況

(2)三大范式

  • 第一范式(1NF):要求數據庫的每一列都是不可分割的原子數據項,即原子性。

 

  • 第二范式(2NF):在滿足第一范式的前提下,非碼屬性必須完全依賴於候選碼,即表中的每一列都和主鍵相關,而不能至於主鍵的某一部分相關(主要針對聯合主鍵而言),即每張表只描述一件事情
  • 第三范式(3NF):在第二范式前提下,任何非主屬性不依賴於其他非主屬性(在2NF基礎上,消除傳遞依賴)。即確保數據表中的每一列數據都和主鍵直接相關,而不能間接相關

(3)規范性和性能的問題

  規范和性能之間需要平衡,如何表拆得過細,會導致查表關聯過多,導致性能問題。因此需要在規范性和性能之間作取舍。

  經常采用的方法是:處於用戶體驗考慮,通常以性能為優先考慮;故意給某些表增加一些榮譽的字段,從而將多表查詢變成單表查詢;或者增加一些計算列,從大數據量降低為小數據量的查詢,增加索引。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM