Suppose we have a business database containing (among others) an "Orders" and an "Invoices" table. We want to be able to record notes/activities about any order or invoice --- by date, author, and activity comments (essentially an activity log), so we create an Activities table containing ActivityID (PK),ActivityDate, Author, and Comments.
In order to use the Activities table for both Orders and Invoices, we create create 2 additional tables (OrderActivities --- consisting of columns OrderID and ActivityID and InvoiceActivities --- consisting of columns InvoiceID and ActivityID)
However --- the relationship would be one->many from Orders->OrderActivities but only one->one from Activities->OrderActivities.
This is just an example -- in reality, I have appr 10 tables that will need "child" activity tables.
Can anyone suggest a more efficient database structure?
Thanks!