How to identify entities and attributes from requirements
entity definition, attribute definition, noun extraction technique, entity vs value, weak vs strong entity, attribute types
Entities and Attributes
An entity is a distinct thing you need to store data about — a person, place, object, or concept. An attribute is a property of that entity.
The fastest way to find entities: read the requirements and underline every noun. Then filter: nouns that describe something you need multiple records of are entities. Nouns that describe a single fact about another noun are attributes.
Worked Example
Requirement: "Customers place orders. Each order contains one or more products. Each product has a name and a price."
- Entities: Customer, Order, Product
- Attributes of Customer: name, email, address
- Attributes of Order: date, status, total
- Attributes of Product: name, price, SKU
Common Mistakes
Treating a value as an entity. "City" is usually an attribute of Customer, not its own entity — unless you need to store population, timezone, or other city-specific data.
Merging two entities. If you find yourself adding a second set of identical columns (product1_name, product2_name), you have an entity trying to become attributes. Pull it out.
After this step you should have a rough list: three to ten entities with five to ten attributes each. That list drives everything that follows.
