430 likes | 682 Views
資料庫應用系統開發實務的第一堂課 Oracle Database 10g: PL/SQL Programming. 中華大學資訊管理系 助理教授 李之中 200 9 /0 9 / 1 4. 大綱. 就業市場的現況 資訊產業專業能力 課程介紹 修課之前 …. 就業市場的現況. 2006 年. 57563/4=14390. 資管畢業生太多,工作難找 ?. 根據行政院科技顧問組於 2006 年所發表「資訊服務產業科技人才供需調查」的調查結果顯示 2005 年從大學院校資訊科系 ( 包含資訊工程、資訊科學與資訊管理系 ) 畢業約 25,339 名學生
E N D
資料庫應用系統開發實務的第一堂課Oracle Database 10g: PL/SQL Programming 中華大學資訊管理系 助理教授 李之中 2009/09/14
大綱 • 就業市場的現況 • 資訊產業專業能力 • 課程介紹 • 修課之前…
2006年 57563/4=14390
資管畢業生太多,工作難找? • 根據行政院科技顧問組於2006年所發表「資訊服務產業科技人才供需調查」的調查結果顯示 • 2005年從大學院校資訊科系(包含資訊工程、資訊科學與資訊管理系)畢業約25,339名學生 • 當年度投入就業的約12,690名人員 • 業界仍高喊找不到人才(缺口為2,010人) 問題:量夠但質不精
資訊服務產業 (單位:人)
資訊服務產業熱門職務需求及其職能需求 資料來源:資策會數位教育研究所(2007/3)
資管畢業生太多,工作難找? • 你的核心競爭力在哪裡? • 你未來就業時如何勝過你的競爭對手? • 具實務經歷與證照的新人最受青睞 • 你知道企業需要什麼樣的人才嗎? • 能勝任工作的新人 答案很簡單:要具備工作能力
如何具備業界需要的專業技術能力(1/2) • 在學校學習理論知識 • 為什麼這麼作 • 不要以為理論與實務有極大的落差 • 理論知識只有在學校才能學到 • 接受產品導向的教育訓練課程 • 如何應用產品解決企業的問題 • 通常要花大錢,有機會在學校學,何樂而不為? • 以Oracle Form Developer 10g 課程為例,30 hr 的課程,Oracle收費NT 63,000。
如何具備業界需要的專業技術能力(2/2) • 具備英文閱讀能力 • 至少有能力讀產品手冊(多讀、查字典、不要怕) • 反覆操作練習 • IT技術只有從實作中才能得知自己是否了解 • 反覆操作練習才能培養你的工作能力 • 持之以恆 • 新技術是不斷出現的、學習不能停滯
這門課輔導你具備哪一個職務的工作能力? • 資料庫應用系統開發人員 • 使用者介面的開發(presentation) • 企業邏輯的開發(business logic) • Forms and Reports • 待說明 • PL/SQL • 資料庫應用系統開發實務 • Oracle Database 10g: Program with PL/SQL • 資料擷取程式開發(Data) • SQL • 商用資料庫 • Oracle Database 10g: Introduction to SQL
資料庫系統實體架構 三層式架構 ( 3-tier 或 N-tier) 展示層(Presentation tier) 負責處理使用者輸入的資料 在Web的環境下,展示層即是使用者端的瀏覽器 商業邏輯層(Business logic tier) 負責整個應用系統的作業,包括企業之商業法則( Business Rules),資料處理,和網站網頁程式等 很多廠商把負責此層工作的主機稱為應用伺服器 資料服務層(Data service tier) 處理商業邏輯層傳來的資料處理需求,並將結果傳回 資料服務層一般由DBMS來執行 資料來源:黃三益2008 資料庫的核心理論與實務第四版 1-15
為何要學習PL/SQL? • 要學就學市場佔有率最高的技術 • 企業需求造就薪資逆勢成長 • 具備前後端的程式開發整合能力 • 從純管理人員進階Oracle 專才
要學就學市場佔有率最高的技術 • Oracle 是全球關聯式資料庫龍頭廠商,PL/SQL 是與Oracle 資料庫溝通的核心,不論想在Oracle 上做開發或管理的工作,PL/SQL 都是必備技能,學會善用PL/SQL 將大幅提升應用程式的正確率與執行效率,更可贏得進入大企業的工作機會。
具備前後端的程式開發整合能力 • 身為程式開發人員,您是否也想撰寫資料庫應用程式大幅增加執行效能? • PL/SQL 的易用性可讓您撰寫任何時候都易於維護和強化的資料處理程式,讓您擺脫很多不必要的苦工,簡化程式開發流程。已具備前、後端程式開發整合能力的您,所開發出來的應用程式將更有效率、更符合大型企業應用需求,成為擁有完整程式設計解決方案能力,可開發大型企業級系統的程式開發專家。
從純管理人員進階Oracle 專才 • 身為資料庫管理人員,您是否常有找不出效能問題而束手無策的困擾? • PL/SQL 可加值您管理之外的程式開發能力和觀念,讓您在管理資料庫上更具優勢,不僅可用PL/SQL 撰寫高效率的程式碼來完成管理工作,具備系統管理和程式撰寫整體思考能力的您,更可輕鬆找出上面運行應用程式的問題所在,大幅改善資料庫管理效能。您將由資料庫管理到資料庫開發,成為真正了解Oracle完整技術架構者,您將從純管理人員進階成Oracle 專才,在Oracle 領域擁有不可取代的競爭力。
Oracle Developer證照 • 產品 • Oracle 10g database • 證照 • Oracle Database 10g Developer • Oracle Database SQL Expert • Oracle PL/SQL Developer Certified Associate • Oracle PL/SQL Developer Certified Professional • Oracle Forms Developer Certified Professional • For more information, refer to • http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=141
Certification Path: Oracle PL/SQL and Oracle Forms Developer • Oracle PL/SQL Developer Certified Associate • Either(三選一) • Introduction to Oracle9i: SQL (1Z0-007) • Introduction to Oracle: SQL and PL/SQL(1Z0-001) • Oracle Database SQL Expert (1Z0-047) • Program with PL/SQL (1Z0-147) • Oracle PL/SQL Developer Certified Professional • Oracle PL/SQL Developer OCA • Oracle Database 11g: Advanced PL/SQL (1Z0-146) • Oracle Forms Developer Certified Professional • Oracle PL/SQL Developer OCA • Oracle Forms: Build Internet Applications (1Z0-141)
我該考哪些證照? • 證照達人! 證照達人? • 你的第一份工作 • DBA(資料庫管理師) 、 Programmer(程式設計師) • 老實說,職場新鮮人第一份工作多數都要從寫程式開始。 • 所以證明你具備寫程式的能力比證明你能當DBA來的重要。 • 但是只會寫程式仍然不夠。 • 因為你寫的程式要支援企業的運作,因此你還需要懂得企業流程。 • 因此,你在找第一個工作時,要證明你能寫程式,還對企業流程有一些了解。
我該考哪些證照? • 如何證明你能寫程式? • 資料庫中的程式大致分成兩個方面 • 到資料庫中查詢資料(SQL) • 使用者介面、企業邏輯 (PL/SQL(Cursors)、 Form、Report) • SQL、PL/SQL及Form都有證照。但是… • 在業界Oracle DBA證照的能見度比較好。 • 當有人提起他有Oracle 證照時,業界的直覺反應多是認為這張證照是DBA 的OCA,而不是PL/SQL的OCA ,或是Forms OCP。 • 所以,考Oracle Database 10g Administrator Certified Associate的最重要目的在提昇你在業界的能見度。
我的建議 • 證照取得仍是以業界能見度較高者優先 • 所以,建議同學考Database OCA, • 但是,… • 自2008年12月1日起,取得Oracle Database 10g Administrator Certified Associate需要考兩科,我建議同學那就考兩張證照吧! • 第一科證明你有撰寫SQL命令的能力 • Oracle Database SQL Expert (1Z0-047) (第一張) • 第二科證明你有管理Oracle資料庫的基礎能力 • Oracle Database 10g: Administration I (1Z0-042) (第二張) • 否則,至少要有Oracle Database SQL Expert 證照
我的建議 • 如何證明你懂企業流程? • ERP-將企業流程資訊化的系統。 • ERP初階規劃師 • 建議各位最好取得ERP初階規劃師證照。
但是,DBA職位… • 但是… • 在業界中,當你是一個同事眼中的好DBA時,你離資訊部門的重要管理職就不遠了! • 所以,我還能透過DBA取得資訊部門的管理職嗎? • 當然 • 你仍然可以透過寫程式爭取DBA職位
DBA 的養成兩個管道 • 系統整合管理出身 • 以維持資料庫的正常運作以及協助資料庫進行資料備份等工作為主。 • 具有大型主機系統管理經驗(有存儲媒體管理經驗者尤佳),或者瞭解作業系統原理與運作的人來做較合適。 • 理由:因為,Oracle 資料庫運作的不正常,經常是因為系統出狀況,相對於「只」懂資料庫的資訊人員,應該能夠較快找到問題。 • 資料庫應用系統開發出身 • 翻整既有資料庫內的資料,以及優化資料傳遞與分析(例如寫一些store Function、triger、建DB_link……) 、或是調校應用程式或SQL命令(SQL tuning)等工作。 • 建議找有程式開發經驗的人(特別是對資料庫存取上有實際程式撰寫經驗的人), • 理由:對資料與資料結構的本身有一定的敏感度,也比較熟悉User的需求。 • 現實情況是,魚與熊掌不可兼得,同時兼具系統管理與程式撰寫等兩種技術能力的人,少之又少。
兩篇值得一讀的文章 • 為什麼好的Oracle DBA那麼難找? • http://www.zdnet.com.tw/enterprise/column/cio/0,2000085687,20134110,00.htm • 由現任CSC集團台灣澳圖美德(AUTOMATED)資訊長杜奕鋒先生在2008/11/06於 ZDNet.com.tw所發表的文章。當個稱職的DBA可不能只懂資料庫 … • 好的Oracle DBA該具備的兩大要素 • http://www.zdnet.com.tw/enterprise/column/cio/0,2000085687,20134111,00.htm • 同樣由杜奕鋒先生在2008/11/13於 ZDNet.com.tw所發表的文章。文章中説明杜先生認為聘用一個好的Oracle DBA的第一個考量為「人員的誠信」,第二個考量則為「人員對系統面的了解程度,以及解決問題的方法」…
進階資料庫應用系統開發實務 • 修課對象: • 本系修過「資料庫管理」之同學 • 授課內容: • Oracle Database 10g: Program with PL/SQL • 本課程介紹PL/SQL語法,以及如何撰寫良好的PL/SQL Block、內儲程式-如Package、Function、Procedure、Trigger等,並且學習如何管理PL/SQL程式,操作LOB物件及使用Oracle提供的內建Package等。
進階資料庫應用系統開發實務 • 授課老師: • 校師:邱登裕、李之中 • 業師:黃中豪 廖文政(光磊科技技術副理) • 上課時間: (一)569 • 上課地點:E105 • 課程網址:http://www.chu.edu.tw/~leecc
系上已經於本學期加入 Oracle Academy 中的 Oracle Academic Initiative ,課程將有下列資源: • 本學期的課程將使用 Oracle University 的教材授課。 • 修課期間同學都配置一套合法授權的Oracle 10g R2 DBMS與Oracle Developer Suite 10g。 • 參加Oracle 證照考試可享6折優惠。
1. PL/SQL 語言簡介 2. 宣告PL/SQL 辨識子 3. 撰寫可執行的指令 4. 了解PL/SQL 與Oracle Server 的互動方式 5. 撰寫控制結構 6. 使用複合的資料結構 7. 使用明確定義的游標 8. 例行情況的處理 9. 建立內儲程序 10. 建立內儲函數 11. 建立套件 12. 使用Oracle 內建的套件 13. 動態SQL 與MetaData 14. PL/SQL 程式設計重點 15. 管理物件的相關性 16. 操作LOB 物件 17. 建立觸發器 18. 了解PL/SQL Complier 的結構 本課程的授課內容
本課程的授課內容(1/5)Oracle Database 10g: PL/SQL Programming • Oracle Database 10g: PL/SQL Fundamentals(1/2) I. Introduction 1. Introduction to PL/SQL 2. Declaring PL/SQL Variables 3. Creating the Executable Section 4. Interacting with the Oracle Database Server 5. Writing Control Structures
本課程的授課內容(2/5)Oracle Database 10g: PL/SQL Programming • Oracle Database 10g: PL/SQL Fundamentals(2/2) 6. Working with Composite Data Types 7. Using Explicit Cursors 8. Including Exception Handling 9. Creating Stored Procedures and Functions
本課程的授課內容(3/5)Oracle Database 10g: PL/SQL Programming • Oracle Database 10g: Develop PL/SQL Programs units (1/3) I. Introduction 1. Creating Stored Procedures 2. Creating Stored Functions 3. Creating Packages 4. Using More Package Concepts
本課程的授課內容(4/5)Oracle Database 10g: PL/SQL Programming • Oracle Database 10g: Develop PL/SQL Programs units (2/3) 5. Using Oracle-Supplied Packages in Application Development 6. Dynamic SQL and Metadata 7. Design Considerations for PL/SQL Code 8. Managing Dependencies
本課程的授課內容(5/5)Oracle Database 10g: PL/SQL Programming • Oracle Database 10g: Develop PL/SQL Programs units (3/3) 9. Manipulating Large Objects 10. Creating Triggers 11. Applications for Triggers 12. Understanding and Influencing the PL/SQL Compiler
上課教材 • Oracle University 原版教材 • Oracle University, Oracle Database 10g: PL/SQL Fundamentals Student Guide, D17112GC21, Edition 2.1, December 2006, D48243. • Oracle University, Oracle Database 10g: Develop PL/SQL Program Units Volume 1 Student Guide, D17169GC21, Edition 2.1, December 2006, D48230. • Oracle University, Oracle Database 10g: Develop PL/SQL Program Units Volume 2 Student Guide, D17169GC21, Edition 2.1, December 2006, D48231.
參考資料 (PL/SQL) • 參考書 • Steven Feuerstein, Bill Pribyl, Oracle PL/SQL Programming, Fourth Edition, O'Reilly Media, Inc., 2005. • 劉漢山譯,Oracle PL/SQL 程式設計 第三版(涵蓋 Oracle9i),O'Reilly Media, Inc.,2004 年 02 月。
修這門課所需的額外費用 • 列印兩份教材的費用,大約NT500元。 • 建議準備一個USB硬碟,容量大約20GB • 如果你要參加認證的話,認證考試費用為125美金打6折(125 ×0.6 = 75),為75美金。
最後,我想說的… • 冬夜讀書示子聿 古人學問無遺力,少壯功夫老始成 紙上得來終覺淺,絕知此事要躬行 南宋陸游(放翁)