MOC 20762: Developing SQL Databases kursus

Det lærer du

Dette kursus er rettet mod dig, der til dagligt arbejder som udvikler og ønsker at lære at oprette, designe og implementere tabeller og index, programmerbare objekter som eksempelvis stored procedures, views og funktioner samt arbejde med specielle typer af data som fx. XML og geografisk data.

Kurset tager udgangspunkt i Microsoft SQL Server 2012, men introducerer også ny funktionalitet som eksempelvis In-Memory OLTP databaser. Kurset er til dig, der skal udvikle effektive og robuste applikationer mod en Microsoft SQL Server.

Hvis du i stedet søger et kursus med en bredere introduktion til Microsoft SQL Server, som også omhandler eksempelvis implementering af sikkerhed og design af backup-strategi, kan du med fordel tilmelde dig kurserne ”SQL Server grundlæggende” og ”SQL Server udvidet”.


Efter kurset vil du være i stand til at:
  • Anvende de korrekte datatyper ved oprettelse af tabeller.
  • Designe og implementere tabeller.
  • Anvende avancerede tabel design
  • Implementere PRIMARY KEY, FOREIGN KEY, DEFAULT, CHECK og UNIQUE constraints
  • Designe index.
  • Oprette tabeller med clustered index.
  • Læse og forstå eksekveringsplaner.
  • Designe effektive non-clustered index.
  • Designe og implementere views.
  • Designe og implementere stored procedures.
  • Arbejde med table data type
  • Designe og implementere scalar og table-valued funktioner.
  • Anvende og implementere in-memory tabeller og native stored procedures.
  • Designe og implementere DML triggers.
  • Anvende og implementere .NET assemblies og anvende managed code.
  • Gemme XML data og schemas i en SQL Server tabel.
  • Eksekvere forespørgsler mod XML data i en SQL Server tabel.
  • Anvende GEOGRAPHY og GEOMETRY datatyper.
  • Designe og implementere in-Memory tabeller.
  • Anvende FILESTREAM og Full-text index

Det får du

Før kurset
  • Mulighed for at tale med en instruktør, der kan hjælpe dig med at finde det helt rigtige kursus.

På kurset
  • Undervisning af Danmarks mest erfarne instruktørteam i hyggelige og fuldt opdaterede kursuslokaler i centrum af København.
  • Et kursus bestående af en vekslen mellem teori og praktiske øvelser. Vi ved, hvor vigtigt det er, at du får tid til at arbejde med opgaverne i praksis, og derfor har vi altid fokus på hands-on i undervisningen.
  • Adgang til Microsofts digitale kursusmateriale (DMOC) samt Microsoft Labs Online*.
  • Fuld forplejning, som inkluderer morgenmad, friskbrygget kaffe, te, frugt, sodavand, frokost på en italiensk restaurant på Gråbrødretorv, kage, slik, og naturligvis Wi-Fi til dine devices.

Efter kurset
  • Adgang til vores gratis hotline, som betyder, at du op til et år efter kurset kan ringe eller skrive til os, hvis du har spørgsmål til de emner, der er blevet gennemgået på kurset.
  • Vores unikke tilfredshedsgaranti, som er din tryghed for at få fuldt udbytte af dit kursus.

Kurset bliver afholdt på dansk, men vi benytter Microsofts digitale materiale (DMOC), som er på engelsk. På kurset bliver der stillet en Surface tablet til rådighed, som kan anvendes til læsning af materialet. Du vil efterfølgende have adgang til materialet både online og lokalt. I tilfælde af at Microsoft laver en ny version af kursusmaterialet, vil du automatisk få adgang til det. Derudover vil du have adgang til øvelser via Microsoft Labs Online i 180 dage i alt, og du kan derfor fortsætte eller starte forfra på en øvelse hjemmefra, under eller efter kurset, alt efter behov.

Få det optimale ud af kurset

Kurset er på et teknisk højt niveau og forudsætter et godt kendskab til relationelle databaser og Transact-SQL.

Er du i tvivl om noget, så kontakt os på 33 14 71 44, undervisning@4d.dk eller via chatten her på siden. Vi glæder os til at se dig herinde!

Kursusindhold

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.

Lessons

  • Introduction to the SQL Server Platform
  • SQL Server Database Development Tasks

