我們看看高手是如何設(shè)計(jì)mysql數(shù)據(jù)庫的
發(fā)布時(shí)間:2013/10/18
字體:大中小
摘要:我們看看高手是如何設(shè)計(jì)mysql數(shù)據(jù)庫的,高手設(shè)計(jì)的友情鏈接mysql表,往往有時(shí)候我們自己很迷茫不知道如何設(shè)計(jì)mysql數(shù)據(jù)庫,那么我們可以看看高手是如何設(shè)計(jì)mysql數(shù)據(jù)庫表結(jié)構(gòu)的,我們舉例為友情鏈接數(shù)據(jù)庫表,希望對(duì)大家有所幫助。
mysql數(shù)據(jù)庫是現(xiàn)在非常流行的數(shù)據(jù)庫存儲(chǔ)選擇,我相信使用php的大部分人員都會(huì)選擇mysql數(shù)據(jù)庫,而自從oracle收購mysql之后,mysql的未來更是一片光明。
但是一個(gè)新手和一個(gè)高手設(shè)計(jì)的mysql數(shù)據(jù)庫表結(jié)構(gòu)是非常有區(qū)別的,那么有什么具體區(qū)別?讓我們來看下高手是如何設(shè)計(jì)mysql數(shù)據(jù)庫表結(jié)構(gòu)的,我會(huì)一一分析。
下面看一個(gè)友情鏈接的mysql數(shù)據(jù)庫設(shè)計(jì)表結(jié)構(gòu)代碼:
CREATE TABLE `friendlink` (
`id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
`paixu` tinyint(3) unsigned NOT NULL DEFAULT '0',
`title` varchar(80) NOT NULL,
`url` varchar(255) NOT NULL,
`isclosed` tinyint(1) unsigned NOT NULL DEFAULT '0',
`beizhu` varchar(100) NOT NULL DEFAULT ''
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
首選,創(chuàng)建id字段為自動(dòng)增長,因?yàn)橛亚殒溄拥臄?shù)量問題,一般不會(huì)超過3位數(shù)字,所以我們直接建議使用tinyint來存儲(chǔ),這樣更能節(jié)省數(shù)據(jù)庫資源;
使用了paixu字段,用來排序友情鏈接的順序,當(dāng)然也同樣使用了tinyint字段;
title是varchar類型,為什么沒用char類型?因?yàn)関archar可以自動(dòng)增長,主要原因是因?yàn)闃?biāo)題不是固定長度;
和title字段一樣,url地址也使用了varchar;
isclosed的意思是記錄是否關(guān)閉了友情鏈接,使用tinyint字段
其他的就不多說了,主要我想說的是:
凡是整形的,合理情況下都使用了unsigned NOT NULL DEFAULT '0',那么這句話是什么意思呢?unsigned是非負(fù)整形,NOT NULL不為空,DEFAULT '0',默認(rèn)為0.
如果你善于研究,肯定可以弄懂了。知道高手和新手的區(qū)別在什么地方嗎?