Hello,
Some things I have done in the past.
Create your "notes" table. What your "notes" really are is probably something to do with "history", or that might be how you think about it.
Some ideas.
Create an identity column. This will be your primary key. Trust me on this.
Have a "table origin". This represents the table a given note "supports."
You will also have a "parent key". This represents the unique key into the parent table.
Have an "original date". Have a "submitter" or user that made the note. Status sometimes.
Sometimes (usually) you need a "last updated date" and "last user update". When inserting, the original date and user are the same as "last updated date and user."
You will find business reasons to break types of "notes" out. For instance, "Phone calls", "Tech Support", "sales calls", etc. Sometimes the notes might be from the same table, yet have different business purposes. It gets a little confusing sometimes where to put these different business tracking attributes.
Sometimes you need a history or log of when "notes" were updated. That adds complexity and can be done a variety of ways.
When retrieving, you probably want to retrieve by Parent Table and Parent key.
I would submit that this would be a poor table to have a clustered index on, but that is probably a different discussion for the theory folks.