濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > 談?wù)剶?shù)據(jù)庫(kù)的字段設(shè)計(jì)的幾個(gè)心得

談?wù)剶?shù)據(jù)庫(kù)的字段設(shè)計(jì)的幾個(gè)心得

熱門標(biāo)簽:怎么申請(qǐng)400熱線電話 湖南保險(xiǎn)智能外呼系統(tǒng)產(chǎn)品介紹 小程序智能電話機(jī)器人 怎么去開發(fā)一個(gè)電銷機(jī)器人 泗洪正規(guī)電話機(jī)器人找哪家 簡(jiǎn)單的智能語(yǔ)音電銷機(jī)器人 南昌呼叫中心外呼系統(tǒng)哪家好 河北便宜電銷機(jī)器人軟件 ai電話電話機(jī)器人

數(shù)據(jù)庫(kù)的字段設(shè)計(jì)有很多細(xì)節(jié)性的技巧,下面將過(guò)去在開發(fā)中體會(huì)到經(jīng)驗(yàn)整理出來(lái),做個(gè)備忘。

  1. tinyint 是-128到128 。當(dāng)屬性設(shè)置為unsigned的時(shí)候。最大值就是255了?,F(xiàn)在知道為什么需要設(shè)置為unsigned屬性了。原來(lái)是為了最大限度的使用給予的存儲(chǔ)空間。如果不設(shè)置。那么假如你的值都是正數(shù)的。那么-128這一百多個(gè)數(shù)字就相當(dāng)于是浪費(fèi)了。
  2. tinyint會(huì)自動(dòng)設(shè)置為tinyint(3)。
  3. smallint 不設(shè)置unsigned的時(shí)候,也有3萬(wàn)多的樣子。
  4. tinytext 就是255個(gè)字節(jié)。大概就是存儲(chǔ)127個(gè)中文的樣子 tinytext就相當(dāng)于varchar類型。把它看成這樣的該類型就容易理解了。
  5. int 類型phpmyadmin默認(rèn)會(huì)設(shè)置int(10)。
  6. 概念糾正:原來(lái)一直以為這里的10表示位數(shù)。直到有次想保存1101061021496,結(jié)果在字段中的值都變成了:4294967295。 看MySQL手冊(cè)上說(shuō):
  7. (int后面括號(hào)的數(shù)字)顯示寬度并不限制可以在列內(nèi)保存的值的范圍,也不限制超過(guò)列的指定寬度的值的顯示。
  8. int的范圍:-2147483648到2147483647。剛好是10個(gè)位,那么就是數(shù)十億級(jí)別的數(shù)字。數(shù)據(jù)庫(kù)設(shè)計(jì)經(jīng)驗(yàn):像訂單的值非常大。不確定,如果達(dá)到10位數(shù),還不如使用varchar類型。fangwei就沒有使用int,而是varchar類型。
  9. 從上面也告訴我一個(gè)經(jīng)驗(yàn):如果保存在數(shù)據(jù)庫(kù)的值都變成一樣的。也就是無(wú)論我是1101061021496 還是1101061021569,結(jié)果都變成了固定的值,比如4294967295。那么可以考慮確認(rèn)是否是數(shù)據(jù)庫(kù)該字段的范圍問(wèn)題。這樣的問(wèn)題出現(xiàn)過(guò)好幾次了。就是沒有掌握思路。導(dǎo)致浪費(fèi)了不少時(shí)間。
  10. 將字段設(shè)置為not null 還出于另外一種考慮:mysql表的列中包含null的話,那么該列不會(huì)包含在所有中。也就是使用索引是無(wú)效的。所有,考慮今后會(huì)使用索引的字段,就要設(shè)置字段屬性是not null。
  11. 如果你要保存NULL,手動(dòng)去設(shè)置它,而不是把它設(shè)為默認(rèn)值。
  12. 考慮到這個(gè)字段今后會(huì)作為查詢關(guān)鍵字使用like的形式進(jìn)行搜索。那么要將該字段定義成索引。這樣使用like查詢就會(huì)更快。
  13. 現(xiàn)在終于體會(huì)到到國(guó)外作者書籍上提到:設(shè)計(jì)數(shù)據(jù)庫(kù)之前要問(wèn)自己,之后會(huì)查詢哪些數(shù)據(jù)。 考慮了這些,以后有什么查詢需要。結(jié)構(gòu)都能適應(yīng)了。

關(guān)于設(shè)計(jì)大流量網(wǎng)站數(shù)據(jù)庫(kù),會(huì)員分表或者分庫(kù)的設(shè)計(jì)考慮:

