Practise vocabulary for ER modelling: entities, attributes, relationships, cardinality, and ERD notation.
0 / 26 completed
1 / 26
In ER modelling, a ___ represents a real-world object or concept about which data is stored — for example, Customer or Order.
An entity is a distinct object type about which data is stored. In the relational model, entities become tables. Each row in the table represents an entity instance.
2 / 26
___ describes the number of entity instances that can participate in a relationship — for example, one-to-many or many-to-many.
Cardinality defines the numerical relationship between entities: 1:1 (one customer has one loyalty account), 1:N (one customer has many orders), M:N (many students take many courses).
3 / 26
A many-to-many relationship between two entities is typically implemented in a relational database using a ___ table.
A junction (bridge) table resolves M:N relationships by adding a new table with foreign keys to both entities. For example, Order_Product bridges Orders and Products with quantity as an attribute.
4 / 26
A ___ key uniquely identifies each row in a table and cannot contain NULL values.
A primary key uniquely identifies each row. It must be unique across all rows and cannot be NULL. It can be a single column (surrogate key) or a combination of columns (composite primary key).
5 / 26
A ___ key in a table is a column (or set of columns) that references the primary key of another table, enforcing referential integrity.
A foreign key creates a link between two tables by referencing the primary key of the parent table. The database enforces referential integrity — you cannot insert a foreign key value that doesn't exist in the referenced table.
6 / 26
Sarah: 'Hey team, I'm trying to design the schema for our new user profile service. We need to track users and their associated projects. I'm thinking we should have a `User` entity with attributes like username and email, and then a `Project` entity with things like project_name and description. I'm also considering a relationship where a user can be assigned to multiple projects – it's likely many-to-many. I've drafted a PR description that says 'Create a User table and a Project table, linking them via a junction table for the many-to-many relationship.' What's the most accurate technical term to describe this approach in the context of Entity Relationship Modelling?
This question tests understanding of how to articulate the core concepts of ER modelling in a practical scenario. The term 'normalized' refers to the process of designing a database that minimizes redundancy and ensures data integrity, which is precisely what this approach aims for. Options A and B represent common misunderstandings – insufficient data or unnecessary primary keys, while option C highlights the crucial missing element: specifying cardinality (one-to-many, many-to-many) within the design, which is a core component of ER modelling.
7 / 26
David: 'I've reviewed this PR and I'm a little concerned about the proposed schema. While creating separate `User` and `Project` tables is a good start, simply linking them with a junction table isn't sufficient for a true many-to-many relationship. We need to explicitly define how we handle potential data inconsistencies. Specifically, I think we should be using the term cardinality to describe the nature of this link. What technical term best captures David's concern regarding the relationship between `User` and `Project` tables?
David is referring to cardinality, which precisely describes the number of instances of one entity that can be related to a single instance of another entity in a many-to-many relationship. 'Data Normalization' and 'Schema Design' are broader concepts; while relevant, they don't specifically address the nature of the relationship itself. A 'Foreign Key Constraint' is a *mechanism* for enforcing relationships, not the term describing the relationship *type*.
8 / 26
John: 'I'm reviewing this PR for the new inventory service. The design proposes a `Product` entity with attributes like SKU and name, and an `Order` entity with order_id and quantity. I see they've linked them with a junction table called `OrderItem`. From an ER modelling perspective, what's the best term to describe how the Product and Order entities are related through this intermediary table?
This question tests understanding of cardinality. While foreign keys are important for database design, they don't *describe* the relationship itself. Data normalization and denormalization relate to data organization strategies, not relationship definitions. Cardinality specifically refers to the number of instances involved in a relationship (one-to-one, one-to-many, many-to-many), which is precisely what's being modeled here with the junction table.
9 / 26
During a code review for the new analytics dashboard service, Maria comments on the proposed schema: 'I'm reviewing this PR and I'm noticing we're using a junction table called `EventAction` to link `User` entities with `Event` entities. This seems like a common approach when a user can perform multiple actions on an event. From an ER modelling perspective, what term best describes the purpose of this junction table in relation to the User and Event entities? It's crucial we understand how many-to-many relationships are typically represented.',
The correct answer is B. Cardinality precisely describes how many instances of one entity can be related to an instance of another entity in a many-to-many relationship. While foreign keys are involved, cardinality provides the higher-level conceptual understanding of the link's nature. Options A and C describe components *within* the schema, not the overall relationship itself; option D refers to database optimization, not the modelling approach.
10 / 26
Sarah: 'Hey team, I'm trying to design the schema for our new user profile service. We need to track users and their associated projects. I'm thinking we should have a `User` entity with attributes like username and email, and then a `Project` entity with things like project_name and description. I'm also considering a relationship where a user can be assigned to multiple projects – it's likely many-to-many. I've drafted a PR description that says 'Create a User table and a Project table, linking them via a junction table for the many-to-many relationship.' What's the most accurate technical term to describe this approach in the context of Entity Relationship Modelling?
This question tests understanding of how to articulate the core concepts of ER modelling in a practical scenario. The term 'normalized' refers to the process of designing a database that minimizes redundancy and ensures data integrity, which is precisely what this approach aims for. Options A and B represent common misunderstandings – insufficient data or unnecessary primary keys, while option C highlights the crucial missing element: specifying cardinality (one-to-many, many-to-many) within the design, which is a core component of ER modelling.
11 / 26
David: 'I've reviewed this PR and I'm a little concerned about the proposed schema. While creating separate `User` and `Project` tables is a good start, simply linking them with a junction table isn't sufficient for a true many-to-many relationship. We need to explicitly define how we handle potential data inconsistencies. Specifically, I think we should be using the term cardinality to describe the nature of this link. What technical term best captures David's concern regarding the relationship between `User` and `Project` tables?
David is referring to cardinality, which precisely describes the number of instances of one entity that can be related to a single instance of another entity in a many-to-many relationship. 'Data Normalization' and 'Schema Design' are broader concepts; while relevant, they don't specifically address the nature of the relationship itself. A 'Foreign Key Constraint' is a *mechanism* for enforcing relationships, not the term describing the relationship *type*.
12 / 26
John: 'I'm reviewing this PR for the new inventory service. The design proposes a `Product` entity with attributes like SKU and name, and an `Order` entity with order_id and quantity. I see they've linked them with a junction table called `OrderItem`. From an ER modelling perspective, what's the best term to describe how the Product and Order entities are related through this intermediary table?
This question tests understanding of cardinality. While foreign keys are important for database design, they don't *describe* the relationship itself. Data normalization and denormalization relate to data organization strategies, not relationship definitions. Cardinality specifically refers to the number of instances involved in a relationship (one-to-one, one-to-many, many-to-many), which is precisely what's being modeled here with the junction table.
13 / 26
During a code review for the new analytics dashboard service, Maria comments on the proposed schema: 'I'm reviewing this PR and I'm noticing we're using a junction table called `EventAction` to link `User` entities with `Event` entities. This seems like a common approach when a user can perform multiple actions on an event. From an ER modelling perspective, what term best describes the purpose of this junction table in relation to the User and Event entities? It's crucial we understand how many-to-many relationships are typically represented.',
The correct answer is B. Cardinality precisely describes how many instances of one entity can be related to an instance of another entity in a many-to-many relationship. While foreign keys are involved, cardinality provides the higher-level conceptual understanding of the link's nature. Options A and C describe components *within* the schema, not the overall relationship itself; option D refers to database optimization, not the modelling approach.
14 / 26
Sarah: 'Hey team, I'm trying to design the schema for our new user profile service. We need to track users and their associated projects. I'm thinking we should have a `User` entity with attributes like username and email, and then a `Project` entity with things like project_name and description. I'm also considering a relationship where a user can be assigned to multiple projects – it's likely many-to-many. I've drafted a PR description that says 'Create a User table and a Project table, linking them via a junction table for the many-to-many relationship.' What's the most accurate technical term to describe this approach in the context of Entity Relationship Modelling?
This question tests understanding of how to articulate the core concepts of ER modelling in a practical scenario. The term 'normalized' refers to the process of designing a database that minimizes redundancy and ensures data integrity, which is precisely what this approach aims for. Options A and B represent common misunderstandings – insufficient data or unnecessary primary keys, while option C highlights the crucial missing element: specifying cardinality (one-to-many, many-to-many) within the design, which is a core component of ER modelling.
15 / 26
David: 'I've reviewed this PR and I'm a little concerned about the proposed schema. While creating separate `User` and `Project` tables is a good start, simply linking them with a junction table isn't sufficient for a true many-to-many relationship. We need to explicitly define how we handle potential data inconsistencies. Specifically, I think we should be using the term cardinality to describe the nature of this link. What technical term best captures David's concern regarding the relationship between `User` and `Project` tables?
David is referring to cardinality, which precisely describes the number of instances of one entity that can be related to a single instance of another entity in a many-to-many relationship. 'Data Normalization' and 'Schema Design' are broader concepts; while relevant, they don't specifically address the nature of the relationship itself. A 'Foreign Key Constraint' is a *mechanism* for enforcing relationships, not the term describing the relationship *type*.
16 / 26
John: 'I'm reviewing this PR for the new inventory service. The design proposes a `Product` entity with attributes like SKU and name, and an `Order` entity with order_id and quantity. I see they've linked them with a junction table called `OrderItem`. From an ER modelling perspective, what's the best term to describe how the Product and Order entities are related through this intermediary table?
This question tests understanding of cardinality. While foreign keys are important for database design, they don't *describe* the relationship itself. Data normalization and denormalization relate to data organization strategies, not relationship definitions. Cardinality specifically refers to the number of instances involved in a relationship (one-to-one, one-to-many, many-to-many), which is precisely what's being modeled here with the junction table.
17 / 26
During a code review for the new analytics dashboard service, Maria comments on the proposed schema: 'I'm reviewing this PR and I'm noticing we're using a junction table called `EventAction` to link `User` entities with `Event` entities. This seems like a common approach when a user can perform multiple actions on an event. From an ER modelling perspective, what term best describes the purpose of this junction table in relation to the User and Event entities? It's crucial we understand how many-to-many relationships are typically represented.',
The correct answer is B. Cardinality precisely describes how many instances of one entity can be related to an instance of another entity in a many-to-many relationship. While foreign keys are involved, cardinality provides the higher-level conceptual understanding of the link's nature. Options A and C describe components *within* the schema, not the overall relationship itself; option D refers to database optimization, not the modelling approach.
18 / 26
Sarah: 'Hey team, I'm trying to design the schema for our new user profile service. We need to track users and their associated projects. I'm thinking we should have a `User` entity with attributes like username and email, and then a `Project` entity with things like project_name and description. I'm also considering a relationship where a user can be assigned to multiple projects – it's likely many-to-many. I've drafted a PR description that says 'Create a User table and a Project table, linking them via a junction table for the many-to-many relationship.' What's the most accurate technical term to describe this approach in the context of Entity Relationship Modelling?
This question tests understanding of how to articulate the core concepts of ER modelling in a practical scenario. The term 'normalized' refers to the process of designing a database that minimizes redundancy and ensures data integrity, which is precisely what this approach aims for. Options A and B represent common misunderstandings – insufficient data or unnecessary primary keys, while option C highlights the crucial missing element: specifying cardinality (one-to-many, many-to-many) within the design, which is a core component of ER modelling.
19 / 26
David: 'I've reviewed this PR and I'm a little concerned about the proposed schema. While creating separate `User` and `Project` tables is a good start, simply linking them with a junction table isn't sufficient for a true many-to-many relationship. We need to explicitly define how we handle potential data inconsistencies. Specifically, I think we should be using the term cardinality to describe the nature of this link. What technical term best captures David's concern regarding the relationship between `User` and `Project` tables?
David is referring to cardinality, which precisely describes the number of instances of one entity that can be related to a single instance of another entity in a many-to-many relationship. 'Data Normalization' and 'Schema Design' are broader concepts; while relevant, they don't specifically address the nature of the relationship itself. A 'Foreign Key Constraint' is a *mechanism* for enforcing relationships, not the term describing the relationship *type*.
20 / 26
John: 'I'm reviewing this PR for the new inventory service. The design proposes a `Product` entity with attributes like SKU and name, and an `Order` entity with order_id and quantity. I see they've linked them with a junction table called `OrderItem`. From an ER modelling perspective, what's the best term to describe how the Product and Order entities are related through this intermediary table?
This question tests understanding of cardinality. While foreign keys are important for database design, they don't *describe* the relationship itself. Data normalization and denormalization relate to data organization strategies, not relationship definitions. Cardinality specifically refers to the number of instances involved in a relationship (one-to-one, one-to-many, many-to-many), which is precisely what's being modeled here with the junction table.
21 / 26
During a code review for the new analytics dashboard service, Maria comments on the proposed schema: 'I'm reviewing this PR and I'm noticing we're using a junction table called `EventAction` to link `User` entities with `Event` entities. This seems like a common approach when a user can perform multiple actions on an event. From an ER modelling perspective, what term best describes the purpose of this junction table in relation to the User and Event entities? It's crucial we understand how many-to-many relationships are typically represented.',
The correct answer is B. Cardinality precisely describes how many instances of one entity can be related to an instance of another entity in a many-to-many relationship. While foreign keys are involved, cardinality provides the higher-level conceptual understanding of the link's nature. Options A and C describe components *within* the schema, not the overall relationship itself; option D refers to database optimization, not the modelling approach.
22 / 26
During a code review of the new payment processing service, Alex says: 'I'm seeing we're using a `Transaction` entity with fields like `transaction_id` and `amount`. To relate this to users, we have a separate `User` table. However, I think a junction table – perhaps named PaymentMethod – would be more appropriate to handle multiple users associated with a single transaction. What's the core reason for this suggestion?'
This question tests understanding of junction tables. The core issue is representing many-to-many relationships correctly. A junction table allows multiple users to be linked to a single transaction without repeating user data for each link – this is the key benefit of normalization. Option A incorrectly focuses on a generalized concern; options B and D misrepresent the role and complexity of junction tables.
23 / 26
In a Slack channel discussing the design for a new customer support ticketing system, Ben writes: 'I'm proposing an `Agent` entity with fields like `agent_id` and `name`, and a `Ticket` entity with `ticket_id` and `status`. We can link these via a junction table called AssignedTo. Should we include a field in the AssignedTo table to store the agent's email address, or is that redundant information?'
This assesses knowledge of normalization principles. Redundancy is a major concern in database design; storing the same information (agent email) in multiple tables increases storage space and introduces the risk of inconsistencies if data needs to be updated. A primary key (agent_id) is sufficient for establishing the relationship.
24 / 26
You're reviewing a Pull Request for a new product recommendation service. The PR includes a schema with `Product` and `User` entities linked by a junction table called `Interaction`. The PR description states: 'This junction table allows us to track user interactions with products, providing valuable data for our recommendation algorithms.' What is the primary purpose of this junction table in this scenario?
This tests understanding of junction tables' role within a business context. The description highlights the core function: storing all relevant data related to interactions – this is how junction tables are *primarily* used. Options A and D relate to constraints or database design; option B is too broad.
25 / 26
During a standup meeting, Sarah explains her work on the new order management system. She says: 'I'm designing the schema with entities for `Order` and `Product`. I'm using a junction table named OrderItem to link them. This table has columns like order_id and product_sku, which allows us to efficiently track all products included in each order.' What is Sarah's primary goal with this design?
This question focuses on the *reason* for using a junction table. The description emphasizes efficiency in tracking products within orders – this is the core purpose; representing many-to-many relationships efficiently. Options A and D are about query performance or data updates, not the fundamental reason for using the junction table.
26 / 26
You're reviewing a PR proposing a schema for a new e-commerce platform. The team is considering using a `Customer` entity with attributes like `customer_id` and `name`, and an `Order` entity with `order_id` and `total_amount`. They are planning to link these entities via a junction table called CustomerOrder. What is the most important reason for creating this junction table?
This question directly targets the core purpose of junction tables – handling many-to-many relationships. The `CustomerOrder` table allows multiple customers to be linked to a single order, which is essential in e-commerce scenarios like group purchases or shared accounts. Option A misrepresents constraints; options B and D are secondary benefits.
What does the "Entity-Relationship Modelling Vocabulary" exercise practise?
Practise vocabulary for ER modelling: entities, attributes, relationships, cardinality, and ERD notation.
How many questions are in this exercise?
This exercise has 26 questions, each multiple-choice with a full explanation shown after you answer.
What English level is this exercise for?
This exercise is tagged Intermediate. If the vocabulary feels difficult, browse the Database Schema Design category page for an easier module to start with.
Is this exercise free to use?
Yes. Every exercise on CoderSlingo, including this one, is free with no account, sign-up, or paywall.
Do I get feedback if I answer incorrectly?
Yes — whichever option you choose, right or wrong, you'll immediately see an explanation clarifying the correct term and why the other options don't fit.
Can I retry this exercise?
Yes — once you finish all the questions, a "Try again" button on the results screen resets the exercise so you can practise as many times as you like.
Do I need an account to track my progress?
No account is required. Your progress bar and score for this session are tracked in the browser as you go, but nothing is saved once you leave the page.
Is "Entity-Relationship Modelling Vocabulary" part of a larger series?
Yes — it's one exercise in the Database Schema Design category on CoderSlingo. See the category page for the full list of related exercises on similar terminology.
Can I link directly to this exercise?
Yes — this exercise has its own permanent URL, so you can bookmark it or share the link directly with a colleague or study partner.
Where can I find more exercises like this one?
See the Database Schema Design category page for related exercises, or browse the main Exercises hub for other IT English topics.