iT邦幫忙

0

SQL SERVER的用法

sql

最近把SQL2008看完了但還是不知道他能做什麼?請問各位大大SQL SERVER在實際上的用途是怎樣運作呢??

1.例如:如果我建立一個資料庫然後建立資料表也建立許多欄位,那一般的USER在使用時也要用SQL Server Management Studio去 新增資料嗎,那不就每個人都必須要會T-SQL?

2.所謂資料庫開發就是設計欄位這樣而已嗎??

3.在微軟的acess可以設計表單介面讓使用者key in資料(像是會計軟體有個介面讓使用者輸入資料),然後在表單的每一個欄位寫入自定的條件,然後user所輸入的資料都會放在資料庫,有個顯示介面user不用記語法只要輸入資料就可以一目了然,但是我看了兩本SQL一本管理一本教語法,管理的先不說,在語法部分就是拼命在SELECT .....INSERT....,都是用文字介面找資料,但這對一般使用者會嗎?也都沒有介面可以讓一般使用者輸入資料嗎?

對於SQL我是新手,目前也沒機會碰到單純好學,所以也不知道SQL實際在運作上是怎樣用,只知道他是資料庫然後要建立表單建立眾多欄位,有人可以詳解一下嗎??

資料庫只是資訊系統中的一部份
只看資料庫
比較會不知道如何應用

這裡Google到幾份文件
都是完整而有其目的 的資訊管理系統
有空可以參考看看
資料庫在其中扮演的角色及其應用

註:只有「文件」的部份可以看,其他超連結大都失效
另外針對問題回覆

xsuper0027提到:
1.例如:如果我建立一個資料庫然後建立資料表也建立許多欄位,那一般的USER在使用時也要用SQL Server Management Studio去 新增資料嗎,那不就每個人都必須要會T-SQL?

程式設計師會設計「使用者介面」讓使用者存取資料
(介面可能是網頁、手機、桌上應用程式...各種介面)
一般是不會讓使用者使用T-SQL去存取資料

xsuper0027提到:
2.所謂資料庫開發就是設計欄位這樣而已嗎??

不是只有設計欄位這樣而已
資料庫管理(設計、開發)是一門很廣的學問
不是三冬兩冬可以精通的
隨便弄一弄誰都會
當資料量很大的時侯
才能區別出管理者的功力

xsuper0027提到:
3.在微軟的acess可以設計表單介面讓使用者key in資料(像是會計軟體有個介面讓使用者輸入資料),然後在表單的每一個欄位寫入自定的條件,然後user所輸入的資料都會放在資料庫,有個顯示介面user不用記語法只要輸入資料就可以一目了然

這是微軟的Access「產品功能」
不是資料庫的「標準定義」
Access除了「資料庫」的功能外
另外提供了簡易的「使用者介面」
目的是要讓Access有更多功能
但這不代表所有的資料庫(或資料管理系統)都是如此
2
hector958
iT邦研究生 2 級 ‧ 2012-05-18 17:06:58
最佳解答

就如同你現在看到的這個網頁頁面,事實上背後連向了一個或數個資料庫,多數的文字、圖片、排序、連結......都是經過向資料庫的查詢而來。
你寫出這個問題打完字後按下送出,也是將你的文字寫進資料庫。
編寫這個頁面的時候就需要使用很多資料庫的語法,查詢出必要的資料,讓這個頁面呈現出需要的模樣。
這就是實際上的例子之一,資料庫在背後,而門面是一個網頁,由網頁程式向資料庫查詢取得資料後組成一個完整的頁面。網頁的使用者不用管資料庫到底長相如何、語法怎寫。

所以說前端會是某種程式語言所開發的頁面,然後此頁面會連結到後端資料庫,應該是這樣所以單純學資料庫是沒用的必須要會程式語言來做開發,如果只是要做管理只要會基本SQL語法的就可以了應該是這樣吧?那順便一問我在104找工作的時候會常看到有些企業會開出要會SQL SERVER或是SQL語法,這樣的話只會SQL不會前端程式怎麼連結SQL那企業開出要會SQL的意義何在???

賽門 iT邦超人 1 級 ‧ 2012-05-18 21:34:10 檢舉

xsuper0027提到:
那企業開出要會SQL的意義何在???

會SQL是基本功...不會SQL就連談應徵程式設計師的工作都免談, 會SQL才能談下一步做程式設計師.

hector958 iT邦研究生 2 級 ‧ 2012-05-21 10:18:06 檢舉

TO xsuper0027:
可以這麼說,但當然做管理的人懂越多是越好,越方便,也越不會出包。
管理人員與程式開發人員的工作有時必須相輔相成,雙方能共同懂的東西越多溝通越順利。
企業在開條件時不見得開的都很精準或實際切合職務需要,但是會SQL可以說是一種基本功,如果SQL完全沒概念的話各種工作就不大方便了。

