我有两个表:员工和培训,员工表有两列: ID (数字)和名称(文字)。 培训表还有两列:否(数字)和 TrainingName (文本)。
我的老板问了我以下内容: 一些 trainingName 可以按“组名”分类(组名可以通过用户输入动态添加),一个traininName可以分为一组,无组或多于一组。每个员工可以在一个组或不在组内(不能在两个或更多组之下)。 我很困惑如何管理?我是否需要创建另一个表或修改现有表? 我正在使用PostgreSQL9.2。
答案 0 :(得分:2)
您需要再添加两个表:“groups”和“groups_trainings”。
这将是您的数据库布局:
employees:
id
name
group (foreign key to groups.id; can be null)
trainings:
id
trainingName
groups:
id
groupName
groups_trainings
id
trainingID (foreign key to trainings.id)
groupID (foreign key to groups.id)
您需要最后一张表,将n组映射到n次训练。
布局说明如下: