SQL Server 数据库 可以基本保证数据的完整性。而本文所讲的是如何利用SQL Server提供的Enterprise Manager 客户端软件设置数据约束条件以加强数据完整" name="description" />
我们都知道Microsoft javascript:;" onClick="javascript:tagshow(event, 'SQL');" target="_self">SQL Server数据库可以基本保证数据的完整性。而本文所讲的是如何利用SQL Server提供的Enterprise Manager 客户端软件设置数据约束条件以加强数据完整性。
确保数据库中的数据完全正确(数据完整性)是一项很难的工作,有时候甚至是不可能做到的,正因如此它也是各种系统所追求的一个基本目标。此外,一旦数据出现不一致,应当如何处理也是一个问题。在开发数据库应用程序时,我们都会在程序中加入一段代码来检验数据是否正确,而SQL Server也可以利用约束条件将数据库服务器变成检验数据完整性的第一道哨卡。此外为了方便用户,SQL Server提供了Enterprise Manager客户端来简化约束条件处理过程。
什么才合法?
在开发数据库应用程序时,开发者必须首先清楚每个表格中应该存放什么类型的数据或数据的大小范围。这点一旦确定下来,整个程序都要按照这个规范强制执行。这个强制规范可以是约束条件、默认值以及允许空值。
下面给出了约束条件的类型以及默认值和空值类型:
如果在你的数据库应用程序中良好的运用了上面的各种约束类型,就可以确保数据完整性。至于如何运用,则可以通过使用Transact-SQL或者Enterprise Manager 客户端软件来实现。 Enterprise Manager
Enterprise Manager客户端是一款图形界面的应用程序,它可以帮助用户查看现有数据库或者建立一个新的数据库。下面我会利用一个标准的pub数据库(包含在各种版本的SQL Server中)来演示其具体应用。在查看数据表的时候右键点击某一列,我们就可以进入约束条件定义窗口。在图A中,我选择了pub数据库中discounts 表的discount列,点击右键后,就出现了图A所示的画面。
下面是相关选项的说明:
在图B中我们能看到三个复选框。它们的意思分别是:是否强制现有数据符合新约束条件、复制数据时是否实施约束条件、插入及更新操作是否实施约束条件。最大的问题一般出现在第一个选项上,当用户在现有数据表中加入新约束条件时,旧数据有可能会出现与约束条件不符的情况,此时选这一项就会破坏旧有数据。因此我们最好先将旧有数据规范化,再添加新的约束条件,这样这三个复选框就都可以选中了。
图C显示了所选表格的关系定义。从数字上看,stores表和我们选择的discounts表通过外键相关联。真实的外键在discounts表中,并且指向stores表的主键。这种关联可以被编辑或者删除,另外,我们也可以添加新的关联。剩下的几个选项和约束条件选项卡中出现的类似,可以指定是否在inserts、updates和replication操作时实施约束条件。以及是否进行级联更新或者删除。
在图A下方可看到,对于选定的列,默认值选项是可用的。另外,Allow Nulls列可以让你确定该列是否可以使用空值。
总结
设计一个数据库系统并不是简单的工作。当表结构确定下来后,就一定要保证数据的整性。你可以通过约束条件来实现其数据完整性,为此SQL Server提供了图形界面的Enterprise Manager客户端来帮助用户简化约束条件实现过程。