我正在开发一个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
。
经典的主细节设计。
包含主信息(培训、事件(的表和包含详细信息的表,用外键引用主表。