我为员工时间表创建数据库! 我的属性是,
StaffTimeTable - TimetableID(pk),StaffID,periods,day.
每天一所学校有8个学期(员工需要参加)一个工作人员只能有一个时间表ID。
我的问题是如何使用一个timetableid创建一个数据库5天!!
一个例子
TimeTableID StaffID Day period1 p2 p3 p4 p5 p6 p7 p8
stt001 st001 Monday maths physics
我的问题是我如何插入星期二的TimeTable(同时表id)?
如果回答最明显! :)
答案 0 :(得分:1)
CREATE TABLE periods (
id int,
period varchar(55)
);
这个表看起来像这样
id period
1 'maths'
2 'physics'
3 'english'
... etc
你也应该有一个像这样的日子的表
CREATE TABLE day_of_week (
id int,
day varchar(55)
);
这看起来像这样。
id day
1 'Sunday'
2 'Monday'
3 'Tuesday'
4 'Wednesday'
.... etc.
你应该有一个像这样的员工表
CREATE TABLE staff (
id int,
staff_name varchar(55)
);
这个表看起来像这样。
id staff_name
1 Mary
2 John
..... etc
现在你需要一个连接表。
CREATE TABLE StaffTimeTable (
id int, -- this is the pk
staffID int,
periodID int,
dayID int
);
这些id中的每一个都是其他表中主键的外键... 此外,所有主键ID都应自动递增。
SELECT t.id, s.staff_name, d.day_name, p.period
FROM StaffTimeTable t
JOIN staff s on s.id = t.staffID
JOIN day_of_week d on d.id = t.dayID
JOIN periods p on p.id = t.periodID
ORDER BY t.id;