主鍵不要設(shè)為自增型。設(shè)置為自增型的后果就是:今后無(wú)法分離在不同的mysql數(shù)據(jù)庫(kù)服務(wù)器上。比如id編號(hào)由于是自增的,所以兩個(gè)數(shù)據(jù)庫(kù)中可能會(huì)出現(xiàn)用戶編號(hào)都是10005的情況。

但是,mysql主鍵會(huì)自動(dòng)設(shè)置為自增型。可以用另外一個(gè)字段來(lái)作為標(biāo)識(shí)符。而不是自增型id號(hào)。方法:新增一個(gè)字段作為行的標(biāo)識(shí)符。具體設(shè)計(jì):一個(gè)表做兩個(gè)字段,一個(gè)是id作為主鍵,自增型,另外一個(gè)是uid,作為用戶的標(biāo)識(shí)。

程序判斷上,是以u(píng)id作為判斷用戶的依據(jù)。而不是id主鍵作為判斷依據(jù)(程序上的失誤,改動(dòng)比起數(shù)據(jù)庫(kù)設(shè)計(jì)失誤改動(dòng)容易得多。因?yàn)槟銛?shù)據(jù)已經(jīng)入庫(kù)了。在修改起來(lái)就比較難了)。

數(shù)據(jù)庫(kù)的一點(diǎn)設(shè)計(jì)心得

1.按照[流程]順序走一遍     (相關(guān)用戶進(jìn)行一次完成的操作流程)

2.先列出所有的屬性      (實(shí)體(型)、  屬性、 聯(lián)系)

3.判斷每一個(gè)屬性 是屬于那一個(gè)實(shí)體      

4.實(shí)體與實(shí)體之間的聯(lián)系   [1:1、  1:n、  n:1、   n:n]

5.相關(guān)數(shù)據(jù)表的設(shè)計(jì),允許有數(shù)據(jù)冗余(犧牲空間換取效率),但是一定不能有數(shù)據(jù)項(xiàng)之間的矛盾       [工程與理論之間的考慮]   

6.當(dāng)有多種方式進(jìn)行數(shù)據(jù)處理的時(shí)候,應(yīng)該綜合多個(gè)方面,進(jìn)行考慮,選取最適合當(dāng)前項(xiàng)目的解決方案     [不一定是理論最好的,但卻是適合、實(shí)用的]

7.備注: 聯(lián)系的 1:n中, [概念模型]生成[物理模型]的時(shí)候, 會(huì)把1中的 主鍵作為,外鍵放入到n中  

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

您可能感興趣的文章:
  • Mysql主從數(shù)據(jù)庫(kù)(Master/Slave)同步配置與常見錯(cuò)誤
  • PHP單例模式數(shù)據(jù)庫(kù)連接類與頁(yè)面靜態(tài)化實(shí)現(xiàn)方法
  • 實(shí)現(xiàn)數(shù)據(jù)庫(kù)水平切分的兩個(gè)思路
  • MySQL數(shù)據(jù)庫(kù)大小寫敏感的問(wèn)題
  • python使用adbapi實(shí)現(xiàn)MySQL數(shù)據(jù)庫(kù)的異步存儲(chǔ)
  • 數(shù)據(jù)庫(kù)SQL SELECT查詢的工作原理
  • MySQL數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程和事務(wù)的區(qū)別講解
  • Mysql數(shù)據(jù)庫(kù)的QPS和TPS的意義和計(jì)算方法
  • mysql數(shù)據(jù)庫(kù)太大了如何備份與還原
  • 如何合理使用數(shù)據(jù)庫(kù)冗余字段的方法

標(biāo)簽:景德鎮(zhèn) 威海 那曲 荊門 江蘇 瀘州 淮安 柳州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《談?wù)剶?shù)據(jù)庫(kù)的字段設(shè)計(jì)的幾個(gè)心得》,本文關(guān)鍵詞  談?wù)?數(shù)據(jù)庫(kù),的,字段,設(shè)計(jì),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《談?wù)剶?shù)據(jù)庫(kù)的字段設(shè)計(jì)的幾個(gè)心得》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于談?wù)剶?shù)據(jù)庫(kù)的字段設(shè)計(jì)的幾個(gè)心得的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    玉树县| 金坛市| 翁源县| 龙游县| 忻州市| 南澳县| 澄江县| 潮州市| 荥阳市| 封丘县| 花垣县| 锡林郭勒盟| 威宁| 洪江市| 临城县| 济南市| 科尔| 上饶市| 湘西| 通化县| 乡城县| 墨江| 九台市| 松阳县| 安庆市| 娄烦县| 乾安县| 高邑县| 西贡区| 连南| 邛崃市| 宜阳县| 顺平县| 昌宁县| 柘城县| 集贤县| 安化县| 五大连池市| 扎鲁特旗| 汉阴县| 阿瓦提县|