


下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、目前在職場中很難找到非常合格的數據庫開發人員。我的一個同事曾經說過:“SQL發是一門語言,它很容易學,但是很難掌握。”在面試應聘的SQLServer數據庫開發人員時,我運用了一套標準的基準技術問題。下面這些問題是我覺得能夠真正有助于淘汰不合格應聘者的問題。它們按照從易到難的順序排列。當您問到關于主鍵和外鍵的問題時,后面的問題都十分有難度,因為答案可能會更難解釋和說明,尤其是在面試的情形下。您能向我簡要敘述一下SQLServer2000中使用的一些數據庫對象嗎?您希望聽到的答案包括這樣一些對象:表格、視圖、用戶定義的函數,以及存儲過程;如果他們還能夠提到像觸發器這樣的對象就更好了。如果應聘者不能
2、回答這個基本的問題,那么這不是一個好兆頭。什么是索引?SQLServer2000里有什么類型的索引?任何有經驗的數據庫開發人員都應該能夠很輕易地回答這個問題。一些經驗不太多的開發人員能夠回答這個問題,但是有些地方會說不清楚。簡單地說,索引是一個數據結構,用來快速訪問數據庫表格或者視圖里的數據。在SQLServer里,它們有兩種形式:聚集索引和非聚集索引。聚集索引在索引的葉級保存數據。這意味著不論聚集索引里有表格的哪個(或哪些)字段,這些字段都會按順序被保存在表格。由于存在這種排序,所以每個表格只會有一個聚集索引。非聚集索引在索引的葉級有一個行標識符。這個行標識符是一個指向磁盤上數據的指針。它允
3、許每個表格有多個非聚集索引。NULL是什么意思?NULL(空)這個值是數據庫世界里一個非常難纏的東西,所以有不少應聘者會在這個問題上跌跟頭您也不要覺得意外。NULL這個值表示UNKNOWN(未知):它不表示“"空字符串)。假設您的SQLServer數據庫里有ANSI_NULLS,當然在默認情況下會有,對NULL這個值的任何比較都會生產一個NULL值。您不能把任何值與一個UNKNOWN值進行比較,并在邏輯上希望獲得一個答案。您必須使用ISNULL操作符。什么是主鍵?什么是外鍵?主鍵是表格里的(一個或多個)字段,只用來定義表格里的行;主鍵里的值總是唯一的。外鍵是一個用來建立兩個表格之間關
4、系的約束。這種關系一般都涉及一個表格里白主鍵字段與另外一個表格(盡管可能是同一個表格)里的一系列相連的字段。那么這些相連的字段就是外鍵。什么是觸發器?SQLServer2000有什么不同類型的觸發器?讓未來的數據庫開發人員知道可用的觸發器類型以及如何實現它們是非常有益的。觸發器是一種專用類型的存儲過程,它被捆綁到SQLServer2000的表格或者視圖上。在SQLServer2000里,有INSTEAD-OF和AFTER兩種觸發器。INSTEAD-OF觸發器是替代數據操控語言(DataManipulationLanguage,DML)語句對表格執行語句的存儲過程。例如,如果我有一個用于Tabl
5、eA的INSTEAD-OF-UPDATE觸發器,同時對這個表格執行一個更新語句,那么INSTEAD-OF-UPDATE觸發器里的代碼會執行,而不是我執行的更新語句則不會執行操作。AFTER觸發器要在DML語句在數據庫里使用之后才執行。這些類型的觸發器對于監視發生在數據庫表格里的數據變化十分好用。您如何確一個帶有名為Fld1字段的TableB表格里只具有Fld1字段里的那些值,而這些值同時在名為TableA的表格的Fld1字段里?這個與關系相關的問題有兩個可能的答案。第一個答案(而且是您希望聽到的答案)是使用外鍵限制。外鍵限制用來維護引用的完整性。它被用來確保表格里的字段只保存有已經在不同的(或
6、者相同的)表格里的另一個字段里定義了的值。這個字段就是候選鍵(通常是另外一個表格的主鍵)。另外一種答案是觸發器。觸發器可以被用來保證以另外一種方式實現與限制相同的作用,但是它非常難設置與維護,而且性能一般都很糟糕。由于這個原因,微軟建議開發人員使用外鍵限制而不是觸發器來維護引用的完整性。對一個投入使用的在線事務處理表格有過多索引需要有什么樣的性能考慮?您正在尋找進行與數據操控有關的應聘人員。對一個表格的索引越多,數據庫引擎用來更新、插入或者刪除數據所需要的時間就越多,因為在數據操控發生的時候索引也必須要維護。您可以用什么來確保表格里的字段只接受特定范圍里的值?這個問題可以用多種方式來回答,但是
7、只有一個答案是好”答案。您希望聽到的回答是Check限制,它在數據庫表格里被定義,用來限制輸入該列的值。觸發器也可以被用來限制數據庫表格里的字段能夠接受的值,但是這種辦法要求觸發器在表格里被定義,這可能會在某些情況下影響到性能。因此,微軟建議使用Check限制而不是其他的方式來限制域的完整性。返回參數和OUTPUT參數之間的區別是什么?如果應聘者能夠正確地回答這個問題,那么他的機會就非常大了,因為這表明他們具有使用存儲過程的經驗。返回參數總是由存儲過程返回,它用來表示存彳i#過程是成功還是失敗。返回參數總是INT數據類型。OUTPUT參數明確要求由開發人員來指定,它可以返回其他類型的數據,例如
8、字符型和數值型的值。(可以用作輸出參數的數據類型是有一些限制的。)您可以在一個存儲過程里使用多個OUTPUT參數,而您只能夠使用一個返回參數。什么是相關子查詢?如何使用這些查詢?經驗更加豐富的開發人員將能夠準確地描述這種類型的查詢。相關子查詢是一種包含子查詢的特殊類型的查詢。查詢里包含的子查詢會真正請求外部查詢的值,從而形成一個類似于循環的狀況。關于面試過程的思考這些問題只不過是確定一個SQLServer數據庫開發人員是否合格的起點。根據應聘者對上面這些問題的回答情況,我可能會要求他們參加我的TSQL編程考試,這一般是一套根據不同情況進行的10到12個數據庫查詢。您需要自己決定將要雇用的開發人員具有什么樣的專業技能。然后,需要通過自己的經驗、判斷以及在面試時對應聘者的感受(來做最終決
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 阮郎歸題目及答案
- 日語高考閱讀題目及答案
- 2023年學業水平合格考試三年分類匯編(真題)-專題三地球上的水03海水的運動
- 4 4 解三角形-2026版53高考數學總復習A版精煉
- 2023-2024學年江蘇省南京市江寧區高二下學期期末考試數學試卷(解析版)
- 2023-2024學年廣東省陽江市高二下學期期末測試數學試題(解析版)
- 整改內容回復函
- 2025年湖南省中考英語試卷真題(含答案)
- 合法的員工勞動合同
- 年產30萬平方米生態木護墻板新型環保材料研發生產項目可行性研究報告寫作模板-申批備案
- 宜賓五糧液股份有限公司2025年上半年校園招聘(253人)筆試參考題庫附帶答案詳解
- 水利站項目規劃選址論證報告
- 防汛防雷安全培訓
- 2024版壓力容器設計審核機考題庫-簡答題3-3
- 2025-2030國內天然橡膠行業深度分析及競爭格局與發展前景預測研究報告
- 四年級2025年小學語文下學期期末考試真題人教版
- 2024年東莞市“百萬英才匯南粵行動計劃”事業編制教師招聘筆試真題
- DB43T-湖南省改性玻化微珠復合材料外墻修繕系統應用技術標準
- 產品質量檢驗方法
- 直播帶貨主播培訓課程
- 放射治療擺位技術
評論
0/150
提交評論