Developing Microsoft SQL Server Databases

This course introduces SQL Server and describes logical table design, indexing and query plans. It focuses on the creation of database objects including views, stored procedures, along with parameters, and functions. Other common aspects of procedure coding, such as indexes, concurrency, error handling, and triggers are also covered in this course.

In order to take full advantage of SQL Server, you may need to go deeper into the internals of the Database Engine and learn the parts of SQL and associated RDBMS functions. These parts extend the control over the regional engine to fine tune the queries through modularisation, using views and stored procedures. To do this you will learn about the server architecture and how we can develop databases.

Having created the database we will see how we create Non Functional objects within it to store and manipulate the data we learned to manipulate in a preceding course or through exposure to SQL in a work environment. This will include Tables, which will require the setting up of columns of various data types with constraints applied to prevent bad data, data without integrity, being inserted into the tables, both on a column and a row level.

We will also learn about non-functional features that can affect the performance of the queries and considerations there off. Sometimes we need to access client side code from the server so that we can gain further functionality outside the capacity of SQL Server itself, we will see how we can manage this code as we implement it on the server. We will finish off by considering how we can get the data into the database, having created a controlled set of meta data structures to house and manipulate the data.

We recommend completing ‘Querying SQL Server Databases‘ to advance onto this course. Alternatively, if you have relevant experience, a member of our team will be happy to discuss this with you and determine which course would be most appropriate. Contact us today!

Duration: 5 days

Spaces: 5

Location: Newcastle-upon-Tyne

Next Date Available: July 24th – 28th 

Price: Speak to a member of our team for course details

Click here for details about the optional exam this course prepares you for, plus a compressed digital version of the course

See detailed course content below


Module 1: Introduction to Microsoft SQL Server 2014 

  • The Basic Architecture of SQL Server 
  • SQL Server Editions and Versions 
  • Getting Started with SQL Server Management Studio 
  • Lab : Working with SQL Server 2014 Tools 
  • Working with SQL Server Management Studio 
  • Creating and Organizing T-SQL scripts 
  • Using Books Online 

Module 2: Introduction to T-SQL Querying 

  • Introducing T-SQL 
  • Understanding Sets 
  • Understanding Predicate Logic 
  • Understanding the Logical Order of Operations in SELECT statements 
  • Lab : Introduction to Transact-SQL Querying 
  • Executing Basic SELECT Statements 
  • Executing queries which filter data using predicates 
  • Executing queries which sort data using ORDER BY 

Module 3: Writing SELECT Queries 

  • Writing Simple SELECT Statements 
  • Eliminating Duplicates with DISTINCT 
  • Using Column and Table Aliases 
  • Writing Simple CASE Expressions 
  • Lab : Writing Basic SELECT Statements 
  • Write simple SELECT Statements 
  • Eliminate Duplicates Using Distinct 
  • Use Table and Column Aliases 
  • Use a Simple CASE Expression 

Module 4: Querying Multiple Tables 

  • Understanding Joins 
  • Querying with Inner Joins 
  • Querying with Outer Joins 
  • Querying with Cross Joins and Self Joins 
  • Lab : Querying Multiple Tables 
  • Writing Queries That Use Inner Joins 
  • Writing Queries That Use Multiple-Table Inner Join 
  • Writing Queries That Use Self Joins 
  • Writing Queries That Use Outer Joins 
  • Writing Queries That Use Cross Joins 

Module 5: Sorting and Filtering Data 

  • Sorting Data 
  • Filtering Data with a WHERE Clause 
  • Filtering with the TOP and OFFSET-FETCH Options 
  • Working with Unknown and Missing Values 
  • Lab : Sorting and Filtering Data 
  • Writing Queries That Filter Data Using a WHERE Clause 
  • Writing Queries That Filter Data Using an ORDER BY Clause 
  • Writing Queries That Filter Data Using the TOP Option 
  • Writing Queries That Filter Data Using the OFFSET-FETCH Clause 

