In a system representation, data and processes can be linked via the
Data-to-Process CRUD matrix. CRUD stands for Creates-Reads-Updates-Deletes. A
sample partial CRUD matrix follows:
Entity.Attribute |
Process
Customer Application |
Process
Customer Credit |
Process
Customer Address |
Process
Customer Order |
Process
Order Cancel |
Process
Order Change |
Process
New Product |
Process
Price Change |
Customer |
C |
C |
|
R |
R |
R |
|
|
.Number |
C |
C |
|
R |
R |
R |
|
|
.Name |
C |
C |
U |
R |
|
R |
|
|
.Address |
C |
C |
U |
RU |
|
RU |
|
|
.CreditRating |
|
C |
|
R |
|
R |
|
|
.BalanceDue |
|
|
|
RU |
U |
R |
|
|
Order |
|
|
|
C |
D |
RU |
|
|
.Number |
|
|
|
C |
|
R |
|
|
.Date |
|
|
|
C |
|
U |
|
|
.Amount |
|
|
|
C |
|
U |
|
|
Ordered
Product |
|
|
|
C |
D |
CRUD |
|
|
.Quantity |
|
|
|
C |
|
CRUD |
|
|
.UnitPrice |
|
|
|
C |
|
CRUD |
|
|
Product |
|
|
|
R |
R |
R |
C |
RU |
.Number |
|
|
|
R |
R |
R |
C |
|
.Name |
|
|
|
R |
|
R |
C |
|
.Description |
|
|
|
R |
|
R |
C |
|
.MeasureUnit |
|
|
|
R |
|
R |
C |
RU |
.UnitPrice |
|
|
|
R |
|
R |
|
U |
.QtyOnHand |
|
|
|
RU |
U |
RU |
|
|
C=create R=read U=update D=delete
The matrix provides an easy to read quality assurance check of the data. Every entity should have at least one C, one R, one U, and one D entry for system completeness. If not, one or more processes may have been omitted. Multiple creates for an entity may also indicate a data redundancy problem. The matrix is also a good tool to allow users and management to validate that the data is complete.
© 2003 by Joel
E. Bernstein
All rights reserved
Last updated February 17, 2003