WIKI使用導(dǎo)航
站長百科導(dǎo)航
站長專題
- 網(wǎng)站推廣
- 網(wǎng)站程序
- 網(wǎng)站賺錢
- 虛擬主機
- cPanel
- 網(wǎng)址導(dǎo)航專題
- 云計算
- 微博營銷
- 虛擬主機管理系統(tǒng)
- 開放平臺
- WIKI程序與應(yīng)用
- 美國十大主機
Sybase

Sybase 公司在1984年由Mark B. Hiffman和Robert Epstern創(chuàng)建,并在1987年推出了Sybase數(shù)據(jù)庫產(chǎn)品。SYBASE主要有三種版本,一是UNIX操作系統(tǒng)下運行的版本,二是Novell Netware環(huán)境下運行的版本,三是Windows NT環(huán)境下運行的版本。對UNIX操作系統(tǒng)目前廣泛應(yīng)用的為SYBASE 10 及SYABSE 11 for SCO UNIX。Sybase提供了一套應(yīng)用程序編程接口和庫,可以與非Sybase數(shù)據(jù)源及服務(wù)器集成,允許在多個數(shù)據(jù)庫之間復(fù)制數(shù)據(jù),適于創(chuàng)建多層應(yīng)用。系統(tǒng)具有完備的觸發(fā)器、存儲過程、規(guī)則以及完整性定義,支持優(yōu)化查詢,具有較好的數(shù)據(jù)安全性。Sybase通常與SybaseSQLAnywhere用于客戶機/服務(wù)器環(huán)境,前者作為服務(wù)器數(shù)據(jù)庫,后者為客戶機數(shù)據(jù)庫,采用該公司研制的PowerBuilder為開發(fā)工具,在我國大中型系統(tǒng)中具有廣泛的應(yīng)用。
Sybase數(shù)據(jù)庫的特點[ ]
- 它是基于客戶/服務(wù)器體系結(jié)構(gòu)的數(shù)據(jù)庫
- 一般的關(guān)系數(shù)據(jù)庫都是基于主/從式的模型的。在主/從式的結(jié)構(gòu)中,所有的應(yīng)用都運行在一臺機器上。用戶只是通過終端發(fā)命令或簡單地查看應(yīng)用運行的結(jié)果。而在客戶/服務(wù)器結(jié)構(gòu)中,應(yīng)用被分在了多臺機器上運行。一臺機器是另一個系統(tǒng)的客戶,或是另外一些機器的服務(wù)器。這些機器通過局域網(wǎng)或廣域網(wǎng)聯(lián)接起來。
- 客戶/服務(wù)器模型的好處是:
- 它支持共享資源且在多臺設(shè)備間平衡負載
- 允許容納多個主機的環(huán)境,充分利用了企業(yè)已有的各種系統(tǒng)
- 注釋:什么是客戶/服務(wù)器體系結(jié)構(gòu)?
- 從硬件角度看,客戶/服務(wù)器體系結(jié)構(gòu)是指將某項任務(wù)在兩臺或多臺機器之間進行分配,其中客戶機(Client)用來運行提供用戶接口和前端處理的應(yīng)用程序,服務(wù)器機(Server)提供客戶機使用的各種資源和服務(wù)。
- 從軟件角度看,客戶/服務(wù)器體系結(jié)構(gòu)是把某項應(yīng)用或軟件系統(tǒng)按邏輯功能劃分為客戶軟件部分和服務(wù)器軟件部分。
- 客戶軟件部分一般負責(zé)數(shù)據(jù)的表示和應(yīng)用,處理用戶界面,用以接收用戶的數(shù)據(jù)處理請求并將之轉(zhuǎn)換為對服務(wù)器的請求,要求服務(wù)器為其提供數(shù)據(jù)的存儲和檢索服務(wù);服務(wù)器端軟件負責(zé)接收客戶端軟件發(fā)來的請求并提供相應(yīng)服務(wù)客戶/服務(wù)器融合了大型機的強大功能和中央控制以及PC機的低成本和較好的處理平衡。
- 客戶/服務(wù)器為任務(wù)的集中/局部分布提供了一種新的方法,這種體系能夠使用戶對數(shù)據(jù)完整性、管理和安全性進行集中控制。在緩解網(wǎng)絡(luò)交通和主機負荷以及滿足用戶需要方面,客戶/服務(wù)器體系提供了良好的解決方案。
- 總之,客戶/服務(wù)器的工作模式是:客戶與服務(wù)器之間采用網(wǎng)絡(luò)協(xié)議(如TCP/IP、IPX/SPX)進行連接和通訊,由客戶端向服務(wù)器發(fā)出請求,服務(wù)器端響應(yīng)請求,并進行相應(yīng)服務(wù)。
- 它是真正開放的數(shù)據(jù)庫
由于采用了客戶/服務(wù)器結(jié)構(gòu),應(yīng)用被分在了多臺機器上運行。更進一步,運行在客戶端的應(yīng)用不必是Sybase公司的產(chǎn)品。對于一般的關(guān)系數(shù)據(jù)庫,為了讓其它語言編寫的應(yīng)用能夠訪問數(shù)據(jù)庫,提供了預(yù)編譯。Sybase數(shù)據(jù)庫,不只是簡單地提供了預(yù)編譯,而且公開了應(yīng)用程序接口DB-LIB,鼓勵第三方編寫DB-LIB接口。由于開放的客戶DB-LIB允許在不同的平臺使用完全相同的調(diào)用,因而使得訪問DB-LIB的應(yīng)用程序很容易從一個平臺向另一個平臺移植。
- 它是一種高性能的數(shù)據(jù)庫
Sybase真正吸引人的地方還是它的高性能。體現(xiàn)在以下幾方面:
1)可編程數(shù)據(jù)庫
通過提供存儲過程,創(chuàng)建了一個可編程數(shù)據(jù)庫。存儲過程允許用戶編寫自己的數(shù)據(jù)庫子例程。這些子例程是經(jīng)過預(yù)編譯的,因此不必為每次調(diào)用都進行編譯、優(yōu)化、生成查詢規(guī)劃,因而查詢速度要快得多。
2)事件驅(qū)動的觸發(fā)器
觸發(fā)器是一種特殊的存儲過程。通過觸發(fā)器可以啟動另一個存儲過程,從而確保數(shù)據(jù)庫的完整性。
3)多線索化
Sybase數(shù)據(jù)庫的體系結(jié)構(gòu)的另一個創(chuàng)新之處就是多線索化。一般的數(shù)據(jù)庫都依靠操作系統(tǒng)來管理與數(shù)據(jù)庫的連接。當有多個用戶連接時,系統(tǒng)的性能會大幅度下降。
Sybase數(shù)據(jù)庫不讓操作系統(tǒng)來管理進程,把與數(shù)據(jù)庫的連接當作自己的一部分來管理。此外,Sybase的數(shù)據(jù)庫引擎還代替操作系統(tǒng)來管理一部分硬件資源,如端口、內(nèi)存、硬盤,繞過了操作系統(tǒng)這一環(huán)節(jié),提高了性能。
訪問Sybase服務(wù)器的基本過程[ ]
1、建立客戶與服務(wù)器之間的連接,包括網(wǎng)絡(luò)連接、客戶進程與服務(wù)器進程之間的連接;
2、客戶端通過網(wǎng)絡(luò)發(fā)送SQL語句給服務(wù)器,用來查詢或操作服務(wù)器中的數(shù)據(jù)或數(shù)據(jù)庫對象;
3、服務(wù)器接收到SQL語句后,對其進行語法分析、優(yōu)化和編譯后執(zhí)行;
4、如果執(zhí)行的語句產(chǎn)生一個結(jié)果集,服務(wù)器通過網(wǎng)絡(luò)把結(jié)果集返回給客戶;
5、客戶端對收到的結(jié)果作相應(yīng)的處理。
- 在客戶/服務(wù)器體系,有兩種數(shù)據(jù)庫引擎結(jié)構(gòu),即多進程數(shù)據(jù)庫引擎和單進程、多線程引擎結(jié)構(gòu)。多進程結(jié)構(gòu)即多個可執(zhí)行程序同時運行。
- 每當用戶登錄到數(shù)據(jù)庫系統(tǒng)時實際上都啟動了數(shù)據(jù)庫引擎的一個獨立實例。
- 存在起協(xié)調(diào)作用的進程協(xié)調(diào)進行之間的通訊以保證當多用戶訪問相同數(shù)據(jù)時數(shù)據(jù)的完整性。
- 多進程數(shù)據(jù)庫引擎一般用在大型機數(shù)據(jù)庫上。單進程多線程數(shù)據(jù)庫引擎在原理上和多進程數(shù)據(jù)庫引擎類似,不同的是多線程數(shù)據(jù)庫引擎自己負責(zé)調(diào)度各應(yīng)用程序占用CPU的時間,而不依賴于操作系統(tǒng)。這樣,多線程數(shù)據(jù)庫引擎自我保護的能力更強。
- Sybase數(shù)據(jù)庫管理系統(tǒng)采用的是單進程多線程的引擎結(jié)構(gòu)。
Sybase軟件的組成[ ]
Sybase軟件可劃分為三個部分:
- 1)進行數(shù)據(jù)管理與維護的聯(lián)機關(guān)系數(shù)據(jù)庫管理系統(tǒng)Sybase SQL Server;
- 2)支持數(shù)據(jù)庫應(yīng)用系統(tǒng)的建立和開發(fā)的一組前端工具軟件Sybase SQL Tools;
- 3) 把異構(gòu)環(huán)境下其他廠商的應(yīng)用軟件和任何類型的數(shù)據(jù)連接在一起的接口軟件Open Client/Open Server。
- SQL Server是個可編程的數(shù)據(jù)庫管理系統(tǒng)(DBMS),它是整個Sybase產(chǎn)品的核心軟件,起著數(shù)據(jù)管理、高速緩沖區(qū)管理、事務(wù)管理的作用。
- ISQL是與SQL Server進行交互的一種SQL句法分析器。ISQL接收用戶發(fā)出的SQL語言,將其發(fā)送給SQL Server,并將結(jié)果以形式化的方式顯示在用戶的標準輸出上。
- lset的一個主要組成部分,它的作用在于使用戶能夠設(shè)置和管理SQL Server上的數(shù)據(jù)庫,并且為用戶提供一種對數(shù)據(jù)庫的信息執(zhí)行添加、更新和檢索等操作的簡便方法。
- 在DWB中能完成ISQL的所有功能,且由于DWB是基于窗口和菜單的,因此操作比ISQL簡單,是一種方便實用的數(shù)據(jù)庫管理工具。
- APT是Sybase客戶軟件部分的主要產(chǎn)品之一,也是從事實際應(yīng)用開發(fā)的主要環(huán)境。APT工作臺是用于建立應(yīng)用程序的工具集,可以創(chuàng)建從非常簡單到非常復(fù)雜的應(yīng)用程序,它主要用于開發(fā)基于表格(form)的應(yīng)用。
- 其用戶界面采用窗口和菜單驅(qū)動方式,通過一系列的選擇完成表格(form)、菜單和處理的開發(fā)。
- 通過Open Client的DB-LIB庫,應(yīng)用程序可以訪問SQL Server。而通過Open Server的SERVER-LIB,應(yīng)用程序可以訪問其它的數(shù)據(jù)庫管理系統(tǒng)。
Sybase基礎(chǔ)知識[ ]
Sybase安裝[ ]
安裝建立SQL Server以后,要建立放置數(shù)據(jù)庫、日志和索引的邏輯磁盤設(shè)備。數(shù)據(jù)庫、日志和索引的配置應(yīng)注意以下原則:
- 1)不要把任何用戶對象安裝在master數(shù)據(jù)庫中。
- 2)日志應(yīng)該保存在與數(shù)據(jù)庫分離的磁盤上。
- 3)可以通過跨越多個設(shè)備分配工作優(yōu)化I/O性能。
Sybase 的初始配置[ ]
需要做的內(nèi)容:
1)更改sa的登錄口令;
2)命名服務(wù)器;
3)修改文件名(保證Sybase Central正常啟動);
4)更改缺省設(shè)備;
5)增加tempdb的空間。
6)創(chuàng)建用戶數(shù)據(jù)庫(創(chuàng)建數(shù)據(jù)庫設(shè)備,設(shè)備大小以頁(2K)為單位)
系統(tǒng)管理的主要內(nèi)容[ ]
1)物理資源的管理
2)用戶及其權(quán)限管理
3)數(shù)據(jù)庫的備份與恢復(fù)
4)SQL Server的配置參數(shù)
- 服務(wù)器配置是系統(tǒng)管理員的職責(zé),正確的配置對系統(tǒng)性能有重大的影響。
- 有兩個系統(tǒng)表存儲配置信息:sysconfigures和syscurconfigs;sysconfigures是永久性的,一旦系統(tǒng)運行,sysconfigures的信息就拷貝到syscurconfigs中。顯示配置和改變配置使用系統(tǒng)過程sp_configure。
- 有兩種配置值:動態(tài)的和靜態(tài)的,動態(tài)值一旦改變立即生效,靜態(tài)值要在系統(tǒng)重啟動后才起作用。
SYBASE SQL SERVER的角色[ ]
一般在管理分工較細的數(shù)據(jù)庫系統(tǒng)中,sa用戶往往被分為三種角色:系統(tǒng)管理員角色(SA role)、系統(tǒng)安全員角色(SSO role)和操作員角色(OPER role)。
sa用戶往往被鎖住,其權(quán)力被以上三種角色所瓜分。這三種角色將分別用不同的數(shù)據(jù)庫注冊用戶承擔。
角色是權(quán)限的集合。系統(tǒng)預(yù)定義角色: 一個真正的數(shù)據(jù)庫管理員應(yīng)該是整個服務(wù)器及其數(shù)據(jù)庫的擁有者,具有管理服務(wù)器及其數(shù)據(jù)庫的所有權(quán)限。在一個大的系統(tǒng)中,數(shù)據(jù)庫管理員往往不只由一人承擔,而是將管理任務(wù)進行功能劃分,每人提當不同的責(zé)任。系統(tǒng)預(yù)定義角色就是為適應(yīng)這種要求而設(shè)計的。
1)系統(tǒng)管理員(sa_role)
sa_role角色擁有執(zhí)行與數(shù)據(jù)庫具體應(yīng)用無關(guān)的管理權(quán)限:
a.安裝與更新SQL Server b.管理服務(wù)器的物理存儲 c.配置系統(tǒng)設(shè)置參數(shù); d.創(chuàng)建用戶數(shù)據(jù)庫; e.授予SQL Server用戶權(quán)限 ┅┅
2)系統(tǒng)安全管理員(sso_role)
a.sso_role用來實施安全上敏感的操作,執(zhí)行有關(guān)安全性的任務(wù): b.建立服務(wù)器登錄帳戶; c.管理口令; d.授予除sa_role之外的任何角色; e.管理審計系統(tǒng); ┅┅
3)操作員(oper_role)
a.oper_role執(zhí)行全服務(wù)器范圍的數(shù)據(jù)庫操作,如備份與恢復(fù)任意數(shù)據(jù)庫等: b.轉(zhuǎn)儲數(shù)據(jù)庫與日志 c.轉(zhuǎn)載數(shù)據(jù)庫與日志 ┅┅
數(shù)據(jù)庫的備份與恢復(fù)[ ]
- 若硬件介質(zhì)出現(xiàn)故障(如磁盤損壞),當且僅當事先已對數(shù)據(jù)庫及其事務(wù)日志作了備份,才能恢復(fù)數(shù)據(jù)庫。
- 注意:絕對不要使用操作系統(tǒng)的拷貝數(shù)據(jù)庫設(shè)備,把這樣一個拷貝裝入SQL Server將導(dǎo)致大量數(shù)據(jù)庫受損。
- 備份的類型:
1)完全備份
2)增量備份——備份事務(wù)處理日志
說明: a.只有把事務(wù)日志放在單獨的設(shè)備上,才能進行增量備份; b.備份事務(wù)日志會截斷日志,因此備份的內(nèi)容是自上次備份以來的事務(wù)處理。 c.備份之前要啟動備份服務(wù)器,并最好創(chuàng)建轉(zhuǎn)儲設(shè)備。
- 備注:truncate_only與no_log選項用于刪除事務(wù)處理而不作拷貝。Truncate_only截斷日志;在事務(wù)處理日志完全滿時用no_log,它不為數(shù)據(jù)庫建立檢查點。兩個選項都會丟掉日志。當使用了這兩個參數(shù)后,應(yīng)及時備份整個數(shù)據(jù)庫。no_truncate拷貝日志但不截斷日志,在出現(xiàn)介質(zhì)錯誤時使用該選項。
- 使用load database加載備份到現(xiàn)有數(shù)據(jù)庫,數(shù)據(jù)庫可以是用于創(chuàng)建轉(zhuǎn)儲的數(shù)據(jù)庫,也可以不是。
- 由于事務(wù)日志在恢復(fù)數(shù)據(jù)庫中的特殊作用,應(yīng)定期備份數(shù)據(jù)庫及其事務(wù)日志,而且事務(wù)日志的備份要更頻繁一些。如:數(shù)據(jù)庫每周備份一次,事務(wù)日志每天備份一次。
- SQL Server提供了兩種不同類型的恢復(fù):一類是系統(tǒng)自動完成的恢復(fù);另一類是人工完成的恢復(fù)。
1)系統(tǒng)自動恢復(fù)
系統(tǒng)自動恢復(fù)是在系統(tǒng)軟件出現(xiàn)故障的情況下通過重新啟動SQL Server進行恢復(fù)。
自動恢復(fù)從master數(shù)據(jù)庫開始,然后是model數(shù)據(jù)庫,再是temporary數(shù)據(jù)庫,最后是用戶數(shù)據(jù)庫。在每個數(shù)據(jù)庫上,恢復(fù)機制觀察事務(wù)日志。如果日志寫入比數(shù)據(jù)庫更近的數(shù)據(jù),則向前恢復(fù)數(shù)據(jù)庫。如果事務(wù)尚未完成,則要回退它們。
2)介質(zhì)故障的恢復(fù)
一旦介質(zhì)發(fā)生故障,只有通過以前備份的數(shù)據(jù)庫和事務(wù)日志才能恢復(fù)數(shù)據(jù)庫,為此我們需要經(jīng)常備份數(shù)據(jù)庫和事務(wù)日志。備份數(shù)據(jù)庫和事務(wù)日志我們使用dump命令,而恢復(fù)數(shù)據(jù)庫和事務(wù)日志我們使用load命令。
與創(chuàng)建數(shù)據(jù)庫需要一個數(shù)據(jù)庫設(shè)備類似,我們備份數(shù)據(jù)庫和事務(wù)日志也需要一個卸出設(shè)備。增加卸出設(shè)備可以通過系統(tǒng)過程sp_addumpdevice來實現(xiàn)。卸出設(shè)備可以是磁盤、磁帶或操作系統(tǒng)文件。
在備份數(shù)據(jù)庫前的所有事務(wù)日志備份都是沒有意義的。我們一般不經(jīng)常備份數(shù)據(jù)庫,但我們要經(jīng)常備份事務(wù)日志。這是因為備份事務(wù)日志比備份數(shù)據(jù)庫需要更少的時間和存儲空間。
3)恢復(fù)用戶數(shù)據(jù)庫
要恢復(fù)已被破壞的數(shù)據(jù)庫,可以按如下步驟進行:
a.用帶no_truncate選項的dump命令卸出用戶數(shù)據(jù)庫事務(wù)日志。 b.用和被破壞的數(shù)據(jù)庫的同樣的結(jié)構(gòu)建立一個新的數(shù)據(jù)庫。 c.用load命令重新裝入數(shù)據(jù)庫和事務(wù)日志。
sybase數(shù)據(jù)庫與T-SQL語言[ ]
- 關(guān)系數(shù)據(jù)庫以關(guān)系模型為基礎(chǔ),它由以下三部分組成:
- 數(shù)據(jù)結(jié)構(gòu)——模型所操作的對象、類型的集合
- 完整性規(guī)則——保證數(shù)據(jù)有效、正確的約束條件
- 數(shù)據(jù)操作——對模型對象所允許執(zhí)行的操作方式
- 關(guān)系(Relation)是一個由行和列組成的二維表格,表中的每一行是一條記錄(Record),每一列是記錄的一個字段(Field)。表中的每一條記錄必須是互斥的,字段的值必須具有原子性。
- SQL語言概述:SQL(結(jié)構(gòu)化查詢語言)是關(guān)系數(shù)據(jù)庫語言的一種國際標準,它是一種非過程化的語言。通過編寫SQL,我們可以實現(xiàn)對關(guān)系數(shù)據(jù)庫的全部操作。
- 數(shù)據(jù)定義語言(DDL)——建立和管理數(shù)據(jù)庫對象
- 數(shù)據(jù)操縱語言(DML)——用來查詢與更新數(shù)據(jù)
- 數(shù)據(jù)控制語言(DCL)——控制數(shù)據(jù)的安全性
- T-SQL語言是Sybase對SQL92標準的一種擴展,主要在它的基礎(chǔ)上增加了三個方面的功能:自己的數(shù)據(jù)類型/特有的SQL函數(shù)/流程控制功能。
- T-SQL中的標識符使用說明:標識符由1-30個字符或數(shù)字構(gòu)成,但首字符必須為字母。臨時表的表名以#開頭,長度不能超過13個字符。