8
賽門
iT邦超人 1 級 ‧ 2012-05-18 17:05:04

如果一家公司能訓練所有使用者都用SSMS操作T-SQL語言來做資料處理, 那真的是太神奇了, 想也知道....不可能!

那建了資料庫以後, 怎麼讓使用者維護資料呢?

有很多工具....微軟的Visual Studio 2010就是正宗(因為SQL Server也是微軟的產品), 所以, 在Visual Studio中可以建立Form連到資料庫的Table, 做資料新增、修改、維護的工作. Visual Studio是透過ADO.NET來連線SQL Server, 而我們可以用C++、C#或VB語言來指揮ADO.NET, 進行資料維護的工作.

也可以改用Java、PHP.....很多不同語言工具來開發前端資料維護介面, 只要運用JDBC(Java Database Connection)或ODBC(Open Database Connection)的標準資料庫連線介面, 就可以使用Java語言或PHP來製作資料維護表單, 讓使用者有比較親和的介面維護資料.

版大的問題應該在於只看了SQL Server資料庫管理的書籍, 如果版大是計劃開發資料庫應用程式, 可以去圖書館借一本講Visual Studio程式設計的書, 可以找C#或VB或ASP.NET的書來看, 其中就會詳盡介紹如何連線資料庫做把視窗或IE Web畫面上的欄位和資料庫欄位結合, 進行資料維護.

當然, 如果版大想看Java程式設計, 也可以....建議的書單如下, 挑一本來看足矣:
Visual Basic 2010程式設計經典
聖殿祭司的ASP.NET 4.0專家技術手冊 -- 不要被專家兩個字嚇到了, 沒在難的~~
猛虎出閘制霸版:最新OCP Java SE 6 Programmer專業認證

只是JAVA程式語言的書不一定會用SQL Server來做資料庫, 這時記得JAVA只是透過JDBC連線資料庫, 只要有SQL Server的JDBC就行了...看這個網頁說明:

使用 Microsoft SQL Server JDBC Driver 3.0 讀取 SQL Server 2008 資料庫

2
charmmih
iT邦研究生 5 級 ‧ 2012-05-19 10:36:58

假如將一個系統比喻一輛車, 那資料庫就是此輛車的引擎:
開車的駕駛員依據儀表板, 操作排檔來操控系統;
系統的使用者依據UI畫面, 操作鍵盤滑鼠來操作系統
油箱==> 庫存
油錶==> 盤點
油門==> 銷進銷退
......

開車的人會看儀錶會操作排檔,不一定要懂引擎
就如使用者會UI操作鍵盤滑鼠,不一定要懂資料庫;

修車師傳要對引擎作動有所認知, 會將車子問題查找得快;
客服專員要對資料庫表格有所認知, 會將系統問題查找得快.

賣車的人要對引擎有所瞭解對車子有熱情, 會將車子賣得好價格;
賣系統的人要對資料庫有瞭解對系統有熱情, 會將系統賣得更有價值

改車的人要對引擎調校有豐富經驗, 會將車子改得又快又穩易操控;
資訊顧問要對資料庫調校有豐富經験, 會將系統調整又快又穩易於使用.

造車的團隊要對引擎深入研究, 才會造出又快又穩的車子;
造系統的團隊要對資料庫深入研究, 才會開發出又快又穩的系統.

2
billyao
iT邦新手 1 級 ‧ 2012-05-20 08:19:09

如果對資料庫完全沒概念的話,那麼SQL可能會有點難度,身上有點錢的話,去一趟坊間補習班上課,或許可以快一點;反之,身上沒銀兩的話,先去找一本看得懂得書籍,一步一步地慢慢學習,學的時候先不要有任何疑問,就照著書上說明操作,等看完一遍的話,再來思考疑問的部分,等到基礎OK的話,再來學習SQL語法,進階T-SQL運用,Stored Procedures等等。

如果SQL看書還認為太難的話,建議不妨先從Microsoft Access開始,坊間Acess 資料庫書籍寫得蠻淺顯,適合一般使用者閱讀,非常容易學習,等到學得差不多了,就回過頭來翻一翻SQL書籍,也許會比較有效率。

8
vova
iT邦新手 4 級 ‧ 2012-05-20 23:13:55

