Hi, I have tried two db designs and both can work but I wonder which one the db gurus would go with. This is a general db design question that has cropped up in a few situation. Here is the example I've been working on... In an online store, categories and images have a many-to-many relationship and products and images have a many-to-many relationship. (It may be that many other tables can have many-to-many relationship with images.) The db has the basic three tables categories - id - name products - id - name images - id - filename What I can't decide on is how to do the join tables. Option 1 - would have many join tables and each would require a class in my ORM. categories_images - category_id - image_id images_products - product_id - image_id Option 2 - have a one generic join table and only one join class image_joins - owner_class - owner_id - image_id In option 2 a record could be (Category, 2, 3) or (Product, 4, 1) -------- Option 1 seems simpler but could lead to some repetitive code (at least in the data base definition). Option 2 has only one join table and class. It is a little more complicated and I don't know how it fits into the normalization stuff. How do I choose? Thanks, Peter