数据库中的主键和外键
❶ 数据库的主键和外键有什么区别
主键:
概念
主关键字(主键,primary
key)是被挑选出来,作表的行的惟一标识的候选关键字。一个表只有一个主关键字。主关键字又可以称为主键。
主键可以由一个字段,也可以由多个字段组成,分别成为单字段主键或多字段主键。
作用
1)保证实体的完整性;
2)加快数据库的操作速度
3)
在表中添加新记录时,ACCESS会自动检查新记录的主键值,不允许该值与其他记录的主键值重复。
4)
ACCESS自动按主键值的顺序显示表中的记录。如果没有定义主键,则按输入记录的顺序显示表中的记录。
特点
1)
一个表中只能有一个主键。如果在其他字段上建立主键,则原来的主键就会取消。在ACCESS中,虽然主键不是必需的,但最好为每个表都设置一个主键。
2)主键的值不可重复,也不可为空(NULL)。
外键:
如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。由此可见,外键表示了两个关系之间的联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。外键又称作外关键字。
以上是摘抄的,简单来说,主键就是一个关系中作为标识用的,而外键是其他关系中的属性,使用外键可避免冗余。
❷ 主键和外键有什么区别呢
主键是定义一个表中起主要作用的数据项,这些数据项的数据在表中是唯一的,同时系统按主键为表建立索引。
外键是定义一个表中的某数据项的数据,要参照另一个表的主键数据。既没有在另一个表的主键数据中出现的数据,不允许在这个表的外键数据项中出现。
主键:表中记录的唯一标识
外键:依赖于别的表的数据
唯一键:在表中唯一
键是一个或多个字段的组合
唯一键:可以确定一条记录的字段(或字段组合),一张表可以有多个唯一键,正如可以识别你的身份的可以是身份证,学生证,军人证
主键:你把唯一键的一个选做主键,一张表只能有一个主键
外键:所定义的外键是另一张表的主键,
主键:表中记录的唯一标识,外键:依赖于别的表的数据,唯一键:在表中唯一。
主键和唯一键的一个区别:主键是不允许为NULL的,唯一键则可以,当然你可以加上NOT NULL来限制它
主键:能够唯一表示数据表中的每个记录的字段或者字段的组合就称为主键。一个主键是唯一识别一个表的每一行记录,但这只是其作用的一疗分,主键的主要作用是将记录和存放在其他表中的数据进行关联,在这一点上,主键是不同表中各记录间的简单指针,主键约整就是确定表中的每一条记录,主键不能是空值,唯一约束是用于指定一个或多个列的组合值具有唯一性,以防止在列中输入重复的值,所以,主键的值对用户而言是没有什么意义,并且和它赋予的值也没有什么特别联系。
外键:
若有两个表A,B,C是A的主键,而B中也有C字段,则C就是表B的外键,外键约束主要用来维护两个表之间数据的一致性。
A为基本表,B为信息表。
在数据库中,常常不只是一个表,这些表之间也不是相互独立的,不同的表之间需要建立一种关系,才能将它们的数据相互沟通,而在这个沟通过程中,就需要表中有一个字段作为标志,不同的记录对应的字段取值不能相同,也不能是空白的,通过这个字段中不同的值可以区别各条记录,就像我们区别不同的人,每个人都有名字,但它却不能作为主键,因为人名很容易出现重复,而身份证号是每个人都不同的,所以可以根据它来区别不同的人,数据库的表中作为主键的段段就要像人的身份证号一样,必须是每个记录的值都不同,这才能根据主键的值来确定不同的记录。
什么是外键?
说明你的表A中的某项a,是引用表B的某列b
为什么要使用外键?
RDBMS的基本概念,可以维护数据库的完整。
如何来用,涉及到数据库的定义。
唯一约束和主键的区别是什么?
唯一性约束
唯一性约束所在的列允许空值,但是主键约束的列不允空值。
可以把唯一约束放在一个或者多个列上,但是,唯一性约束所在的列并不是表的主键列。
唯一性约束强制在指定的列上创建一个唯一性索引,在默认情况下,创建唯一性的非聚簇索引,但是,也可以指定所创建的索引是聚簇索引。
主键:
用于标识某行而且与之相关
是不可能更新
不应该允许空
唯一域/字段
用于作为访问某行的可选手段。
只要唯一就可以更新
可以为空
注意唯一和主键的区别,它们都是创建一个唯一的索引,一个表格仅含有一个主键约束列,但是,它有可能在其他列中含有许多的唯一约束。
❸ 数据库的主键和外键如何区别
主键是你这张表的标识列,外键是另外一张表的标识列所对应的序列
及主键对应的是本表里,而外键是本表与其他表的连接。
❹ 什么是关系型数据库,主键,外键,索引分别是什么
1、关系型数据库,是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,关系型数据库这一系列的行和列被称为表,一组表组成了数据库。
2、主关键字(primary key)是表中的一个或多个字段,它的值用于唯一的标识表中的某一条记录
3、外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。外键又称作外关键字
4、在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单
❺ 数据库中主键和外键是干嘛用的
主键是表格里的(一个或多个)字段,只用来定义表格里的行;主键里的值总是唯一的。外键是一个用来建立两个表格之间关系的约束。
建立外键后,在插入数据时候会检测数据在主键表中是否存在,如果不存在则无法插入,通过这可以提高维护数据库的完整性和一致性
简单点儿说
主键是对表的约束,保证数据的唯一性!
外键是建立表于表之间的联系,方便程序的编写!
❻ 数据库里面的主键和外键及候选键是什么意思啊
1、主键(primary
key)吧:一张表(关系)的一个列(属性)或多个列可以作为主键,但是前提是让这个列作主键,这个列就能保证该列下的各个行(元组)的值不能相同,比如说用姓名属性作主键的话,那么这个主键就不一定可以,如果有两个人是同样的名字的话,就不能做到该属性下的各个元组数据的值不同,如果用阿拉伯数字作主键就是一个很好的选择。
2、外键(foreign
key):一张表(关系)的列(属性)它同时存在表1和表2中,它不是表1的主键,而是表2的主键,就可以说他是表1的外键。
3、候选键(Candidate
Key):能唯一标识表(关系)中行(元组)的列(属性),则称该属性为候选键,也称
候选关键字
或
候选码;由此来看候选键可以不只一个,还看一看得出的就是主键同时它也是候选键。
❼ 主键和外键的作用
主键和外键的作用:
1、保证实体的完整性,加快数据库操作速度,在表中添加记录时,access会自动检查新记录主键值,不允许该值与主键值重复。access会自动按主键值排序好的显示出来。如果没有约束,则是按照用户输入信息的顺序显示出来。主键不接受空值,约束确保唯一数据。
2、外键保证的是数据的完整性。外键:一组数据的主键是另一组数据的的元素;主键约束了外键所在表中不能存在主键类之外的值;外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。比如,A表中的一个字段,是B表的主键,就可以是A表的外键。
(7)数据库中的主键和外键扩展阅读:
主键和外键的注意事项:
1、主键默认非空,默认唯一性约束,只有主键才能设置自动增长,自动增长一定是主键,主键不一定自动增长;
设置主键的方式:在定义列时设置:ID INT PRIMARY KEY;在列定义完之后设置:primary KEY(id)、
2、只有INNODB的数据库引擎支持外键,修改my.ini文件设置default-storage-engine=INNODB 外键必须与参照列的数据类型必须相同(数值型要求长度和无符号都相同,字符串要求类型相同,长度可以不同)。
设置外键的语法:CONSTRAINT 外键名 FOREIGN KEY (外键字段)REFERENCES 参照表 (参照字段) ON DELETE SET NULL ON UPDATE CASCADE 设置参照完整性。
3、外键约束的参照操作:
RESTRICT拒绝参照表删除或更新参照字段;
RESTRICT和NO ACTION相同,但这个指令只在mysql生效;
CASCADE删除或更新参照表的参照字段时,外键表的记录同步删除更新;
SET NULL 删除或更新参照表的参照字段时,外键表的外键设为NULL。
❽ 主键和外键的作用
定义主键和外键主要是为了维护关系数据库的完整性,总结一下:
主键是能确定一条记录的唯一标识,比如,一条记录包括身份正号,姓名,年龄。身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是主键。
外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。比如,A表中的一个字段,是B表的主键,那它就可以是A表的外键。
❾ 请问数据库中的主键和外键是什么意思
为了保证两个表某些数据的一致性。
作为外键,它里面的数据必须是在主建中所存在的。
举个例子:
有两个关系:
student(s#,sname,d#),即学生这个关系有三个属性:学号,姓名,所在系别
dep(d#,dname),即院系有两个属性:系号、系名
则s#、d#是主键,也是各自所在关系的唯一候选键,d#是student的外键。
❿ 数据库中什么是主键,什么是外键
主键(Primary key): 也称为主码或主关键字,用于惟一地确定一个元组的属性或属性组(复合主码)。每个关系都有一个并且只有一个主码。
外键(Foreign Key):也称为外码或外部关键字。如果一个属性集不是所在关系的关键字,但是是其他关系的关键字,则该属性集称为外部关键字。
在关系数据库中可以通过外键使两个关系关联,这种联系通常是一对多(1:n)的,其中主(父)关系(1方)称为被参照关系,从(子)关系(n方)称为参照关系。
(10)数据库中的主键和外键扩展阅读:
数据库主键作用:
1、保证实体的完整性
2、加快数据库的操作速度
3、在表中添加新记录时,DBMS会自动检查新记录的主键值,不允许该值与其他记录的主键值重复。
4、DBMS自动按主键值的顺序显示表中的记录。如果没有定义主键,则按输入记录的顺序显示表中的记录。
在有些数据库中,虽然主键不是必需的,但最好为每个表都设置一个主键,不管是单主键还是复合主键。它存在代表着表结构的完整性,表的记录必须得有唯一区分的字段,主键主要是用于其他表的外键关联,以及本记录的修改与删除。