Lab : SQL Server Database Development Tasks

After 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).

Lessons

  • Designing Tables
  • Data Types
  • Working with Schemas
  • Creating and Altering Tables

Lab : Designing and Implementing Tables

After 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.

Lessons

  • Partitioning data
  • Compressing Data
  • Temporal Tables

Lab : Using Advanced Table Designs

After 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.

Lessons

  • Enforcing data Integrity
  • Implementing Domain Integrity
  • Implementing Entity and Referential Integrity

Lab : Ensuring Data Integrity through Constraints

After 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.

Lessons

  • Core Indexing Concepts
  • Data Types and Indexes
  • Single Column and Composite Indexes

Lab : Implementing Indexes

After 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.

Lessons

  • Covering Indexes
  • Managing Indexes
  • Execution Plans
  • Using the DTE

Lab : Designing Optimized Index Strategies

After completing this module, you will be able to:

  • Choose an appropriate table structure
  • Implement clustered indexes and heaps

Module 7: Columnstore Indexes

This module introduces Columnstore indexes.

Lessons

  • Introduction to Columnstore indexes
  • Creating Columnstore indexes
  • Working Columnstore indexes

Lab : Using Columnstore indexes

After 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.

Lessons

  • Introduction to views
  • Creating and managing views
  • Performance considerations for views

Lab : Designing and Implementing Views

After 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.

Lessons

  • Introduction to Stored Procedures
  • Working with Stored Procedures
  • Implementing Parameterized Stored Procedures
  • Controlling Execution Context

Lab : Designing and Implementing Stored Procedures

After 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).

Lessons

  • 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 Functions

After 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.

Lessons

  • Designing DML Triggers
  • Implementing DML Triggers
  • Advanced Trigger Concepts

Lab : Responding to Data Manipulation via Triggers

After 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.

Lessons

  • In-Memory tables
  • Native Stored Procedures

Lab : In Memory OLTP

After 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.

Lessons

  • Introduction to SQL CLR Integration
  • Importing and Configuring Assemblies
  • Implementing SQL CLR Integration

Lab : Implementing Managed Code in SQL Server

After 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.

Lessons

  • 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 Server

After 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.

Lessons

  • Introduction to Spatial Data
  • Working with SQL Server Spatial Data Types
  • Using Spatial Data in Applications

Lab : Working with SQL Server Spatial Data

After 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.

Lessons

  • Considerations for BLOB Data
  • Working with FileStream
  • Using Full-Text Search

Lab : Storing and Querying Blobs and Text Documents in SQL Server

After 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

Module 17: SQL Server Concurrency

This module explains how to name, declare, assign values to, and use variables. It also describes how to store data in an array. Concurrency control is a critical feature of multiuser database systems; it allows data to remain consistent when many users are modifying data at the same time. This module covers the implementation of concurrency in Microsoft SQL Server. You will learn about how SQL Server implements concurrency controls, and the different ways you can configure and work with concurrency settings.

Lessons

  • Concurrency and Transactions
  • Locking Internals

Lab : SQL Server Concurrency

  • Implement Snapshot Isolation
  • Implement Partition Level Locking

After completing this module, you will be able to:

  • Describe concurrency and transactions in SQL Server.
  • Describe SQL Server locking.

Module 18: Performance and Monitoring

This module explains how to name, declare, assign values to, and use variables. It also describes how to store data in an array. This module looks at how to measure and monitor the performance of your SQL Server databases. The first two lessons look at SQL Server Extended Events, a flexible, lightweight event-handling system built into the Microsoft SQL Server Database Engine. These lessons focus on the architectural concepts, troubleshooting strategies and usage scenarios.

Lessons

  • Extended Events
  • Working with extended Events
  • Live Query Statistics
  • Optimize Database File Configuration
  • Metrics

Lab : Monitoring, Tracing, and Baselining

  • Collecting and Analyzing Data Using Extended Events
  • Implementing Baseline Methodology

After completing this module, you will be able to:

  • Understand Extended Events and how to use them.
  • Work with Extended Events.
  • Understand Live Query Statistics.
  • Optimize the file configuration of your databases.
Use DMVs and Performance Monitor to create baselines and gather performance metrics.

Kontaktoplysninger

Adresse
Amagertorv 21
1160 København K