you would just add a column to the cart for colors and mark it as unique. That is all you need from an eCart perspective.
In your database it is really up to you. Do products have more than one set of options?
It almost always involves creating an OptionGroup table with things like Size and Color, and an Options table with things like Small, medium, and large.
Then you either have the option group referenced directly from your products table if you only have one option per product, or you have another ProductOptions table to maintain that relationship.
From there it is just a matter of creating a recordset that returns the options on the cart page and displaying those in a list. Dreamweaver offers this functionality, so again it isn't really a matter of getting it working for the cart, it is a matter of getting it working in the catalog and adding to the cart will be the easy part.