预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共76页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

会计学本章(běnzhānɡ)难点第5章数据完整性5.1数据完整性的基本概念实体完整性又称为行的完整性,是用于保证(bǎozhèng)数据表中每一个特定实体的记录都是唯一的。通过索引、UNIQUE约束、PRIMARYKEY约束或IDENTITY属性可以实现数据的实体完整性。域完整性又称为列完整性,指给定列输入的有效性,即保证指定列的数据具有正确的数据类型、格式和有效的数据范围。实现域完整性可通过定义相应的CHECK约束、DEFAULT约束、FOREIGNKEY约束等方式来实现,另外(lìnɡwài),通过为表的列定义数据类型和NOTNULL也可以实现域完整性。参照完整性又称为引用完整性。参照完整性是指作用于有关联的两个或两个以上的表,通过使用主键和外键或主键和唯一键之间的关系,使表中的键值在所有表中保持一致。实现(shíxiàn)参照完整性的方法主要有CHECK约束和FOREIGNKEY。5.1数据完整性的基本概念5.2实体(shítǐ)完整性的实现1、PRIMARYKEY约束如果表中一列或多列的组合(zǔhé)的值能惟一标识这个表的每一行,则这个列或列的组合(zǔhé)可以作为表的主键。当创建或修改表时,可以通过定义PRIMARYKEY约束来创建表的主键。当为表指定PRIMARYKEY约束时,SQLServer自动为主键列创建惟一索引,以确保数据的惟一性。主键约束有如下特点:每个表中只能有一个主键,主键可以是一列,也可以是多列的组合;主键值必须(bìxū)唯一并且不能为空,对于多列组合的主键,某列值可以重复,但列的组合值必须(bìxū)唯一。Employees表使用管理工具创建和删除(shānchú)PRIMARYKEY约束打开表设计器:删除(shānchú)主键使用SQL创建和删除(shānchú)PRIMARYKEY约束1)创建表的同时创建PRIMARYKEY约束2)通过修改表创建PRIMARYKEY约束(yuēshù)3)删除PRIMARYKEY约束(yuēshù)2、UNIQUE约束唯一约束主要用来限制表的非主键列中不允许输入重复值。唯一约束有如下(rúxià)特点:一个表中可以定义多个唯一约束;每个唯一约束可以定义到一列上,也可以定义到多列上;空值可以出现在某列中一次。Employees表UNIQUE与PRIMARYKEY的差异UNIQUE和PRIMARYKEY有些类似,为了避免混淆(hùnxiáo)在此列出二者之间的差异:UNIQUE字段允许输入NULL值,但PRIMARYKEY字段不允许。一个数据表中可以定义多个UNIQUE条件约束,但只能定义一个PRIMARYKEY条件约束使用管理工具创建和删除(shānchú)UNIQUE约束打开表设计器:添加(tiānjiā)唯一性约束修改(xiūgǎi)索引名称和字段使用SQL语句(yǔjù)创建和删除UNIQUE约束1)创建表的同时创建UNIQUE约束2)通过修改表创建(chuàngjiàn)UNIQUE约束3)删除UNIQUE约束SQLServer提供了多种方法实现(shíxiàn)不同类型的数据完整性,以保证数据的正确性、相容性和一致性。通过定义CHECK约束、规则、默认值约束、默认值对象等可以实现(shíxiàn)域完整性。1、CHECK约束CHECK约束实际上是字段输入内容的验证规则,表示一个字段的输入内容必须(bìxū)满足CHECK约束的条件,若不满足,则数据无法正常输入。使用(shǐyòng)管理工具定义CHECK约束单击“添加(tiānjiā)”按钮。在“表达式”文本框中输入(shūrù)约束条件。在“名称”文本框中输入(shūrù)约束命名。使用T-SQL在创建(chuàngjiàn)表时定义CHECK约束例:在xsgl数据库中创建(chuàngjiàn)学生信息表XSXX,并定义check约束。使用(shǐyòng)T-SQL在修改表时定义CHECK约束例:在Sales数据库中为Employees数据表创建名为CK_EmployeesNO的CHECK约束,该约束限制“编号(biānhào)”列中只允许4位数字(不能为字母)。使用T-SQL语句删除(shānchú)CHECK约束例5.7:删除(shānchú)xs表中“电话”字段的check约束5.3域完整性的实现(shíxiàn)2、规则规则是保证域完整性的重要手段规则与CHECK比较规则是一种数据库对象,它的作用与CHECK约束相同,用来限制输入值的取值范围,实现强制数据的域完整性。规则与CHECK约束相比较,CHECK约束比规则更简明,它可以在建表时由CREATETABLE语句(yǔjù)将其作为表