Hi everyone, I¹m trying to set up a database with information that will be used in a garment slideshow in flash.
The information to be included as part of the slideshow would be: code, optional title, description, colours, sizes, garment image, fabric swatch image Each clothing item to be included in the slideshow will belong to one of eleven or so categories. Each of the categories will belong to one of two category types. I also planned to set up a simple CMS that would allow the information to be added, edited and deleted from the database. With the above goals in mind, I came up with two tables as follows: GARMENTS TABLE garment_id, int(11), not null, auto_increment, primary key cat_id, int(10), unsigned, not null, default 0 garment_code, varchar(30), not null garment_title, varchar(40), null garment_desc, varchar(255), not null garment_image, varchar(50), not null garment_colour, varchar(50), not null garment_swatch, varchar(50), null garment_sizes, varchar(100), not null CATEGORIES TABLE cat_id, int(10), not null, auto_increment, primary key cat_name, varchar(40), not null cat_type, tinyint(4), not null, default 1 I was worried about repeating data in some of the columns, for example the garment_desc column would have information about sleeve length, cuff type, fabric, fabric composition etc. and I thought that all these areas could possibly be broken up into separate tables, but I wasn¹t sure if it was necessary. Also the colour and size columns would have a lot of repetitive data. Someone indicated that normalization is not about eliminating repetition, it¹s about ensuring that the non-key attributes are functionally dependent on the entire primary key, but then I read somewhere that you¹re supposed to break down the information as far as possible to avoid redundancy so I¹m a bit confused. Or does it depend on the situation and what¹s required of the database. I mean say the CMS needed to have more functionality than what I indicated above I mean say the client wanted to be able to generate reports based on style information such as fabric composition or sleeve style etc. - would this change the setup? I wondered if someone could comment on the setup to see if I¹m on the right track here? Appreciate any help.