基本上,我需要创建一个新表,该表使用其他两个表中的特定信息。
例如,我有一个名为person的表,其中包含person\u id、first\u name、last\u name、gender、age和fav\u quote元素。我还有一个名为department的表,其中包含dept\u id、dept\u name和building元素。我现在需要创建一个包含person\u id和dept\u id元素的交集表。而且两者都必须是主键(我假设这只是指我的源代码中的主键(person\u id,dept\u id)命令)。
创建表人员(
person\u id int(8)非空自动增量,
名字varchar(25)不为空,
姓varchar(25)不为空,
性别varchar(1),
年龄积分(8),
最喜欢的引用文本,
主键(person\u id)
);
创建表部门(
部门id int(8)非空自动增量,
部门名称varchar(25)不为空,
建筑varchar(25)不为空,
主键(部门id)
);
这是我为最初的两个表编写的代码,我只是不知道如何创建一个交集,而且,在回顾我的笔记之后,我找不到如何编写交集的说明。
2条答案
按热度按时间1cklez4t1#
您需要一个包含2个字段的表;person\u id和dept\u id。该表将有两个表person和department主键的外键,以及两者的复合主键。
此外,只有在人员与部门之间存在一对多关系时,才需要此表。否则,只需亲自添加dept\u id作为外键。
yeotifhr2#
你的主键部分是对的。我会将外键添加到现有表中,以防止创建与不存在的人员或部门的交互: