Introduction to Microsoft Transact-SQL Programming


Course Code: hsts-c20

Course Description

This Transact-SQL programming course teaches students relational database fundamentals and SQL programming skills in the Microsoft SQL Server environment. Topics covered include relational database architecture, database design techniques, and simple and complex query skills. The course also covers Microsoft-specific T-SQL programming constructs, creation and use of stored procedures and user-defined functions, use of cursors and updateable views.

This class is intended for analysts, developers, designers, administrators, and managers new to the SQL programming language. Upon completion, participants will understand SQL functions, join techniques, database objects and constraints, and will be able to write useful stored procedures and views as well as complex queries and updates. Comprehensive hands on exercises are integrated throughout to reinforce learning and develop real competency.

You will learn:

  • Design normalized table structures for relational databases
  • Create databases and tables
  • Using primary and foreign keys
  • Writing SQL queries
  • Using inner and outer joins
  • Using set operators (UNION, INTERSECT, EXCEPT)
  • Using DML for SELECT, INSERT, UPDATE, DELETE
  • Using subqueries
  • Using triggers and stored procedures
  • Using aggregate functions to return totals and subtotals
  • Programming features of T-SQL
  • Common table expressions
  • T-SQL specific data types and functions
  • T-SQL cursors

Course Prerequisites

General computer knowledge. Familiarity with relational database concepts is helpful but not required.

Follow-up Courses

Microsoft SQL Server 2012 Administration, SQL Server 2012 Reporting Services, SQL Server 2012 Business Intelligence Application Development (SSRS, SSIS, SSAS), SQL Server 2012 Business Intelligence: Integration Services and Analysis Services

Class Info

Highlights

  • 10 sessions each 1.5 hours with hands-on training led by experienced instructors
  • Digital courseware and online course tracking
  • Final course project delivery
  • Certificate of Completion for each course
  • Session-based assignment

Enrollment Fee

$29 per class hour or $390 per course

Location

  • In Person at HacDC's office (1525 Newton St, NW, Ste 212 Washington DC, 20010) located 2 blocks from the Columbia Height metro
  • Private custom training on site or at your location
  • Project based training cn site or at your location

Time

  • In Person: 9AM-3:00PM (1 hour Lunch)
  • Private custom & project based training: your preference

Software Versions

Our classes are taught on the most current version of software whenever possible. To request a specific version, please Contact Us or call us at 240-200-6131

Online Registration Form

Submit below form if you wish to register to our coding classes. The courses are filled on first come, first served basis.



Course Outline

1- Relational Database Fundamentals

  • Overview of Relational Database Concepts
  • Relational Databases and Relational Database Management Systems
  • Data Normalization
  • DDL Syntax

2- Writing Basic SQL Queries

  • Displaying Table Structures
  • Retrieving Column Data From a Table or View
  • Selecting Unique Values
  • Filtering Rows Using the WHERE Clause
  • Sorting Results Using ORDER BY
  • Joining Multiple Tables
  • Using Column and Table Aliases

3- Creating a Database

  • Database Development Methodology Overview
  • Building a Logical Data Model
    • Identifying Entities and Attributes
    • Isolating Keys
    • Relationships Between Entities
    • Creating Entity-Relationship Diagrams
  • Transforming to Physical Design
    • Migrating Entities to Tables
    • Selecting Primary Keys
    • Defining Columns
    • Enforcing Relationships with Foreign Keys
  • Constructing the Database Using DDL
    • Creating Tables, Indexes, Constraints and Views
    • Dropping Tables, Indexes, Constraints and Views
    • Modifying Tables, Indexes, Constraints and Views

4- Manipulating Query Results

  • Using Row Functions
    • Character
    • Numeric
    • Date and Time
    • Data Conversion (CAST and CONVERT)
  • Using the CASE Function
  • Handling Null Values

5- Advanced Query Techniques

  • Inner Joins
  • Outer Joins (Left, Right, Full)
  • Joining a Table to Itself
  • Subqueries
  • Tips for Developing Complex SQL Queries
  • Using Aggregate Functions
    • AVG
    • COUNT
    • SUM
    • MIN
    • MAX
  • Aggregating Results Using GROUP BY
  • Restricting Groups with the HAVING Clause
  • Creating Temporary Tables
  • Using Partitioned Aggregates

6- Manipulating Table Data Using SQL's Data Manipulation Language (DML)

  • Inserting Data into Tables
  • Updating Existing Data
  • Deleting Records
  • Truncating Tables

7- User-Defined Functions

  • Definition and Benefits of Use
  • CREATE FUNCTION
    • Syntax
    • RETURN Clause and the RETURNS Statement
    • Scalar vs. Table Functions
  • Comparison with Stored Procedures
  • Returning Scalar Values and Tables
  • ALTER and DROP FUNCTION

8- Stored Procedures

  • Definition and Benefits of Use
  • CREATE PROCEDURE
    • Syntax
    • Defining Input Parameters
    • Defining Output Parameters
    • Defining Optional Parameters
  • ALTER and DROP PROCEDURE
  • Implementation Differences

9- Triggers

  • Definition and Benefits of Use
  • Alternatives (e.g., Constraints)
  • CREATE TRIGGER
    • Syntax
    • Trigger Types
  • "Inserted" (or "NEW") and "Deleted" (or "OLD") Tables
  • Event Handling and Trigger Execution
  • ALTER and DROP TRIGGER

10- Complex Queries

  • Using Wildcard Characters with Like
  • Improving SQL Queries with Common Table Expressions (CTE’s)
  • Using the OUTPUT clause
  • Allowing Users to Build SQL Queries Dynamically

The following topics may be included at the discretion of your instructor.


11- T-SQL Code Constructs

  • Exploiting the Programming Features of T-SQL
    • Conditional Constructs
    • Looping Constructs
  • Building Multi-Batch Scripts
  • Invoking System Functions
  • Using Variables in Scripts
  • Using Temporary Tables in Scripts
  • Handling Errors
    • Using TRY...CATCH Blocks
    • Using System Variables and Functions

12- Working with Data Types and Functions

  • Effective Use of Data Types in SQL
    • String
    • Numeric
    • Time/Date
    • Other
  • Substitution of Non-null Values with the COALESCE and ISNULL Functions
  • Analyzing Data Points Using Ranking Functions

13- Using T-SQL Cursors

  • Overview of Cursors
  • Declaring a Cursor
  • Using OPEN CURSOR, CLOSE CURSOR, DEALLOCATE CURSOR Statements
  • FETCHing Results
  • Testing @@FETCH_STATUS and @@CURSOR_ROWS
  • Updating Records with Cursors

14- Working with Views

  • Benefits of Using Views
  • Creating Views
  • Modifying Data with an Updateable View
  • ALTER and DROP VIEW