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数据库的用户是无权创建新的数据库的。
数据库中的主要内容——数据库对象:
表、视图、临时表
缺省值、规则
存储过程、触发器等