第一篇:數(shù)據(jù)庫設(shè)計心得體會
跟老板做了兩個算是比較大的項目,數(shù)據(jù)庫主體都是我設(shè)計的。第一個感覺很失;第二個現(xiàn)在正在用,雖然總結(jié)了第一個的教訓(xùn),但感覺還是有些遺憾。把這過程中的一些心得記在這里,以便日后用到時來查閱。若以后還有機會再設(shè)計數(shù)據(jù)庫——現(xiàn)在倒還有些期待,呵呵,再有新的體會,也全部補充到這里。
1.盡量使用數(shù)據(jù)冗余。
隨著磁盤容量的大幅飆升,這一點已經(jīng)不會產(chǎn)生什么問題。當然冗余歸冗余,不能把數(shù)據(jù)的關(guān)聯(lián)弄的亂七八糟的。
本科數(shù)據(jù)庫課程中學(xué)的知識直接拿來,在實際中會出大問題。滿足三級范式的數(shù)據(jù)庫結(jié)構(gòu)會讓你面對大量的連表查詢,應(yīng)用程序中會用到大量的數(shù)據(jù)庫訪問,既繁瑣(煩死你)又使程序運行速度減慢。
2.盡量不要使用varchar(max)類型
這一點主要是用動軟代碼生成器自動生成代碼時,如果varchar的最大長度指定為max,在自動生成代碼時,它無法生成這一最大長度,需要手動補進去。
現(xiàn)在感覺用個varchar(1000)就夠了。
3.使用預(yù)留字段。
數(shù)據(jù)庫表(尤其是動態(tài)表格),在你把所有字段都設(shè)計好了之后,再添加幾個備注字段和預(yù)留字段。
之前我覺得這樣做沒多大意義,因為預(yù)留字段的列名是沒有實際意義的。這樣程序中使用的時候就會讓人費解。但現(xiàn)在覺得還是有必要的,很有必要的,即便在用到時需要自己十分清楚之前預(yù)留的無意義字段現(xiàn)在表示什么意義。不過我的第二個數(shù)據(jù)庫中還是沒采用,這也是遺憾之處啊。
個人感覺用note1、note2、r1(r表示reserve)、r2、r3,2個備注字段和3個預(yù)留字段就足夠了,再多的話就不容易記住哪個字段具體表示什么意義了,容易暈。類型就都用varchar(200)吧。
數(shù)據(jù)庫設(shè)計心得體會(2):
在我看來,數(shù)據(jù)庫課程設(shè)計主要的目標是利用課程中學(xué)到的數(shù)據(jù)庫知識和技術(shù)較好的開發(fā)設(shè)計出數(shù)據(jù)庫應(yīng)用系統(tǒng),去解決各行各業(yè)信息化處理的要求。通過這次的課程設(shè)計,可以鞏固我們對數(shù)據(jù)庫基本原理和基礎(chǔ)理論的理解,掌握數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計開發(fā)的基本方法,進一步提高我們綜合運用所學(xué)知識的能力。
當我們這組決定做大學(xué)生就業(yè)咨詢系統(tǒng)時,我們并沒有著手寫程序。而是大家一起商量這個系統(tǒng)概述、系統(tǒng)目標、系統(tǒng)需求、業(yè)務(wù)流程分析、數(shù)據(jù)流程分析和數(shù)據(jù)詞典。當這些都準備好了之后,我們進行模塊的分工。每個人都有自己的模塊設(shè)計,而且寫出來的代碼要求可以實現(xiàn)相應(yīng)模塊的功能,得到理想的效果。當每個人都把自己的分工做好了,最后會由一個人把這些全部組合搭建在一起。我們使用的是html和php相互嵌套使用,當一個系統(tǒng)做好了之后,我會好好地把程序都看一遍,理會其中的奧秘。
我所負責的是數(shù)據(jù)庫的備份和還原還有一些界面的實現(xiàn)。還記得自己剛接觸html的時候,覺得很感興趣,所以有一段時間幾乎到了癡迷的程度。然而php是我剛接觸不久的一種編程語言。不過覺得它的功能真的很強大,可以開發(fā)出很多大型的系統(tǒng)。但是在做備份和還原的時候,要考慮的東西還是很多的。當我遇到錯誤的時候,感到很受打擊。值得欣慰的是,在同學(xué)的幫助和大量參考書的查閱下,我把自己的模塊做好了。這就是我收獲最大的地方。而且,我明白了遇到困難永不放棄的重要性,我知道了團隊合作的重要性,我領(lǐng)悟了只有堅持不懈才會取得勝利。
知識的獲得是無止境的,只要你想學(xué),只要你行動,沒有什么會難倒我們的。回首這一個多星期的課程設(shè)計,我很欣慰。因為我有了動力,有了勇氣。謝謝老師對我們的不懈幫助,謝謝學(xué)校給了我們這一次實踐的機會,也謝謝組員們的關(guān)懷。這些美好的回憶美好的東西將永遠伴隨著我。
第二篇:數(shù)據(jù)庫設(shè)計心得體會(完整版)
索引、規(guī)則、默認值和約束
在這個小組中,我負責建立圖書數(shù)據(jù)庫的索引、規(guī)則、默認值和約束。數(shù)據(jù)庫的索引是一個表中所包含的值的列表,注明了表中包含各個值的行所在的存儲位置。創(chuàng)建索引,我最大的感受是能節(jié)約大量時間,特別是當表中數(shù)據(jù)很大時。規(guī)則、約束、默認值則一起保證了數(shù)據(jù)的完整性。規(guī)則是數(shù)據(jù)庫中隊存儲在表的列或用戶定義數(shù)據(jù)類型中的值的規(guī)定和限制;約束定義了關(guān)于列中允許值的規(guī)則;默認值是用戶輸入記錄時向沒有指定具體數(shù)據(jù)的列中自動插入的數(shù)據(jù)。這些都是創(chuàng)建一個數(shù)據(jù)庫必不可少的元素。
表的創(chuàng)建
在我們這個小組里,我負責關(guān)于表的創(chuàng)建部分,包括了字段名、數(shù)據(jù)類型和主鍵的設(shè)計。我做的數(shù)據(jù)庫設(shè)計部分,首先必須弄清楚表中列的數(shù)據(jù)類型,是char、varchar、int、datetime、smallint型等等,還有是幾個字符長度。還有的就是它的值是否可以為空的,這也是需要考慮的。在這個過程中我需要注意的是表的列名是不能重復(fù)的,它是具有唯一性的。設(shè)置主鍵相對而言就比較容易了,我最大的體會是對于表中每列的數(shù)據(jù)類型的分析必須謹慎細心,否則很容易出錯。
e-r圖
在我們組我負責畫e-r圖。它是這次項目設(shè)計的關(guān)鍵點,如果e-r圖設(shè)計錯誤那么接下來的設(shè)計就無法進行,因此設(shè)計e-r圖時需要特別的認真。e-r模型能夠方便地模擬研究對象的靜態(tài)過程。e-r ,即實體-聯(lián)系方法,e-r圖直觀提供了表示實體型、屬性和聯(lián)系的方法。在畫e-r圖過程中,必須明確識別實體、屬性和聯(lián)系,用矩形、橢圓和菱形對應(yīng)框出來。畫這個圖為后面的數(shù)據(jù)庫設(shè)計打好基礎(chǔ),通過這次的數(shù)據(jù)庫設(shè)計,我學(xué)到了不少知識,將理論運用與實際。
表關(guān)系圖
在我們小組,我負責的是創(chuàng)建表關(guān)系圖這部分。建表關(guān)系圖相對來說也是比較容易的,只需要明確表之間的關(guān)系,有相同列內(nèi)容的表用線連接起來。創(chuàng)建表關(guān)系圖時,把老師上課講的內(nèi)容結(jié)合起來,就比較輕松了。通過這次小組設(shè)計,分工合作,我學(xué)到了很多書本上不能學(xué)到的東西,感覺對數(shù)據(jù)庫的了解有所提高,畢竟自己親自設(shè)計過一個數(shù)據(jù)庫,不再是書本上的理論,空空而談,自己覺得還是有收獲的。
實驗總結(jié)
在這次項目設(shè)計中,我們小組所選擇的是設(shè)計一個圖書管理系統(tǒng),這對我們來說是一次嘗試與創(chuàng)新的過程,也可以說是一個挑戰(zhàn)的過程。雖然學(xué)了數(shù)據(jù)庫這么久了,但是我們還是缺少經(jīng)驗,F(xiàn)在我們利用自己學(xué)到的知識設(shè)計并制作一個圖書管理系統(tǒng),這本身就是一個知識轉(zhuǎn)化為生產(chǎn)力的過程,所以大家都很興奮,都不同程度的投入了很高的熱情與努力。
在具體的設(shè)計與實施中,我們看到并感受到了一個管理系統(tǒng)從無到有的過程,對具體的設(shè)計步驟、思路、方法、技巧都有了進一步的了解,并感受深刻。這次課程設(shè)計加深了我們對數(shù)據(jù)庫系統(tǒng)設(shè)計相關(guān)知識以及sql server相關(guān)功能的理解。比如在建立基本的表、視圖、索引、存儲過程、觸發(fā)器等,都比以前更加熟悉了,并在解決各種問題的過程中學(xué)到了很多新的知識。
在設(shè)計中我們基本能按照規(guī)范的方法和步驟進行,首先對現(xiàn)有的系統(tǒng)進行調(diào)查,并查閱有關(guān)資料,最后確定設(shè)計方案,然后設(shè)計并制作,實施過程中我們
深刻的認識到認真執(zhí)行管理系統(tǒng)軟件標準的重要性,由于我們對管理系統(tǒng)軟件相關(guān)的標準和規(guī)范不太了解,缺少行為操作準則,所以在設(shè)計中手法比較生硬,主與次也沒能很好把握住,這些方面通過這次(轉(zhuǎn)載請注明來源www.weilaioem.com產(chǎn)品。那個時候我已經(jīng)學(xué)過vc和asp,因為www.weilaioem.com),我接觸到microsoft 公司的.net產(chǎn)品。那個時候我已經(jīng)學(xué)過vc和asp,因為www.weilaioem.coml[至少微軟是這么宣傳的],我會繼續(xù)學(xué)習(xí)它,包括jave公司的j2ee我也很想試試,語言本來就是相通的,just do it!語言并不重要畢竟它僅僅是工具,用好一個工具并不是一件值得為外人道的事情,主要是了解學(xué)習(xí)思想。古語說的好:學(xué)無止境啊!
我很慶幸我參加了這次數(shù)據(jù)庫大賽,讓我確實打開了眼界。
(最后,很感激學(xué)校給了我們這次動手實踐的機會,讓我們學(xué)生有了一個共同學(xué)習(xí),增長見識,開拓視野的機會。也感謝老師們對我們無私忘我的指導(dǎo),我會以這次課程設(shè)計大賽作為對自己的激勵,繼續(xù)學(xué)習(xí)。畢竟學(xué)習(xí)就是一個just do it的過程。┪抑苯訌膱蟾嫔厦鎻(fù)制過來的.....所以這段也不刪去了.............呵呵。
題目大概是用可視化編程實現(xiàn)一個簡單的數(shù)據(jù)庫管理系統(tǒng)我用的是bcb 題目雖然是簡單 但也明白了很多以前以為懂的問題代碼到?jīng)]什么 這種題目用bcb的話已經(jīng)不用幾行代碼了關(guān)鍵是了解了這些名詞paradox,ado,bde,odbc 一開始拖控件,寫幾行代碼 很快就完成了編譯也通過了 但傳到同學(xué)機器上就是顯示不出數(shù)據(jù)來折騰了我1天 又是發(fā)帖子 又是問群里的達人后來明白了我用的paradox數(shù)據(jù)庫是用bde引擎的發(fā)布軟件的時候要把bde打包于是又學(xué)著打包bde 卻發(fā)現(xiàn)不到1m的軟件如果打包bde的話就10+m了而且bcb6自帶的那個打包軟件用的我頭暈?zāi)垦S谑怯窒氩挥胋de 所以又折騰了我半天答案是要使用ado控件( 以前我用的是bde控件 )而且要用access數(shù)據(jù)庫了解了這些之后 作業(yè)也就完成了總的看來還是很有收獲的 幸虧我下了決心這個作業(yè)要自己做沒有去網(wǎng)上下載 呵呵
來源:網(wǎng)絡(luò)整理 免責聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請聯(lián)系我們及時刪除。