Michael Atlas was pretty excited to land and an internship at a local software company, especially one as prestigious as to have "Enterprise" in their name. Even better, in his first week, Michael was given an actual programming task: add a certain feature to one of the company's applications. Once he got the environment information, Michael went to the database to get an idea of what the data model looked like. Enterprise Manager was taking forever to load the table list, so Michael expressed his surprise to his cubicle mate, who happened to be the application's creator.

"Yeah, that application -- it's a little funny," his coworker replied, "but it actually works pretty well." Once the table list loaded, Michael's excitement turned quickly to thoughts of changing his major to Accounting ...

Instead of using "CustomerId" columns on several of the tables, the application uses ... tables ... with the CustomerId appended to the end of the table. I'll leave it as an exercise for the reader to envision the query needed to aggregate all "infoset" tables.

[Advertisement] BuildMaster allows you to create a self-service release management platform that allows different teams to manage their applications. Explore how!