誰かがこれで私を助けてくれたら本当にありがたいです。1 対多の関係データベースにレコードを挿入する際に問題があります。シナリオは次のとおりです。技術者テーブル (techid、name、surname) とスキルテーブル (skillid、skillDesc、techid) があります。スキル テーブルには、techID 外部キーがあります。
技術者に割り当てられた複数のスキルを持つ技術者を挿入する SQL ステートメント/手順を作成するにはどうすればよいですか?
誰かがこれで私を助けてくれたら本当にありがたいです。1 対多の関係データベースにレコードを挿入する際に問題があります。シナリオは次のとおりです。技術者テーブル (techid、name、surname) とスキルテーブル (skillid、skillDesc、techid) があります。スキル テーブルには、techID 外部キーがあります。
技術者に割り当てられた複数のスキルを持つ技術者を挿入する SQL ステートメント/手順を作成するにはどうすればよいですか?
Technician(techid、name、surname)、Skill(skillid、skillDesc)、および Ability(skillid、techid) の 3 つのテーブルが必要だと思います。テーブルが 2 つしかない場合、技術者へのスキルの各マッピングには、冗長な情報である skillDesc のコピーを含める必要があります。代わりに、Technician オブジェクトと Skill オブジェクトを定義するテーブルと、それらの間の関係を取得する 3 つ目のテーブルが必要です。
最初に次のクエリを実行します。
insert into technician values (my_id, my_name, my_surname)
次に、スキルをループします (疑似コード):
for skill in skills:
insert into Ability values(skill, my_id)
Technician、Skill、TechnicianSkill の 3 つのテーブルが必要です。2 つのテーブルを使用すると、1 人の技術者に複数のスキルを割り当てることはできません。( IF TechID と SkillIDs が主キー )
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)