『壹』 数据库中主键和外键是干吗的
1、主键:若某一个属性组(注意是组)能唯一标识一条记录,该属性组就是一个主键。主键不能重复,且只能有有一个,也不允许为空。定义主键主要是为了维护关系数据库的完整性。
2、外键: 外键用于与另一张表的关联,是能确定另一张表记录的字段。外键是另一个表的主键,可以重复,可以有多个,也可以是空值。定义外键主要是为了保持数据的一致性。
3、简单来说就是把两个表关联起来。同样的一个名字在两个表中:如stu(name,sex)和表grade(name,cou),如果name是表stu中的主键,并且name也是表grade中的主键,那么表stu中的name就是表grade的外键了。
4、外键取值规则:空值或参照的主键值。插入非空值时,如果主键表中没有这个值,则不能插入。更新时,不能改为主键表中没有的值。删除主键表记录时,可以在建外键时选定外键记录一起级联删除还是拒绝删除。更新主键记录时,同样有级联更新和拒绝执行的选择。SQL的主键和外键就是起约束作用。
5、索引的主要作用为了提高查询速度。主键就是唯一索引。外键是两张表之间做连接关系时用的。一般是某一张表的一个外键字段引用另一张表的主键。
『贰』 数据库删除操作与哪几种约束有关
主键约束(Primary Key constraint):要求主键列数据唯一,并且不允许为空。
唯一约束(Unique constraint):要求该列唯一,允许为空,但只能出现一个空值。
检查约束(Check constraint):某列取值范围限制,格式限制等,如有关年龄、邮箱(必须有@)的约束。
默认约束(Default constraint):某列的默认值,如在数据库里有一项数据很多重复,可以设为默认值。
外键约束(Foreign Key constraint):用于在两个表之间建立关系,需要指定引用主表的哪一列。
『叁』 数据库邮箱约束怎么改
创建Oracle数据库的字段约束:
非空约束 唯一约束 对字段的取值的约束 默认值 外键约束 create table tab_class( class_id number primary key, class_name varchar2(10) not null unique ); create table tab_stu( stu_id number, --学生姓名,不能为空,不能重复 stu_name varchar2(20) not null unique, --学生姓名只能是male或female stu_gender varchar2(6) not null check(stu_gender='male' or stu_gender='female'), --学生年龄只能在18到60之间 stu_age number check(stu_age >18 and stu_age <60), --邮箱可以不填写,填写的话不能相同 stu_email varchar2(30) unique, stu_address varchar2(30), --外键约束 class_id number not null references tab_class(class_id) );
维护已经创建好的约束:
可添加或删除约束,但不能直接修改。 可使约束启用和禁用。 非空约束必须使用MODIFY子句增加。 为表增加主键约束: --维护约束 --创建约束 create table tab_check( che_id number, che_name varchar2(20) ); --为表增加主键约束 alter table tab_check add constraints tab_check primary key(che_id);
添加唯一约束
--添加唯一约束,tab_check_unique表示约束的名称 alter table tab_check add constraints tab_check_unique unique(che_name);
添加检查约束:
--添加一个字段 alter table tab_check add che_age number; --添加检查约束 alter table tab_check add constraints tab_check_age check(che_age>18 and che_age<60);
删除约束:
--删除主键约束 alter table tab_check drop constraints tab_check;
禁用约束:
--禁用约束 alter table tab_check disable constraints tab_check;
启用约束
--启用约束 alter table tab_check enable constraints tab_check;
复合约束,联合主键,也就是两个字段的组合成一个主键
--联合主键 create table tab_person( tab_firstname varchar2(10), tab_lastname varchar2(10), tab_gender varchar2(5), primary key(tab_firstname,tab_lastname) );
为表添加外键约束:
alter table tab_stu add constraints tab_stu foreign key(class_id) references tab_class(class_id);
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。