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