You must have only one Notes table. The relationship comes from Notes to other objects (this is 0: M), so there is no need to have FK columns at the level of the Notes table. The FK columns in “Perspective”, “Client, friend” in the “Notes” table only lead to a design in which you will need to add FK columns to the “Notes” table every time a new object needs Notes (and this does not speed up the work actually),
For example, if you want to get a list of all Prospect notes, just query the Prospect table and use the join if you need to get the notes details:
select n.NoteId, n.NotesDetail from Prospect p inner join Notes n on p.NoteId = n.NoteId
A Notes table might look something like this:
create table Notes ( NoteId int identity(1,1) ,NotesDetail varchar(max) // ... any other fields related to the Notes entity.... )
In the remaining tables, all you need is the FK field associated with the NoteId in the Notes table.
source share