• Hi all,

    here is the script I wrote for myself, according to the puzzle specification. It also contains some sample data.

    CREATE TABLE SPECIES(
      spcid INTEGER primary key,
      spcname VARCHAR(100)
    )
    GO
    
    CREATE TABLE ALIEN_MISSILE(
      missile_id INTEGER primary key,
      missile_name VARCHAR(100),
      descr VARCHAR(400)
    )
    GO
    
    CREATE TABLE ALIEN_CAPABILITY(
      spcid INTEGER,
      missile_id INTEGER,
      constraint fk_alien_capability_species foreign key (spcid) references SPECIES(spcid),
      constraint fk_alien_capability_alien_missile foreign key (missile_id) references ALIEN_MISSILE(missile_id)
    )
    GO
    
    CREATE TABLE ANTI_MISSILE(
      antim_id INTEGER primary key,
      anitm_name VARCHAR(100),
      anitm_descr VARCHAR(400)
    )
    GO
    
    CREATE TABLE DEFUSE_CAPABILITY(
      antim_id INTEGER,
      missile_id INTEGER,
      constraint fk_defuse_capability_anti_missile foreign key (antim_id) references ANTI_MISSILE(antim_id),
      constraint fk_defuse_capability_alien_missile foreign key (missile_id)  references ALIEN_MISSILE(missile_id)
    )
    GO
    
    SET NOCOUNT ON
    INSERT INTO SPECIES (spcid, spcname) VALUES (1, 'X')
    INSERT INTO SPECIES (spcid, spcname) VALUES (2, 'Y')
    
    
    INSERT INTO ALIEN_MISSILE(missile_id, missile_name, descr) VALUES (1, 'M-1', 'Missile 1')
    INSERT INTO ALIEN_MISSILE(missile_id, missile_name, descr) VALUES (2, 'M-2', 'Missile 2')
    INSERT INTO ALIEN_MISSILE(missile_id, missile_name, descr) VALUES (3, 'M-3', 'Missile 3')
    INSERT INTO ALIEN_MISSILE(missile_id, missile_name, descr) VALUES (4, 'M-4', 'Missile 4')
    
    
    INSERT INTO ALIEN_CAPABILITY(spcid, missile_id) VALUES (1, 1)
    INSERT INTO ALIEN_CAPABILITY(spcid, missile_id) VALUES (1, 2)
    INSERT INTO ALIEN_CAPABILITY(spcid, missile_id) VALUES (1, 3)
    
    INSERT INTO ALIEN_CAPABILITY(spcid, missile_id) VALUES (2, 1)
    INSERT INTO ALIEN_CAPABILITY(spcid, missile_id) VALUES (2, 4)
    
    
    INSERT INTO ANTI_MISSILE(antim_id, anitm_name, anitm_descr) VALUES (1, 'AM-1', 'Anti-missile 1')
    INSERT INTO ANTI_MISSILE(antim_id, anitm_name, anitm_descr) VALUES (2, 'AM-2', 'Anti-missile 2')
    INSERT INTO ANTI_MISSILE(antim_id, anitm_name, anitm_descr) VALUES (3, 'AM-3', 'Anti-missile 3')
    INSERT INTO ANTI_MISSILE(antim_id, anitm_name, anitm_descr) VALUES (4, 'AM-4', 'Anti-missile 4')
    
    
    INSERT INTO DEFUSE_CAPABILITY(antim_id, missile_id) VALUES (1, 1)
    INSERT INTO DEFUSE_CAPABILITY(antim_id, missile_id) VALUES (1, 2)
    INSERT INTO DEFUSE_CAPABILITY(antim_id, missile_id) VALUES (1, 3)
    INSERT INTO DEFUSE_CAPABILITY(antim_id, missile_id) VALUES (1, 4)
    
    INSERT INTO DEFUSE_CAPABILITY(antim_id, missile_id) VALUES (2, 1)
    INSERT INTO DEFUSE_CAPABILITY(antim_id, missile_id) VALUES (2, 2)
    
    INSERT INTO DEFUSE_CAPABILITY(antim_id, missile_id) VALUES (3, 1)
    INSERT INTO DEFUSE_CAPABILITY(antim_id, missile_id) VALUES (3, 2)
    INSERT INTO DEFUSE_CAPABILITY(antim_id, missile_id) VALUES (3, 3)
    
    INSERT INTO DEFUSE_CAPABILITY(antim_id, missile_id) VALUES (4, 1)
    INSERT INTO DEFUSE_CAPABILITY(antim_id, missile_id) VALUES (4, 2)
    INSERT INTO DEFUSE_CAPABILITY(antim_id, missile_id) VALUES (4, 4)
    
    GO
    

    Regards,

    Goce.