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