① 数据库用sql语言建表,什么是完整性约束请问如何写出各种完整性约束
一、数据的完整性
实体完整性
实体完整性简单的说,就是将表中的每一行看作一个实体。实体完整性要求表的标示符列或主键的完整性。可以通过建立唯一索引、PRIMARY KEY约束、UNIQUE约束,以及列的IDENTITY属性来实施实体完整性。
域完整性
域完整性是指给定列的输入有效性。要求表中指定列的数据具有正确的数据类型、格式和有效的数据范围。强制域有效性的方法有:限制类型(通过数据类型)、格式(通过 CHECK 约束和规则)或可能值的范围。域完整性通过 FOREIGN KEY 约束、CHECK 约束、DEFAULT 定义、NOT NULL 定义和规则来实现。
引用完整性
引用完整性又称参照完整性。引用完整性维持被参照表和参照表之间的数据一致性,他通过主键(PRIMARY KEY)约束和外键(FOREIGN KEY)约束来实现。
用户定义完整性
二、约束操作
与表相关的约束
在SQL 2008中,常用有6种约束,分别是NOT NULL,UNIQUE,PRIMARY KEY,FOREIGN KEY,DEFAULT和CHECK.
--添加主键约束(即primary key约束)
alter table goods add constraint pk_gid primary key(gid)
--1.删除主键约束
alter table goods drop pk_gid
--添加唯一约束(即unique约束)
alter table goods add constraint uq_gname unique(gname)
--删除唯一约束:仿1.
--添加缺省约束(即default约束)
alter table goods add constraint def_gtel default 0000-00000000 for gtel
--删除缺省约束:仿1.
--添加检查约束(即check约束)
alter table goods add constraint ck_gprice check(gprice>500)
--删除check约束:仿1.
--创建表2
create table g_p
(
wno int identity(1,1) primary key,
gno int
)
--添加外键约束(即foreign key约束)
alter table g_p
add constraint fk_gno
foreign key(gno) references goods(gid)
--删除外键约束:仿1.
--使用newid()
select newid()--生成全球唯一的ID号
create table customer
(
custID uniqueidentifier not null default newid(),
customer char(30) not null
)
insert customer values(newid(),\''\''accp\''\'')--向customer中插入信息
-----------------------------------慢慢研究----
② sql中 增加约束,限制取值的命令
NOT NULL 非空值
UNIQUE 唯一性
PRIMARY KEY 约束唯一标识数据库表中的每条记录
FOREIGN KEY 一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY
CHECK 约束用于限制列中的值的范围
DEFAULT 约束用于向列中插入默认值
③ 在sql中,要防止大于0的数被保存到int类型的列,可以使用什么约束
这个是 SQL 中的CHECK 约束。
CHECK 约束用于限制列中的值的范围。
④ SQL Server限制输入值的取值范围的是什么
SQL Server限制输入值的取值范围的是用户自己定义的。
CHECK 约束用于限制列中的值的范围。
如果对单个列定义 CHECK 约束,那么该列只允许特定的值。
如果对一个表定义 CHECK 约束,那么此约束会在特定的列中对值进行限制。
撤销 CHECK 约束
如需撤销 CHECK 约束,请使用下面的 SQL:
SQL Server / Oracle / MS Access:
ALTER TABLE Persons
DROP CONSTRAINT chk_Person
MySQL:
ALTER TABLE Persons
DROP CHECK chk_Person
(4)sql限制数据范围用什么约束扩展阅读
check主要用于限定字段值的范围
常见用法举例:
1、重量需大于0,并且小于等于100
WEIGHT NUMERIC(9,2) CHECK(WEIGHT>0 AND WEIGHT<=100
2、性别取‘男’或者‘女’
SSEX CHAR(2) CHECK(SSEX='male' OR SSEX='female')
3、年龄取15-45
SAGE SMALLINT CHECK(SAGE>=15 AND SAGE<=45)
4、学分大于0
SEMSTER SMALLINT CHECK(SEMSTER>0)
⑤ 数据库有哪几种类型约束
主键约束(Primary Key constraint):要求主键列数据唯一,并且不允许为空。
唯一约束(Unique constraint):要求该列唯一,允许为空,但只能出现一个空值。
检查约束(Check constraint):某列取值范围限制,格式限制等,如有关年龄、邮箱(必须有@)的约束。
默认约束(Default constraint):某列的默认值,如在数据库里有一项数据很多重复,可以设为默认值。
外键约束(Foreign Key constraint):用于在两个表之间建立关系,需要指定引用主表的哪一列。
(5)sql限制数据范围用什么约束扩展阅读
主键约束在表中定义一个主键来唯一确定表中每一行数据的标识符。
(非空,唯一)
例如:
alter table member
add
constraint PK_member_member_no primary key clustered (member_no)
主键列的数据类型不限,但此列必须是唯一并且非空。
如该表中已有主键为1000的行,则不能再添加主键为1000。
人工或程序不好控制的时候,也可以设置主键列为自动增长列。
主键主要用在查询单调数据,修改单调数据和删除单调数据上。做程序的时候,都将表的主键设置为int型的可自增的列,这样在编程的时候,很容易区分数据。
⑥ 在SQL中可以使用哪些约束
有用请采纳哦~
NOT NULL – 指示某列不能存储 NULL 值。
UNIQUE – 保证某列的每行必须有唯一的值。
PRIMARY KEY – NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。
FOREIGN KEY – 保证一个表中的数据匹配另一个表中的值的参照完整性。
CHECK – 保证列中的值符合指定的条件。
DEFAULT – 规定没有给列赋值时的默认值。
具体每个约束的实际范例自己去图中网站找哦。