數據庫課程設計心得(精選3篇)
數據庫課程設計心得 篇1
一周的課程設計結束了,在這次的課程設計中不僅檢驗了我所學習的知識,也培養了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情的方法和技巧。在設計過程中,和同學們相互探討,相互學習,相互監督。我學會了運籌帷幄,學會了寬容,學會了理解,也學會了做人與處世,這次課程設計對我來說受益良多。
課程設計是我們專業課程知識綜合應用的實踐訓練,著是我們邁向社會,從事職業工作前一個必不少的過程.“千里之行始于足下”,通過這次課程設計,我深深體會到這句千古名言的真正含義.我今天認真的進行課程設計,學會腳踏實地邁開這一步,就是為明天能穩健地在社會大潮中奔跑打下堅實的基礎。我這次設計的科目是數據結。
數據結構,是一門研究非數值計算的程序設計問題中計算機的操作對象(數據元素)以及它們之間的關系和運算等的學科,而且確保經過這些運算后所得到的新結構仍然是原來的結構類型。作為一門獨立的課程在國外是從20xx年才開始設立的。20xx年美國唐·歐·克努特教授開創了數據結構的最初體系,他所著的《計算機程序設計技巧》第一卷《基本算法》是第一本較系統地闡述數據的邏輯結構和存儲結構及其操作的著作。“數據結構”在計算機科學中是一門綜合性的專業基礎課。數據結構是介于數學、計算機硬件和計算機軟件三者之間的一門核心課程。數據結構這一門課的內容不僅是一般程序設計(特別是非數值性程序設計)的基礎,而且是設計和實現編譯程序、操作系統、數據庫系統及其他系統程序的重要基礎。
通過這次模具設計,我在多方面都有所提高。
一、編譯工具VisualC++
很多程序在結構上是獨立的,但是本此設計的程序功能不是零散的,它有一個連接是的程序是一個整體,怎樣達到這種統一體呢?因為這個輸出連接是貫穿始終的。說到這,就應該說以下我所應用的調試工具,也就是運行環境VisualC++,可以充分利用Windows的支持剪貼版和英文的特點。正是在實現循環鏈表的程序中充分利用這個特點,才能制作出全漢化的初始化畫面。
二、鞏固和溫習了C語言
在界面設置中使用函數調用while。其中文本顯示顏色和背景顏色都可以任意按照自己的喜好,任意改變,但改變的時候必須采用標準英文大寫,同時在制作顯示菜單的窗口,大小根據菜單條數設計。最后采用printf輸出程序設計界面。
這次的程序軟件基本上運行成功,可以簡單的建立鏈式循環鏈表,并進行輸出,及循環語句的運用和選擇語句的控制。由于時間和知識上的限制,使得程序規模相對較小,即功能還不很全面,應用也不很普遍。原來C語言可是涉及很多知識,而不是枯燥無聊的簡單的代碼部分而已,利用C語言方面的知識,我們可以設計出更完善的軟件。
三、積累了寶貴的經驗
我這次課程設計代碼中主要使用了鏈表的循環和遍歷這兩中操作。循環鏈表(CircularLinkedList)是單鏈表的另一種形式,它是一個首尾相接的鏈表。其特點是將單鏈表最后一個結點的指針域由NULL改為指向頭結點或線性表中的第一個結點,就得到了單鏈形式的循環鏈表,并稱為循環單鏈表。類似地,還有多重鏈的循環鏈表。在循環單鏈表中,表中所有結點被鏈在一個環上,多重循環鏈表則是將表中的結點鏈在多個環上。為了使某些操作實現起來方便,在循環單鏈表中也可設置一個頭結點。這樣,空循環鏈表僅由一個自成循環的頭結點表示。所謂遍歷(Traversal),是指沿著某條搜索路線,依次對樹中每個結點均做一次且僅做一次訪問。訪問結點所做的操作依賴于具體的應用問題。
這次課程設計我選中的題目是個人資料的管理。編寫了一個可以簡易使用的個人資料管理系統,可以進行資料的輸入和管理。雖然在我的程序中有一部分是從網上搜索得來的,但我已經竭力將所獲得的信息變成自己的資源,動手上機操作,在了解和看懂的基礎上有所改變和創新,但是在的程序軟件中還有部分的不足,需要加以更新。僅管,我并沒能很好的利用所學數據結構的知識,但我也盡了自己最大的努力用我所學來完成這次的課程設計。同時,通過這次課程設計,我認識到了自己動手實踐的弱勢,特別是在編程方面,知道了計算機的實踐操作是很重要的,只有通過上機編程才能充分的了解自己的不足。
四、對以后的學習充滿了信心和期待
通過這次的課程設計,更是讓我深刻認識到自己在學習中的不足,同時也找到了克服這些不足的方法,這也是一筆很大的資源。在以后的時間中,我們應該利用更多的時間去上機實驗,加強自學的能力,多編寫程序,相信不久后我們的編程能力都會有很大的提高能設計出更多的更有創新的作品。
數據庫課程設計心得 篇2
由于平時接觸的都是一些私人項目,這些項目大都是一些類庫,其他人的交流相對可以忽略不計,因此也就不考慮規范化的文檔。實際上從學習的經歷來看,我們接觸的知識體系都是屬于比較老或比較傳統的,與現在發展迅速的it行業相比很多情況已不再適用,尤其是當開源模式逐漸走近開發者后更是如此。
雖然這次是一個數據庫課程設計,由于本人在選擇項目的時候是本著對自己有實際應用價值的角度考慮的,所以其中也涉及到一些數據庫以外的設計。對于ooa/ood的開發模式有時不免要提出一些疑問,uml是設計階段的工具,而它基本涵蓋了軟件設計的方方面面,也就是說按照這一軟件工程的正常流程,在動手寫第一句代碼之前,開發人員已經非常熟悉軟件產品了,這對于相當有經驗的架構師一類人說可能會很容易,但是我們作為學生,連足夠的編碼經驗都沒有,卻首先被教授并要求先ooa再oop,這樣直接導致的問題就是文檔與編碼對不上號,在修改代碼的時候基本不會再去審查文檔和先前的分析。甚至根本就是現有代碼再有文檔,即便是這種情況,代碼與文檔還是不對應。不可否認,在傳統軟件工程的詳細設計之前的項目過程中還是有很多利于項目開發的部分的。所以我就一直在尋找適合我——針對探究型項目——的開發模式,這次的項目也算是一次嘗試,當然這個過程并不會太短。
回到數據庫設計上了,這次的數據庫設計我是嚴格按照數據庫建模的步驟來進行的,老實說我并沒有感覺這樣的流程對開發帶來多大的幫助,反倒是覺得將思維轉化為圖表很浪費時間。總體上來說這次的項目也不是很大,而且在數據庫的設計上比較保守,也就是說實際上數據庫設計還可以再完善完善的。隨著我對計算機領域的拓寬和加深,我也會靜下心來思考在接觸計算機之前的行為,很多次我能深切感覺到,其實我的大腦(未于別人比較)本身就是在使用一種更接近關系數據庫的方式來記憶,所以我很可恨自然的設計出符合三范式的表結構來,即便我不知道這些范式的確切含義。可能就像“范式不太容易用通俗易懂的方式解釋”一樣,在“讓工具用圖標表述我的思維”時費了一番力氣。
從我作為項目的提出人和實現者來看,這是個失敗的項目,結合幾次教學項目的的實踐,發現這也已經不是第一次了。主觀原因占多數,比如,嘗試新的開發方式,根據設計花了太多的時間來抽象出公用的庫而忽略業務邏輯。就這次項目而言,失敗的原因有以下幾點:
使用了新的開發環境(vim),這是首次在脫離高級ide的情況下編碼。
使用了新的開發語言(python,actionscript3),因為我一直比較喜歡“學以致用”,而且這樣的“數據驅動型”軟件的整套自實現的庫都已經完成了,但是由于語言本身的差異,遷移時問題很多,當發現這一點是,已沒有多少有效剩余時間了。
編碼流程的不妥,我比較喜歡從底層的庫開始開發,因為一旦庫測試通過,將很容易將它放到不同的表示層下。但如果庫沒有測試成功,將導致整個項目沒有任何可視化模型,所以這次的項目無法提交“可運行的代碼”。
實踐目的的不同,我輕易不放棄鍛煉的機會,事實上,有機會就一定要比以前有所突破,總是照搬以前的做法還不如就不做呢。這個前提是因為現在能完全用來的學習的時間比較多,等到工作時再這樣做的可能性就很小了,因此當然要抓緊機會了。不過還有一個隱藏原因,總以為自己很了不起,其實“遇到的問題數跟人的能力是成正比的”。
數據庫課程設計心得 篇3
兩個星期的時間非常快就過去了,這兩個星期不敢說自己有多大的進步,獲得了多少知識,但起碼是了解了項目開發的部分過程。雖說上過數據庫上過管理信息系統等相關的課程,但是沒有親身經歷過相關的設計工作細節。這次實習證實提供了一個很好的機會。
通過這次課程設計發現這其中需要的很多知識我們沒有接觸過,去圖書館查資料的時候發現我們前邊所學到的僅僅是皮毛,還有很多需要我們掌握的東西我們根本不知道。同時也發現有很多已經學過的東西我們沒有理解到位,不能靈活運用于實際,不能很好的用來解決問題,這就需要我們不斷的大量的實踐,通過不斷的自學,不斷地發現問題,思考問題,進而解決問題。在這個過程中我們將深刻理解所學知識,同時也可以學到不少很實用的東西。
從各種文檔的閱讀到開始的需求分析、概念結構設計、邏輯結構設計、物理結構設計。親身體驗了一回系統的設計開發過程。很多東西書上寫的很清楚,貌似看著也很簡單,思路非常清晰。但真正需要自己想辦法去設計一個系統的時候才發現其中的難度。經常做到后面突然就發現自己一開始的設計有問題,然后又回去翻工,在各種反復中不斷完善自己的想法。
我想有這樣的問題不止我一個,事后想想是一開始著手做的時候下手過于輕快,或者說是根本不了解自己要做的這個系統是給誰用的。因為沒有事先做過仔細的用戶調查,不知道整個業務的流程,也不知道用戶需要什么功能就忙著開發,這是作為設計開發人員需要特別警惕避免的,不然會給后來的工作帶來很大的麻煩,甚至可能會需要全盤推倒重來。所以以后的課程設計要特別注意這一塊的設計。
按照要求,我們做的是機票預訂系統。說實話,我對這個是一無所知的,沒有訂過機票,也不知道航空公司是怎么一個流程。盲目開始設計的下場我已經嘗過了,結果就是出來一個四不像的設計方案,沒有什么實際用處。沒有前期的調查,僅從指導書上那幾條要求著手是不夠的。
在需求分析過程中,我們通過上網查資料,去圖書館查閱相關資料,結合我們的生活經驗,根據可行性研究的結果和客戶的要求,分析現有情況及問題,采用client/server結構,將機票預定系統劃分為兩個子系統:客戶端子系統,服務器端子系統。在兩周的時間里,不斷地對程序及各模塊進行修改、編譯、調試、運行,其間遇到很多問題:由于忘記了一些java語言的規范使得在調試過程中一些錯誤沒有發現,通過這次課程設計,我對調試掌握得更加熟練了,意識到了程序語言的規范性以及我們在編程時要有嚴謹的態度,同時在寫程序時如有一定量的注釋,既增加了程序的可讀性,也可以使自己在讀程序時更容易。
我們學習并應用了sql語言,對數據庫的創建、修改、刪除方法有了一定的了解,通過導入表和刪除表、更改表學會了對于表的一些操作,為了建立一個關系數據庫信息管理系統,必須得經過系統調研、需求分析、概念設計、邏輯設計、物理設計、系統調試、維護以及系統評價的一般過程,為畢業設計打下基礎。
很多事情不是想象中的那么簡單的,它涉及到的各種實體、屬性、數據流程、數據處理等等。很多時候感覺后面的設計根本無法繼續,感覺像是被前面做的各種圖限制了。在做關系模型轉換的時候碰到有些實體即可以認為是實體又可以作為屬性,為了避免冗余,盡量按照屬性處理了。
物理結構設計基本沒有碰到問題,這一塊和安全性、完整性不覺就會在物理結構設計中添加一些安全設置:主鍵約束、check約束、default定義等。最后才做索引的部分,對一些比較經常使用搜索的列,外鍵上建立索引,這樣可以明顯加快檢索的速度,最后別忘記重要的安全性設置,限制用戶訪問權限,新建用戶并和數據庫用戶做相應的映射。
不管做什么,我們都要相信自己,不能畏懼,不能怕遇到困難,什么都需要去嘗試,有些你開始認為很難的事在你嘗試之后你可能會發現原來她并沒有你以前覺得的那樣,自己也是可以的。如果沒有自信,沒有目標,沒有信心就不可能把事情做好,當其他人都在迷茫的時候,自己一定要堅信目標,大學畢業出去即面臨找工作,從學習這個專業,到以后從事這方面的工作都需要不斷地去學習去實踐,這次實踐可以給我們敲一個警鐘,我們面臨畢業,面臨擇業,需要這些實踐經驗,在困難面前要勇于嘗試,這是這次課程設計給我的最大感想!
以上基本是這次實習的體會了,設計進行的非常艱難,編碼非常不容易,才發現做一個項目最重要的不在于如何實現,而是實現之前的需求分析和模塊設計。創新很難,有些流行的系統其實現并不難,難的在于對市場的分析和準確定位。設計,是一個任重道遠的過程。