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

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

1.png

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

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

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

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

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

相关文章
|
存储 设计模式 测试技术
了解三层架构:表示层、业务逻辑层、数据访问层
了解三层架构:表示层、业务逻辑层、数据访问层
7036 0
|
存储 分布式计算 资源调度
Hadoop运行模式(三)、群起集群、配置workers、启动集群、启动HDFS、拼接、Web端查看HDFS的NameNode、Web端查看YARN的ResourceManager
Hadoop运行模式(三)、群起集群、配置workers、启动集群、启动HDFS、拼接、Web端查看HDFS的NameNode、Web端查看YARN的ResourceManager
Hadoop运行模式(三)、群起集群、配置workers、启动集群、启动HDFS、拼接、Web端查看HDFS的NameNode、Web端查看YARN的ResourceManager
如何绘制PAD图和N-S图(详细步骤)
如何绘制PAD图和N-S图(详细步骤)
2098 0
|
存储 缓存 JSON
详解HTTP四种请求:POST、GET、DELETE、PUT
【4月更文挑战第3天】
71169 5
详解HTTP四种请求:POST、GET、DELETE、PUT
|
SQL XML Java
【MyBatis】 MyBatis与MyBatis-Plus的区别
【MyBatis】 MyBatis与MyBatis-Plus的区别
7205 0
【MyBatis】 MyBatis与MyBatis-Plus的区别
|
数据建模 数据库
E-R图总结规范
E-R图总结规范
2522 0
|
安全 JavaScript Java
失物招领|基于Springboot的校园失物招领系统设计与实现(源码+数据库+文档)
失物招领|基于Springboot的校园失物招领系统设计与实现(源码+数据库+文档)
646 0
|
程序员 uml
UML图 | 时序图(顺序、序列图)绘制
UML图 | 时序图(顺序、序列图)绘制
4112 1
|
安全 数据安全/隐私保护
深入解析:HTTP和HTTPS的三次握手与四次挥手
在这些握手和挥手过程中,双方交换信息,协商参数,建立或关闭连接,以保证数据的可靠传输。HTTPS在此基础上加入了数字证书验证和加密通信,增加了安全性。这些步骤确保了HTTP和HTTPS协议的通信过程的稳定和安全。
769 0