伙计我真的很感激,如果有人可以帮助我。我在将记录插入一对多关系数据库时遇到问题。场景如下,我有技术员表(技术人员,姓名,姓氏)和技能表(技能人员,技能人员,技术人员)。技能表具有techID外键。
如何创建一个sql语句/程序来插入具有分配给技术人员的多种技能的技术人员?
答案 0 :(得分:2)
我认为你应该有三个表:技术员(技术员,姓名,姓),技能(技能,技能)和技能(技能,技术)。如果您只有两个表,则技能与技术人员的每个映射都必须包含skillDesc的副本,这是冗余信息。相反,您希望表格定义技术人员对象和技能对象,以及第三个表格来捕捉它们之间的关系。
首先执行此查询:
insert into technician values (my_id, my_name, my_surname)
然后循环技能(伪代码):
for skill in skills:
insert into Ability values(skill, my_id)
答案 1 :(得分:1)
你需要三张桌子技师,技能和技术员技能。使用两个表格,您无法为单个技术人员分配多种技能。 (如果TechID和SkillID是主键)
Technician Table:
Columns: TechID, Name, SurName
Skill Table:
Columns: SkillID, SkillDesc
-- Put the TechID and SkillID as a foreign key in this table
TechnicianSkill Table:
Columns: TechID, SkillID
-- You can make a primary key by using the two columns (TechID,SkillID)