- 相關(guān)推薦
[精選]數(shù)據(jù)庫設(shè)計(jì)心得體會(huì)
當(dāng)我們積累了新的體會(huì)時(shí),可以通過寫心得體會(huì)的方式將其記錄下來,如此可以一直更新迭代自己的想法。那么如何寫心得體會(huì)才能更有感染力呢?以下是小編為大家收集的數(shù)據(jù)庫設(shè)計(jì)心得體會(huì),歡迎閱讀與收藏。
數(shù)據(jù)庫設(shè)計(jì)心得體會(huì)1
索引、規(guī)則、默認(rèn)值和約束
在這個(gè)小組中,我負(fù)責(zé)建立圖書數(shù)據(jù)庫的索引、規(guī)則、默認(rèn)值和約束。數(shù)據(jù)庫的索引是一個(gè)表中所包含的值的列表,注明了表中包含各個(gè)值的行所在的存儲(chǔ)位置。創(chuàng)建索引,我最大的感受是能節(jié)約大量時(shí)間,特別是當(dāng)表中數(shù)據(jù)很大時(shí)。規(guī)則、約束、默認(rèn)值則一起保證了數(shù)據(jù)的完整性。規(guī)則是數(shù)據(jù)庫中隊(duì)存儲(chǔ)在表的列或用戶定義數(shù)據(jù)類型中的值的規(guī)定和限制;約束定義了關(guān)于列中允許值的規(guī)則;默認(rèn)值是用戶輸入記錄時(shí)向沒有指定具體數(shù)據(jù)的列中自動(dòng)插入的數(shù)據(jù)。這些都是創(chuàng)建一個(gè)數(shù)據(jù)庫必不可少的元素。
表的創(chuàng)建
在我們這個(gè)小組里,我負(fù)責(zé)關(guān)于表的創(chuàng)建部分,包括了字段名、數(shù)據(jù)類型和主鍵的設(shè)計(jì)。我做的數(shù)據(jù)庫設(shè)計(jì)部分,首先必須弄清楚表中列的數(shù)據(jù)類型,是char、varchar、int、datetime、smallint型等等,還有是幾個(gè)字符長度。還有的就是它的值是否可以為空的,這也是需要考慮的。在這個(gè)過程中我需要注意的是表的列名是不能重復(fù)的,它是具有唯一性的。設(shè)置主鍵相對(duì)而言就比較容易了,我最大的體會(huì)是對(duì)于表中每列的數(shù)據(jù)類型的分析必須謹(jǐn)慎細(xì)心,否則很容易出錯(cuò)。
e—r圖
在我們組我負(fù)責(zé)畫e—r圖。它是這次項(xiàng)目設(shè)計(jì)的關(guān)鍵點(diǎn),如果e—r圖設(shè)計(jì)錯(cuò)誤那么接下來的設(shè)計(jì)就無法進(jìn)行,因此設(shè)計(jì)e—r圖時(shí)需要特別的認(rèn)真。e—r模型能夠方便地模擬研究對(duì)象的靜態(tài)過程。e—r,即實(shí)體—聯(lián)系方法,e—r圖直觀提供了表示實(shí)體型、屬性和聯(lián)系的方法。在畫e—r圖過程中,必須明確識(shí)別實(shí)體、屬性和聯(lián)系,用矩形、橢圓和菱形對(duì)應(yīng)框出來。畫這個(gè)圖為后面的數(shù)據(jù)庫設(shè)計(jì)打基礎(chǔ),通過這次的數(shù)據(jù)庫設(shè)計(jì),我學(xué)到了不少知識(shí),將理論運(yùn)用與實(shí)際。
表關(guān)系圖
在我們小組,我負(fù)責(zé)的是創(chuàng)建表關(guān)系圖這部分。建表關(guān)系圖相對(duì)來說也是比較容易的,只需要明確表之間的關(guān)系,有相同列內(nèi)容的表用線連接起來。創(chuàng)建表關(guān)系圖時(shí),把老師上課講的內(nèi)容結(jié)合起來,就比較輕松了。通過這次小組設(shè)計(jì),分工合作,我學(xué)到了很多書本上不能學(xué)到的東西,感覺對(duì)數(shù)據(jù)庫的了解有所提高,畢竟自己親自設(shè)計(jì)過一個(gè)數(shù)據(jù)庫,不再是書本上的理論,空空而談,自己覺得還是有收獲的。
實(shí)驗(yàn)總結(jié)
在這次項(xiàng)目設(shè)計(jì)中,我們小組所選擇的是設(shè)計(jì)一個(gè)圖書管理系統(tǒng),這對(duì)我們來說是一次嘗試與創(chuàng)新的過程,也可以說是一個(gè)挑戰(zhàn)的過程。雖然學(xué)了數(shù)據(jù)庫這么久了,但是我們還是缺少經(jīng)驗(yàn),F(xiàn)在我們利用自己學(xué)到的知識(shí)設(shè)計(jì)并制作一個(gè)圖書管理系統(tǒng),這本身就是一個(gè)知識(shí)轉(zhuǎn)化為生產(chǎn)力的過程,所以大家都很興奮,都不同程度的投入了很高的熱情與努力。
在具體的設(shè)計(jì)與實(shí)施中,我們看到并感受到了一個(gè)管理系統(tǒng)從無到有的過程,對(duì)具體的'設(shè)計(jì)步驟、思路、方法、技巧都有了進(jìn)一步的了解,并感受深刻。這次課程設(shè)計(jì)加深了我們對(duì)數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)相關(guān)知識(shí)以及sql server相關(guān)功能的理解。比如在建立基本的表、視圖、索引、存儲(chǔ)過程、觸發(fā)器等,都比以前更加熟悉了,并在解決各種問題的過程中學(xué)到了很多新的知識(shí)。
在設(shè)計(jì)中我們基本能按照規(guī)的方法和步驟進(jìn)行,首先對(duì)現(xiàn)有的系統(tǒng)進(jìn)行調(diào)查,并查閱有關(guān)資料,最后確定設(shè)計(jì)方案,然后設(shè)計(jì)并制作,實(shí)施過程中我們深刻的認(rèn)識(shí)到認(rèn)真執(zhí)行管理系統(tǒng)軟件標(biāo)準(zhǔn)的重要性,由于我們對(duì)管理系統(tǒng)軟件相關(guān)的標(biāo)準(zhǔn)和規(guī)不太了解,缺少行為操作準(zhǔn)則,所以在設(shè)計(jì)中手法比較生硬,主與次也沒能很把握住,這些方面通過這次我們都要加強(qiáng)了解。
在這次課程設(shè)計(jì)中,我們被分配以小組為單位去完成圖書管理系統(tǒng)的設(shè)計(jì)與制作,所以小組內(nèi)的分工和相互協(xié)調(diào)很重要,大家可以在分工中揚(yáng)長避短,個(gè)及所長,這樣可以很的提高大家的積極性,和合作意識(shí),并有效的縮短開發(fā)時(shí)間,但我們?cè)谶@方面做的還不夠,缺乏人員管理與溝通,導(dǎo)致人力資源浪費(fèi),可以說是不足之處,且迫切的需要思考和改進(jìn),這一點(diǎn)必須指明。這在以后的工作與學(xué)習(xí)中將會(huì)非常重要。
數(shù)據(jù)庫設(shè)計(jì)心得體會(huì)2
在我看來,數(shù)據(jù)庫課程設(shè)計(jì)主要的目標(biāo)是利用課程中學(xué)到的數(shù)據(jù)庫知識(shí)和技術(shù)較的開發(fā)設(shè)計(jì)出數(shù)據(jù)庫應(yīng)用系統(tǒng),去解決各行各業(yè)信息化處理的要求。通過這次的課程設(shè)計(jì),可以鞏固我們對(duì)數(shù)據(jù)庫基本原理和基礎(chǔ)理論的理解,掌握數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計(jì)開發(fā)的基本方法,進(jìn)一步提高我們綜合運(yùn)用所學(xué)知識(shí)的能力。
當(dāng)我們這組決定做大學(xué)生就業(yè)咨詢系統(tǒng)時(shí),我們并沒有著手寫程序。而是大家一起商量這個(gè)系統(tǒng)概述、系統(tǒng)目標(biāo)、系統(tǒng)需求、業(yè)務(wù)流程分析、數(shù)據(jù)流程分析和數(shù)據(jù)詞典。當(dāng)這些都準(zhǔn)備了之后,我們進(jìn)行模塊的分工。每個(gè)人都有自己的模塊設(shè)計(jì),而且寫出來的代碼要求可以實(shí)現(xiàn)相應(yīng)模塊的功能,得到理想的效果。當(dāng)每個(gè)人都把自己的分工做了,最后會(huì)由一個(gè)人把這些全部組合搭建在一起。我們使用的是html和php相互嵌套使用,當(dāng)一個(gè)系統(tǒng)做了之后,我會(huì)地把程序都看一遍,理會(huì)其中的奧秘。
我所負(fù)責(zé)的是數(shù)據(jù)庫的備份和還原還有一些界面的實(shí)現(xiàn)。還記得自己剛接觸html的時(shí)候,覺得很感興趣,所以有一段時(shí)間幾乎到了癡迷的程度。然而php是我剛接觸不久的一種編程語言。不過覺得它的功能真的很強(qiáng)大,可以開發(fā)出很多大型的系統(tǒng)。但是在做備份和還原的時(shí)候,要考慮的東西還是很多的。當(dāng)我遇到錯(cuò)誤的時(shí)候,感到很受打擊。值得欣慰的是,在同學(xué)的幫助和大量參考書的查閱度。然而php是我剛接觸不久的一種編程語言。不過覺得它的功能真的很強(qiáng)大,可以開發(fā)出很多大型的系統(tǒng)。但是在做備份和還原的時(shí)候,要考慮的東西還是很多的。當(dāng)我遇到錯(cuò)誤的時(shí)候,感到很受打擊。值得欣慰的是,在同學(xué)的幫助和大量參考書的'查閱下,我把自己的模塊做了。這就是我收獲最大的地方。而且,我明白了遇到困難永不放棄的重要性,我知道了團(tuán)隊(duì)合作的重要性,我領(lǐng)悟了只有堅(jiān)持不懈才會(huì)取得勝利。
知識(shí)的獲得是無止境的,只要你想學(xué),只要你行動(dòng),沒有什么會(huì)難倒我們的;厥走@一個(gè)多星期的課程設(shè)計(jì),我很欣慰。因?yàn)槲矣辛藙?dòng)力,有了勇氣。謝謝老師對(duì)我們的不懈幫助,謝謝學(xué)校給了我們這一次實(shí)踐的機(jī)會(huì),也謝謝組員們的關(guān)懷。這些美的回憶美的東西將永遠(yuǎn)伴隨著我。
數(shù)據(jù)庫設(shè)計(jì)心得體會(huì)3
數(shù)據(jù)庫課程設(shè)計(jì)大賽的塵囂漸漸遠(yuǎn)去,懷著對(duì)這次大賽的些許不舍,懷著對(duì)當(dāng)初課程設(shè)計(jì)開始時(shí)候的豪情萬丈的決心的留戀,懷著通過這次課程設(shè)計(jì)積累的信心與斗志,我開始寫這篇章,為自己的足跡留下哪怕是微不足道但是對(duì)自己彌足珍貴的痕跡并期望與大家共勉。
首先,讓我的記憶追溯到大二暑假,在老大的指引下(老大勸我學(xué)asp.net),我接觸到microsoft公司的net產(chǎn)品。那個(gè)時(shí)候我已經(jīng)學(xué)過vc和asp,因?yàn)閣indows程序設(shè)計(jì)實(shí)驗(yàn)的課的關(guān)系,接觸過vb,但是沒有專門去學(xué)他,因?yàn)榱?xí)慣了c++里面的class,int,覺得vb的sub,var看著就不是很順心。我是一個(gè)奇心很強(qiáng)的人,突然看到了一個(gè)號(hào)稱“。net是用于創(chuàng)建下一代應(yīng)用程序的理想而又現(xiàn)實(shí)的開發(fā)工具”,而且主推c#語言,由于對(duì)c語言的一貫感,我?guī)缀跏橇⒖虒?duì)他產(chǎn)生了興趣。我就開始了對(duì)c#的學(xué)習(xí),任何語言都不是孤立存在的,所以數(shù)據(jù)交互是很重要的,暑假的時(shí)候我把我們這學(xué)期的課本數(shù)據(jù)庫系統(tǒng)概論看了一遍。我記得以前用c語言編程的時(shí)候,數(shù)據(jù)是在內(nèi)存中申請(qǐng)空間,譬如使用數(shù)組等等。很耗費(fèi)內(nèi)存空間。這個(gè)時(shí)候就是數(shù)據(jù)庫站出來的時(shí)候啦,于是我又裝上了sqlserver20xx年,以前學(xué)asp的時(shí)候用的是access,那個(gè)時(shí)候只是照著人家做,理論是什么也不是很清楚。
通過一個(gè)暑假的學(xué)習(xí),基本搞清楚了理論方面的東西,具體怎么用也不是很清楚。但是這為這學(xué)期的課程設(shè)計(jì)打下了鋪墊。
來到學(xué)校后,隨著這學(xué)期的數(shù)據(jù)庫課程大賽開始了,我有一個(gè)看法就是我自己應(yīng)該具備的能力不是我會(huì)多少,而是我應(yīng)該具備快速學(xué)會(huì)東西的能力。遇到什么就學(xué)什么。我們有時(shí)候很容易被一些專業(yè)名詞說嚇著,包括什么建模,軟件工程,數(shù)據(jù)分析,數(shù)據(jù)挖掘等等。我身邊就有很多同學(xué)被這些紙老虎所唬住,而沒有勇氣去接觸他們,總是說這個(gè)太難了之類的退堂鼓的話,他們低估了自己的潛力同時(shí)也壓抑住了他們自己的奇心。其實(shí)都是紙老虎,又不是什么國家科研難題,只是去用一些工具,發(fā)明工具是很難,但是用一個(gè)工具就容易多了,justdoit!我記得我做這個(gè)數(shù)據(jù)庫之前,我們老師說要做前期分析,我就在上搜索用什么分析工具。最后我選擇了roseuml建模工具。在此之前,我腦袋里面沒有軟件建模的思想,什么uml建模對(duì)我而言就是一張空白的紙。但是真正接觸后并沒有想象的那么難,有什么不懂的上去搜索,這是一個(gè)信息橫流的,有g(shù)oogle,baidu就沒有不能解決的知識(shí)難題。以及后來的數(shù)據(jù)庫分析的'時(shí)候用到的powerdesigner也是一樣。
開發(fā)的時(shí)候我想過用什么架構(gòu),c/s模式?模式有很多,怎么選擇?我就上搜索現(xiàn)在最流行的架構(gòu)是什么。結(jié)果搜到了mvc架構(gòu),就是你啦。我決定用這個(gè)架構(gòu),不會(huì),沒關(guān)系,咱學(xué)。justdoit!前期工作準(zhǔn)備后,那么我就得把我暑假學(xué)的net加以實(shí)踐。這個(gè)時(shí)候我更加深入的了解了利用ado.net操縱數(shù)據(jù)庫的知識(shí)。并且對(duì)數(shù)據(jù)庫里面的存儲(chǔ)過程有了比較深入的了解。經(jīng)過大概2個(gè)多星期的奮斗,我完成了我的數(shù)據(jù)庫課程設(shè)計(jì)——基于。net數(shù)據(jù)集的圖書館管理系統(tǒng)。并最后非常榮幸的獲得了大賽的一等獎(jiǎng)以及以及新技術(shù)應(yīng)用獎(jiǎng)。
與其臨淵羨魚,不如退而結(jié)。這次數(shù)據(jù)庫課程設(shè)計(jì)給我的最大的印象就是如果自己有了興趣,就動(dòng)手去做,困難在你的勇氣和毅力下是抬不了頭的。從做這個(gè)數(shù)據(jù)庫開始無論遇到什么困難,我都沒有一絲的放棄的念頭。出于對(duì)知識(shí)的渴望,出于對(duì)新技術(shù)的奇,出于對(duì)一切未知的求知。我完成了這次數(shù)據(jù)庫課程設(shè)計(jì),不過這只是我學(xué)習(xí)路上的驛站,未來十年。net的核心技術(shù)就是xml[至少微軟是這么宣傳的],我會(huì)繼續(xù)學(xué)習(xí)它,包括jave公司的j2ee我也很想試試,語言本來就是相通的,justdoit!語言并不重要畢竟它僅僅是工具,用一個(gè)工具并不是一件值得為外人道的事情,主要是了解學(xué)習(xí)思想。古語說的:學(xué)無止境。
我很慶幸我參加了這次數(shù)據(jù)庫大賽,讓我確實(shí)打開了眼界。
。ㄗ詈螅芨屑W(xué)校給了我們這次動(dòng)手實(shí)踐的機(jī)會(huì),讓我們學(xué)生有了一個(gè)共同學(xué)習(xí),增長見識(shí),開拓視野的機(jī)會(huì)。也感謝老師們對(duì)我們無私忘我的指導(dǎo),我會(huì)以這次課程設(shè)計(jì)大賽作為對(duì)自己的激勵(lì),繼續(xù)學(xué)習(xí)。畢竟學(xué)習(xí)就是一個(gè)justdoit的過程。
數(shù)據(jù)庫設(shè)計(jì)心得體會(huì)4
兩個(gè)星期的時(shí)間非?炀瓦^去了,這兩個(gè)星期不敢說自己有多大的進(jìn)步,獲得了多少知識(shí),但起碼是了解了項(xiàng)目開發(fā)的部分過程。雖說上過數(shù)據(jù)庫上過管理信息系統(tǒng)等相關(guān)的課程,但是沒有親身經(jīng)歷過相關(guān)的設(shè)計(jì)工作細(xì)節(jié)。這次實(shí)習(xí)證實(shí)提供了一個(gè)很的機(jī)會(huì)。
通過這次課程設(shè)計(jì)發(fā)現(xiàn)這其中需要的很多知識(shí)我們沒有接觸過,去圖書館查資料的時(shí)候發(fā)現(xiàn)我們前邊所學(xué)到的僅僅是皮毛,還有很多需要我們掌握的東西我們根本不知道。同時(shí)也發(fā)現(xiàn)有很多已經(jīng)學(xué)過的東西我們沒有理解到位,不能靈活運(yùn)用于實(shí)際,不能很的用來解決問題,這就需要我們不斷的大量的實(shí)踐,通過不斷的自學(xué),不斷地發(fā)現(xiàn)問題,思考問題,進(jìn)而解決問題。在這個(gè)過程中我們將深刻理解所學(xué)知識(shí),同時(shí)也可以學(xué)到不少很實(shí)用的東西。
從各種檔的閱讀到開始的需求分析、概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)。親身體驗(yàn)了一回系統(tǒng)的設(shè)計(jì)開發(fā)過程。很多東西書上寫的很清楚,貌似看著也很簡單,思路非常清晰。但真正需要自己想辦法去設(shè)計(jì)一個(gè)系統(tǒng)的時(shí)候才發(fā)現(xiàn)其中的難度。經(jīng)常做到后面突然就發(fā)現(xiàn)自己一開始的設(shè)計(jì)有問題,然后又回去翻工,在各種反復(fù)中不斷完善自己的想法。
我想有這樣的問題不止我一個(gè),事后想想是一開始著手做的時(shí)候下手過于輕快,或者說是根本不了解自己要做的這個(gè)系統(tǒng)是給誰用的。因?yàn)闆]有事先做過仔細(xì)的用戶調(diào)查,不知道整個(gè)業(yè)務(wù)的流程,也不知道用戶需要什么功能就忙著開發(fā),這是作為設(shè)計(jì)開發(fā)人員需要特別警惕避免的,不然會(huì)給后來的工作帶來很大的麻煩,甚至可能會(huì)需要全盤推倒重來。所以以后的課程設(shè)計(jì)要特別注意這一塊的設(shè)計(jì)。
按照要求,我們做的是機(jī)票預(yù)訂系統(tǒng)。說實(shí)話,我對(duì)這個(gè)是一無所知的,沒有訂過機(jī)票,也不知道航空公司是怎么一個(gè)流程。盲目開始設(shè)計(jì)的下場(chǎng)我已經(jīng)嘗過了,結(jié)果就是出來一個(gè)四不像的設(shè)計(jì)方案,沒有什么實(shí)際用處。沒有前期的調(diào)查,僅從指導(dǎo)書上那幾條要求著手是不夠的。
在需求分析過程中,我們通過上查資料,去圖書館查閱相關(guān)資料,結(jié)合我們的生活經(jīng)驗(yàn),根據(jù)可行性研究的結(jié)果和客戶的要求,分析現(xiàn)有情況及問題,采用client/server結(jié)構(gòu),將機(jī)票預(yù)定系統(tǒng)劃分為兩個(gè)子系統(tǒng):客戶端子系統(tǒng),服務(wù)器端子系統(tǒng)。在兩周的時(shí)間里,不斷地對(duì)程序及各模塊進(jìn)行修改、編譯、調(diào)試、運(yùn)行,其間遇到很多問題:由于忘記了一些java語言的規(guī)使得在調(diào)試過程中一些錯(cuò)誤沒有發(fā)現(xiàn),通過這次課程設(shè)計(jì),我對(duì)調(diào)試掌握得更加熟練了,意識(shí)到了程序語言的規(guī)性以及我們?cè)诰幊虝r(shí)要有嚴(yán)謹(jǐn)?shù)膽B(tài)度,同時(shí)在寫程序時(shí)如有一定量的注釋,既增加了程序的可讀性,也可以使自己在讀程序時(shí)更容易。
我們學(xué)習(xí)并應(yīng)用了sql語言,對(duì)數(shù)據(jù)庫的創(chuàng)建、修改、刪除方法有了一定的了解,通過導(dǎo)入表和刪除表、更改表學(xué)會(huì)了對(duì)于表的一些操作,為了建立一個(gè)關(guān)系數(shù)據(jù)庫信息管理系統(tǒng),必須得經(jīng)過系統(tǒng)調(diào)研、需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì)、系統(tǒng)調(diào)試、維護(hù)以及系統(tǒng)評(píng)價(jià)的一般過程,為畢業(yè)設(shè)計(jì)打下基礎(chǔ)。
很多事情不是想象中的那么簡單的,它涉及到的各種實(shí)體、屬性、數(shù)據(jù)流程、數(shù)據(jù)處理等等。很多時(shí)候感覺后面的'設(shè)計(jì)根本無法繼續(xù),感覺像是被前面做的各種圖限制了。在做關(guān)系模型轉(zhuǎn)換的時(shí)候碰到有些實(shí)體即可以認(rèn)為是實(shí)體又可以作為屬性,為了避免冗余,盡量按照屬性處理了。
物理結(jié)構(gòu)設(shè)計(jì)基本沒有碰到問題,這一塊和安全性、完整性不覺就會(huì)在物理結(jié)構(gòu)設(shè)計(jì)中添加一些安全設(shè)置:主鍵約束、check約束、default定義等。最后才做索引的部分,對(duì)一些比較經(jīng)常使用搜索的列,外鍵上建立索引,這樣可以明顯加快檢索的速度,最后別忘記重要的安全性設(shè)置,限制用戶訪問權(quán)限,新建用戶并和數(shù)據(jù)庫用戶做相應(yīng)的映射。
不管做什么,我們都要相信自己,不能畏懼,不能怕遇到困難,什么都需要去嘗試,有些你開始認(rèn)為很難的事在你嘗試之后你可能會(huì)發(fā)現(xiàn)原來她并沒有你以前覺得的那樣,自己也
是可以的。如果沒有自信,沒有目標(biāo),沒有信心就不可能把事情做,當(dāng)其他人都在迷茫的時(shí)候,自己一定要堅(jiān)信目標(biāo),大學(xué)畢業(yè)出去即面臨找工作,從學(xué)習(xí)這個(gè)專業(yè),到以后從事這方面的工作都需要不斷地去學(xué)習(xí)去實(shí)踐,這次實(shí)踐可以給我們敲一個(gè)警鐘,我們面臨畢業(yè),面臨擇業(yè),需要這些實(shí)踐經(jīng)驗(yàn),在困難面前要勇于嘗試,這是這次課程設(shè)計(jì)給我的最大感想!
以上基本是這次實(shí)習(xí)的體會(huì)了,設(shè)計(jì)進(jìn)行的非常艱難,編碼非常不容易,才發(fā)現(xiàn)做一個(gè)項(xiàng)目最重要的不在于如何實(shí)現(xiàn),而是實(shí)現(xiàn)之前的需求分析和模塊設(shè)計(jì)。創(chuàng)新很難,有些流行的系統(tǒng)其實(shí)現(xiàn)并不難,難的在于對(duì)市場(chǎng)的分析和準(zhǔn)確定位。設(shè)計(jì),是一個(gè)任重道遠(yuǎn)的過程。
數(shù)據(jù)庫設(shè)計(jì)心得體會(huì)5
跟老板做了兩個(gè)算是比較大的項(xiàng)目,數(shù)據(jù)庫主體都是我設(shè)計(jì)的。第一個(gè)感覺很失;第二個(gè)現(xiàn)在正在用,雖然總結(jié)了第一個(gè)的教訓(xùn),但感覺還是有些遺憾。把這過程中的一些心得記在這里,以便日后用到時(shí)來查閱。若以后還有機(jī)會(huì)再設(shè)計(jì)數(shù)據(jù)庫——現(xiàn)在倒還有些期待,呵呵,再有新的`體會(huì),也全部補(bǔ)充到這里。
1、盡量使用數(shù)據(jù)冗余。
隨著磁盤容量的大幅飆升,這一點(diǎn)已經(jīng)不會(huì)產(chǎn)生什么問題。當(dāng)然冗余歸冗余,不能把數(shù)據(jù)的關(guān)聯(lián)弄的亂七八糟的。
本科數(shù)據(jù)庫課程中學(xué)的知識(shí)直接拿來,在實(shí)際中會(huì)出大問題。滿足三級(jí)式的數(shù)據(jù)庫結(jié)構(gòu)會(huì)讓你面對(duì)大量的連表查詢,應(yīng)用程序中會(huì)用到大量的數(shù)據(jù)庫訪問,既繁瑣(煩死你)又使程序運(yùn)行速度減慢。
2、盡量不要使用varchar(max)類型
這一點(diǎn)主要是用動(dòng)軟代碼生成器自動(dòng)生成代碼時(shí),如果varchar的最大長度指定為max,在自動(dòng)生成代碼時(shí),它無法生成這一最大長度,需要手動(dòng)補(bǔ)進(jìn)去。
現(xiàn)在感覺用個(gè)varchar(1000)就夠了。
3、使用預(yù)留字段。
數(shù)據(jù)庫表(尤其是動(dòng)態(tài)表格),在你把所有字段都設(shè)計(jì)了之后,再添加幾個(gè)備注字段和預(yù)留字段。
之前我覺得這樣做沒多大意義,因?yàn)轭A(yù)留字段的列名是沒有實(shí)際意義的。這樣程序中使用的時(shí)候就會(huì)讓人費(fèi)解。但現(xiàn)在覺得還是有必要的,很有必要的,即便在用到時(shí)需要自己十分清楚之前預(yù)留的無意義字段現(xiàn)在表示什么意義。不過我的第二個(gè)數(shù)據(jù)庫中還是沒采用,這也是遺憾之處啊。
個(gè)人感覺用note1、note2、r1(r表示reserve)、r2、r3,2個(gè)備注字段和3個(gè)預(yù)留字段就足夠了,再多的話就不容易記住哪個(gè)字段具體表示什么意義了,容易暈。類型就都用varchar(200)吧。