sql数据库完整性约束

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

电话号码 CHAR(13)
)
(2)向已有表中添加主键约束 其语法格式如下。
ALTER TABLE 表名 ADD [CONSTRAINT 约束名] PRIMARY KEY(列名1[,…n]))
例:先用图形方式删除cj表中的主键,然后用命令方式添 加主键为学号和课程号,主键名为pk_xhkch。
ALTER TABLE cj
1.利用Management Studio定义(删除)唯一性约束
步骤1:右键要建立唯一约束的表选择“修改” 。 步骤2:右击要设置唯一约束的字段(列)选择“索引/键”。 步骤3:在弹出的窗口中点击“添加”,在右边窗口的“名称” 处输入约束名,在类型中选择“唯一键”,点击“列”的浏览按钮 选中要设置为唯一约束的字段(如出生日期)。 步骤4:点击“关闭”按钮,保存即可。
CREATE TABLE kc_new
(5-4)
(课程号 CHAR(4) NOT NULL CONSTRAINT pk_kch1 PRIMARY KEY,
课程名 CHAR(16) NOT NULL CONSTRAINT ix_kcm1 UNIQUE,
学分 SMALLINT,
学时数 SMALLINT)
删除方法与建立的步骤类似。
2.利用T-SQL语句定义(删除)唯一性约束 (1)在创建表时创建唯一性约束 其语法格式如下。
语法格式1:(只有一个字段作为唯一约束) CREATE TABLE 数据表名 (列名 数据类型 CONSTRAINT 约束名 UNIQUE ) 【例5.3】创建和kc表结构相同的kc_new表,设置课程 名为唯一约束,约束名为ix_kcm1。
(5-2)
ADD CONSTRAINT pk_xhkch PRIMARY KEY(学号,课程号)
(3)删除主键约束 其语法格式如下: ALTER TABLE 表名 DROP CONSTRAINT 约束名 例:要删除cj表中的主键约束pk_xhkch:
ALTER TABLE cj
(5-3)
DROP CONSTRAINT pk_xhkch
第5章 数据完整性
5.1 数据完整性的基本概念
数据完整性包括实体完整性、域完整性、参照完整性和 用户定义的完整性。
1.实体完整性(Entity Integrity) 实体完整性用于保证数据库中数据表的每一个特定实体 都是唯一的。它可以通过主键约束(PRIMARY KEY)、唯 一键约束(UNIQUE)、索引或标识属性(IDENTITY)来 实现。 2.域完整性(Domain Integrity) 域完整性就是保证数据库中的数据取值的合理性,即保 证指定列的数据具有正确的数据类型、格式和有效的数据范 围。通过为表的列定义数据类型以及检查约束(CHECK)、 默认定义(DEFAULT)、非空(NOT NULL)和规则实现 限制数据范围,保证只有在有效范围内的值才能存储到列中。
(5-5)
(
学号char(10) not null ,
课程号char(4) not null,
成绩numeric(5,2)
CONSTRAINT IX_xhkch UNIQUE (学号,课程号)
)
(2)向已有表中添加唯一约束,其语法格式如下。 ALTER TABLE 表名 ADD CONSTRAINT 约束名 UNIQUE (列名1[,…n]))
4.用户定义的完整性(User-defined Integrity) 这是由用户定义的完整性。用户可以根据自己的业务规 则定义不属于任何完整性分类的完整性。
5.2 约束
约束是通过限制列中数据、行中数据以及表之间数据取 值从而保证数据完整性的非常有效和简便的方法。
5.2.1 主键(PRIMARY KEY)约束 PRIMARY KEY约束在表中定义一个主键,唯一的标 识表中的行。一个表只能有一个PRIMARY KEY约束。 当向表中的现有列添加PRIMARY KEY约束时,SQL Server将检查列中现有的数据以确保现有数据遵从主键的 规则,即无空值、无重复值。 每个表都应有一个主键。主键可以是一列或列组合。
字段名 部门编号 部门名称 电话号码
数据类型 char(5) varchar(10) char(13)
允许空 否,主键 否 是
CREATE TABLE bm
(5-1)
(
部门编号 CHAR(5) NOT NULL CONSTRAINT pk_bh
PRIMARY KEY,
部门名称 VARCHAR(10) NOT NULL,
5.2.2 唯一键(UNIQUE)约束
可使用UNIQUE约束确保在非主键列中不输入重复值。 在允许空值的列上保证唯一性时,应使用UNIQUE约束而不 是PRIMARY KEY约束,不过在该列中只允许有一个NULL 值。一个表可以定义多个UNIQUE约束,但只能定义一个 PRIMARY KEY约束。
3.参照完整性(Referential Integrity) 参照完整性定义了一个关系数据库中,不同的表中列之 间的关系(父键与外键)。要求一个表中(参照表)的一列 或列组合的值必须与另一个表(被参照表)中的相关一列或 列组合的值相匹配。被引用的列或列组合称为父键,父键必 须是主键或唯一键,通常父键为主键,主键表(被参照表) 是主表。引用父键的一列或列组合称为外键,外键表(参照 表)是子表。子表的外键必须与主表的主键相匹配,只要依 赖某一主键的外键存在,主表中包含该主键的行就不能被删 除。
1.利用Management Studio定义(删除)主键
2.利用T-SQL语句定义(删除)主键 (1)在创建表时创建主键约束
其语法格式如下 CREATE TABLE 数据表名 (列名 数据类型 [CONSTRAINT 约束名] PRIMARY KEY)
例:用命令方式新建如下所示的bm表,设置主键名为pk_bh。
Leabharlann Baidu
语法格式2:(有多个字段结合作为唯一约束,主键也类似) CREATE TABLE 数据表名
( …… CONSTRAINT 约束名 UNIQUE (列名1[,…n]) )
例:创建和cj表结构相同的cj_new表,设置学号和课程 号为唯一约束,约束名为IX_xhkch。
create table cj_new
相关文档
最新文档