最新公告
  • 欢迎您光临泊亦博客,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 什么是主键?主键有啥用

    主关键字

    主关键字(primary key)是表中的一个或多个字段,它的值用于唯一的标识表中的某一条记录。在两个表的关系中,主关键字用来在一个表中引用来自于另一个表中的特定记录。主关键字是一种唯一关键字,表定义的一部分。一个表的主键可以由多个关键字共同组成,并且主关键字的列不能包含空值。主关键字是可选的,并且可在 CREATE TABLE 或 ALTER TABLE 语句中定义。

    概念

    概述

    主关键字

    主关键字(主键,primary key)是被挑选出来,作表的行的唯一标识的候选关键字。一个表只有一个主关键字。主关键字又可以称为主键。 主键可以由一个字段,也可以由多个字段组成,分别称为单字段主键或多字段主键。又称主码。并且它可以唯一确定表中的一行数据,或者可以唯一确定一个实体。

    码的定义:

    设K是关系模式R(U,F)中的属性或属性组,K’是K的任一真子集。若K→U,而不存在K’→U,则K为R的候选码(Candidate Key)
    Ø 若候选码多于一个,则选其中的一个为主码(Primary Key);
    Ø 包含在任一候选码中的属性,叫做主属性(Primary Attribute);
    Ø 不包含在任何码中的属性称为非主属性(Nonprime Attribute)或非码属性(Nonkey Attribute)
    Ø 关系模式中,最简单的情况是单个属性是码,称为单码(Single Key);最极端的情况是整个属性组是码,称为全码(All-Key)。

    全码的例子

    签约(演员名,制片公司,电影名)
    外码:设有两个关系R和S,X是R的属性或属性组,并且X不是R的码,但X是S的码(或与S的码意义相同),则称X是R的外部码(Foreign Key),简称外码或外键。
    如:职工(职工号,姓名,性别,职称,部门号)
    部门(部门号,部门名,电话,负责人)
    其中职工关系中的“部门号”就是职工关系的一个外码。
    在此需要注意,在定义中说X不是R的码,并不是说X不是R的主属性,X不是码,但可以是码的组成属性,或者是任一候选码中的一个主属性。

    作用

    1)保证实体的完整性;
    2)加快数据库的操作速度;
    3)在表中添加新记录时,ACCESS会自动检查新记录的主键值,不允许该值与其他记录的主键值重复;
    4) ACCESS自动按主键值的顺序显示表中的记录。如果没有定义主键,则按输入记录的顺序显示表中的记录。

    遵循原则

    建立主键应该遵循的原则
    1. 主键应当是对用户没有意义的。如果用户看到了一个表示多对多关系的连接表中的数据,并抱怨它没有什么用处,那就证明它的主键设计地很好。
    2. 永远也不要更新主键。实际上,因为主键除了唯一地标识一行之外,再没有其他的用途了,所以也就没有理由去对它更新。如果主键需要更新,则说明主键应对用户无意义的原则被违反了。
    注:这项原则对于那些经常需要在数据转换或多数据库合并时进行数据整理的数据并不适用。
    3. 主键不应包含动态变化的数据,如时间戳、创建时间列、修改时间列等。
    4. 主键应当由计算机自动生成。如果由人来对主键的创建进行干预,就会使它带有除了唯一标识一行以外的意义。一旦越过这个界限,就可能产生人为修改主键的动机,这样,这种系统用来链接记录行、管理记录行的关键手段就会落入不了解数据库设计的人的手中。

    特点

    1) 一个表中只能有一个主键。如果在其他字段上建立主键,则原来的主键就会取消。在ACCESS中,虽然主键不是必需的,但最好为每个表都设置一个主键。
    2)主键的值不可重复,也不可为空(NULL)。

    定义方法

    在表的设计视图中,选择要定义为主键的一个或多个字段(如果是单字段,可以单击该字段左侧的选定器;如果是多个字段,可以先按住CTRL键,再次单击这些字段的选定器),然后单击工具栏上的”主键”按钮,或者单击右键,从快捷菜单中选择“主键”命令。
    定义主键后,在主键的左侧会显示一个钥匙状的图标,表示该字段已被设为主键,如果没有定义主键,则在保存表时,ACCESS会弹出一个消息对话框,询问用户是否创建主键。如果选择“否”,则不创建主键;选择“是”,则ACCESS会自动创建一个自动编号类型的字段并添加到表的第一列,作为该表的主键。
    若要取消主键,可以先选定该主键字段,再单击工具栏上的“主键”按钮。
    软道语录
    主键
    主键是实体中用于区分,识别不同实体的属性。

    主键方式

    在建置新表格时设定主键的方式
    MySQL:
    CREATE TABLE Customer
    (SID integer,
    Last_Name varchar(30),
    First_Name varchar(30),
    PRIMARY KEY (SID));
    Oracle:
    CREATE TABLE Customer
    (SID integer PRIMARY KEY,
    Last_Name varchar(30),
    First_Name varchar(30));
    SQL Server:
    CREATE TABLE Customer
    (SID integer PRIMARY KEY,
    Last_Name varchar(30),
    First_Name varchar(30));

     

    泊亦网络
    泊亦 » 什么是主键?主键有啥用

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。

    发表评论

    售后服务:

    • 售后服务范围 1、商业模板使用范围内问题免费咨询
      2、源码安装、模板安装(一般 ¥50-300)服务答疑仅限SVIP用户
      3、单价超过200元的模板免费一次安装,需提供服务器信息。
      付费增值服务 1、提供dedecms模板、WordPress主题、discuz模板优化等服务请详询在线客服
      2、承接 WordPress、DedeCMS、Discuz 等系统建站、仿站、开发、定制等服务
      3、服务器环境配置(一般 ¥50-300)
      4、网站中毒处理(需额外付费,500元/次/质保三个月)
      售后服务时间 周一至周日(法定节假日除外) 9:00-23:00
      免责声明 本站所提供的模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: byy03190@163.com),我们会及时删除,给您带来的不便,我们深表歉意!

    Hi, 如果你对这款模板有疑问,可以跟我联系哦!

    联系作者
    • 4会员总数(位)
    • 65资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 110稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情