There are 3 tables ships, battlegroup, battle_ship.
Each user has 4 battlegroups and each battle group can contain any of the available ships and various quantities of those ships.
Ships
ShipID PK
Armor
Shields
etc
etc
BattleGroup
BattleGroupNum PK
UserID PK/FK
Location
Destination
Strategy
Battle_Ship
BattleGroupNum PK/FK
UserID PK/FK
ShipID PK/FK
Quantity
I'm not sure about if using a compesite key is the best thing to have linking in a many:many.
As if 1000 user each has 4 battlegroups with each battle group having 20 different types of ship in, then thats 80000 rows in Battle_Ship table so less fields the better in there?
If I have a single pk link it would mean an exta field in BattleGroup table. Eg
Ships
ShipID PK
Armor
Shields
etc
etc
BattleGroup
BattleGroupID PK
UserID FK
BattleGroupNum
Location
Destination
Strategy
Battle_Ship
BattleGroupID PK/FK
ShipID PK/FK
Quantity
Thanks in advance.