Core Data and SQL DB


I keep reading that core data shouldn’t be treated as a relational DB and mistakes often done by people who are familiar with SQL is trying to mimic SQL design patterns within CoreData. So this would be me then! I have mocked up a little overview of something I’m hoping to put into Core Data, but unsure if this is a good or bad design now. Could some experienced hands help me out?

I did read that there’soften no need for table “ID” field…?