I am new-ish to Database Design, and I have designed a database that will be used to hold information for the size of clothes for specific labels at different stores. I wanted to get critiques and suggestions for alternatives on my work.

Let me know what you all think.

Table: Size
This will actually be three tables, each modeling a different type of sizing. There's your standard Small, Medium, Large. Then there's Women's sizing: 00, 0, 2, 4, 6, 8, etc. Finally petite sizing, 0P, 2P, 4P, 6P, etc.

This table will hold an integer that represent the centimeter length for each size. So there will be a SizeStd, SizeSML, and SizePetite table. Each size will be a column and have a primary key generated ID. So, the columns of SizeSML would be:
  • Id
  • XS
  • S
  • M
  • L
  • XL
  • XXL


Table: Measurement
Columns are:
  • Id: Primary Key
  • Type: Secondary Key. This is an enumerated type and can be BUST, WAIST, HIP, INSEAM, or TORSO
  • SizeStdKey
  • SizePetiteKey
  • SizeSMLKey

For the three size keys above one and only one must be specified. This looks like the weakest part of my design, but I'm not sure what better alternative is available.

Table: Clothes
Columns are:
Id (primary key)
MeasurementId (contains a record for each Type enumeration)
BrandId
StoreId
Category (an enumeration with values tops, jeans, bras, etc)
Description (optional)


Other trivial tables:
Brand (A clothing brand)
Id
Name
StoreId

Store
Id
Name

Your help is appreciated. My thanks to the community.