
I’m new to database design and am currently using MySQL Workbench to help me out.
In the above example what strikes me is the amount of primary keys. All of the relationships are identifying and creating a new relationship takes all the primary keys from the “parent” table and puts them in to the “child”. Is this supposed to be whis way? What is the logic behind this?
I would say that this database schema is not adequate. For instance, when you go from country to settlement, you should only use the country id, not the country and continent id (if you can locate a country, which has a continent assigned already, there is no need to specify the continent again). The same applies as you move to HEP (where you should only reference the settlement id) and to campus (where you should only reference the hep id). You should be using non-identifying relations, not identifying ones, at least for the example you provided. I tried to post a picture, but wasn’t allowed by my reputation.