對這些MVP的大大每次看他們回達我都會昏倒,因為都回到不重點,這位提問的看官看也知道他不懂得資料庫,他也有提到他看了二本書,一本是管理SQL的一本是SQL的語法,這二種書應該都算是進階的書藉,我只想對提問的老大說:很抱歉你看錯書了,你應該看的是程式設計類的書,那你才會了解SQL的用途是什麼,你看了二本書看完後都不知道SQL是要拿來幹嘛用的,那你這不是白看了......這跟我看完"哈利跌倒"(台語),看完後人家問我裡面在寫什麼,我說:哇吶ㄟ災(台語)..........呀...落漆Orz

看更多先前的回應...收起先前的回應...
賽門 iT邦超人 1 級 ‧ 2012-05-21 09:59:15 檢舉

由於這裏只有我一個MVP,所以我只能說抱歉我的回答讓您頭昏,不過,我相信,您看了我的其他回答,一定會更頭痛°毆飛

"你應該看的是程式設計類的書,那你才會了解SQL的用途是什麼"這一句話你確實已經回答了我的問題一半,簡短卻一語道破
"你看了二本書看完後都不知道SQL是要拿來幹嘛用的",我兩本書看完並非不懂而是不知道要用再哪個地方,哪個時間用實務上應用上是如何?我也有說我沒看過實際應用所以還是有點一頭霧水,例如SELECT JOIN ....各種語法我看完都知道他要做什麼但實際上應用在哪裡??像是ACCESS 內還有表單設計提供一般使用者一個介面設計(例如會計界面),整個架構一個表單提供輸入,資料庫存放資料很清楚,但SQL就在那邊SELECT 來SELECT 實際應用在哪我沒看過所以一頭霧水

就像是WIN2008 SERVER 你上課教你AD 可以管控所有電腦可以設定GPO 但若是你沒有實際看過實際跟別人做過,你是懂的AD可以做什麼,但是整個架構上實際應用上我相信很多人都也是一頭霧水

vova提到:
對這些MVP的大大每次看他們回達我都會昏倒,因為都回到不重點

汗

echen688 iT邦研究生 1 級 ‧ 2012-05-21 13:56:26 檢舉

vova提到:
對這些MVP的大大每次看他們回達我都會昏倒,因為都回到不重點,

重點通常有三點, 但是三點是不露不外傳的......... 毆飛

鐵殼心 iT邦高手 1 級 ‧ 2012-05-21 15:05:13 檢舉

vova提到:
對這些MVP的大大每次看他們回達我都會昏倒,因為都回到不重點

為了避免讓幫眾們昏倒, 在下已經沒有回答問題很久了.

總裁 iT邦好手 1 級 ‧ 2012-05-21 16:51:02 檢舉

失神

2
liurambo0911
iT邦高手 1 級 ‧ 2012-05-21 16:59:52

建議樓主先去找找什麼叫做SA、SE、SD
光是看SQL的手冊 是沒辦法知道什麼叫做使用者介面、資料層級
SQL主要負責的是"資料管理" 不負責"畫面"的
基本上不會有人把SQL的TABLE直接給秀給使用者看
一定會透過許多VIEW之類 讓使用者只看到他們想看到的(SA)
而介面如何設定、資料如何判斷是否已完成交易等等 這才是價值所在(SD)
而前端介面也就非常多采多姿了(SE)

SQL人人會安裝 但這樣離"會用"還差非常非常大的距離
加油

GOOD,看了這麼多人回答心裡已經有個雛形,大概知道要在往哪邊學習,還是逃不了要學程式語言的命運,只會後端資料庫沒用因為沒有介面可以展示,還必須用語言程式設計展式介面以方便使用者輸入,是這樣沒錯吧,那有沒有比較推薦哪一種語言比較通用

vova iT邦新手 4 級 ‧ 2012-05-21 21:44:39 檢舉

老大...語言不用推薦啦,因為你跟本沒說你學的是那一種SQL呀???怎推薦你學那個語言好,在說很多語言都是可以連接多種資料庫的,所以也沒有說那種語言好,你應該問你自己,想幹嘛?未來想應用在什麼方面?還有你自己比較想學哪種語言??窮

charmmih iT邦研究生 5 級 ‧ 2012-05-21 22:08:18 檢舉

學SQL由select 語法開始,
最好有一些的資料才好學,
先看一些報表的SQL,
再試著摸仿看看....

如果是MS-SQL ,
可利用SQL Profilier 抓現成SQL
來試著瞭解看看....
記得要在測試資料庫測試,
不要搞掛了正式資料庫....

2

樓主既然說到難逃程式設計的命運
那小的建議樓主大大
就選擇Asp.net+SQL Server的學習方案
這應該是最簡易的入門了
開發語言看你要選c#或是VB(看你比較習慣哪一種)
不過總歸一句話
IT這產業進入門檻並不高

但要有所成(名聲、$$、經歷)
真的要耗費心力(小弟我目前也在朝方面努力)

我要發表回答

立即登入回答