I have done some research on it in the past, but I'm not sure how up-to-date it is nowadays nor if it *does* work because I never tried it out myself. But I guess it's worth a look at it, I have it loafing around anyway.
Mind you, it's for patch 2.3, so I'm not sure if it's still the same, but it could help you!
Code:
ItemSet.dbc (patch 2.3, layout most likely doesn't differ much from 2.4)
ID
Id is the item set id, also the one you use for the command .additemset x.
Field1
The name of the item set.
Field2 - 16
Seem to be unused.
Field17
Haven't been able to figure out what field17 is actually used for yet. The majority of it seems to be 16712190, the rest 16711934.
One thing I did notice was that the item sets with the second number are the reputation PvP sets, with the exception of a blue set of swords (Latro's Flurry).
Field18 - 34
The following fields are the ones which are included within the set, for example, if field18 would be the Magister's Leggings (id: 16687) then those leggings would be included within that set id. Leggings in field18 also means they're shown as first in the itemset as in:
Magister's Regalia (0/8)
Magister's Belt
Magister's Bindings
Magister's Crown
Magister's Gloves
Magister's Leggings
Magister's Mantle
Magister's Robes
Magister's Boots
Now as you see the leggings are actually number 5 here, that's because the id is in field22, the 5th field after field17.
I do not know if there's any limit on how big an item set can be, but the biggest one created by Blizzard is 9. I can guess though, as there are 17 fields between field17 and the fields which are used again (starts on 35), I therefore can say you probably can create an item set with 17 items. (This is not enough for a full equip with trinks, armor, weapons etc.)
Field35 - ??
Set bonus parts still to come.
Field51
Indicates if a certain profession is needed for the set bonus to be activated. This only has a influence on the set bonus, not if you can actually equip the item set!
A short list of the profession ID's:
Alchemy - 171
Blacksmithing - 164
Enchanting - 333
Engineering - 202
Herbalism - 182
Jewelcrafting - 755
Leatherworking - 165
Mining - 186
Skinning - 393
Tailoring - 197
I don't know how (if, at all) it handles profession specialisations, nor does Wowhead gives clear info on it, really.
Field52
The profession skill level needed for the set bonus to be activated. The profession is specified in field51. If for example I have 197 (tailoring) in field51, and 350 in field52, then this would mean I would need 350 tailoring for the set bonus to work.
Anyway, if you manage to figure out how to add bonusses, you'll have to release a patch to let it show up at the players' clients. If you don't release a patch, they most likely will get the bonusses (because they're there server-side) but they won't know about it.