Oracle的主键约束、唯一约束与外键约束

http://www.shangxueba.com/jingyan/122163.html主键:
  1.主键约束: 一个表只能有一个主键约束。主键可以是单个字段,也可以是多个字段。无论是哪种情况,其所有字段都是NOT NULL。
  2.Unique约束:一个表可以有多个Unique约束,Unique的字段可以为NULL。
  3.主键与Unique:不同点在于一个表只能有一个主键约束,但是可以有多个Unique约束;主键所有字段都是not null,unique可以是null;相同点在于都能保证唯一性。

4.主键、Unique与索引:主键约束与Unique约束默认会成为索引。当主键和Unique有多个字段时,有索引前缀性问题,即where语句中的条件必须有主键或者unique的第一个字段,否则不会使用索引。

5. 外键与主键、Unique:外键必须为另外一张表(父表)的主键或者唯一索引。如果要添加记录,而父表中没有则报错。反之,如果要删除父表中的记录,而子表中有记录,也会报错。但是如果在创建外键约束时,如果使用on delete cascade,则删除父表中数据时,不报错而直接把子表关联的数据删除。如果要删除父表,则需要加上cascade constraints,此时子表的foreign key被去除,表中记录保持不变。

外键:

1. 外键是该表是另一个表之间联接的字段
  2. 外键必须为另一个表中的主键
  3. 外键的用途是确保数据的完整性。它通常包括以下几种:实体完整性,确保每个实体是唯一的(通过主键来实施)。

oracle主键的设置方法有2种:
一种是设置自增长主键,另一种是生成唯一序列;

时间: 2024-08-26 11:27:09

Oracle的主键约束、唯一约束与外键约束的相关文章

PowerDesigner 12小技巧-pd小技巧-pd工具栏不见了-pd修改外键命名规则-pd添加外键

PowerDesigner 12小技巧-pd小技巧-pd工具栏不见了-pd修改外键命名规则-pd添加外键 1. 附加:工具栏不见了 调色板(Palette)快捷工具栏不见了PowerDesigner 快捷工具栏 palette 不见了,怎么重新打开,找回来呢 上网搜索了一下"powerdesigner 图形工具栏",找到了找回PowerDesigner工具栏palette的方法Tools(工具栏)customsize toolbars(自定义工具栏)palette(调色板)勾选 2.

关于MYSQL:外键删除后,查询表发现外键依旧存在,再删一次会报错:原因及相关解决办法

1.创建表test6:外键名为test3_fk mysql> create table test6( -> id int, -> test_name varchar(32), -> constraint test3_fk foreign key(test_name) references student(name) -> ); Query OK, 0 rows affected (0.40 sec) mysql> desc test6; +-----------+---

oracle查询所有用户表的表名、主键名称、索引、外键等

1.查找表的所有索引(包括索引名,类型,构成列): select t.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name = i.index_name and t.table_name = i.table_name and t.table_name = 要查询的表 2.查找表的主键(包括名称,构成列): select cu.* from user_cons_columns cu, user_constr

主键(PrimaryKey)与外键(ForeignKey)

主键(Primary) 主键就是数据行的唯一标识.不会重复的列才能当主键. 工号 姓名 部门 入职时间 001 凤姐 员工培训部 2010-07-05 002 兽兽 公关部 2010-08-02 003 憨憨 开发部 2009-03-05 为了能唯一标识一行数据,我们给每位员工设置了一个编号(工号),让这个工号来作为这条数据的主键 在上表中如果用姓名来作为主键,当然是不行的,因为姓名有可能重复 一个表可以没有主键,但是会非常难以处理,因此没有特殊理由的表都要设定主键. 那么,一般情况下,我们应该

约束(主键、非空、唯一性、外键、检查约束)

一.五种约束 如果DML操作所涉及数据违反了已定义的约束,则数据库系统将拒绝执行这样的操作. Oracle数据库中,约束具体包括非空(NOT NULL)约束.唯一键(UNIQUE)约束.主键(PRIMARY KEY)约束.外键(FOREIGN KEY)约束和检查(CHECK)约束五种. 和数据表类似,约束也属于数据库对象,可以在建表的同时创建其相关约束,也可以在建表后单独添加:可以由用户命名,也可以由系统按照默认格式自动对约束进行命名:按照约束的定义位置,又可以分为表级约束和字段级约束两种. 建

Sql Server 主键 外键约束

主键约束 表通常具有包含唯一标识表中每一行的值的一列或一组列. 这样的一列或多列称为表的主键 (PK),用于强制表的实体完整性. 由于主键约束可保证数据的唯一性,因此经常对标识列定义这种约束. 如果为表指定了主键约束, 数据库引擎 将通过为主键列自动创建唯一索引来强制数据的唯一性. 当在查询中使用主键时,此索引还允许对数据进行快速访问. 如果对多列定义了主键约束,则一列中的值可能会重复,但来自主键约束定义中所有列的值的任何组合必须唯一. 如下图所示, Purchasing.ProductVend

SQL的主键和外键约束

SQL的主键和外键的作用: 外键取值规则:空值或参照的主键值. (1)插入非空值时,如果主键表中没有这个值,则不能插入. (2)更新时,不能改为主键表中没有的值. (3)删除主键表记录时,你可以在建外键时选定外键记录一起级联删除还是拒绝删除. (4)更新主键记录时,同样有级联更新和拒绝执行的选择. 简而言之,SQL的主键和外键就是起约束作用. 关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键. 比如: 学生表(学号,姓名,性别,

数据库-主键和外键及其约束

1:什么是主键 在一张表中,用来唯一标识一条记录的字段集,叫做主关键字或者主关键码,简称主键(或主码),这里说"字段集"是因为主键可能用一个字段或者多个字段来表示.举例来看: 学生表(学号, 姓名, 性别,专业编号),这里学号是主键,一个学号id就可以唯一标识一个学生的信息.另一个表:学生选课表(学号, 课程号, 成绩),这里(学号, 课程号)是主键,因为一个学号(即一个学生)可以选择多门课程,一个课程号(即一个课程)可以被多个学生选择,无法用一个字段来标识一条学生选课的信息记录,而使

SQL的主键和外键约束详解及用途

SQL的主键和外键的作用: 外键取值规则:空值或参照的主键值. (1)插入非空值时,如果主键表中没有这个值,则不能插入. (2)更新时,不能改为主键表中没有的值. (3)删除主键表记录时,你可以在建外键时选定外键记录一起级联删除还是拒绝删除. (4)更新主键记录时,同样有级联更新和拒绝执行的选择. 简而言之,SQL的主键和外键就是起约束作用. 关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键. 比如: 学生表(学号,姓名,性别,

主键和外键约束

SQL的主键和外键的作用: 外键取值规则:空值或参照的主键值. (1)插入非空值时,如果主键表中没有这个值,则不能插入. (2)更新时,不能改为主键表中没有的值. (3)删除主键表记录时,你可以在建外键时选定外键记录一起级联删除还是拒绝删除. (4)更新主键记录时,同样有级联更新和拒绝执行的选择. 简而言之,SQL的主键和外键就是起约束作用. 定义主键和外键主要是为了维护关系数据库的完整性,总结一下: 一.主键是能确定一条记录的唯一标识,比如,一条记录包括身份正号,姓名,年龄.身份证号是唯一能确