Как правильнее создать базу?
Автор - поле в заметке, кому отправлено - многие-ко-многим если можно посылать нескольким пользователям. Можно дополнительно со статусом "новая", который сбрасывается, когда пользователь прочитает заметку. Тогда будет таблица связи (user_id, note_id, is_seen) с первичным ключом (user_id, note_id).
можете, попробовать многие ко многим. почему бы и нет?
У пользователя много заметок. У заметки много пользователей
получится табличка (Id | UserId | NoteId)
Но здесь не пнятно, кто, в итоге, владелец заметки
-------------------------------------------------------------------------------------------------------------------------
Удачнее будет, записи вида 
(Id | UserId | NoteId | RecieverId*)
тут понятно по Id строки из этой таблицы, кто с кем поделился какой записью. А раз можно идентифицировать конкретную запись и конкретных пользователей, вы можете, используя этот Id, задавать, например, права доступа для получателя заметки (чтение, редактирование, удаление, пересылка). Но это в другой табличке, типа 
(Id, ShareId, PermissionId)
*Id пользователя, с которым поделились заметкой
UPD: но я не до конца представляю, что можно будет делать в вашей соц сети, так что вариант может быть не до конца подходящим. Общая идея в том, что фиксировать, кто кому что передал. Мало ли, вдруг потом РосКомНадзор пресанет..)