Developing SQL Databases
Course Duration:4 Days
Availability:Call/Email to register interest
Overview & ObjectivesOpen or Close
About this course
This four-day instructor-led course provides students with the knowledge and skills to develop a Microsoft SQL Server 2016 database. The course focuses on teaching individuals how to use SQL Server 2016 product features and tools related to developing a database.
The primary audience for this course is IT Professionals who want to become skilled on SQL Server 2016 product features and technologies for implementing a database.
The secondary audiences for this course are individuals who are developers from other product platforms looking to become skilled in the implementation of a SQL Server 2016 database.
Skills GainedOpen or Close
At course completion
After completing this course, students will be able to:
- Design and Implement Tables.
- Describe advanced table designs
- Ensure Data Integrity through Constraints.
- Describe indexes, including Optimized and Columnstore indexes
- Design and Implement Views.
- Design and Implement Stored Procedures.
- Design and Implement User Defined Functions.
- Respond to data manipulation using triggers.
- Design and Implement In-Memory Tables.
- Implement Managed Code in SQL Server.
- Store and Query XML Data.
- Work with Spatial Data.
- Store and Query Blobs and Text Documents.
Course ModulesOpen or Close
Module 1: Introduction to Database Development
This module is used to 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.
- Introduction to the SQL Server Platform
- SQL Server Database Development Tasks
Lab : SQL Server Database Development TasksAfter completing this module, you will be able to:
- Describe the SQL Server platform.
- Use SQL Server administration tools.
Module 2: Designing and Implementing Tables
This modules describes the design and implementation of tables. (Note: partitioned tables are not covered).
- Designing Tables
- Data Types
- Working with Schemas
- Creating and Altering Tables
Lab : Designing and Implementing TablesAfter completing this module, you will be able to:
- Design Tables
- Describe the various types of data
- Be able to work with schemas
- Be able to create and amend tables
Module 3: Advanced Table Designs
This module describes more advanced table designs.
- Partitioning data
- Compressing Data
- Temporal Tables
Lab : Using Advanced Table DesignsAfter completing this module, you will be able to:
- Describe how data can be partitioned
- Describe how data can be compressed.
- Describe Temporal tables
Module 4: Ensuring Data Integrity through Constraints
This module describes the design and implementation of constraints.
- Enforcing data Integrity
- Implementing Domain Integrity
- Implementing Entity and Referential Integrity
Lab : Ensuring Data Integrity through ConstraintsAfter completing this module, you will be able to:
- Describe how to enforce data integrity
- Describe how to implement domain integrity
- Describe how to implement entity and referential integrity
Module 5: Introduction to Indexes
This module describes the concept of an index and discusses selectivity, density and statistics. It covers appropriate data type choices and choices around composite index structures.
- Core Indexing Concepts
- Data Types and Indexes
- Single Column and Composite Indexes
Lab : Implementing IndexesAfter completing this module, you will be able to:
- Explain the need for indexes and describe the core concepts of index design
- Choose appropriate data types for indexes
- Design single column and composite indexes
Module 6: Designing Optimized Index Strategies
This module includes covering indexes and the INCLUDE clause, hints, padding / fillfactor, statistics. It also execution plans and the DTE Lessons.
- Covering Indexes
- Managing Indexes
- Execution Plans
- Using the DTE
Lab : Designing Optimized Index StrategiesAfter completing this module, you will be able to:
- Choose an appropriate table structure
- Implement clustered indexes and heaps
Module 7: Columnstore IndexesThis module introduces Columnstore indexes.
- Introduction to Columnstore indexes
- Creating Columnstore indexes
- Working Columnstore indexes
Lab : Using Columnstore indexesAfter completing this module, you will be able to:
- Describe suitable scenarios for Columnstore indexes
- Create clustered and non-clustered Columnstore indexes
- Describe considerations for updating non-clustered Columnstore indexed tables
Module 8: Designing and Implementing Views
This module describes the design and implementation of views.
- Introduction to views
- Creating and managing views
- Performance considerations for views
Lab : Designing and Implementing ViewsAfter completing this module, you will be able to:
- Explain the concept of views
- Design, Create and Alter Views
- Create Partitioned Views
Module 9: Designing and Implementing Stored Procedures
This module describes the design and implementation of stored procedures.
- Introduction to Stored Procedures
- Working with Stored Procedures
- Implementing Parameterized Stored Procedures
- Controlling Execution Context
Lab : Designing and Implementing Stored ProceduresAfter completing this module, you will be able to:
- Design, Create and Alter Stored Procedures
- Control the Execution Context of Stored Procedures
- Implement Stored Procedures that use Parameters
Module 10: Designing and Implementing User-Defined Functions
This module describes the design and implementation of functions, both scalar and table-valued. (Also discusses where they can lead to performance issues).
- Overview of Functions
- Designing and Implementing Scalar Functions
- Designing and Implementing Table-Valued Functions
- Implementation Considerations for Functions
- Alternatives to Functions
Lab : Designing and Implementing User-defined FunctionsAfter completing this module, you will be able to:
- Design, create and alter scalar functions
- Design, create and alter table-valued functions
- Describe the performance impacts of functions
Module 11: Responding to Data Manipulation via Triggers
This module describes the design and implementation of triggers.
- Designing DML Triggers
- Implementing DML Triggers
- Advanced Trigger Concepts
Lab : Responding to Data Manipulation via TriggersAfter completing this module, you will be able to:
- Design DML triggers
- Implement DML triggers
- Work with Nested and Recursive Triggers
Module 12: Using In-Memory Tables
This module covers the creation of in-memory tables and native stored procedures. Furthermore, advantages of in-memory tables are discussed, for example the removal of transaction blocking.
- In-Memory tables
- Native Stored Procedures
Lab : In Memory OLTPAfter completing this module, you will be able to:
- Implement in-memory tables
- Implement native stored procedures
Module 13: Implementing Managed Code in SQL Server
This module describes the implementation of and target use-cases for SQL CLR integration.
- Introduction to SQL CLR Integration
- Importing and Configuring Assemblies
- Implementing SQL CLR Integration
Lab : Implementing Managed Code in SQL ServerAfter completing this module, you will be able to:
- Describe SQL CLR Integration
- Detail appropriate use cases for SQL CLR Integration
- Implement SQL CLR code
Module 14: Storing and Querying XML Data in SQL Server
This module covers the XML data type, schema collections, typed and un-typed columns and appropriate use cases for XML in SQL Server.
- Introduction to XML and XML Schemas
- Storing XML Data and Schemas in SQL Server
- Implementing the XML Data Type
- Using the T-SQL FOR XML Statement
- Getting Started with xQuery
Lab : Storing and Querying XML Data in SQL ServerAfter completing this module, you will be able to:
- Explain the purpose and structure of XML and XML schemas
- Describe how XML data and schemas can be stored in SQL Server
- Implement the XML data type
Module 15: Working with SQL Server Spatial Data
This module describes spatial data and how this data can be implemented within SQL Server.
- Introduction to Spatial Data
- Working with SQL Server Spatial Data Types
- Using Spatial Data in Applications
Lab : Working with SQL Server Spatial DataAfter completing this module, you will be able to:
- Describe how spatial data can be stored in SQL Server
- Use basic methods of the GEOMETRY and GEOGRAPHY data types
- Query databases containing spatial data
Module 16: Storing and Querying Blobs and Text Documents in SQL Server
This module covers full text indexes and queries.
- Considerations for BLOB Data
- Working with FileStream
- Using Full-Text Search
Lab : Storing and Querying Blobs and Text Documents in SQL ServerAfter completing this module, you will be able to:
- Describe the need for full-text indexing in SQL Server
- Implement a full-text index
- Perform basic full-text queries
PrerequisitesOpen or Close
- Basic knowledge of the Microsoft Windows operating system and its core functionality.
- Working knowledge of Transact-SQL.
- Working knowledge of relational databases.