Script Valley
Database Design: From Idea to Schema
Foundations of Database DesignLesson 1.2

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

Entity and Attribute Extraction

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.

Up next

Primary keys and unique identifiers explained

Sign in to track progress