mysql数据库设计的原则_MySQL数据库设计原则
轉自 http://www.supidea.com/post/mysql_design_database.aspx
MySQL數據庫設計原則
MySQL對于成為一個非常快速的數據庫服務器有著當之無愧的名聲,它也非常容易設置和使用。隨著它作為網站后端數據庫得聲望日增,其效果在去年開始有明 顯提高。但是很多MySQL用戶更多地知道如何創建一個數據庫并編寫對它的查詢。就像成千上萬的人通過載閑暇時用Linux做實驗來學習Unix那樣,很 多人通過玩MySQL學習關系數據庫。這些MySQL新手的大多數既沒有關系數據庫理論的背景,又沒有時間閱讀MySQL手冊全文。
因此,我們決定研究某些方法,你可以用針對優化性能來調節MySQL。在讀完本文后,你將理解一些幫助你設計你的MySQL數據庫和查詢的技術,值得你的應用很有效率。我們將假定你熟悉MySQL和SQL基礎,但不假定你有這兩方面的廣博知識。
只存儲你需要的信息
這聽上去是常識,但人們常常采取“廚房下水道”的方式進行數據庫設計。他們認為可能項要得每樣東西都要存儲并設計數據庫保存所有者這些數據。你需要對你的需 求現實些,并確定取確實需要什么信息。你常常能隨意產生一些數據而不把它存在數據庫表中。在這種情況下,從一個應用開發者的角度看也有道理這樣做。
例 如,在線目錄的產品表可能包含各種產品的名稱、介紹、尺寸、重量和價格。除了價格,你可能想存儲每個項目相關的稅和運輸成本。但實際上不必這樣做。首先稅 和運輸成本可以方便地(由你的應用或MySQL)計算出來。其次,如果稅和運輸成本改變了,你可能必須編寫必要的查詢更新每個產品記錄中的稅和運輸的費 率。
有時人們認為這太難不能在以后往數據庫表中加入字段,所以他們感覺不得不定義盡可能多的列。這是明顯的概念錯誤。在MySQL中,你可以用ALTER TABLE命令方便地修改表定義以適應你改變的需求。
例如,如果你突然認識到你需要給你的產品表增加一個級別列(可能你想允許用戶在你的目錄中給產品評級),你可以這樣做:
ALTER TABLE products ADD rank INTEGER
這給你的產品表增加了一個整數類型的級別列,你能用ALTER TABLE做什么的完整介紹參見MySQL手冊。
只要求你需要的東西--要清晰
就像說“只存儲你需要的東西”那樣,這可能看來是常識,但這一點
總結
以上是生活随笔為你收集整理的mysql数据库设计的原则_MySQL数据库设计原则的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mac+php7+mysql.so_在M
- 下一篇: mysql dml 日志_Oracle