在对象资源管理器中,连接到数据库引擎实例,然后展开该实例。展开“数据库”,展开对象所在的数据库,再展开对象所属的文件夹。例如,如果对象是一个存储过程,请展开“可编程性”,再展开“存储过程”。右键单击该对象,然后单击“查看依赖关系”。若要显示依赖于所选对象的层次结构视图,请选择“依赖于 <所选对象> 的对象”。若要显示所选对象所依赖对象的层次结构视图,请选择“<所选对象> 依赖的对象”。对于每个显示的对象,将显示对象名称和类型,以及这些对象间的依赖关系的类型。依赖关系类型值如下所示:绑定到架构的依赖关系绑定到架构的依赖关系是一种介于两个对象之间的关系,这种关系可以在引用对象存在时防止删除或修改被引用对象。使用 WITH SCHEMABINDING 子句创建视图或用户定义的函数时,或者表通过 CHECK 约束或 DEFAULT 约束或在计算列的定义中引用另一对象时,都会创建绑定到架构的依赖关系。非绑定到架构的依赖关系非绑定到架构的依赖关系是一种介于两个对象之间的关系,但这种关系并不防止删除或修改被引用对象。不可用“不可用”表示无法确定依赖关系类型。仅当所选对象位于低于 SQL Server 2008 的 SQL Server 实例上时,才会出现这种情况。
主要有4种范式,1NF,2NF,3NF,BCNF,按从左至右的顺序一种比一种要求更严格。
要符合某一种范式必须也满足它前边的所有范式。
一般项目的数据库设计达到3NF就可以了,而且可根据具体情况适当增加冗余,不必教条地遵守所谓规范。
在数据库里面,为了保证数据的有效和一致,通常都会在不同的表之间建立外键约束。这样虽然达到保证一致性的要求,但是如果需要清理数据或者初始化数据就会遇到麻烦,不根据表的外键约束得出表的主从关系当然不能随便的删除或者导入数据!
DB2里面有一个内部的目录视图SYSCATREFERENCES,里面就保存着数据库每张表的每一个外键约束的信息,以下就是DB2 V82里面这个视图的定义:(SYSCATREFERENCES)
通过这个视图基本上就能轻易的查出一张表到底对哪些表存在外键约束依赖,或者被哪些表建立外键约束进行了引用。
如果四张表A、B、C、D的外键约束关系是D->C->B->A,即A是所有其它表的主表,其次是B、C、D,有什么方法可以从SYSCATREFERENCES视图获取到符合这个逻辑顺序的列表呢?我还没有想到,但是Quest Central for DB2里面的Extract DDL的功能就能根据这个关系来提取出,按照主从关系排序的表的创建、删除语句。有没有一个简单的、优美的SQL语句就能实现这个功能呢?
给一句简单的查询指定模式名下的表的外键情况:
select constname,fk_colnames,tabschema,tabname,reftabschema, reftabname,refkeyname,pk_colnames from SYSCATREFERENCES where reftabschema='MYSCHEMA' order by reftabname;
以上就是关于如何查看 SQL 依赖关系 (SQL Server Management Studio)全部的内容,包括:如何查看 SQL 依赖关系 (SQL Server Management Studio)、数据库原理中,指出下列关系模式中属性间的依赖关系,分析其所属的范式~~在线等~~、如何在DB2里面判断表之间的依赖关系等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)