Sybase入門

 一Sybase數據庫簡介 
1.版本 
1984年,Mark B. Hiffman和Robert Epstern創建了Sybase公司,並在1987年推出了Sybase數據庫產品SYBASE主要有三種版本,一是UNIX操作系統下運行的版本,二是Novell Netware環境下運行的版本,三是Windows NT環境下運行的版本對UNIX操作系統目前廣泛應用的爲SYBASE 10 及SYABSE 11 for SCO UNIX 
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 會自動在該數據庫中創建三個段: SYSTEMLOGSEGMENT 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 

(1) master數據庫 
包含許多系統表和系統過程,從總體上控制用戶數據庫和SQL Server的操作,構成了SYBASE系統的數據字典MASTER數據庫主要記錄信息爲: 
 登錄帳號(SQL服務器用戶名);syslogins,sysremolelogins 
 正在執行的過程;sysprocesses 
 可修改的環境變量;sysconfigures 
 系統錯誤信息;sysmessages 
 SQL服務器上每個數據庫的信息;sysdatabases 
 每個數據庫佔用的存儲空間;sysusages 
 系統上安裝的磁帶及磁帶信息;sysdevices 
 活動鎖信息;syslocks 

(2) model數據庫 
提供了新用戶數據庫的初型當我們每次用CREATE DATABASE命令 時,SQL Server都產生一個model數據庫的拷貝,然後把它擴展到命令要求的尺寸如果我們修改了model數據庫,那麼以後新創建的數據庫都將隨它而改變下面是幾個通常用到的對model數據庫的改變: 
 增加用戶數據庫類型規則或缺省; 
 可存取SQL Server上所有數據庫的用戶用sp_adduser增加到model數據庫上; 
 缺省權限(特別是guest帳號)可在model中建立; 
 諸如select into/bulkcopy那樣的數據庫選項可在model中設置這些設置反映到所有新創建的數據庫中它們在model中最原始的值是關(off) 
在一般情況下,大多數用戶無權修改model數據庫,又沒被授權讀取因爲model中所有內容已拷貝到新數據庫中,授權讀model沒什麼意義 
1>; use model 
2>; go 
3>; sp_help 
4>; go 
Name Owner Object_type 
--------------- --------------- ---------------------- 
sysalternates dbo system table 
syscolumns dbo system table 
syscomments dbo system table 
sysconstraints dbo system table 
sysdepends dbo system table 
sysgams dbo system table 
sysindexes dbo system table 
syskeys dbo system table 
syslogs dbo system table 
sysobjects dbo system table 
sysprocedures dbo system table 
sysprotects dbo system table 
sysreferences dbo system table 
sysroles dbo system table 
syssegments dbo system table 
systhresholds dbo system table 
systypes dbo system table 
sysusermessages dbo system table 
sysusers dbo system table 

(3) sybsystemprocs數據庫 
庫中存儲系統過程,當用戶執行一存儲過程(以sp_開始)時,SQL 服務器首先在用戶當前數據庫中搜索指定的存儲過程,如果沒有相應過程,則到系統過程數據庫中尋找,若沒有,再到MASTER數據庫中尋找 

(4)臨時數據庫tempdb 
該數據庫爲臨時表和臨時工作提供了一個存儲區域臨時數據庫是SQL Server上所有數據庫共享的工作空間由於這些表都是臨時的,所以每當用戶退出或系統失敗,這些表都將消失 

(5)安全審覈數據庫sybsecurity 
數據庫中保存系統的安全審覈信息,它可跟蹤記錄每個用戶的操作情況,爲維護系統安全提供控制手段 

(6)示例數據庫pubs2 
爲用戶提供一個學習SYBASE的數據庫模型 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章