編程方向

 一、前言
  很多人認爲,數據庫編程是一個頗具誘惑力的工作,這誘惑力來自於數據庫應用的巨大市場需求。計算機應用有科學計算、數據處理與過程控制三大主要領域,而數據處理是其中所佔比重最大的一個領域,包括現在最流行的客戶機/服務器模式(C/S)、Internet模式(B/S)應用從廣義上講都可以歸入此應用領域。正是因爲市場需求巨大,數據庫編程前景被人看好,有意步入編程殿堂的你,對此是否有些心動呢?

  二、數據庫應用及編程原理
  1.數據庫應用的發展
  數據庫系統是在文件系統的基礎之上發展而來的,經歷了層次數據庫——網狀數據庫——關係數據庫三個階段。由於關係型數據庫採用人們比較容易理解和接受的二維表格來組織數據,發展迅速,已成爲數據庫產品的主流。我們這裏介紹的數據庫知識都是指的關係數據庫。
  2.基本概念
  數據庫(DataBase,簡稱DB) 是按一定組織方式存儲在計算機存儲器中、相互關聯的數據集合,數據庫的建立獨立於程序。所謂關係數據庫 就是將數據表示爲表的集合,通過建立簡單表之間的關係來定義結構的一種數據庫。
  數據庫管理系統(DBMS)是一個管理數據庫的軟件系統,爲用戶提供了描述數據庫、操縱數據庫和維護數據庫的方法和命令,並且能自動控制數據庫的安全以及數據完整。現在的Oracle、Sybase、Microsoft SQL Server等數據庫都是數據庫管理系統。
  數據庫系統(DBS)是一個具有管理數據庫功能的計算機系統,它包括應用軟件、數據庫(DB)、數據庫管理系統(DBMS)和數據庫管理人員(DBA)幾部分。我們今天講的數據庫編程一般就是指開發數據庫系統,即通過編制數據庫應用程序來操縱數據庫,實現數據有效的管理。
  我們以一幅結構圖來直觀地瞭解數據庫編程的架構如下:



  當然,數據庫管理人員一般是針對大型的數據庫應用而言的,小型數據庫應用沒有專門的數據庫管理人員。可能有些讀者會誤以爲數據庫編程就是編寫數據庫應用程序,其實還應包括數據庫的設計,如編制一個工資管理系統,如何將人員信息、工資信息合理組織,設計數據結構,也是數據庫編程應該考慮的工作。而DBMS是數據庫自己的功能,不用我們考慮,我們只要與其接口打交道就行了(如當代開發工具一般都提供ODBC用於連接數據庫)。不管表在數據庫文件中的物理存儲方式如何,它都可以看作一組行和列,與電子表格Excel的行和列類似。在關係數據庫中,行被稱爲記錄,而列則被稱爲字段。下面是一個員工工資表的例子。

