一、Sybase資料庫簡介
1.版本
1984年,Mark B. Hiffman和Robert Epstern建立了Sybase公司,並在1987年推出了Sybase資料庫產品。SYBASE主要有三種版本,一是UNIX作業系統下啟動並執行版本,二是Novell Netware環境下啟動並執行版本,三是Windows NT環境下啟動並執行版本。現在最新版本已經是 12.5,在各主流Unix作業系統中均有廣泛應用。IBM AIX,HP unix,Digital Unix,Sun solaris等等。
2.Sybase資料庫的特點
(1)它是基於客戶/伺服器體繫結構的資料庫
一般的關聯式資料庫都是基於主/從式的模型的。在主/從式的結構中,所有的應用都運行在一台機器上。使用者只是通過終端發命令或簡單地查看應用啟動並執行結果。 而在客戶/伺服器結構中,應用被分在了多台機器上運行。一台機器是另一個系統的客戶,或是另外一些機器的伺服器。這些機器通過區域網路或廣域網路聯結起來。客戶/伺服器模型的好處是:
● 它支援共用資源且在多台裝置間平衡負載
● 允許容納多個主機的環境,充分利用了企業已有的各種系統
(2)它是真正開放的資料庫
由於採用了客戶/伺服器結構,應用被分在了多台機器上運行。更進一步,運行在用戶端的應用不必是Sybase公司的產品。對於一般的關聯式資料庫,為了讓其它語言編寫的應用能夠訪問資料庫,提供了先行編譯。Sybase資料庫,不只是簡單地提供了先行編譯,而且公開了應用程式介面DB-LIB,鼓勵第三方編寫DB-LIB介面。由於開放的客戶DB-LIB允許在不同的平台使用完全相同的調用,因而使得訪問DB-LIB的應用程式很容易從一個平台向另一個平台移植。
(3)它是一種高效能的資料庫
Sybase真正迷人的地方還是它的高效能。體現在以下幾方面:
● 可程式化資料庫
通過提供預存程序,建立了一個可程式化資料庫。預存程序允許使用者編寫自己的資料庫子常式。這些子常式是經過先行編譯的,因此不必為每次調用都進行編譯、最佳化、產生查詢規劃,因而查詢速度要快得多。
● 事件驅動的觸發器
觸發器是一種特殊的預存程序。通過觸發器可以啟動另一個預存程序,從而確保資料庫的完整性。
● 多線索化
Sybase資料庫的體繫結構的另一個創新之處就是多線索化。一般的資料庫都依靠作業系統來管理與資料庫的串連。當有多個使用者串連時,系統的效能會大幅度下降。Sybase資料庫不讓作業系統來管理進程,把與資料庫的串連當作自己的一部分來管理。此外,Sybase的資料庫引擎還代替作業系統來管理一部分硬體資源,如連接埠、記憶體、硬碟,繞過了作業系統這一環節,提高了效能。
3.Sybase資料庫的組成
Sybase資料庫主要由三部分組成:
(1) 進行資料庫管理和維護的一個聯機的關聯式資料庫管理系統Sybase SQL Server;
Sybase SQL Server是個可程式化的資料庫管理系統,它是整個Sybase產品的核心軟體,起著資料管理、高速緩衝管理、交易管理的作用。
(2) 支援資料庫應用系統的建立與開發的一組前端工具Sybase SQL Toolset;
ISQL是與SQL Server進行互動的一種SQL句法分析器。ISQL接收使用者發出的SQL語言,將其發送給SQL Server,並將結果以形式化的方式顯示在使用者的標準輸出上。
DWB是資料工作台,是Sybase SQL Toolset的一個主要組成部分,它的作用在於使使用者能夠設定和管理SQL Server上的資料庫,並且為使用者提供一種對資料庫的資訊執行添加、更新和檢索等操作的簡便方法。在DWB中能完成ISQL的所有功能,且由於DWB是基於視窗和菜單的,因此操作比ISQL簡單,是一種方便實用的資料庫管理工具。
APT是Sybase客戶軟體部分的主要產品之一,也是從事實際應用開發的主要環境。APT工作台是用於建立應用程式的工具集,可以建立從非常簡單到非常複雜的應用程式,它主要用於開發基於表格(Form)的應用。其使用者介面採用視窗和菜單驅動方式,通過一系列的選擇完成表格(Form)、菜單和處理的開發。
(3) 可把異構環境下其它廠商的應用軟體和任何類型的資料連線在一起的介面Sybase Open Client/Open Server。
通過Open Client的DB-LIB庫,應用程式可以訪問SQL Server。而通過Open Server的SERVER-LIB,應用程式可以訪問其它的資料庫管理系統。
二、SYBASE有關概念
Sybase SQL Server是一個多庫資料庫系統。這些資料庫包括系統資料庫和使用者資料庫。 而不論是系統資料庫還是使用者資料庫,都建立在資料庫裝置上。
1.資料庫裝置
所有的資料庫都建立在資料庫裝置上。所謂資料庫裝置,不是指一個可識別的物理裝置,而是指用於儲存資料庫和資料庫物件的磁碟原始分區或作業系統檔案。增加一個新的資料庫裝置時,必須對這些裝置“初始化”。初始化的過程就是將物理磁碟、磁碟分割或作業系統檔案變為SYBASE資料庫可以識別的裝置。初始化資料庫裝置使用DISK INIT命令:
DISK INIT
NAME=裝置名稱,
PHYSNAME=物理裝置名稱,
VDEVNO=虛擬設備號,
SIZE=塊數
其中,NAME指資料庫裝置名稱,此名將用於CREATE DATABASE和ALTER DATABASE命令。PHYSNAME是原始磁碟分割或作業系統檔案名稱。VDEVNO是資料庫裝置的標識號,在SQL Server中,它必須是唯一的。SIZE的單位是2K的塊,對於新建立的資料庫,最小的SIZE是model資料庫的尺寸,即1024個2K的塊(2M)。
例如:/*將/dev目錄下400M的物理裝置初始化為SYBASE的資料庫裝置tele114_log01*/
1>disk init
2>name=“tele114_log01”,
3>physname=“/dev/rtelelog”
4>vdevno=4
5>size=204800 /*2Kbyte*204800=400Mbyte*/
6>go
2、段
資料庫裝置從邏輯上被劃分為資料庫段以允許將某一特定的對象放置在指定的段上(建立對象時指定),一資料庫裝置可擁有多達192個段,一段可使用255個邏輯裝置上的儲存空間。當使用者建立一個資料庫時,SQL SERVER 會自動在該資料庫中建立三個段: SYSTEM、LOGSEGMENT 、DEFAULT,這三個段分別用來儲存資料庫的系統資料表、交易記錄和其他資料庫物件 。
在資料庫中建立段的步驟是:
x 先用Disk init 初始化物理裝置
x 通過使用Create database 和alter database 的on 子句,使資料庫裝置對資料庫可用,於是新裝置自動增加到資料庫的default 和system段。
一旦資料庫裝置存在並對資料庫可用,使用預存程序Sp_addsegment 定義資料庫的段。文法如下:
Sp_addsegment 段名,資料庫名,裝置名稱
3、系統資料庫
安裝Sybase資料庫時自動產生的下列系統資料庫:
● 主要資料庫master;
● 模型資料庫model;
● 系統過程資料庫sybsystemprocs;
● 臨時資料庫tempdb。
也可選擇下列資料庫:
● 安全性稽核資料庫sybsecurity;
● 樣本資料庫pubs2;
● 命令文法資料庫sybsyntax。