By Michael Murray, Senior Program Manager
(Edited November 17, 2009, to reflect the renaming of "Oslo" to SQL Server Modeling)
Microsoft code name "Quadrant" is a ‘tool for viewing and editing SQL data,' but... so what? There are many tools for viewing and editing SQL including Microsoft Access, Excel, and SQL Server Management Studio as well as custom-created applications using .NET. But "Quadrant" is different in certain respects:
- "Quadrant" automatically ‘lights up' when you connect to SQL data. Without writing any code or queries, "Quadrant" drives the viewing and editing experience by interpreting the relational model at runtime. Views are automatically created for individual records and collections. Foreign keys are displayed and can be dragged onto the workspace to follow relationships. "Quadrant" uses the structure of the data to enable a good editing experience that encourages exploration by following foreign key references.
- "Quadrant" also lights up when you connect to a relational database, such as the Repository in SQL Server Modeling Services. For example, if you model Repository folders, "Quadrant" will use your folders to provide a Windows Explorer-like navigation experience.
- "Quadrant" provides a built-in configuration experience that lets users customize the generated data views, switch viewers, and compose the built-in views to create new views.
Here are some examples of how "Quadrant" is different. To see these examples yourself, install the "Quadrant" Sample Data. Once you've followed the instructions on DevCenter and installed the "Quadrant" Sample Data, you can verify that the samples are installed by opening the Repository Explorer (using View/Explorer/Repository from the "Quadrant" menus) and you should see the Explorer like the following:
The first thing you can see is that the example uses Repository folders. Organization is the top-level organizing folder, with subfolders for Events, People, and more. If you use Repository folders, "Quadrant" will use them for navigation in the Explorer. Content not organized using folders is displayed under the Catalog node in the Explorer.
Consider this view (by clicking on OrganizationGroups in the Repository Explorer, then drag the icon next to ‘Business Analysts' onto the workspace):
Not only can you see the (simple) properties associated with Business Analysts, as you'd expect, but you can also see a References section. The References section is in the default properties view. Here, you can see that there are five PersonToOrganization instances; or in other words, there are five people who are business analysts.
This view was generated by "Quadrant" based on the underlying structure and the multiplicity of the related instances. No code or query was necessary for creating this view, only the model defined using SQL or the "M" language.
If you drag the icon to the right of PersonToOrganization you can see a table view of the persons who are business analysts...again without writing code or queries:
The query bar in the PersonToOrganizationGroups workpad shows the query that "Quadrant" used to retrieve the contents displayed, but you didn't have to write it: You merely dragged something onto the workpad.
Likewise, you can follow the relationship in the opposite direction: If you drag the icon next to Business Analysts from a row in the PersonToOrganizationGroups table view, you'll see the properties for Business Analysts again. "Quadrant" encourages exploration by putting these relationships front-and-center in built-in views.
As a refinement to the above example, you can again view Business Analysts in a workpad. But this time, first click once on the icon to the right of PersonToOrganization:
Then select View -> View Item As -> Table from the "Quadrant" menu. You should then see something like this (you may need to widen the workpad):
This is a custom, composed view created using the "Quadrant" ‘building blocks'. Here, the table viewer is hosted inside the ‘References' section of the properties view for Business Analysts. You can now save this view as a new, named view (like Business Analysts with Persons Table) by selecting View -> Save View As and specifying a name in the dialog.
[Note: for more customization capabilities now available in the SQL Server Modeling November 2009 CTP, see the "Quadrant" technology page on the DAta Developer center, http://msdn.microsoft.com/en-us/data/ee720190.aspx, especially the videos and additional samples. All of the CTP samples can be found on http://code.msdn.microsoft.com/SQLServerModelingCTP.]
"Quadrant" provides an out-of-box viewing, editing, and navigation experience that ‘lights up' with SQL data. In this way "Quadrant" is different than traditional tools for accessing SQL in that relationships and the underlying models drive the experience, without writing custom code or queries. Instead of looking only at the raw data, as database tools generally provide for, "Quadrant" surfaces much more of the meaningful structures that were in the minds of those who originally designed the models. And that makes for a much richer, efficient, and accurate means of communication between designer, developer, and database administrator, and experience that will continue to expand as "Quadrant" is developed further.