Creating and Maintaining Databases Overview
 Databases
    Parts of a Database
       Files and Filegroups
          Default Filegroups
          Using Files and Filegroups
          Using Files and Filegroups to Manage Database Growth
          Read-Only Filegroups
       Transaction Logs
          Virtual Log Files
    Database Design Considerations
       Creating a Database Plan
       Online Transaction Processing vs. Decision Support
       Normalization
       Data Integrity
       Data Security
       Database Performance
       Maintenance
       Estimating the Size of a Database
          Estimating the Size of a Table
          Estimating the Size of a Table Without a Clustered Index
          Estimating the Size of a Table with a Clustered Index
    Creating a Database
       Using Raw Partitions
    Modifying a Database
       Expanding a Database
       Shrinking a Database
       Adding and Deleting Data and Transaction Log Files
       Creating Filegroups
       Changing the Default Filegroup
       Setting Database Options
       Creating a Removable Database
       Attaching and Detaching a Database
          Attaching a Single-File Database
       Renaming a Database
       Changing the Database Owner
       Transaction Termination for Changing Database States
    Viewing a Database
       Displaying Database and Transaction Log Space
    Documenting and Scripting Databases
    Database Maintenance Plan Wizard
    Deleting a Database
 Tables
    Designing Tables
       Specifying a Column Data Type
          Binary Data
          Character Data
          Unicode Data
          Date and Time Data
          Numeric Data
          Monetary Data
          Special Data
          Creating User-Defined Data Types
       Text in Row Data
       Autonumbering and Identifier Columns
       Using Constraints, Defaults, and Null Values
          PRIMARY KEY Constraints
          FOREIGN KEY Constraints
             Cascading Referential Integrity Constraints
          UNIQUE Constraints
          CHECK Constraints
          DEFAULT Definitions
          Allowing Null Values
    Creating and Modifying a Table
       Modifying Column Properties
       Adding and Deleting Columns
       Creating and Modifying PRIMARY KEY Constraints
       Creating and Modifying FOREIGN KEY Constraints
       Creating and Modifying UNIQUE Constraints
       Creating and Modifying CHECK Constraints
       Creating and Modifying DEFAULT Definitions
       Creating and Modifying Identifier Columns
    Viewing a Table
    Deleting a Table
 Indexes
    Designing an Index
       Using Clustered Indexes
       Using Nonclustered Indexes
       Using Unique Indexes
       Fill Factor
       Index Tuning Wizard
    Creating an Index
       Creating Indexes on Computed Columns
       Creating Indexes on Views
       SET Options That Affect Results
       Creating Ascending and Descending Indexes
       Statistical Information
    Rebuilding an Index
    Renaming an Index
    Viewing an Index
    Deleting an Index
 Views
    Scenarios for Using Views
    Creating a View
       Designing an Indexed View
          Using Indexes on Views
       Creating an Indexed View
       Creating a Partitioned View
    Modifying and Renaming a View
    Modifying Data Through a View
    Getting Information About a View
    Deleting a View
 Stored Procedures
    Extended Stored Procedures
    Creating a Stored Procedure
       Specifying Parameters
          Specifying a Name
          Specifying a Data Type
          Specifying the Direction of a Parameter
          Specifying a Default Value
       Programming Stored Procedures
          Nesting Stored Procedures
          Deferred Name Resolution and Compilation
       Returning Data from a Stored Procedure
          Returning Data Using OUTPUT Parameters
          Returning Data Using a Return Code
    Executing a Stored Procedure
       Automatic Execution of Stored Procedures
    Modifying and Renaming a Stored Procedure
    Recompiling a Stored Procedure
    Viewing a Stored Procedure
    Deleting a Stored Procedure
 Enforcing Business Rules with Triggers
    Designing Triggers
       Specifying When a Trigger Fires
       Trigger Execution
       Designing INSTEAD OF Triggers
    Creating a Trigger
       Programming Triggers
       Using Triggers that Include ROLLBACK TRANSACTION
       Using the inserted and deleted Tables
       Multirow Considerations
       Conditional INSERT Trigger
       Specifying First and Last Triggers
       Using Nested Triggers
       Using INSTEAD OF Triggers
          INSTEAD OF INSERT Triggers
          INSTEAD OF UPDATE Triggers
          INSTEAD OF DELETE Triggers
          Expressions and Computed Columns in INSTEAD OF Triggers
       Using text, ntext, and image Data in INSTEAD OF Triggers
       Activating Triggers with Implicit and Explicit Null Values
    Modifying and Renaming a Trigger
    Viewing a Trigger
    Deleting a Trigger
 User-Defined Functions
    User-Defined Functions That Return a table Data Type
    Inline User-Defined Functions
    Deterministic and Nondeterministic Functions
    Rewriting Stored Procedures as Functions
 Using Extended Properties on Database Objects
 Full-Text Indexes
    Administering Full-Text Features
    Administering Full-Text Features Using Stored Procedures and Scalar Functions
       Enabling Others to Issue Full-Text Queries
       Performing Investigation and Clean-up Tasks for Full-Text Catalogs
       Performing Infrequent Tasks
    Maintaining Full-Text Indexes
    Filtering Supported File Types
    Column-Level Linguistic Analysis