实体关系模型
实体Entity:一个表就是一个实体
关系Relationship:实体与实体之间的联系
实体关系模型也称为ER模型
用图形表示ER模型时,这个图就称为ER图。
用矩形表示实体,用椭圆形表示实体的属性,用菱形表示实体之间的关系,用直线连接各个图形。
实体之间的关系
一对一
实体A与实体B之间唯一对应。
如一个国家有一个领导人,一个人对应一个配偶。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-drSjf8JI-1672632498874)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\1672123838190.png)]
在数据库中创建表的过程
可以使用一张表实现,但如果使用一张表保存时,后期维护扩展时较为不便。
最好使用两张表。
-
创建国家表
create table country( country_id int not null primary key auto_increment, country_name varchar(20) not null, country_population bigint not null, country_area int not null )
-
创建领导人表
create table leader( leader_id int not null primary key auto_increment, leader_name varchar(20) not null, leader_birthday date not null )
这时两张表是独立的,并不能体现一对一的管理关系,可以通过以下方式体现一对一。
-
方式一:
创建一个管理表,保存两张表中的主键,添加唯一约束
create table relation( relation_no int not null primary key auto_increment, country_id int not null unique, leader_id int not null unique, foreign key (leader_id) references leader(leader_id), foreign key (country_id)