| Lesson 8 | Verbalizing an ER diagram |
| Objective | Describe and apply a clear process for verbalizing an ER diagram. |
Verbalization turns an ER diagram into precise, plain-language statements. It is the bridge between modelers and non-technical stakeholders, and a quick way to validate rules before you normalize or generate DDL.
Done well, verbalization is consistent, testable, and brief. Use the grammar below and keep a running list per entity and relationship.
NAME with attributes …” (define purpose + key).NAME is identified by PK (natural/surrogate).”A must|may be related to 0|1|many B.”B must|may be related to 0|1|many A.”The same ERD described as compact, relational notation (plural table names; keys labeled):
Customers (CustID PK, CustLast, CustFirst, CustStreet, CustCity, CustState, CustZip, CustPhone)
Orders (OrderNo PK, CustID FK, OrderDate)
LineItems (OrderNo CPK/FK, CDNo CPK/FK, Quantity, SellingPrice, LineCost, Shipped)
CDs (CDNo PK, CDTitle, DistID FK, RetailPrice, AgeGroup, Description)
Distributors (DistID PK, DistName, DistStreet, DistCity, DistState, DistZip, DistPhone)
Customer identified by CustID.Order identified by OrderNo.CD identified by CDNo.Distributor identified by DistID.LineItem identified by the composite key (OrderNo, CDNo).Order must belong to exactly one Customer; each Customer may have zero or many Orders.LineItem must reference exactly one Order; each Order must have one or many LineItems.LineItem must reference exactly one CD; each CD may appear in zero or many LineItems.CD must have exactly one Distributor; each Distributor may supply zero or many CDs.CustPhone is a phone-number domain (format validated per locale).RetailPrice and SellingPrice are non-negative currency amounts; LineCost = Quantity × SellingPrice.Shipped is a boolean (or status enum) constrained by order state.CustID, DistID.CustLast, CustFirst).UNIQUE even when you use surrogate PKs.The next lesson concludes the module.