通过E-R理解 主键和外键的关系

简介: 实例 现有课程和教师两个实体,课程实体的属性有课程名称、课程编号、课程属性、考试类型;教师实体的属性包括姓名、工号、职称;一门课程可以有多个教师,且每一位教师可以教授多门课程。教师每教授一门课有课序号。

1.png

实例:现有课程教师两个实体,课程实体的属性有课程名称、课程编号、课程属性、考试类型;教师实体的属性包括姓名、工号、职称;一门课程可以有多个教师,且每一位教师可以教授多门课程。教师每教授一门课有课序号

先上图,本人小白,一边学习一边分享。个人理解
主键:是唯一的,一张表中只能有一个主键,也就是唯一标志符和身份证一样可以准确的查到相对应的数据。
(如E-R图中 课程这个实体中的属性有 课程名称,课程编号 , 课程属性,考试类型 ,选择主键时,课程编号可以唯一标识这门课所以把课程编号设为主键)

外键:主要是用来关联,产生两个表的关系。(如E-R中 教授这个实例 连接 课程表和教师表 有自己的属性 同时通过外键 课程编号,和 工号 使得两个表产生联系 )

将E-R图转换成关系模型。
课程( 课程名称, 课程编号, 课程属性, 考试类型 )
教授 ( 课程编号, 工号, 课序号 )
老师 ( 姓名,工号 ,职称 )

主键和外键的区别是:
1,数据库中设置为主键后,不能为空(null),不能重复,外键是另一个表的主键,可以重复。
2主键是为了更加安全的保护数据,而外键是为了产生关系。
3 主键是唯一的(一个表中只可以设置一个),而外键是可以设置很多个。

目录
打赏
0
0
1
1
1
分享
相关文章
|
11月前
使用外键
使用外键。
47 1
|
11月前
外键
外键。
73 5
|
11月前
外键的设置
外键的设置。
117 6
⑦【MySQL】什么是约束?如何使用约束条件?主键、自增、外键、非空....
⑦【MySQL】什么是约束?如何使用约束条件?主键、自增、外键、非空....
316 0
MySQL约束——添加主键约束(联合主键)、删除主键约束
MySQL约束——添加主键约束(联合主键)、删除主键约束
3002 0
设计表的时候,对于自增列做物理主键使用的一点思考
原文:设计表的时候,对于自增列做物理主键使用的一点思考   本文出处:http://www.cnblogs.com/wy123/p/7581380.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错误进行修正或补充,无他)     关于自增列 自增列作为数据库的一个特性之一,在MSSQL和MySQL以及Oracle中都被支持。
2091 0
(细节)My SQL中主键为0和主键自排约束的关系
开始不设置主键 表的设计如下: 如果id的位置有好几个0的话:设置主键并且自动排序时,0会从1开始递增;   Insert 进去 id = 0的数据,数据会从实际的行数开始增加,和从0变化不一样;   现在主键是没有0的,如果把某个id改成0的话,0不会变!直接会进行排序;   ...
1190 0