精华内容
下载资源
问答
  • 数据库之主码和外码

    万次阅读 多人点赞 2019-04-24 21:29:34
    想要明白主码和外码的概念前,需要先对域和笛卡儿积概念有一个彻底的理解。请阅读的童靴务必耐心~O(∩_∩)O 1.域 定义:域是一组 具有相同数据类型值的 集合。(域就是集合,不过集合里的元素是相同的数据类型) ...

    目录

    1.域

    2.笛卡儿积

    3.关系

    主码

    外码


    想要明白主码和外码的概念前,需要先对域和笛卡儿积概念有一个彻底的理解。请阅读的童靴务必耐心~O(∩_∩)O

    1.域

    定义:域是一组 具有相同数据类型值集合。(域就是集合,不过集合里的元素是相同的数据类型)

    例如,自然数、整数、实数、大于一小于一百的数、{男,女}都可以是域。

    2.笛卡儿积

    笛卡儿积是 域上 的一种集合运算。

    定义:给定一组域D1,D2,D3···,Dn,允许其中某些域是相同的,D1,D2,D3,···,Dn的笛卡儿积定义为

               D1×D2×D3×···×Dn={(d1,d2,d3,···,dn) | di∈Di ,i=1,2,···,n}

    大白话就是从每个域中抽出一个元素放在一起,每一个(d1,d2,d3,···,dn) 称之为一个元组

    这样说还是比较抽象,举一个例子: 

                                      

    3.关系

    定义: D1×D2×D3×···×Dn 的子集叫做在域D1,D2,D3,···,Dn上的 关系,表示为 R(D1,D2,D3,···,Dn)。

                (笛卡儿积中若干个元组的集合就是关系)

    主码

    若关系中的某一个属性组的值能唯一地标识一个元组,而其子集则不能,则称该属性组为候选码(candidate key)

    若一个关系中有多个候选码,则选定其中一个为主码。例如学生的学号就可以作为一个主码,因为它是唯一的。

    一个关系可以没有主码,但是设置一个主码的话对数据库查询效率会高一些。

    主码不一定是只有一个属性,主码可以由一个或者多个属性组成。主码是候选码之一。

    考虑主码的时候考虑的是属性的唯一性,即该属性的值不会重复,如果重复了就无法唯一标识整个元组。

    主码和设置非空的关系是什么?

    主码的要求是:非空、唯一性。

    而设置某个属性:非空仅仅是不允许输入空值,但却可以重复。

     

    外码(外键)

    那么什么是外码呢?

    如果一个关系中的一个属性(该属性不能是候选码)是另外一个关系中的主码则这个属性为外码。

    外码的值要么为空,要么要为其对应的主码中的一个值。

     

    那么外键的作用是什么呢?

    保持数据一致性,完整性,主要目的是控制存储在外键表中的数据。

    使两张表形成关联,外键只能引用外表中的列的值或使用空值。

     

    阻止执行(情况一):

    1、从表插入新行,其外键值不是主表的主键值便阻止插入;

    2、从表修改外键值,新值不是主表的主键值便阻止修改;

    3、主表删除行,其主键值在从表里存在便阻止删除(要想删除,必须先删除从表的相关行);

    4、主表修改主键值,旧值在从表里存在便阻止修改(要想修改,必须先删除从表的相关行)。

    级联执行(情况二):

    1、主表删除行,连带从表的相关行一起删除;

    2、主表修改主键值,连带从表相关行的外键值一起修改。

           两种方法提供给用户选择。无论选取哪种方法,从表里都不会有多余行。

           从另一个角度理解,用拒绝同一事物在从表中的标志与主表不一致。

     

    展开全文
  • 首先说明 键字=码字,所以 主键=主=主关键字,候选键=候选=候选关键字... 所谓关系键,指的是一个表中的一个(或一组)属性,用来标识该表的每一行或与另一个表产生联系。 话不多说,上图:  相信这个图...

    一、讲解

           首先说明 键字=码字,所以 主键=主码=主关键字,候选键=候选码=候选关键字...

    所谓关系键,指的是一个表中的一个(或一组)属性,用来标识该表的每一行与另一个表产生联系

    话不多说,上图:

      相信这个图已经画得很清晰了,下面逐一解释:

      1、码=超键:能够唯一标识一条记录的属性或属性集。

      • 标识性:一个数据表的所有记录都具有不同的超键
      • 非空性:不能为空
      • 有些时候也把码称作“键”

      2、候选键=候选码:能够唯一标识一条记录的最小属性集

      • 标识性:一个数据表的所有记录都具有不同的候选键
      • 最小性:任一候选键的任何真子集都不能唯一标识一个记录(比如在成绩表中(学号,课程号)是一个候选键,单独的学号,课程号都不能决定一条记录)
      • 非空性:不能为空
      • 候选键是没有多余属性的超键
      • 举例:学生ID是候选码,那么含有候选码的都是码。
      • 少部分地方也有叫超级码的,但是见得不多

      3、主键=主码某个能够唯一标识一条记录的最小属性集(是从候选码里人为挑选的一条)

      • 唯一性:一个数据表只能有一个主键
      • 标识性:一个数据表的所有记录都具有不同的主键取值
      • 非空性:不能为空
      • 人为的选取某个候选码为主码

    4、主属性  包含在任一候选码中的属性称主属性。简单来说,主属性是候选码所有属性的并集

          非主属性  不包含在候选码中的属性称为非主属性。 非主属性是相对于主属性来定义的。

    5外键(foreign key):子数据表中出现的父数据表的主键,称为子数据表的外键。

    6、全码:当所有的属性共同构成一个候选码时,这时该候选码为全码。(教师,课程,学生)假如一个教师可以讲授多门课程,某门课程可以有多个教师讲授,学生可以听不同教师讲授的不同课程,那么,要区分关系中的每一个元组,这个关系模式R的候选码应为全部属性构成 (教师、课程、学生),即主码。

    7、代理键:当不适合用任何一个候选键作为主键时(如数据太长等),添加一个没有实际意义的键作为主键,这个键就是代理键。(如常用的序号1、2、3)

    8、自然键:自然生活中唯一能够标识一条记录的键(如身份证)

    二、例子

    下面举例说明

    课本上的定义过于笼统,下面我用一张学生成绩信息表给大家详细的说一下:

    学生成绩信息表中有(学号、姓名、性别、年龄、系别、专业等)

    超键/码:

      由于学号能确定一个学生,因此学生表中含有学号的任意组合都为此表的超键。如:(学号)、(学号,姓名)、(学号,性别)等

     若我们假设学生的姓名唯一,没有重名的现象。

          学号唯一,所以是一个超键
          姓名唯一,所以是一个超键
         (姓名,性别)唯一,所以是一个超键
         (姓名,年龄)唯一,所以是一个超键
         (姓名,性别,年龄)唯一,所以是一个超键

    候选键:

       学号唯一,而且没有多余属性,所以是一个候选键

       姓名唯一,而且没有多余属性,所以是一个候选键

      (姓名,性别)唯一,但是单独姓名一个属性就能确定这个人是谁,所以性别这个属性就是多余属性,所以(姓名,性别)不是候选键
      (姓名,年龄),(姓名,性别,年龄)同上,也不是候选键

    主键:

      主键就是候选键里面的一个,是人为规定的,例如学生表中,我们通常会让“学号”做主键,学号能唯一标识这一个元组。

    外键:

       外键就很简单了,假如我们还有一个教师表,每个教师都有自己的编号,假设老师编号在教师表中是主键,在学生表中它就是外键

    三、练习

    做一道练习题巩固一下(假设名字可能有重复):

    参考答案:

    1.答案:

    (1)候选关键字2个:(学号),(身份证号)
    (2)主关键字:(学号)
    (3)主属性2个:学号,身份证号
    (4)非主属性2个:姓名,系别
    2. 答案:

    (1)候选关键字1个:(学号,课程号)
    (2)主关键字:(学号,课程号)
    (3)主属性2个:学号,课程号
    (4)非主属性1个:成绩
    (5)外部关键字:学号(引用学生信息表中的学号),课程号(引用课程信息表中的课程号)
    3.答案:

    (1)候选关键字1个:(课程号)
    (2)主关键字:(课程号)
    (3)主属性1个:课程号
    (4)非主属性2个:课程名,学分 

    如有疑问请在评论区留言,如有帮助麻烦右上角点个赞~~蟹蟹(*^▽^*)

    展开全文
  • 数据库中几个基本概念 主码 外码

    万次阅读 多人点赞 2015-07-17 10:20:22
    主码 ,外码也可以成为主键,外键。 什么是主码,主码是一个能唯一标识一个元组的属性。在一个关系(表)中,主码不一定只有一个,但是一定要有的。因为元组,是对世界中某种事物的数据描述,而世界中各种事物,都...

    主码 ,外码也可以称为主键,外键。

    什么是主码,主码是一个能唯一标识一个元组的属性。在一个关系(表)中,主码不一定只有一个,但是一定要有的。因为元组,是对世界中某种事物的数据描述,而世界中各种事物,都具有唯一性,都是可以区分的。在计算机中为了描述事物的唯一性,引入了主码的概念。在一个关系中,不同元组的主码一定不能为空,且值一定要不同。因为如果为空说明这个事物是不可标识的,而这个世界的任何事物都是可以标识的,说以主码为空显然不合法;如果两个主码值相同则说明两个事物是相同的,而这个世界的任何事物都是不同的,所以两个主码值相同,显然也是不合法的。


    什么是外码,如果一个关系中的一个属性是另外一个关系中的主码则这个属性为外码。外码的值要嘛为空,要嘛要为其对应的主码中的一个值。

    展开全文
  • 数据库主码、外码

    万次阅读 多人点赞 2015-12-07 11:38:02
    主码和外码是用来实现参照完整性的,外码的数据项需参照主码的数据项来操作。具体实现是在创建数据库时为表间创立关系。如:  三个关系: 学生信息表(学号、姓名、性别、出生年月、籍贯、所属学院) //学号 是...
    主码和外码是用来实现参照完整性的,外码的数据项需参照主码的数据项来操作。具体实现是在创建数据库时为表间创立关系。如: 
    三个关系:
    学生信息表(学号、姓名、性别、出生年月、籍贯、所属学院) //学号 是主键(主码
    课程表(课程号,课程名称,学分) //课程号 是主键(主码
    成绩表(学号,课程号,成绩) //学号 是外码;课程号 是外码

    “成绩表”(从表)的学号参照“学生信息表”(主表)的学号来录入。1、也就是主表里面没有的学号,从表里面不能有,外码参照主码录入;2、级联操作,即当删除、修改某个主表里面的学号时,从表里面的那个学号会相应的自动删除、修改。外码参照主码操作。
    展开全文
  • 简体汉字编码中区位码、国标码、内码、外码、字形码的...内码、外码、字形码又是什么意思?它们是如何转换的,又为什么要这样转换? 下面以GB2312为例来加以说明(由于GBK、GB18030是以GB2312为基础扩展而来,因此...
  • 条形什么,主要有什么区别

    千次阅读 多人点赞 2019-01-14 22:14:23
    条形—物联网的出生证现今社会,几乎所有商品的包装上,都有一组灰白相间条纹的标签这就是条形我们简称条码。它是商品通行于国际市场的“共同语言”,是商品进人国际市场和超市的通行证,是全球统一标识系统和...
  • 可以将理解为键的意思; **1.=键:**能够唯一标识一条记录的属性或者属性集。 2.候选=候选键:能够唯一标识一条记录的最小属性集。 最小性:任一候选键的任何真子集都不能唯一标识一个记录 举例:学生ID是候选...
  • 1、候选:能够唯一标识一条记录的最小属性集。若关系中的一个属性或属性组的值能够唯一地标识一个元组,且他的真子集不能唯一的标识一个元组,则称这个属性或属性组做候选。 2、主:主指主关键字。主关键字...
  • 什么是外部

    千次阅读 2019-12-17 21:59:57
    关系模式 R 中属性或属性组X 并非 R的码,但X 是另一个关系模式的码,则称 X 是R 的外部码( Foreign key) 也称外码 如在SC( Sno, Cno, Grade)中, Sno不是码,但Sno是关系模式S( Sno, Sdept, Sage)的码,...
  • 也在最后加入了一个例子来证实了一下在GB2312编码下从区位到实际在计算机中存储的二进制字节流的转换过程。因此我将这篇文章定为原创,望理解。下面是正文。 GB2312等GB类汉字编码方案的具体实现方...
  • 数据库中restrict和casecade是什么意思?

    万次阅读 多人点赞 2017-02-08 15:44:14
    外码所指定的字段中数据的增删改是受到外码约束的限制的,在数据增删改时会检查是否满足外码约束条件, 当不满足外码的条件时,所做的处理与定义外码时指定的restrict关键字或者cascade关键字有关。 下面以一个...
  • SWIFT是什么意思?

    千次阅读 2015-01-13 21:22:04
    SWIFT是代码,即SWIFT CODE或是SWIFT ADDRESS。... 这些号码是银行参加这些联盟所赋予的代号,可以到当地银行查询,因为国际汇款、转账等交易都需要经国外代理行,所以需要加入银行的这些组织,便于操作。...
  • 多维理念 输入法的外码输入理论跟文字输出类型精髓 通常,我们的输入法使用的外码是拼音,但是,这个的用户体验很差.. 应该使用多个外码类型... ##按照词汇来源,有如下几个 固有词ati 来自english英文 ...
  • Hash索引基于Hash表实现,只有查询条件精确匹配Hash索引中的所有列才会用到hash索引 存储引擎会为Hash索引中的每一列都计算hash,Hash索引中存储的即hash,所以每次读取都会进行两次查询 Hash索引无法用于排序 ...
  • 404 not found是什么意思?该怎么解决?

    万次阅读 2018-01-20 15:53:47
    最近有个客户遇到了网页打开提示“404 not found“的情况,但是不知道404 not found是什么意思?也不知道该怎么解决?下面主机吧就给大家全面解答一下404 not found是什么意思,以及该怎么解决这个问题。 ...
  • 什么是低代码?白详解

    千次阅读 2020-05-12 10:27:47
     什么是低代码:  什么是低代码?低代码是一种快速设计和开发软件应用程序并且手动编码最少的方法。它可以为技术人员提供更快,更可靠的价值。通过在图形界面中使用可视化建模来组装和配置应用程序,开发人员可以...
  • 什么是POS机跳

    千次阅读 2019-01-31 11:52:01
    最近一些业务员宣传POS机时候总爱宣传,绝对不跳,绝对不跳,跳,我就跳楼。让很多消费者疑惑,为何跳这样重要,如果跳对卡有何影响呢? 日常刷卡消费中,你是不是经常遇到这样的现象: 1、晚上刚和朋友...
  • 今天小编就给大家带来一篇小小的PT科普篇,告诉大家什么是PT。因为是PT是小众行业,所以本文也会进行一些适当的举例说明,目的是为了让给大家更好的理解PT下载是什么意思。 首先,针对PT下载这一个词语的出现。我们...
  • 什么是URL?URL是什么意思

    万次阅读 多人点赞 2013-09-23 17:08:07
    什么是URL? URL是Uniform Resource Locator的缩写,即统一资源定位系统,也就是我们通常所说的网址。URL是在Internet的WWW服务程序上用于指定信息位置的表示方法,它指定了如HTTP或FTP等Internet协议,是惟一能够...
  • 什么之后会自动有商家的宣传视频 接下来从开发的角度去剖析整个项目 首先一般来说用户发视频只能是在抖音上发布,如果想从其他地方发视频到抖音上,那必须是抖音官方提供接口才能发,所以
  • URL是什么意思 ? URL介绍

    千次阅读 2020-01-09 20:14:18
    URL它具有全球唯一性,正确的URL应该是可以通过浏览器打开此网页的,但如果您访问网,会提示网页无法打开,这并不能说明这个URL是错误的。只不过在国内不能访问而已。 下面以浏览一组网页来说URL,如下图: ...
  • COE,是指RPA卓越中心,即Center of Excellence,简称COE,是企业早期部署RPA时创建的部门,用于支持RPA的实现和正在进行的部署。... 如有不对还请指正哈,同时也欢迎大家进群交流,扫后长按识别二维码即可加入
  • PIN最先出现在手机上,PIN(PIN1,还有一种是PIN2,这里不对它拓展了) ,全称Personal Identification Number.就是SIM卡的个人识别密码。 手机的PIN是保护SIM卡的一种安全措施,防止别人盗用SIM卡,如果启用了...
  • OTP ROM MCU是什么意思

    千次阅读 2015-11-03 17:33:16
    另一方面,对于复杂系统,16 KB的OTPROM容量如果不够,则需要采用扩展外部存储器,为了保证有效实现加密功能,应保留一部分程序在片内OTPROM,此时便涉及到单片机内、存储器的衔接问题。   如果内部存储器...
  • EVT、DVT、PVT、MP是什么意思

    千次阅读 2020-06-29 14:39:51
    关注,一起学习 PLM(Product Lifecycle Management)System:PLM是协助产品能够顺利完成在新产品开发(NPI:New Product Introduction),以及量产后的相关工程技术执行作业,大至分为五个阶段Planning(产品...
  • 手游ip是什么意思

    千次阅读 2014-12-03 10:51:13
    刘琨:它的内涵是给用户一个代入,里面存在什么样的内涵和内核。 王乐:下面押轴了,有请DeNA的王勇。 王勇:IP的定义大家刚才都讲了,我讲得俗一点IP是素材,作用是帮助我们差别化和低成本获得用户,我...
  • linux中的shell是什么意思

    千次阅读 2017-04-12 17:40:16
    这些变量,不允许用户以令的方式定义他们.同别的变量,用$符号引用他们. 3.shell中引号的使用方法 shell使用引号(单引号/双引号)和反斜线("\")用于向shell解释器屏蔽一些特殊字符. 反引号(")对shell则有...
  • 什么是ASCII?2.汉字的表示和编码是怎样的? 1.什么是ASCII? 我们知道我们日常见到的数字(0~9)、符号比如:#、%、+、@等、英语字母如:(A~z)、(a~z),它们在计算机中都是以二进制来表示存储的,咱们可以用...
  • 在oracle中函数NVL是什么意思?

    千次阅读 2012-05-15 00:03:13
    Nvl(FieldName,0)意思是如果FieldName为Null,那么返回0,否则返回FieldName的值。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 123,142
精华内容 49,256
关键字:

外码是什么意思