ASE中的主要数据库
Adaptive Server包括多种类型数据库: 必需数据库、 “附加功能”数据库 、例子数据库 、应用数据库
1、必需数据库 master 数据库包含系统表,这些系统表中存储的数据被用来管理,有一些系统表只存在于master库,如syslogins.sysdatabases存储了服务器级别的信息
model 数据库模板,用于创建新的数据库 sybsystemprocs 数据库中的表存放系统存贮过程 sybsystemdb 数据库中的数据是关于分布式事务管理功能的 tempdb 数据库包含临时表
存储过程的查找顺序: 当前数据库》sybsystemprocs》master master:数据库包含系统表,这些系统表中存储的数据被用来管理Adaptive Server model:是一个模板数据库,用于新数据库创建 sybsystemprocs:包含系统存储过程.如我们用到的sp_who,sp_lock等等 tempdb:用来存储临时表时创建的,那么有一些排序,distinct 聚集函数,用户临时表,都会用到 sybsystemdb:用于分布式事务管理功能
2、“附加功能”数据库包括三个. sybsyntax:语法数据库.安装后像我们的sql.语法,都可以用存储过程sp_syntax进行查看,缺省是不安装的 dbccdb:用于dbcc checkstorage,使用并行处理允许sa,来检查数据库一致性 sybsecurity:审计数据库用来做安全审计.允许系统管理员审计用户操作,如一些操作,非法登陆等
sybsyntax 包含 SQL 关键词的语法帮助,安装 sybsyntax 后,用户可以使用sp_syntax获得语法帮助 dbccdb 包含从 dbcc checkstorage 的输入和输出。安装 dbccdb 数据库让系统管理员能够使用并行处理命令检查数据库的一致性 sybsecurity数据库包含审计信息。安装sybsecurity 数据库后, 能够允许系统管理员审计用户的操作
3、例子数据库 如:pubs2和pubs3是例子数据库,它们是关于一个虚构的图书销售公司 安装装pubs2或pubs3数据库,能够让用户在安全和可预见环境中练习Transact-SQL命令
4、应用数据库 应用数据库,是用户定义创建的,用于开发及生产环境.ASE是一个多库的Server,可以创建多个数据库。
=================================================================
Sybase SQL Server是一个多库结构的RDBMS,安装Sybase数据库时自动生成的系统数据库体系结构大致如下:
1)主数据库master 2)模型数据库model 3)系统过程数据库sybsystemprocs 4)临时数据库tempdb。 也可选择下列数据库: 5)安全审核数据库sybsecurity 6)示例数据库pubs2 7)命令语法数据库sybsyntax
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, 当然创建者可以将这一地位或这一所有权用系统过程授予别的用户。
数据库中的主要内容——数据库对象:表、视图、临时表、索引、主键、外键、缺省值、规则、存储过程、触发器等