No, the secret word for tonight is not "mudshark", although it does begin with the letter M. It's modeling. SQL Server data can be modeled in a variety of ways and, after the last few weeks, there's even more.

When I think of relational database modeling, I think of the IDEF1X language and visual modeling tools like ERWIN. Those database diagrams that took up two (and sometimes three) of my cubicle walls. Data defined using functional decomposition based on a series of normal form rules.

Or Peter Chen's Entity-Relationship modeling. The Entity Framework and Linq to SQL allow mapping relational models to object models, and VS2008-2010 include visual modelers based on crow's foot diagrams. And let's not forget Object Role Modeling and UML (a general purpose modeling language), both of which are supported by Microsoft's Visio product (there's an add-in for ORM).

But in SQL Server, there's even more. With Analysis Services 2005, the Unified Dimensional Model was introduced as "a thin layer over the data source" to provide a "more readily understood model of the data". Report models are also used in SQL Server Reporting Services to isolate the user from the database structure and make it easier to produce reports.

The lastest CTP of SQL Server 2008 R2 includes Master Data Services, an offering to help an organization manage master data, and with it, a way to define models of master data (think customer list or product line, the items that companies buy other companies to acquire). Master data models are stored in SQL Server and are visualized using a specialized web application.

And last week Project Oslo became SQL Server Modeling Services, which uses SQL Server to store and manage enterprise models and helps in building enterprise applications. You design models non-graphically, although, once it's stored in the repository, you can graphically visualize it with the Quadrant application. Currently it includes "domain models" for UML, T-SQL and others (like a domain for System.Identity).

So it seems that SQL Server and the data stack is almost awash in a sea of models, repositories, and visualizers. Maybe time for some data modeling redux… Or at least something like a tool I once used called "Paradigm Plus" which (among other things) could convert (graphics and all) from one model to another, depending on which modeler was in the room at the time.