Module 6: Working with SQL Server 2014 Data Types 

  • Introducing SQL Server 2014 Data Types 
  • Working with Character Data 
  • Working with Date and Time Data 
  • Lab : Working with SQL Server 2014 Data Types 
  • Writing Queries That Return Date and Time Data 
  • Writing Queries That Use Date and Time Functions 
  • Writing Queries That Return Character Data 
  • Writing Queries That Use Character Function 
  • Module 7: Using DML to Modify Data 

    • Inserting Data 
    • Modifying and Deleting Data 
    • Lab : Using DML to Modify Data 
    • Inserting Data 
    • Updating and Deleting Data 
  • Module 8: Using Built-In Functions 

    • Writing Queries with Built-In Functions 
    • Using Conversion Functions 
    • Using Logical Functions 
    • Using Functions to Work with NULL 
    • Lab : Using Built-In Functions 
    • Write queries which use conversion functions 
    • Write queries which use logical functions 
    • Write queries which test for nullability 
  • Module 9: Grouping and Aggregating Data 

    • Using Aggregate Functions 
    • Using the GROUP BY Clause 
    • Filtering Groups with HAVING 
    • Lab : Grouping and Aggregating Data 
    • Write queries which use the GROUP BY clause 
    • Write queries which use aggregate functions 
    • Write queries which use distinct aggregate functions 
    • Write queries which filter groups with the HAVING clause 
  • Module 10: Using Subqueries 

    • Writing Self-Contained Subqueries 
    • Writing Correlated Subqueries 
    • Using the EXISTS Predicate with Subqueries 
    • Lab : Using Subqueries 
    • Write queries which use self-contained subqueries 
    • Write queries which use scalar and multi-result subqueries 
    • Write queries which use correlated subqueries and EXISTS predicate 
  • Module 11: Using Table Expressions 

    • Using Derived Tables 
    • Using Common Table Expressions 
    • Using Views 
    • Using Inline Table-Valued Functions 
    • Lab : Using Table Expressions 
    • Write Queries Which Use Views 
    • Write Queries Which Use Derived Tables 
    • Write Queries Which Use Common Table Expressions 
    • Write Queries Which Use Inline Table-Valued Functions 
  • Module 12: Using Set Operators 

    • Writing Queries with the UNION Operator 
    • Using EXCEPT and INTERSECT 
    • Using APPLY 
    • Lab : Using Set Operators 
    • Write queries which use UNION set operators and UNION ALL multi-set operators 
    • Write queries which use CROSS APPLY and OUTER APPLY operators 
    • Write queries which use EXCEPT and INTERSECT operators 
  • Module 13: Using Window Ranking, Offset, and Aggregate Functions 

    • Creating Windows with OVER 
    • Exploring Window Functions 
    • Lab : Using Window Ranking, Offset and Aggregate Functions 
    • Write queries which use ranking functions 
    • Write queries which use offset functions 
    • Write queries which use window aggregate functions 
  • Module 14: Pivoting and Grouping Sets 

    • Writing Queries with PIVOT and UNPIVOT 
    • Working with Grouping Sets 
    • Lab : Pivoting and Grouping Sets 
    • Write queries which use the PIVOT operator 
    • Write queries which use the UNPIVOT operator 
    • Write queries which use the GROUPING SETS subclause 
  • Module 15: Executing Stored Procedures 

    • Querying Data with Stored Procedures 
    • Passing Parameters to Stored Procedures 
    • Creating Simple Stored Procedures 
    • Working with Dynamic SQL 
    • Lab : Executing Stored Procedures 
    • Use the EXECUTE statement to invoke stored procedures 
    • Pass parameters to stored procedures 
    • Execute system stored procedures 
  • Module 16: Programming with T-SQL 

    • T-SQL Programming Elements 
    • Controlling Program Flow 
    • Lab : Programming with T-SQL 
    • Declaring Variables and Delimiting Batches 
    • Using Control-of-Flow Elements 
    • Generating Dynamic SQL 
    • Using Synonyms 
  • Module 17: Implementing Error Handling 

    • Using TRY / CATCH Blocks 
    • Working with Error Information 
    • Lab : Implementing Error Handling 
    • Redirecting Errors with TRY / CATCH 
    • Using THROW to Pass an Error Message Back to a Client 
  • Module 18: Implementing Transactions 

    • Transactions and the Database Engine 
    • Controlling Transactions 
    • Isolation Levels 
    • Lab : Implementing Transactions 
    • Controlling transactions with BEGIN, COMMIT, and ROLLBACK 
    • Adding error handling to a CATCH block

Course Objectives:

  • Introduce the entire SQL Server platform and its major tools. It will cover editions, versions, basics of network listeners, and concepts of services and service accounts.
  • Determine appropriate data types to be used when designing tables, convert data between data types, and create alias data types.
  • Be aware of good design practices regarding SQL Server tables and be able to create tables using T-SQL. (Note: partitioned tables are not covered).
  • Implement PRIMARY KEY, FOREIGN KEY, DEFAULT, CHECK and UNIQUE constraints, and investigate cascading FOREIGN KEY constraints.
  • Determine appropriate single column and composite indexes strategies.
  • Create tables as heaps and tables with clustered indexes. Also consider the design of a table and suggest an appropriate structure.
  • Read and interpret details of common elements from execution plans.
  • Design effective non-clustered indexes.
  • Design and implement views
  • Design and implement stored procedures.
  • Work with table types, table valued parameters and use the MERGE statement to create stored procedures that update data warehouses.
  • Design and implement functions, both scalar and table-valued. (Also describe where they can lead to performance issues).
  • Perform basic investigation of a deadlock situation and learn how transaction isolation levels affect application concurrency.
  • Use both traditional T-SQL error handling code and structured exception handling.
  • Design and implement DML triggers
  • Learn appropriate uses for SQL CLR integration and implement an existing .NET assembly within SQL Server.
  • Store XML data and schemas in SQL Server.
  • Perform basic queries on XML data in SQL Server.
  • Work with the GEOGRAPHY and GEOMETRY data types
  • Implement and query a full-text index.

Working knowledge of relational databases. 

Basic knowledge of the Microsoft Windows operating system and its core functionality.

  • Suite A15 Milburn House Dean Street Newcastle upon Tyne NE1 1LE