0 0

外键必需是另一个表中的主键吗?5

外键必需是另一个表中的主键吗?谁能给我分析一下。谢谢
2010年12月28日 15:08

3个答案 按时间排序 按投票排序

0 0

采纳的答案

不是的。

你看看这个例子

2010年12月28日 15:16
0 0

beneo 老师答得好

2015年9月30日 14:29
0 0

可以不是。只要表属性所存数据具有唯一性,那么该属性就可以为主键。

外键是表间关系的参照,可以不是主键。只是表明两个表之间的关系是通过那个属性连接起来的。

比如学生表在设计的时候一般可以用学号作为主键,也可设计一个ID字段,字段由数据库自动生成且不唯一,那么这个ID字段同样可以说是主键。那么对于班级,一个班级对应多个学生,这个时候对于班级表和学生表之间的外键就可以用学生学号,亦可用学生表的ID做外键。

2010年12月28日 15:20

相关推荐

    主键、外键、唯一、约束区别

    外键是一个表中的字段,其值参照另一个表(称为父表)的主键。例如,如果有一个订单表和一个客户表,订单表中可能有一个外键字段指向客户表的主键,这样就可以连接两个表,显示每个订单对应的客户信息。外键的存在...

    SQLServer生成所有外键存储过程

    它们确保一个表中的数据(主键)与另一个表中的数据(外键)之间存在正确的关联。在进行数据库设计时,合理使用外键能确保数据的一致性,防止不合法的数据插入。然而,当数据库规模庞大,字段数量众多时,手动检查和...

    陈俊潼_10185101210_Homework21

    如果尝试在instructor表中插入一个主键(如公司名)不在department表中的记录,如(12345, ABC, Sofware, 10000),则会违反外键约束。同样,删除department表中的记录(Comp. Sci., Taylor, 100000)也会破坏外键约束,...

    数据库设计中的14个技巧

    外键通常是另一个表的主键,用于表示实体之间的联系。 主键与外键的设计至关重要,它不仅能够确保数据的完整性和一致性,还能够帮助我们理解实体之间的逻辑关系。 #### 3. 基本表的性质 基本表是指直接存储原始...

    MySQL外键创建失败1005原因汇总

    如果列上没有索引,需要先为该列创建一个。 6. **语法错误或权限问题**: 有时,错误1005可能是由于SQL语句本身的语法错误,或者是当前用户没有足够的权限来创建外键。检查SQL语句是否正确,并确保拥有`CREATE`和`...

    A first course in database systems(7)PPT学习教案.pptx

    - 主键和Unique约束的区别在于,一个表只能有一个主键,但可以有任意数量的Unique声明。 - Unique约束可以应用于属性集,且Unique属性可以为NULL。 - 若主键只有一个属性,那么该属性是唯一的。如果主键包含多个属性...

    oracle相关

    2. 一对多(One-to-Many, 1:n)关系:一个主表中的记录可以与多个从属表的记录相关联,但反向关系不是必需的。比如,一个作者可以写多本书,但一本书只有一个作者。这种关系在现实生活中很常见,如员工与部门,或...

    SSD7 exam1选择题的答案

    - 投影是SQL查询语言中的一个基本操作,它用于从表中提取特定列,而忽略其他列。这有助于减少结果集的维度,使其更专注于所需的数据。 2. **主键与备用键的数量**( Primary Key vs Alternate Key ) - (b) 只能...

    思科语音报表数据字典

    主键是表中能够唯一标识记录的字段,而外键是表中的一个字段,它引用了另一个表的主键,用于建立表之间的关系。 思科语音报表数据字典中的内容对于数据库管理员(DBA)、开发人员和IT专业人员来说是至关重要的,...

    数据仓库和ETL学习笔记..docx

    事实表是数据仓库中的另一个重要组件,通常具有以下特征: 1. 连接的事实表主键:事实表中的一行记录及全部维度表中的相应记录相关。 2. 数据颗粒:数据粒度是指标的细微环节程度。 3. 完全加和指标:某些指标是...

    OCP11G-1Z0-051

    外键是数据库表中的一个列或列组合,用于引用另一个表中的主键,这样可以建立表之间的关联关系。 3. SQL命令解析 文件提到一个具体的SQL命令示例,即创建新表的命令。这里演示了创建新表时,从已有的SALES表中复制...

    ibatis多表查询

    `user`表存储用户信息,包括`id`(主键),`name`,以及`book_oid`字段,这是一个外键,引用`book`表的`oid`,表示一个用户可以与多本书关联。 对应的Pojo类是Java对象,用于封装数据库中的数据。`User`类包含`id`,`...

    qufen_db_eer_数据库_

    在IT行业中,数据库设计是构建高效、稳定且可扩展的网站系统的重要环节。"qufen_db_eer_数据库_"这个标题暗示我们关注的是一...这些都是构建大型网站数据库所必需的核心技能,对于理解和实现这样一个论坛系统至关重要。

    2021-2022计算机二级等级考试试题及答案No.14909.docx

    2. 外键概念:外键是用于建立和加强两个表之间联系的字段,它引用了另一个表的主键或唯一性索引,可以为空,但并不是用来唯一标识元组的。 3. MsgBox函数语法:MsgBox函数的正确调用格式是MsgBox(提示信息〔,按钮...

    Facebook Online Schema Change原理和大规模表结构变更最佳实践.pdf

    工具会自动进行一系列的检查,如验证主键/唯一键(新表中必需)、检测外键(不支持)、确认表存在、防止意外删除列,以及确保新表的主键覆盖。 Facebook的OSC解决方案旨在解决大型数据库系统中进行表结构变更时的...

    数据库学生选课系统分析设计.doc

    例如,学院类别可以设置为商学院、外国语学院、计算机学院、信息科技学院等固定取值,这些取值可以作为枚举类型或者参照另一个表的主键。触发器(Trigger)可以用来实施业务规则,例如防止直接修改选课成绩,或者在...

    hyberbin 框架 POJO类自动生成工具

    #要使用Hyberbin进行数据库操作必需引入一个properties文件。 #properties文件参见本文件同级文件夹下的database.properties。 #HyberbinData和HyberbinServlet可以只选其一使用 1.数据库中表名和POJO类的名称...

    关系数据库基础.pptx

    关系数据事务管理是数据库系统中的另一个重要方面,确保数据的并发访问和一致性。事务是数据库操作的逻辑单元,它包含一系列操作,这些操作要么全部执行,要么全部回滚,以维护数据库的完整性和一致性。 关系数据...

Global site tag (gtag.js) - Google Analytics