Cardinality: One-to-Many
Explanation: A single company can employ multiple individuals, but each employee works for only one company at any given time. This is reflected in the employee table, which includes a company_id field linking back to the company table.
Cardinality: Many-to-Many
Explanation: A single company can have multiple shareholders, and similarly, a shareholder might invest in multiple companies.
Cardinality: One-to-Many
Explanation: An employee can have multiple phone numbers listed (e.g., home, work, mobile), but each phone number is directly associated with one employee.
Cardinality: One-to-Many
Explanation: A country can contain multiple cities, but each city is located in one country. This is represented by the country_code in the city table that references the country table.
Cardinality: One-to-Many
Explanation: This addresses the relationship between companies and films, where a company can produce several films, and a film might involve multiple production companies (e.g., co-productions).
Cardinality: One-to-One
Explanation: An employee can be classified as either crew or staff but not both, suggesting a one-to-one relationship with the crew or staff tables.
Cardinality: One-to-Many
Explanation: A crew member can have only one primary role at point of employment, and a role can be assumed by multiple crew members.
Cardinality: Many-to-Many (realized through a junction table, crew_info)
Explanation: Films require crews composed of multiple members, and as time passes and talent sharpens, a single crew member might play multiple roles (as opposed to the one role assigned to them at point of employment) in the same movie and can as well work on multiple films. Hence, multiple crew members play multiple roles in multiple movies. This many-to-many relationship is managed through the crew_info table, which connects crew, film & role.
Cardinality: One-to-Many
Explanation: An employee (as staff) is associated with one department, but a department can include many employees.
Cardinality: One-to-One
Explanation: Each staff member has one salary record associated with them, and each salary record pertains to one employee.
Cardinality: Many-to-Many
Explanation: Companies can apply for multiple grants, and a grant can be requested by multiple companies at once. This is managed through the company_grant junction table.
Cardinality: One-to-Many
Explanation: A registration body can oversee the registration of multiple companies, but each company is registered with one registration body.
Cardinality: One-to-Many
Explanation: A single organization type can be associated with multiple companies, but each company has one organization type.
Cardinality: One-to-Many
Explanation: A country can be home to multiple companies. Therefore, for each country, there can be many companies registered. In the database, this is represented by the country_code in the company table, which references the code in the country table.
Cardinality: One-to-Many
Explanation: Similar to the country relationship, a city can host many companies. This is a one-to-many relationship where the city_id in the company table is a foreign key pointing to the id in the city table. One city can have many companies located within it.
Cardinality: One-to-Many
Explanation: One country can have multiple registration bodies, especially if they specialize in different business sectors or industries. The country_code in the registration_body table would reference the code in the country table, indicating that one country has many registration bodies under it.
Cardinality: One-to-Many
Explanation: A single country can have many shareholders who come from there. The country_code in the shareholder table points back to the code in the country table, denoting that many shareholders are from one country.