You are previewing Beginning SQL Server Modeling: Model-Driven Application Development in SQL Server 2008.
O'Reilly logo
Beginning SQL Server Modeling: Model-Driven Application Development in SQL Server 2008

Book Description

Get ready for model-driven application development with SQL Server Modeling! This book covers Microsoft's SQL Server Modeling (formerly known under the code name "Oslo") in detail and contains the information you need to be successful with designing and implementing workflow modeling.

Beginning SQL Server Modeling will help you gain a comprehensive understanding of how to apply DSLs and other modeling components in the development of SQL Server implementations. Most importantly, after reading the book and working through the examples, you will have considerable experience using SQL Modeling components, because the book and accompanying source code take you through the steps of actually building solutions using the platform.

Beginning SQL Server Modeling is the only book that comprehensively covers .NET application development using SQL Modeling. This book explains the critical concepts of SQL Server Modeling and model-driven development that every SQL Server developer should know. The book is simple and concise, giving readers an immediate return on their investment. After learning the lessons of this book, business process analysts and developers will be prepared to use SQL modeling for model-based design, development, and implementations.

Table of Contents

  1. Copyright
  2. About the Author
  3. About the Technical Reviewer
  4. Acknowledgments
  5. Introduction
  6. 1. Installing and Setting Up SQL Server Modeling
    1. 1.1. Software Pre-Requisites
    2. 1.2. Hardware and Operating System Requirements
    3. 1.3. Configuring SQL Server
    4. 1.4. Downloading and Installing
      1. 1.4.1. Checking the Installation
    5. 1.5. If Something Goes Wrong...
      1. 1.5.1. The Repair Option
      2. 1.5.2. The Uninstall Option
    6. 1.6. Summary
  7. 2. Introduction to Intellipad
    1. 2.1. Getting Started with Intellipad
      1. 2.1.1. The File Menu
      2. 2.1.2. The Edit Menu
        1. 2.1.2.1. The Find Commands
        2. 2.1.2.2. The Replace Command
        3. 2.1.2.3. The Go to Line Command
        4. 2.1.2.4. Behaviors
        5. 2.1.2.5. Disable External Changes
    2. 2.2. The View Menu
      1. 2.2.1. Full Screen
      2. 2.2.2. Zoom
      3. 2.2.3. Split Windows
      4. 2.2.4. The Mini-Buffer
    3. 2.3. The Help Menu
      1. 2.3.1. Commands List
      2. 2.3.2. Intellipad Primer
    4. 2.4. View Title Banner Functions
      1. 2.4.1. View Modes
  8. 3. Domain-Specific Languages 101: Lola's Lunch Counter
    1. 3.1. Some Caveats
    2. 3.2. A Simple Exercise: The Sandwich Language
      1. 3.2.1. Where You Want to End Up
      2. 3.2.2. Getting Started with the Intellipad DSL Grammar Mode Interface
      3. 3.2.3. Broadening the Choices
      4. 3.2.4. Interleaving (Ignoring) Whitespace
      5. 3.2.5. Defining Tokens
      6. 3.2.6. Enabling Multiple DSL Statements
      7. 3.2.7. Tightening Up the Syntax
      8. 3.2.8. Moving Toward Structured Data
      9. 3.2.9. Testing the Syntax
      10. 3.2.10. Making the Syntax More Flexible
        1. 3.2.10.1. The SandwichLanguage DSL MGraph
      11. 3.2.11. Extending SandwichOrders to More Than One Main Ingredient
      12. 3.2.12. Deployment
      13. 3.2.13. Thinking Ahead
    3. 3.3. Concluding Thoughts
  9. 4. Introduction to Quadrant
    1. 4.1. My Car: Creating a Simple Model in Quadrant
      1. 4.1.1. Building the Car Model in Quadrant
      2. 4.1.2. Deploying the Model to SQL Server
      3. 4.1.3. Viewing the Model and Adding Data in the Explorer
      4. 4.1.4. Customizing Column Views in Quadrant
      5. 4.1.5. Viewing and Editing the Model in SQL Server
      6. 4.1.6. Managing Changes to the Data in Quadrant
      7. 4.1.7. Managing Conflicts in Quadrant
      8. 4.1.8. Using the Quadrant Explorer Query Bar
      9. 4.1.9. More on Customizing the View
    2. 4.2. Summary
  10. 5. M – The Modeling Language
    1. 5.1. Why M?
    2. 5.2. Getting Started with M
      1. 5.2.1. Modules
        1. 5.2.1.1. The Four Basic Constructs of M
      2. 5.2.2. Types
      3. 5.2.3. Intrinsic and Derived Types
        1. 5.2.3.1. M's Built-Ins: The Intrinsic Types
        2. 5.2.3.2. The Collection Type
          1. 5.2.3.2.1. Multiplicity Constraints
          2. 5.2.3.2.2. Collection Operators
        3. 5.2.3.3. The Entity Type
          1. 5.2.3.3.1. Entity Value Initializers
          2. 5.2.3.3.2. Member Names
          3. 5.2.3.3.3. Entity Values
          4. 5.2.3.3.4. Entity Value Operators
    3. 5.3. Modules Revisited: Import and Export Directives
    4. 5.4. Extents
      1. 5.4.1.
        1. 5.4.1.1. Generating T-SQL Code for the Car Model
    5. 5.5. Computed Values
      1. 5.5.1. Overloading
    6. 5.6. Languages
    7. 5.7. Summary
  11. 6. SQL Server Modeling Services – The Folder Pattern
    1. 6.1. The Modeling Services Folder Pattern
      1. 6.1.1. Example: A Quality Control System for CarModel
  12. 7. SQL Server Modeling Services – Security
    1. 7.1. Using Security to Limit Data Visibility
    2. 7.2. Setting Up – Installing the PatternApplication Sample
    3. 7.3. Building on the CarModel
    4. 7.4. Building the MfgComponentModel Project in Visual Studio
    5. 7.5. Refining the Model to Include Security
      1. 7.5.1. HasFolderAndAutoId
      2. 7.5.2. Adding the PatternApplication Module
      3. 7.5.3. Building the Project
      4. 7.5.4. Deploying to the Database
      5. 7.5.5. Creating the QC Folders
      6. 7.5.6. Building the Sample Data
      7. 7.5.7. Setting Up the QC Manager Test Users
        1. 7.5.7.1. Configuring Test-User Permissions in SQL Server Management Studio
        2. 7.5.7.2. Testing
    6. 7.6. Summary
  13. A. Intellipad Primer
    1. A.1. Intellipad Basics
      1. A.1.1. Buffers
      2. A.1.2. Views
      3. A.1.3. Modes
      4. A.1.4. The Mini-Buffer
    2. A.2. Working with M in Intellipad
      1. A.2.1. SQL Preview
      2. A.2.2. Basic DSL Authoring Configuration
    3. A.3. Customizing Intellipad
      1. A.3.1. Changing the Menus
      2. A.3.2. Changing the Colors
      3. A.3.3. Adding New Modes
      4. A.3.4. Customizing Commands
    4. A.4. Intellipad Components
      1. A.4.1. Compiled Components
      2. A.4.2. Declarative Components
      3. A.4.3. Script Components
    5. A.5. List of Available Modes
    6. A.6. Command-Line Options
  14. B. Intellipad Mini-Buffer Commands
  15. C. Intellipad Commands and Gestures
  16. D. The Quadrant Menu Tree
  17. E. Generated T-SQL for the Car Model Example