MySQL表设计,可保存多个培训日期



我正在开发一个web应用程序来跟踪培训日期。

在通常情况下,训练日期通常为2020年6月10日至2020年6日12日。这对于数据库表列training_start_ date&training_end_date

如果我们的训练日期是2020年6月10日至12日、15日、16日呢?我将如何为上面的培训日期示例设计表格?

谢谢。

如果一次培训可能有多个课程,那么我建议使用两张表。

create table trainings (
training_id int primary key auto_increment,
name        varchar(50)
);
create table sessions (
session_id int primary key auto_increment,
training_id int,
date_start  datetime,
date_end    datetime,
constraint training_fk 
foreign key (training_id) references trainings(training_id)
);

父表存储有关培训的信息,而子表每个培训会话包含一行。我使用了datetime,因为您可能也想存储一个时间组件。否则,可以使用date

经典的主细节设计。

包含主信息(培训、事件(的表和包含详细信息的表,用外键引用主表。

最新更新