員工號    姓名    年齡    職稱     工作時間    基本工資
1    喬鋒    32    高級工程師     1990/07/01    1000.00
7    張無忌    25    工程師     1997/08/01    800.00

  我們可以看到,此表中每一行描述了公司一個特定員工的信息,稱爲一個記錄;而每個記錄則包含了相同類型和數量的字段。由此表我們引出如下定義:
  表 是一種按行與列排列的相關信息的邏輯組,如上面的公司員工表。
  字段 數據庫表中的每一列稱作一個字段。表結構是由其包含的各種字段定義的,每個字段描述了它的一個屬性值。字段可包含各種字符、數字甚至圖形(如保存員工的照片)。
  記錄 存放在表的行,被稱爲記錄。同一個數據表中任意兩個記錄都不能完全相同。
  鍵 鍵就是表中的某個(或多個)字段,鍵可以是唯一的,也可以是非唯一的。唯一鍵可以指定爲主鍵,用來唯一標識表的每行。例如,在員工表中,員工號是表的主鍵,因爲它唯一地標識了一個員工(這裏我們不能用姓名做主鍵,因爲姓名不能唯一標識一個員工,可能會有重名的情況)。
  關係 關係就是表與有之間的聯繫。數據庫可以由多個表組成,表與表之間可以以不同的方式相互關聯。例如,員工數據庫還可以有一個包含某個員工其他信息的表,這些表通過員工號與員工表相關連。

  三、SQL語言
  說到數據庫編程,就不能不提SQL語言。SQL語言的英文全稱是Structured Query Language,意爲結構化查詢語言。SQL語言的主要功能就是同各種數據庫建立聯繫,進行溝通,用來執行各種各樣的操作,例如更新數據庫中的數據、從數據庫中提取數據等。SQL已被ANSI(美國國家標準協會)和國際標準化組織(ISO)定爲關係型數據庫管理系統的標準語言。目前,絕大多數流行的關係型數據庫管理系統,如Oracle、Sybase、Microsoft SQL Server、DB2等都遵循SQL語言標準。
  工欲善其事,必先利其器,接下來的工作就是選擇一個比較好的數據庫開發工具了。

  四、幾種數據庫開發工具的比較
  目前包括一些專有數據庫廠商都提供了數據庫編程工具,如Oracle的Developer 2000、Sybase的Power++等,但比較流行的還是Delphi、VB、PowerBuilder等語言,這幾個開發工具各有所長、各具優勢。如VB採用的是BASIC語言,簡單易學,與微軟產品有很強的結合力;Delphi有出色的組件技術、編譯速度快,採用面向對象的Pascal語言有極高的編譯效率與直觀易讀的語法;PowerBuilder擁有作爲SYBASE公司專利的強大的數據窗口技術、提供與大型數據庫的專用接口。VFP在中國也有大量的用戶基礎,但微軟宣佈從VFP6後不再推出新的版本,不少以前的FOX程序員已轉向其他開發工具。對於初學者,可以根據自己的需要加以選擇。我這裏向大家介紹數據庫開發利器PowerBuilder,它是數據庫編程“短平快”的好手。

  五、PowerBuilder數據庫編程簡介
  PowerBuilder(以下簡稱PB)是Sybase公司的獨資子公司PowerSoft推出的應用於客戶機/服務器體系結構下應用程序開發的一種面向對象的圖形化交互式開發工具。PB以其簡潔高效的集成開發環境、 強大的數據窗口技術、幾乎無所不能的數據庫訪問能力和友好的用戶界面,越來越受到編程人員的青睞。PB6.5是目前應用最多的版本,PB7推出了很久,但好像一直不夠穩定,PB8也在開發之中,是一款值得我們期待的產品,我們這裏以PB6.5爲例作簡介。
  PB數據庫應用程序一般包括用戶程序、數據庫引擎和數據庫三個部分。數據庫引擎是PB提供的與各類數據庫的接口,有了數據庫引擎,我們可以不去了解訪問數據庫的技術細節,而把精力放在數據庫的設計和用戶程序的編寫上。
  PB開發環境由一系列集成的畫筆(Painter)組成。所謂畫筆實際上就是完成一定功能的工具,比如窗口畫筆用於定義窗口對象、數據窗口畫筆定義數據窗口對象、庫畫筆完成應用庫的增刪改等,應用開發人員通過簡單的鼠標操作就能設計、建立、測試客戶/服務器應用程序。
  PB把一個解決實際問題的應用程序叫做Application,即應用對象。應用對象是進入到應用庫中其它對象的入口點,通過在Application級編寫代碼,可以展開一個程序框架。PB應用對象保存在PBL文件中。
  如果我們要開發一個管理系統,除了編寫代碼外,還需要選好數據庫。PB自帶的Sybase SQL Anywhere 5.0是一個小型關係數據庫,體積雖小但功能強大,支持多平臺,幾乎擁有其它大型關係型數據庫的所有功能,建議初學時就只使用它。
  如在一個窗體中放入了一個數據窗口控件並讓它關聯上一個數據窗口對象,如果我們想在窗口打開時讓數據窗口控件顯示數據,可以在該數據窗口控件的constructor(構造)事件中加入如下代碼:
  this.SetTransObject(sqlca)
  this.Retrieve()
  用PB編寫一個簡單的數據庫應用程序實現輸入、修改、刪除紀錄非常簡單,甚至可以不用一條SQL命令。這要歸功於數據窗口的強大功能,但SQL語言對於PB數據庫編程還是必需的,很多情況下我們仍要藉助它。所以要想作爲專業的數據庫開發人員,仍然需要掌握SQL。
  六、資源放送
  1.好書推薦:
  (1)書名:《PowerBuilder7編程基礎》
  出版:清華大學出版社
  作者:李國民 張磊
  簡介:一本入門的好書,PB數據庫編程基本概念、SQL、PowerScript、窗口、數據窗口等介紹很詳細。
  (2)書名:《PowerBuilder6.0應用與開發》
  出版:清華大學出版社
  作者:吳潔明
  簡介:一本相當不錯的PB工具書(可惜我沒找到PB7版的,5、6版都有),系統地介紹了PB6的應用與開發技巧,對數據庫的操作、窗口對象中各控件的使用方法、數據窗口的應用、用戶對象和用戶事件以及OLE的技術和應用。書中對於PB的精華——數據窗口作了比較詳細的介紹,報表、統計圖的講述也很詳盡。有一章專門介紹了PB開發Internet應用和分佈式應用的原理和方法。
  2.網上資源
  Sybase 中國:http://www.sybase.com.cn Sybase中國官方站點,下載、PB編程討論。
  PB編程俱樂部:http://kjx.126.com,PB、數據庫編程技巧、討論、例程下載。
  PowerBuilder編程高手:http://liuzhengguo.163.net 天極網學習中心PB子站。
  PowerBuilder程序員資源站 http://www.pbdr.com 國外一家非常好的PB資源站點。
  Powerbuilder程序員之家 http://member.netease.com/~chenjm 國內比較早的一個優秀PB個人主頁,內容豐富。

 

發佈了24 篇原創文章 · 獲贊 1 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章