我有两张桌子:一张用于区域(如科学,运动,教育),另一张用于专业(如科学家,设计师,高尔夫球员)。这两个表之间存在外来关系,目前没有任何问题。
但是现在我需要另一张表来说明“工人数量”,“平均年龄”,“公司年数”(这个列表可能与每个职业不同)。做这个的最好方式是什么?创建另一个表?什么是父母?基本上,这是第三个陈述。
CREATE TABLE group (
id smallint(5) unsigned NOT NULL auto_increment,
area varchar(30),
PRIMARY KEY (id)
)
CREATE TABLE job (
ref int(10) unsigned NOT NULL auto_increment,
jobid smallint(5) unsigned NOT NULL,
job varchar(50),
PRIMARY KEY (ref)
)
ALTER TABLE job
ADD CONSTRAINT FK_job
FOREIGN KEY (jobid) REFERENCES group(id)
ON UPDATE CASCADE
ON DELETE CASCADE;
答案 0 :(得分:1)
根据我的理解,我将设置第三个表格如下
Table: Employee
First_Name varchar(30)
Last Name varchar(30)
Age (int(3))
Employment Date (DATE)
Active (Yes/No)
JobFK (Points to emprego.PK)
通过这种设置,您可以在表格上使用联接来计算同一职业中有多少工人。这些员工的平均年龄,以及他们与公司在一起的时间。鉴于有关当前表的更多信息,我甚至可以描述该信息的SQL查询。