Karlebovej 91, 3400 Hillerød | Krajbjergvej 3, 8541 Skødstrup
70 22 29 29
08:30 - 17:00

SQL og DataAnalyse

  • sep 09
    mandag 09/09/2019 - onsdag 11/09/2019
    09:00 - 16:00 Hillerød
    • Afholdelsesgaranti
    • Kr.12,595.00 ekskl. MOMS
    Ekskl. moms
  • sep 09
    mandag 09/09/2019 - onsdag 11/09/2019
    09:00 - 16:00 Aarhus
    • Kr.12,595.00 ekskl. MOMS
    Ekskl. moms
  • okt 07
    mandag 07/10/2019 - onsdag 09/10/2019
    09:00 - 16:00 Hillerød
    • Kr.12,595.00 ekskl. MOMS
    Ekskl. moms
  • okt 07
    mandag 07/10/2019 - onsdag 09/10/2019
    09:00 - 16:00 Aarhus
    • Kr.12,595.00 ekskl. MOMS
    Ekskl. moms
  • nov 11
    mandag 11/11/2019 - onsdag 13/11/2019
    09:00 - 16:00 Aarhus
    • Afholdelsesgaranti
    • Kr.12,595.00 ekskl. MOMS
    Ekskl. moms
  • nov 25
    mandag 25/11/2019 - onsdag 27/11/2019
    09:00 - 16:00 Hillerød
    • Afholdelsesgaranti
    • Kr.12,595.00 ekskl. MOMS
    Ekskl. moms
  • dec 09
    mandag 09/12/2019 - onsdag 11/12/2019
    09:00 - 16:00 Aarhus
    • Kr.12,595.00 ekskl. MOMS
    Ekskl. moms
  • dec 16
    mandag 16/12/2019 - onsdag 18/12/2019
    09:00 - 16:00 Hillerød
    • Kr.12,595.00 ekskl. MOMS
    Ekskl. moms
Er der ingen af disse datoer som passer dig? Foreslå en anden dato

Kursusinfo

  • Dette kursus varer 3 dage
  • Der medfølger kursusmateriale til dette kursus
  • Dette kursus koster 3 klip på dit klippekort.
  • Fuld forplejning (Morgenmad, frokost, kage, kaffe og sodavand ad libitum)

Varighed

Dette kursus varer 3 dage

Materialer

Der medfølger kursusmateriale til dette kursus

Klip på klippekort

Dette kursus koster 3 klip på dit klippekort.

Forplejning

Fuld forplejning (Morgenmad, frokost, eftermiddagskage samt kaffe og sodavand ad libitum)

Formål

At give deltagere viden og færdigheder til at kunne bruge avanceret SQL-kode til at returnere statistiske data -- eksempelvis til avancerede statistiske rapportønsker og/eller befolkning af Data Warehouses.

Beskrivelse

Dette er et avanceret SQL-kursus ! 

Kursets indhold ligger inden for SQL-standarden og kan derfor benyttes i f.eks. Oracle, IBM DB2, Microsoft SQL Server, MySQL, MariaDB, PostgreSQL og Teradata. 

Kurset udvider kursistens repertoire af avancerede SQL-teknikker, så han/hun får flere 'tangenter at spille på' og derved kan være mere kreativ i omsætningen af strategien til SQL-kode! Dette er forudsætningen for at kunne performance tune SQL-statements. 

Kurset starter med klassiske mængdeoperationer -- hvor der fokuseres på strategier for løsning vha. korrelerede subqueries. Gode, gedigne teknikker, som ligger i kernen af tankegangen i SQL.

Dernæst følger SQL:1999-udvidelserne af GROUP BY med GROUPING SETS, CUBE og ROLLUP. Disse udvidelser retter sig mod statistiske rapporter og Data Warehousing. Korrekt anvendt kan dette give bedre performance.

 

Correlated DELETE og UPDATE kan benyttes til ændringer af data i én tabel, med udgangspunkt i data fra en anden tabel. Kurset tager udgangspunkt i en Upsert -- for dernæst at introducere den vigtige MERGE-kommando, som kom i SQL:2003 og blev udvidet i SQL:2008-standarden. Benyttes ofte i Data Warehousing. 

Kurset kommer kort omkring rekursive CTE -- defineret til hierarkiske forespørgsler. De finder også anvendelse i at kunne erstatte en iterativ forespørgsel ( f.eks. CURSOR eller WHILE loop ). Derved tilbydes performance gennem et view eller inline table-valued function. 

Window functions ( Analytic function eller OLAP function ) blev introduceret i SQL:1999-standarden og er en radikal anderledes måde at tænke mængder på. De løser en stribe klassiske problemstillinger på en elegant og let læselig måde -- tilmed ofte med god performance. 

Window functions gennemgås detaljeret med mange øvelser og eksempler og er hovedemnet på kurset. 

Kurset viser måder at returnere simple statistiske deskriptorer -- f.eks. median, typetal og gennemsnit. 

Til sidst introduceres SQL-forespørgsler på intervaller samt betingelsen for overlappende intervaller. Resultatsæt fra beregninger på intervaller, herunder overlappende intervaller, intervaller tilskrevet en værdi. Dette indgår bl.a. i økonomisk SQL.

