菜鳥也能飛 SQL資料庫實戰專業教程 一

2021-08-26 20:06:28 字數 1848 閱讀 2233

寫在前面的話:這個教程本來是想重點介紹sql資料庫,但是寫著寫著發現已經有很多關於資料的知識了,索性把專案整個開發過程都寫了下來。由於時間確實很緊,教程收尾比較匆忙,感覺寫的很對不起大家,但是基本上乙個專案的流程就這麼多了(不包括後期測試),什麼時候該做什麼,該用什麼工具,有什麼技巧,都差不多說到了,我的能力也就到這了。補充一點:每個階段都要產生相應的文件,這可是非常重要的,真正做專案的時候不要忽略了!

直到現在,接觸資料庫的時間大約有一年了,剛開始用的時候真是一點也不懂,就那麼硬生生的用,經過一年的積累,雖然還算是小菜,但是也懂得點東西。為了整理知識,同時幫助更多的人能更好的學習資料庫,我決定把我學到的東西整理下來。鑑於網路上有很多關於資料庫的教程,但很多都是孤立的知識點,這樣初學者很難從整體上把握資料庫,學習起來比較困難,也會產生一定的畏懼心理;同時,面對網路上繁多的資料,初學者往往很難正確選擇比較的好的方法,很可能掌握的是過時或者不太實用的技術,當然包括我在內也是這樣。

一、為什麼要選擇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角色,它分為固定角色和自定義角色。

學習這些現在可能用不到,但是許可權管理作為資料庫乙個重要特色,在將來的工作中一定有用武之地。現在看不懂也沒事,了解即可。在這只列舉了角色型別,並沒有給出建立方法,google吧!

菜鳥也能飛 SQL資料庫實戰專業教程 一

寫在前面的話 這個教程本來是想重點介紹sql資料庫,但是寫著寫著發現已經有很多關於資料的知識了,索性把專案整個開發過程都寫了下來。由於時間確實很緊,教程收尾比較匆忙,感覺寫的很對不起大家,但是基本上乙個專案的流程就這麼多了 不包括後期測試 什麼時候該做什麼,該用什麼工具,有什麼技巧,都差不多說到了,...

資料庫SQL實戰

無emp no birth date first name last name gender hire date 10008 1958 02 19 saniya kalloufi m1994 09 15 示例1無 無 select from employeesorder byhire datedes...

資料庫SQL實戰

找出所有員工當前 to date 9999 01 01 具體的薪水salary情況,對於相同的薪水只顯示一次,並按照逆序顯示 create table salaries emp no int 11 not null,salary int 11 not null,from date date not ...