1、系统数据库
服务器自身所使用的数据库,也可以说是管理服务器和用户数据库的数据库。Sybase在安装时,自动创建了四个系统数据库:
master、model、tempdb、sybsystemprocs
(1) master数据库
它是管理和控制用户数据库以及维护服务器正常运行的核心数据库,它包含许多系统表和系统过程,从总体上控制用户数据库和SQL Server的操作,构成了SYBASE系统的数据字典,它保存了大量的系统信息,如服务器配置、用户、设备等。 在master数据库中不允许普通用户在其中创建数据库对象,否则会使得master数据库的事务日志很快变满。如果事务日志用尽,就无法使用dump transaction命令释放master数据库中的空间。
master数据库主要记录信息为: 1)登录帐号(SQL服务器用户名);syslogins,sysremolelogins 2)正在执行的过程;sysprocesses 3)可修改的环境变量;sysconfigures 4)系统错误信息;sysmessages 5)SQL服务器上每个数据库的信息;sysdatabases 6)每个数据库占用的存储空间;sysusages 7)系统上安装的磁带及磁带信息;sysdevices 8)活动锁信息;syslocks
(2)model数据库
它是为创建用户数据库而提供的模板。它提供了新用户数据库的初型。当我们每次用CREATE DATABASE命令时,SQL Server都产生一个model数据库的拷贝,以此作为新用户数据库,然后把它扩展到命令要求的尺寸。如果我们修改了model数据库,那么以后新创建的数据库都将随它而改变。 Model数据库中包含每个用户数据库所要求的系统表。Model数据库可以被修改以便定制新创建的。 下面是几个通常用到的对model数据库的改变: 增加用户数据库类型、规则或缺省 可存取SQL Server上所有数据库的用户用sp_adduser增加到model数据库上 缺省权限(特别是guest帐号)可在model中建立 诸如select into/bulkcopy那样的数据库选项可在model中设置。这些设置反映到所有新创建的数据库中。它们在model中最原始的值是关(off)。 在一般情况下,大多数用户无权修改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数据库
它是专门用来保存系统命令(存储过程)的数据库,如sp_help、sp_configure、sp_helpdevice等。当任一数据库用户运行以sp_开头的存储过程时,SQL Server按照以下顺序查找:当前数据库、sybsystemprocs数据库、master数据库。 其他可选数据库: (5)安全审核数据库sybsecurity 数据库中保存系统的安全审核信息,它可跟踪记录每个用户的操作情况,为维护系统安全提供控制手段。 (6)示例数据库pubs2 为用户提供一个学习SYBASE的数据库模型。 (7)命令语法数据库sybsyntax 库中保存SYBASE数据库的命令语法及支持的语言库。
2、用户数据库
用户数据库是我们使用Sybase服务器的真正目的。要管理用户数据,必须在Sybase中创建自己的数据库,是指用create database命令创建的数据库。所有新的用户数据库都要在master数据库中创建,也就是说,不能存取master数据库的用户是无权创建新的数据库的。SA可以将创建数据库的权限授予其他用户。新建数据库中存在一些系统表,在sysusers表中至少有一条记录,既该数据库的创建者。数据库创建时,创建者即为该数据库的 owner, 当然创建者可以将这一地位或这一所有权用系统过程授予别的用户。
数据库中的主要内容——数据库对象:表、视图、临时表、索引、主键、外键、缺省值、规则、存储过程、触发器等