MySQL 实体间的对应关系

本文介绍了数据库设计中的三种基本实体关系类型:单一对应关系、从属关系及交叉从属关系,并通过具体实例展示了如何进行表结构设计。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.单一对应关系

一个实体对应一个实体

例如:一个人的姓名对应一个人的其他不常用信息

设计

两个实体表内,存在相同的主键值。

如果记录内的主键值等于另一个关系表内记录的主键值,

则两条记录对应11

 

 

2.从属关系

一个实体对应多个实体

例如:班级对应学生

设计:

实体较多的那端(学生),增加一个字段,用于表示属于另一个实体

的唯一标志(主键);

 

 

3.交叉从属关系

一个实体对应多个实体,同时,这个实体也有被多个实体对应。

例如:讲师与班级关系;

设计:

典型方法是利用一个中间表表示实体之间的对应关系。

分别记录这个实体的主键,以及任何与它有对应关系的主键。

此时中间表与其他实体的表关系为从属关系。

(表中为组合主键)

记录形式为11.

M:N=1:M+1:N

 

create table t9_class(
class_id int primary key auto_increment,
class_name varchar(10),
begining_time datetime
);

create table t9_student(
stu_id int primary key,
class_id int,
stu_name varchar(10)
);

create table t9_teacher(
teacher_id int primary key
);

create table t9_teacher_class(
class_id int,
teacher_id int,
primary key(teacher_id,class_id)
);

/*
	class与student是一对多关系;
	class与teacher是多对多关系;
        class与teacher_class是一对多关系;
	teacher与teacher_class是一对多关系;
*/

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值