Does this database design have a specific name? What are the pros/cons?