• Thank for for your response. I was using Stars as sample data, my actual data is much more mundane.

    I expect my groups to contain at most 100 hundred members and the updates to be infrequent, perhaps dozens a month.

    I have a new design below. I have not written a way to select group members from this structure but I expect that would be fairly easy.

    Please freely critique this new structure.

    You mention an additional table. What could that structure look like? Would that allow for nested subgroups?

    CREATE TABLE Stars (Star varchar(30))

    INSERT INTO Stars (Star) VALUES ('Sirius')

    INSERT INTO Stars (Star) VALUES ('Canopus')

    INSERT INTO Stars (Star) VALUES ('Rigil Kentaurus')

    INSERT INTO Stars (Star) VALUES ('Arcturus')

    INSERT INTO Stars (Star) VALUES ('Vega')

    INSERT INTO Stars (Star) VALUES ('Capella')

    INSERT INTO Stars (Star) VALUES ('Rigel')

    INSERT INTO Stars (Star) VALUES ('Procyon')

    INSERT INTO Stars (Star) VALUES ('Achernar')

    INSERT INTO Stars (Star) VALUES ('Betelgeuse')

    CREATE TABLE StarGroups (StarGroup varchar(45))

    INSERT INTO StarGroups (StarGroup) VALUES ('10 Brightest')

    INSERT INTO StarGroups (StarGroup) VALUES ('Supergiants')

    INSERT INTO StarGroups (StarGroup) VALUES ('Bluestars')

    INSERT INTO StarGroups (StarGroup) VALUES ('Yellowstars')

    INSERT INTO StarGroups (StarGroup) VALUES ('10 Brightest No Supergiants')

    INSERT INTO StarGroups (StarGroup) VALUES ('Blue and Yellow')

    INSERT INTO StarGroups (StarGroup) VALUES ('Blue stars and my current favorite star')

    CREATE TABLE StarGroupMembers (StarGroup varchar(50),Member varchar(30),MemberType varchar(30))

    INSERT INTO StarGroupMembers (StarGroup,Member,MemberType) VALUES ('10 Brightest','Sirius','Star')

    INSERT INTO StarGroupMembers (StarGroup,Member,MemberType) VALUES ('10 Brightest','Canopus','Star')

    INSERT INTO StarGroupMembers (StarGroup,Member,MemberType) VALUES ('10 Brightest','Rigil Kentaurus','Star')

    INSERT INTO StarGroupMembers (StarGroup,Member,MemberType) VALUES ('10 Brightest','Arcturus','Star')

    INSERT INTO StarGroupMembers (StarGroup,Member,MemberType) VALUES ('10 Brightest','Vega','Star')

    INSERT INTO StarGroupMembers (StarGroup,Member,MemberType) VALUES ('10 Brightest','Capella','Star')

    INSERT INTO StarGroupMembers (StarGroup,Member,MemberType) VALUES ('10 Brightest','Rigel','Star')

    INSERT INTO StarGroupMembers (StarGroup,Member,MemberType) VALUES ('10 Brightest','Procyon','Star')

    INSERT INTO StarGroupMembers (StarGroup,Member,MemberType) VALUES ('10 Brightest','Achernar','Star')

    INSERT INTO StarGroupMembers (StarGroup,Member,MemberType) VALUES ('10 Brightest','Betelgeuse','Star')

    INSERT INTO StarGroupMembers (StarGroup,Member,MemberType) VALUES ('Supergiants','Rigel','Star')

    INSERT INTO StarGroupMembers (StarGroup,Member,MemberType) VALUES ('Supergiants','Achernar','Star')

    INSERT INTO StarGroupMembers (StarGroup,Member,MemberType) VALUES ('Supergiants','Betelgeuse','Star')

    INSERT INTO StarGroupMembers (StarGroup,Member,MemberType) VALUES ('Bluestars','Rigel','Star')

    INSERT INTO StarGroupMembers (StarGroup,Member,MemberType) VALUES ('Yellowstars','Procyon','Star')

    INSERT INTO StarGroupMembers (StarGroup,Member,MemberType) VALUES ('Yellowstars','Capella','Star')

    INSERT INTO StarGroupMembers (StarGroup,Member,MemberType) VALUES ('Blue and Yellow','Bluestars','GroupAdd')

    INSERT INTO StarGroupMembers (StarGroup,Member,MemberType) VALUES ('Blue and Yellow','Yellowstars','GroupAdd')

    INSERT INTO StarGroupMembers (StarGroup,Member,MemberType) VALUES ('10 Brightest No Supergiants','10 Brightest','GroupAdd')

    INSERT INTO StarGroupMembers (StarGroup,Member,MemberType) VALUES ('10 Brightest No Supergiants','Supergiants','GroupSubtract')

    INSERT INTO StarGroupMembers (StarGroup,Member,MemberType) VALUES ('Blue stars and my current favorite star','Bluestars','GroupAdd')

    INSERT INTO StarGroupMembers (StarGroup,Member,MemberType) VALUES ('Blue stars and my current favorite sta','Procyon','Star')

    SELECT * FROM Stars

    SELECT * FROM StarGroups

    SELECT * FROM StarGroupMembers

    DROP TABLE Stars

    DROP TABLE StarGroups

    DROP TABLE StarGroupMembers