網頁

搜尋此網誌

2011年11月28日 星期一

Learning SQL

SQL語言是使用資料庫時的基礎能力,對一個資料庫管理系統操作就是「說」SQL語言! 這裡介紹一本學習SQL語言的入門書籍,由歐萊禮(O'Reilly Media)出版,碁峰資訊發行,非常適合想學習SQL語言的初學者。

Alan Beaulieu著,張偉超、林青松編譯,陳佳新審校,SQL學習手冊(第二版),台北:碁峯資訊,2011。譯自:Learning SQL, 2nd Edition (Master SQL Fundamentals), O'Reilly Media。

SQL語言可分為三類:
  1. SQL結構描述陳述式(SQL schema statements)
    有關建立資料庫(資料表、索引、條件約束),通常是資料庫管理員要熟悉的工作內容。
  2. SQL資料陳述式(SQL data statements)
    建立、操縱和擷取儲存在資料庫中的資料,通常是程式開發人員與資料庫使用者,以及資料庫管理員必須熟悉的工作內容。
  3. SQL交易陳述式(SQL transaction statements)
    在多使用者的環境之下,用來開始、結束和回復交易,通常是程式開發人員與資料庫使用者必須熟悉的工作內容。
作者將重點放在講述SQL資料陳述式,全書總共15章,用了前面12章說明資料操作的語法,因此這本書適用於程式開發人員與資料庫使用者。另外,這本書以MySQL做為範例操作的資料庫系統,由於MySQL自由免費,而且安裝與使用都很簡單,因此沒有理由學不會SQL語言!

注意到,書中使用MySQL 6.0版本,目前2011年只有MySQL Community Server 5.5版本。 從Wikipedia搜尋發現,MySQL使用新的發行模型(New Release Model),6.0.11是最後一版,詳細可以參閱MySQL開發週期

###

延伸閱讀
Database 資料庫

2011年11月11日 星期五

System Analysis and Design 系統分析與設計

前些日子研讀系統分析與設計(System Analysis and Design),有個問題讓我感到疑惑,為何系統分析與設計的書籍都是討論「資訊系統(Information System)」呢? 若是如此,那書名應該改成「資訊系統分析與設計」。因為我認為「系統」是一個很大範圍的主題,不應該只侷限於資訊系統的分析與設計。同樣介紹一本書,資訊如下所示,聽jasper312說這是「系統分析與設計」領域的聖經本,各大考試的題目與解答都從參考這本喔!

吳仁和、林信惠,系統分析與設計—理論與實務應用,台北:智勝文化,2010。

書籍只討論資訊系統的理由,我認為有二個原因。第一 ,討論資訊系統比較簡單容易,目前資訊系統的分析設計工具與方法很多,因此討論會比較具體且容易。第二,萬物皆是「資訊系統」, 自然界中不外乎存在三種:物質、能量與資訊,討論資訊系統也就等於包含所有的系統。雖說是如此,但系統分析與設計的書籍看到最後,好像就是一本「軟體工程(Software Engineering)」的書籍,變成都是講述軟體開發流程。關於這點,希望未來能有書籍從不同的角度去討論「系統分析與設計」。

「系統分析與設計—理論與實務應用」這本書從兩個主要技術方法討論系統的分析與設計:「結構化技術」與「物件導向技術」,各別使用5章與6章的篇幅說明。結構化技術是將資料與流程分開考慮,而物件導向技術則是將資料與流程封裝成物件處理。除了這兩種技術外,還有其他如元件導向、服務導向等新技術。

整本書的架構如下:
  • 第01章 資訊系統開發概論
  • 第02章 資訊系統開發模式
  • 第03章 需求分析
  • 第04章 結構化技術
  • 第05章 結構化分析與設計-流程塑模
  • 第06章 結構化企業流程塑模個案
  • 第07章 結構化分析與設計-資料塑模
  • 第08章 結構化企業資料塑模個案
  • 第09章 物件導向技術
  • 第10章 使用個案塑模
  • 第11章 物件互動行為塑模
  • 第12章 使用者介面塑模──結構與狀態
  • 第13章 物件資料結構塑模
  • 第14章 系統元件與結構塑模
  • 第15章 結論與展望
若想對系統分析與設計有所認識,我想這是一本入門的參考書,淺顯易懂。另外,建議搭配一本軟體工程的相關書籍一起閱讀,對於資訊系統開發將會有更深入的認識。

###

延伸閱讀
Unified Modeling Language 統一塑模語言

2011年11月8日 星期二

Golden Rules for Writing E-mails 英文書信寫作

介紹一本實用的英文書信寫作書籍,這是「LiveABC互動英語教學集團」出版發行的書本和互動光碟,書中包含35篇主題的書信,內容除了講述撰寫英文書信的格式外,也詳述200個左右的常見錯誤說明,推薦大家這本書非常實用。

吳嘉玲,E-mail寫作不出錯(Golden Rules for Writing E-mails)全新增修版,台北:希伯崙公司,2008。

以下記錄電子郵件與一般書信的書寫格式重點。

一封電子郵件(e-mail)通常有9個項目:
  1. From:寄件人
  2. To:收件人
  3. Cc:副本,是carbon copy的縮寫
    Bcc:密件副本,是blind carbon copy的縮寫
  4. Subject:信件主旨
  5. Attachment:附加檔
  6. Salutation:稱謂語
  7. Body:信文
  8. Closing Segment:結語
  9. Complimentary Close:結尾敬語
 一般書信(非電子郵件)包含9個項目,由信件上至下依序為:
  1. Letterhead:信頭
  2. Date:日期
  3. Addressee:收信人
    Address:收信人地址
  4. Salutation:稱謂語
  5. Subject:主旨
  6. Body:信文
  7. Closing Segment:結語
  8. Complimentary Close:結尾敬語
  9. Signature:簽名
 另外,商用書信的三大格式分別是:
  1.  Full-block Form齊頭式
  2. Semi-block Form半齊頭式
  3. Indented Form縮格式
###

2011年11月2日 星期三

Beginning Programming 學習程式設計

如何學習一個程式設計?這個問題學校教育似乎沒有好好告訴我們青年學子們。以我自己的經驗來看,學校的程式設計課程大部分都是講述程式語法的使用,我認為這是錯誤的方法,教育程式設計的正確方式是:傳授程式設計的核心概念。

以下分享自己在程式設計學習之路的心得,期望能幫助正在學習程式語言的青年學子們。

首先,我們必須知道程式語言(Programming Language)的意義為何?我認為程式語言是「幫助人類完成處理資料的目的」,重點在於「處理」與「資料」兩個部分。

開始學習之前,根據「工欲善其事,必先利其器」原則,必須先準備好開發工具,不過這又關係到程式語言的種類。個人認為選用自由軟體的開發工具作為學習較好,例如EclipseNetBeans,也可以使用微軟的Visual Studio的Express版本。重點不在於開發工具和語言種類,這些都只是工具,學習程式設計在於程式設計本身!

開發工具有了,第一步先了解「資料」這個部分,你必須先認識資料型態,常見的資料型態有:整數、浮點數、字元、字串等, 這些屬於基本資料型態。由這些基本資料型態組合成的資料型態有:陣列、結構、類別等,稱為複合資料型別。學習的核心概念在於認識與瞭解每種資料型態的特性,什麼時候適合採用哪種資料型態,更進階學習則屬於「資料結構(Data Structures)」的領域了。

第二步是了解「處理」這個部分,程式處理資料不外乎兩種模式:重複與判斷。重複(或稱反覆)在程式語言中是迴圈 ,人類利用迴圈自動化處理重複的工作,一般來說有:for迴圈、while迴圈、do-while迴圈、foreach-in迴圈等,用於處理相同的動作。判斷(或稱選擇)在資料處理中依據資料狀態做不同的動作,通常有:if-else判斷、switch-case判斷等。重複與判斷互相搭配使用,已經足夠幫助我們完成處理資料的目的,同樣的,學習的核心概念在於認識與瞭解每種重複與判斷的特性。更進階學習則屬於「演算法(Algorithm)」的領域了。

再來,更進階一些的就是函式(副程式)的觀念,程式寫多的會發現程式碼重複,因此,你可以利用函式將常用的功能包裝起來成為函式,減少後續修改維護的麻煩。更進階的學習則是使用程式庫(library)與開發程式庫。

資料型態、重複與判斷這三類程式語言的基礎知識,如果可以掌握好,我相信你已經有程式開發的基礎能力。至於其他像是物件導向(Object-Oriented, OO)這個部分,我認為這是屬於更進階的程式設計學習,是讓你成為真正的「程式設計師」。

物件導向其實是程式語言的一部分(對於物件導向的語言來說,目前流行的程式語言時之八九都是OO),很難抽離去獨立學習程式語言。因此我建議剛開始學習程式語言,重心放在資料型態、重複與判斷這三類程式語言的基礎知識,物件導向若不明白以後再學習,千萬不要因為不懂物件而受挫,學習程式設計真的是很有趣的一件事情!

###

延伸閱讀
Web Programming Language網頁程式語言

熱門文章