寫在前面的話:這個教程本來是想重點介紹SQL數據庫,但是寫著寫著發現已經有很多關于數據的知識了,索性把項目整個開發過程都寫了下來。由于時間確實很緊,教程收尾比較匆忙,感覺寫的很對不起大家,但是基本上一個項目的流程就這么多了(不包括后期測試),什么時候該做什么,該用什么工具,有什么技巧,都差不多說到了,我的能力也就到這了。補充一點:每個階段都要產生相應的文檔,這可是非常重要的,真正做項目的時候不要忽略了!
直到現在,接觸數據庫的時間大約有一年了,剛開始用的時候真是一點也不懂,就那么硬生生的用,經過一年的積累,雖然還算是小菜,但是也懂得點東西。為了整理知識,同時幫助更多的人能更好的學習數據庫,我決定把我學到的東西整理下來。鑒于網絡上有很多關于數據庫的教程,但很多都是孤立的知識點,這樣初學者很難從整體上把握數據庫,學習起來比較困難,也會產生一定的畏懼心理;同時,面對網絡上繁多的資料,初學者往往很難正確選擇比較的好的方法,很可能掌握的是過時或者不太實用的技術,當然包括我在內也是這樣。
基于以上情況,本教程基于數據庫實際應用,展示一個完整的數據庫項目開發過程,其中會涉及一些數據庫設計的經驗技巧、項目開發過程中一些工具的使用、三層架構等。當然,本人也是小菜,再加上時間有限,不可能把所有的知識點都說到,一些基礎的知識一帶而過,重在宏觀指導,重在應用體驗,細節讀者自己去百度或google。教程的目的是引導初學者成為一名專業的數據庫應用開發者。本教程以SQL2005數據庫和C#為例,構建一個簡單的學生管理系統。本教程雖然為初級教程,但也不適合0基礎的童鞋,適合處于迷茫狀態的童鞋。廢話少說,進入正題。
一、為什么要選擇SQL數據庫。
作為國際慣例,要先說一下為什么要選擇SQL數據庫。其實也不是SQL數據庫有多好,比SQL優秀的數據庫俺這種小菜就知道好幾個,主要原因是SQL數據相對于其他數據庫較為簡單,包括安裝、配置、使用,數據庫原理都是相同的,把這個學好了其他的也不成問題;另一方面SQL數據庫已經很專業了,學習的性價比高,總比學習Access數據庫要好吧?其實,俺也只懂SQL而已。至于SQL數據庫具體是什么、有什么特點,這個就留給讀者去尋找答案了,相信地球人都能找到。
二、數據庫原理簡介。
數據庫,顧名思義,就是存放數據的地方。SQL server 2005就是一個大型的數據庫管理系統,在這個大型系統中我們可以建立很多數據庫,用來為不同的程序服務,一般一個應用程序只有一個數據庫。有了數據庫就涉及數據具體內容,SQL數據庫中包含了N個表,每個表都包括行和列,其中每個列叫做一個字段,每一行叫做一條記錄,就好像坐標一樣,x軸是記錄,y軸是字段。字段是創建表時就定義好的,它有名稱和類型,這些字段連在一起就是一條記錄,所以理論上表可以有無限個記錄。一個數據庫中的N個表,通過關系聯系在一起,就是傳說中的關系型數據庫。好像有些亂,下面來個圖:

這些都是最基本的知識,為什么要提這些?說實話,我當初是費了好大勁才理解這個的,在這提出來,就是想給讀者一些點播。
三、權限配置。
其實權限配置你完全不懂,也可以正常使用數據庫,一般都是直接使用sa賬戶。作為一個完整的數據庫教程,并且號稱是專業的教程,必須涉及權限配置,可以不懂,但必須了解。
SQL server作為一個數據庫平臺,肯定不是給一個人用的,既然多人使用,就要涉及權限問題。比如A用戶不能隨意更改B用戶的數據庫、作為用戶的A不能有系統管理員的權限等。說道權限就不得不提角色,什么是角色呢?簡單的講,就是某些權限的集合,也可以說是一組權限。這樣一來,想讓某個用戶具有某類功能,只要指定角色就可以了,而不用一個一個的去分配權限,這樣使權限分配變得更加快捷方便,并且有統一性。
SQL server中的角色圖:

需要注意的是,服務器角色是在整個SQL平臺層面上的角色,它只有固定角色(系統定義好的權限組);數據庫角色是數據庫層次上的角色,一個用戶是A數據庫的db_owner角色,不一定是B數據庫的db_owner角色,它分為固定角色和自定義角色。
學習這些現在可能用不到,但是權限管理作為數據庫一個重要特色,在將來的工作中一定有用武之地?,F在看不懂也沒事,了解即可。在這只列舉了角色類型,并沒有給出創建方法,google吧!