Sybase SQL Server是一個多庫結構的RDBMS,體系結構大致如下:
(1) 數(shù)據(jù)庫。
服務器自身所使用的數(shù)據(jù)庫,也可以說是管理服務器和用戶數(shù)據(jù)庫的數(shù)據(jù)庫。Sybase在安裝時,自動創(chuàng)建了四個系統(tǒng)數(shù)據(jù)庫:master、model、tempdb、sybsystemprocs
● master數(shù)據(jù)庫
它是管理和控制用戶數(shù)據(jù)庫以及維護服務器正常運行的核心數(shù)據(jù)庫,它保存了大量的系統(tǒng)信息,如服務器配置、用戶、設備等。
在master數(shù)據(jù)庫中不允許普通用戶在其中創(chuàng)建數(shù)據(jù)庫對象,否則會使得master數(shù)據(jù)庫的事務日志很快變滿。如果事務日志用盡,就無法使用dump transaction命令釋放master數(shù)據(jù)庫中的空間。
● model數(shù)據(jù)庫
它是為創(chuàng)建用戶數(shù)據(jù)庫而提供的模板。每當創(chuàng)建新的數(shù)據(jù)庫時,SQL Server自動建立model數(shù)據(jù)庫的一份拷貝,并把它擴充到用戶所要求的大小,以此作為新用戶數(shù)據(jù)庫。
Model數(shù)據(jù)庫中包含每個用戶數(shù)據(jù)庫所要求的系統(tǒng)表。Model數(shù)據(jù)庫可以被修改以便定制新創(chuàng)建的。
● tempdb數(shù)據(jù)庫
它是個臨時數(shù)據(jù)庫, 為服務器運行與處理提供一個共享的存儲區(qū)域,如group by和order by的中間結果就存放在這里。Tempdb的空間為服務器中所有數(shù)據(jù)庫的所有用戶所共享。
每次重啟SQL Server,服務器的一個自動進程都拷貝model數(shù)據(jù)庫到tempdb數(shù)據(jù)庫,并清除tempdb中原來的內容。因此tempdb中的用戶表都是臨時的。臨時表分為兩類:可共享的和不可共享的。
不可共享的臨時表在由create table中將符號#置于表名之前創(chuàng)立;可共享的臨時表通過create table中指定表名前綴tempdb..而創(chuàng)立。不可共享的臨時表SQL Server自動為其添加數(shù)字后綴名,且它只存在于當前會話中。
● sybsystemprocs數(shù)據(jù)庫master數(shù)據(jù)庫它是專門用來保存系統(tǒng)命令(存儲過程)的數(shù)據(jù)庫,如sp_help、sp_configure、sp_helpdevice等。當任一數(shù)據(jù)庫用戶運行以sp_開頭的存儲過程時,SQL Server
按照以下順序查找: 當前數(shù)據(jù)庫、sybsystemprocs數(shù)據(jù)庫、master數(shù)據(jù)庫。
(2)用戶數(shù)據(jù)庫。
用戶數(shù)據(jù)庫是我們使用Sybase服務器的真正目的。要管理用戶數(shù)據(jù),必須在Sybase中創(chuàng)建自己的數(shù)據(jù)庫,它是指用create database命令創(chuàng)建的數(shù)據(jù)庫。不能存取master數(shù)據(jù)庫的用戶是無權創(chuàng)建新的數(shù)據(jù)庫的。
數(shù)據(jù)庫中的主要內容——數(shù)據(jù)庫對象:
● 表、視圖、臨時表
● 索引、主鍵、外鍵
● 缺省值、規(guī)則
● 存儲過程、觸發(fā)器
新聞熱點
疑難解答