基于SQL几个常用的几个系统表

SQL数据库中常用的几个系统表

1、sysobjects
系统对象表。 保存当前数据库的对象,如约束、默认值、日志、规则、存储过程等

sysobjects 重要字段解释:

sysObjects (
  Name sysname,      --object 名称
  id   int,          --object id
  xtype char(2),     -- object 类型  
  type  char(2),     -- Object 类型(与xtype 似乎一模一样? 有点郁闷…) 
  uid   smallint,     -- object 所有者的ID
  ...                --其他的字段不常用到。  
)

注:需要解释的是 xtype 和type 是一模一样的,他的数据为:

C = CHECK 约束 
D = 默认值或 DEFAULT 约束
F = FOREIGN KEY 约束 
FN = 标量函数
IF = 内嵌表函数
K = PRIMARY KEY 或 UNIQUE 约束 
L = 日志
P = 存储过程
R = 规则
RF = 复制筛选存储过程
S = 系统表 
TF = 表函数
TR = 触发器
U = 用户表
V = 视图
X = 扩展存储过程

该表中包含该数据库中的所有对象,如有那些表 存储过程 视图  等信息
 

2、sysColumns   数据库字段表。 当前数据库的所有字段都保留在里面。 

重要字段解释:

sysColumns (
  name     sysname,   --字段名称
  id       int,        --该字段所属的表的ID
  xtype    tinyInt,    --该字段类型,关联sysTypes表
  length   smallint,   --该字段物理存储长度
  ...
)

比如要查询某一个张表的有那些字段和这些字段的长度
       3、sysUsers

当前数据库的系统组,以及用户。

sysUsers(
  uid smallint,       --用户id
  name smallint ,     --名称
  uid  varbinary(85) , --属于一个登陆
  ....
)

对数据库的用户进行管理

4、sysdenpends
当前数据库的依赖关系。   比如 我要修改某一张的结构时,怕修改后会影响到其它的视图 函数 存储过程 ,这是在修改之前可以查询一下.那些视图 函数 存储过程调用了这个表的
这样在修改后就可以修改的视图 函数 存储过程,

一般程序员用到的系统表,基本也就这几个 其他的特殊的系统表(主要都在master 或者 tempdb )里面了

转载于:https://www.cnblogs.com/top5/archive/2010/04/11/1709701.html

你可能感兴趣的:(基于SQL几个常用的几个系统表)