Indhold

Mængdeoperationer

  • SQL hviler på mængdelære. Blandt SQL-sprogets berømte attraktioner hører dets elegante håndtering af mængdeoperationer, som kan løse avancerede rapportønsker. Pointen er, at genkendes mængdeoperationen ud fra rapportønsket, har man en god retningsgiver for en mulig strategi til at skrive en passende SQL-kode. På kurset præsenteres klassiske mængdeoperationer -- både grafisk i Venn-diagrammer samt smukke, korrelerede HAVING- og/eller EXISTS-konstruktioner til at løse dem. SQL er bygget til at kunne gøre dette med god performance.
  • Disjunkte mængder.
    • Tom fællesmængde.
    • Hvilke købende Kunder X har ikke købt nogen af de Varer, som Kunde A har købt ?
    • Hvilke Kunder X har kun købt noget i de år, som Kunde A ikke har købt i ?
  • Supermængde.
    • Hvilke Kunder X har mindst købt de samme Varer som Kunde A ?
  • Delmængde.
    • Hvilke Kunder X har købt blandt Varer købt af Kunde A -- hvor Kunde A har købt alle Varer, som Kunde X har købt ?
  • Identiske mængder.
    • Hvilke Kunder X har købt præcis de samme Varer som Kunde A ?

Grupperede data

  • SQL:1999-standardens udvidelse af GROUP BY med GROUPING SETS, CUBE og ROLLUP. Implementeret til håndtering af data i statistiske rapporter og Data Warehouses. Et stærkt supplement i rapportering, idet man specifikt udvælger niveauer at gruppere data i. Kan derfor give en performance-gevinst fremfor at gruppere på alle niveauer og samle aggregater senere. 

MERGE-kommandoen

  • Defineret i SQL:2003 og SQL:2008-standarden og svarer til en upsert ( update + insert ). Merge indgår ofte i befolkning af tabeller i Data Warehouses. Kurset præsenterer mulighederne, herunder nogle af udvidelserne til standarden, som enkelte database-producenter har tilføjet.
  • Med udgangspunkt i upsert vha. correlated UPDATE hhv. INSERT præsenteres merge-kommandoen og dens anvendelser. 

Rekursive CTE

  • CTE blev introduceret i SQL:1999. Herunder valgte man at placere rekursive forespørgsler i CTE syntaxen. Kurset introducerer kort disse konstruktioner, fordi de kan anvendes i views og inline table-valued functions og derved give performance! Sammenligning med Oracle syntax

Window-funktioner

  • Definition. Hvad er pointen? Hvori består ”vinduet”? Gennemgås detaljeret med fokus på opbygning samt relation til strategier for rapportering. Mange eksempler.
  • Typer af Window Functions:
    • Aggregate
    • Ranking
    • Distribution
    • Offset
    • Hver af disse typer præsenteres med eksempler på anvendelse.
  • OVER-klausulen og dens elementer:
    • Partitioning
    • Ordering
    • Framing
    • Hvert af disse elementer gennemgås grundigt med eksempler på anvendelse i forespørgsler.
  • Sekvenser af key values.
    • Tildele unikke, sekventielle værdier, f.eks. surrogate keys i et Data Warehouse.
    • Slette duplikat-rækker
    • Top-N pr. gruppering -- f.eks. angiv de tre seneste afgivne ordrer pr. kunde.
  • Window Functions til at returnere nogle statistiske deskriptorer:
    • Typetal
    • Median
  • Løbende aggregater -- ”running values”.
    • Angiv løbende 7-døgns gennemsnitlige indbetaling pr. kunde.

Ranking functions

  • ROW_NUMBER() , RANK() og DENSE_RANK()
    • Der fokuseres specielt på denne type Window Function -- herunder hvilke typer rapportønsker eller Data Warehouse-forespørgsler den kan løse.

Intervaller

  • Intervaller optræder flere steder.
    • Et lån har en given restgæld og rente i et givet tidsrum.
    • En medarbejder udlånes til et projekt i et givet tidsrum.
    • En bil har en leasingperiode.
    • En mobilsamtale har en varighed.
  • Overlappende intervaller.
    • Maximale antal overlappende intervaller.
    • Hvad var det maximale antal samtidige biler, der var udlejet.
    • Hvis et interval er tilskrevet en værdi -- hvad var det maximale udlån?
  • Huller i intervaller.
    • Hvilke intervaller af løbenumre er ikke i brug?
    • Angiv sammenhængende intervaller af løbenumre, som er i brug.

Lignende kurser

MCSA: Machine Learning (70-773 & 70-774) Skriv dig op som interesseret til dette kursus
Administering a SQL Database Infrastructure MOC 20764 (70-764) 22 jul
Analyzing Big Data with Microsoft R 20773 (70-773) Skriv dig op som interesseret til dette kursus
Developing SQL Data Models MOC 20768 (70-768) 08 jul
Performing Data Engineering on Microsoft HD Insight 20775 (70-775) Skriv dig op som interesseret til dette kursus