SQL Server - programowanie, typy zaawansowane, XML 70-761
4.8 (117 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
1,503 students enrolled

SQL Server - programowanie, typy zaawansowane, XML 70-761

Pisz skrypty w T-SQL. Używaj zmiennych, buduj pętle, stosuj zaawansowane typy: ROWVERSION, GEOMETRY, HIERARCHY, XML itp.
4.8 (117 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
1,503 students enrolled
Created by Rafał Mobilo
Last updated 12/2018
Polish
Current price: $41.99 Original price: $59.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 4.5 hours on-demand video
  • 2 articles
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Nauczysz się pisać własne skrypty w Transact-SQL
  • Dowiesz się jak deklarować i korzystać ze zmiennych
  • Szczegółowo zapoznasz się z pojęciem COLLATION
Course content
Expand all 35 lectures 04:21:44
+ Intro - wprowadzenie
3 lectures 06:40

Zobacz tutaj:

  • Dla kogo jest ten kurs
  • Jak kurs może Ci pomóc w certyfikacji
  • Czego przydatnego na kursie może się nauczyć administrator lub programista baz danych
  • Jak jest zbudowany kurs i jak z nim pracować
Preview 02:34

Ten 3-minutowy film to streszczenie kursu. Zobacz żeby sprawdzić czego się możesz spodziewać!

Preview 03:13


Uwagi techniczne
00:53
+ Programowanie w TSQL
6 lectures 30:15

W tej lekcji:

  • Wprowadzenie do instrukcji warunkowej IF
  • Korzystanie z ELSE
  • Grupowanie poleceń w bloku BEGIN / END
  • Debugowanie skryptu
Instrukcja warunkowa IF - VIDEO
04:06

W tej lekcji:

  • Odnajdowanie daty kursu (poprzedni dzień roboczy)
  • Korzyści z zastosowania IF bez ELSE
  • Debugowanie skryptu
Instrukcja warunkowa IF w praktyce - wyznaczenie kursu waluty - VIDEO
05:39

W tej lekcji:

  • Budowanie skryptu tworzącego obiekty w bazie danych
  • Zastosowanie instrukcji IF w celu sprawdzenia występowania obiektu w bazie
  • Warunkowe wykonanie tylko części kodu
Instrukcja warunkowa IF w pracacy administratora bazy danych - VIDEO
03:57

W tej lekcji:

  • Budowa pętli WHILE
  • Warunek pętli WHILE
  • Inkrementacja zmiennej sterującej
  • Zastosowanie zmiennej NOCOUNT
Pętla WHILE - VIDEO
02:33

W tej lekcji:

  • Problem kasowania dużej ilości danych w jednej dużej transakcji
  • Kasowanie mniejszej porcji danych za pomocą TOP
  • Zastosowanie pętli WHILE do podziału jednej dużej transakcji na wiele mniejszych
  • Znaczenie zmiennej @@ROWCOUNT
  • Przerwanie pętli z wykorzystaniem BREAK
Pętla WHILE w praktyce - podział dużej transakcji kasującej na mniejsze - VIDEO
08:44
+ Specjalistyczne typy ROWVERSION, UNIQUEIDENTIFIER i opcja COLLATION
4 lectures 25:56

W tej lekcji

  • Zobaczysz co to jest typ ROWVERSION
  • Jak stworzyć tabelę wykorzystującą ten typ
  • Jak pisać polecenia INSERT, gdy wstawiasz rekord do tabeli wykorzystującej ROWVERSION
  • Co dzieje się w polu typu ROWVERSION po wstawieniu lub zmodyfikowaniu rekordu
  • Jak jest generowana wartość ROWVERSION jeśli w baza posiada kilka tabel z kolumną tego typu
  • Co to jest blokowanie optymistyczne i dlaczego ROWVERSION świetnie się do niego nadaje.
Preview 06:21

W tej lekcji

  • Cechy charakterystyczne typu UNIQUEIDENTIFIER
  • Zastosowanie typu przy projektowaniu tabel
  • Działanie funkcji NEWID
  • Cecha funkcji NEWSEQUENTIALID
  • Zastosowanie typu UNIQUEIDENTIFIER oraz NEWID w pracy administratora
Typ UNIQUEIDENTIFIER - VIDEO
05:13

W tej lekcji

  • Co to jest collation
  • Jak sprawdzić collation obowiązujące na serwerze
  • Jak sprawdzić collation obowiązujące na bazie danych
  • Jak sprawdzić collation dla kolumny w tabeli
  • Częste problemy z collation i sposoby ich unikania
  • Rodzaje collation: SQL i Windows
Collation - co to jest collation?
09:39

W tej lekcji

  • Dlaczego przed stałymi napisowymi używamy literału N
  • W jakich przypadkach brak literału powoduje błąd
  • Wpływ collation bazy danych na kodowanie znaków
  • Czy UNICODE pozwala uniknąć wszelkich problemów z kodowaniem znaków?
Collation - literał N przed stałymi napisowymi
04:43
+ Budowanie Hierarchii - typ HIERARCHYID
2 lectures 19:22

W tej lekcji

  • Kiedy można zastosować hierarchyid
  • Tworzenie tabeli z kolumną hierarchyid
  • Indeksy: breath first i depth first - zastosowanie i składnia
  • Wstawianie pierwszego rekordu
  • Wstawianie pierwszego rekordu potomnego
  • Wstawianie kolejnych rekordów
  • Wyświetlanie rekordów w czytelny dla użytkownika sposób
  • Metody GetLevel() i ToString()
Typ HIERARCHYID - wprowadzanie danych - VIDEO
12:19

W tej lekcji:

  • Wyświetlanie wszystkich obiektów położonych niżej w strukturze - metoda IsDescendantOf
  • Wyświetlanie tylko obiektów bezpośrednio poniżej danego elementu - metoda GetAncestor
  • Wyświetlanie tylko obiektów położonych o określoną ilość poziomów niżej - metoda GetAncestor
  • Przełożenie obiektu w hierarchi - metoda GetReparentedValue
  • Problemy wynikające ze zmiany położenia w hierarchii
Typ HIERARCHYID - modyfikacja danych
07:03
+ Typy przestrzenne GEOMETRY i GEOGRAPHY
5 lectures 01:00:56

W tej lekcji:

  • Jakie obiekty geometryczne można tworzyć w SQL Server
  • Jak inicjować wartość zmiennych typu geometrycznego
  • Jak tworzyć punkt, odcinek, krzywą
  • Jak twoorzyć wielokąty
  • Jak łączyć ze sobą kształty
  • Korzystanie z metod standardowych Open Geospacial Consortium
  • Zastosowanie typu geometrycznego
Typ geometryczny - wprowadzenie
14:36

W tej lekcji:

  • Przegląd metod pozwalających na pracę z typem geometrycznym
  • Różnice między metodami standardowymi a niestandardowymi
  • Metody zdefiniowane przez Open Geospatial Consortium
  • Metody niestandardowe
  • Obliczanie: pola, obwodu, odległości między kształtami, konwersje kształtów, dodawanie i odejmowanie kształtów, wyznaczanie bufora wokół kształtu
Typ geometryczny - metody
12:31

W tej lekcji:

  • OGC - Open Geospatial Consorcium jako źródło standardów dortyczących danych geometrycznych
  • Spatial Row Identifier i różne standardy opisu geograficznego kuli ziemskiej
  • Standard GPS
  • Rysowanie punktów i odcinków na kuli ziemskiej
  • Rysowanie mapy świata
  • Wyznaczanie pola obszaru i długości obwodu terenów kuli ziemskiej
  • Typowe zastosowanie typu geograficznego
Preview 10:17

W tej lekcji:

  • Porównanie indeksów budowanych na kolumnach o typie standardowym z indeksem przestrzennym
  • Proces teselizacji 
  • Metody optymalizacyjne stosowane podczas budowy indeksu
  • Opcje związane z typem geometrycznym
  • Budowanie indeksu na kolumnach geograficznych
  • Funkcje korzystające z indeksów przestrzennych
Indeks przestrzenny - wprowadzenie
10:55

W tej lekcji:

  • Budowanie indeksu przestrzennego w interfejsie graficznym
  • Tworzenie indeksu przestrzennego poleceniem TSQL
  • Różnice między indeksami geometrycznymi a geograficznymi
  • Warunki tworzenia indeksów przestrzennych
  • Pisanie zapytań korzystających z indeksów przestrzennych
  • Warunki jakie muszą być spełnione, aby zapytanie skorzystało z indeksu
  • Zrozumienie działania indeksu przestrzennego
Indeks przestrzenny w praktyce
12:37
+ Praca z XML w SQL Server
14 lectures 01:58:09

W tej lekcji

  • Co to jest XML
  • Zalety XML
  • Kiedy go wykorzystywać
  • Praca z XML w SSMS
  • Podstawowe pojęcia związane z XML: XML Document, XML Fragment, Root Element, Element, Attribute
XML - wprowadzenie
05:20

W tej lekcji:

  • Dlaczego w XML może dochodzić do konfliktu nazw
  • Jak tego konfliktu uniknąć
  • Co to jest URI
  • Co to jest namespace
  • Składnia prefiksu przestrzeni nazw
XML - namespace
09:04

W tej lekcji:

  • Jak wynik zapytania skonwertować do postaci XML z wykorzystaniem składni FOR XML RAW
  • Jak zmieniać wygląd/konstrukcję pliku XML modyfikując parametry FOR XML RAW
  • Znaczenie słów kluczowych ROOT, ELEMENTS
  • Sposób umieszczania informacji o wartości NULL z wykorzystaniem XSINIL
Preview 08:38

W tej lekcji:

  • Generowanie zagnieżdżonego XML z wykorzystaniem elementów i atrybutów
  • Dlaczego istotna jest klauzula ORDER BY w zapytaniu przekształcanym w XML
  • Dlaczego istotna jest kolejność kolumn w zapytaniu przekształcanym w XML
  • Znaczenie aliasów tabel w zapytaniu
  • Modyfikacja wyglądu XML z wykorzystaniem słów kluczowych ROOT, ELEMENTS, XSINIL
XML -eksport danych z wykorzystaniem FOR XML AUTO
09:47

W tej lekcji:

  • Składnia FOR XML PATH
  • Podobieństwa PATH do RAW i AUTO: tworzenie dokumentu XML, nadawanie nazwy generowanym elementom, zapisywanie informacji o NULL
  • Cechy wyróżniające FOR XML PATH
  • Nadawanie aliasów kolumnom w celu tworzenia atrybutów (notacja z "@") oraz w celu tworzenia podelementów (notacja "element/podelement")
  • Generowanie XML z własnym namespace
  • Definiowanie namespace jako domyślny
XML - eksport danych z wykorzystaniem FOR XML PATH
10:47

W tej lekcji:

  • Kiedy korzystać z FOR XML EXPLICIT
  • Omówienie budowy zapytania do generowania XML z wykorzystaniem metody explicit
  • Omówienie zanaczenia UNION
  • Omówienie znaczenia kolumn Tag i Parent
  • Korzystanie z aliasów kolumn
XML - eksport danych z wykorzystaniem FOR XML EXPLICIT
06:57

W tej lekcji:

  • Dlaczego typ XML jest nam potrzebny?
  • Przewaga XML nad NVARCHAR
  • Deklarowanie zmiennych typu XML
  • Na czym polega elastyczność typu XML
  • Tworzenie tabeli korzystającej z typu XML
  • Tworzenie procedury korzystającej z typu XML
XML - jak korzystać z typu XML?
05:20

W tej lekcji:

  • Budowanie złożonych zapytań z podzapytaniami, w których wykorzystywany jest XML
  • Kodowanie zastrzeżonych znaków XML w dokumentach XML
  • Słowo kluczowe TYPE stosowane w podzapytaniu
XML - typ XML w podzapytaniu
05:47

W tej lekcji:

  • Co to jest schemat XML
  • Rodzaje schematów: oparte na atrybutach i na elemenatach
  • Generowanie schema definition w oparciu o istniejącą tabelę
  • Omówienie podstawowych typów występujących w XML schema definition (XSD)
  • Zapisywanie XSD w postaci schema collection w bazie danych
  • Deklarowanie zmiennych XML zgodnych z określonym schematem
  • Analiza błędów do jakich może dochodzić przy przypisywaniu wartości do zmiennych o określonym typie: niepoprawny typ, brak namespace, nadmiarowy namespace
XML - schematy, typed XML vs untyped XML
13:30

W tej lekcji:

  • Metoda value wykorzystywana do pobierania wartości z XML
  • Metoda exist wykorzystywana do sprawdzania czy w XML występuje określony element lub atrybut
  • Wyrażenia XPath
  • Odwołanie do wartości atrybutu poprzez składnię @AttributeName
  • Odwołanie do wartości elementu poprzez funkcję text()
  • Wyszukiwanie odpowiedniego elementu lub atrybutu z wykorzystaniem kryteriów wyszukiwania
XML - metody value i exist
10:27

W tej lekcji

  • Korzystanie z metody nodes w celu konwersji dokumentu XML na mniejsze fragmenty
  • Korzystanie z CROSS APPLY
  • Pobieranie wartości z danych XML za pomocą względnego lub bezwzględnego wyrażenia XPATH i konsekwencje wynikające z wybranej metody
XML - metoda nodes
06:28

W tej lekcji:

  • Metoda modify typu XML
  • Dodawanie elementów w zmiennej typu XML
  • Dodawanie atrybutów do elementów w zmiennej XML
  • Modyfikacja danych XML
  • Usuwanie elementów w zmiennejj XML
  • Przekazywanie parametrów do metody modify pozwalające na dynamiczne określanie elementów, które mają być zmienione
XML - modyfikacja danych
08:19

W tej lekcji:

  • Jak wczytać plik tekstowy zapytaniem SQL-owym
  • Jak wczytać zawartość pliku XML do SQL i umieścić go w zmiennej
  • Przygotowanie XML do odpytywania z wykorzystanim OPENXML: funkcja sp_xml_preparedocument
  • Korzystanie z funkcji OPENXML
  • Wyszukiwanie wartości "po atrybucie" lub "po elemencie"
  • Klauzula WITH i odczytywanie wartości z bieącego lub wyższego poziomu w strukturze XML
  • Usuwanie pamięciowej reprezentacji XML z wykorzystaniem sp_xml_removedocument
XML - parsowanie XML z wykorzystaniem OPENXML
11:24

W tej lekcji

  • Proces tworzenia indeksów XML
  • Indeksy PRIMARY
  • Indeksy SECONDARY
  • Rodzaje indeksów secondary: PATH, VALUE, XML
  • Korzystanie z indeksów XML w zapytaniach
  • Uzyskiwanie informacji o indeksach w tym o indeksach XML
XML - indeksy XML
06:21
+ Zakończenie
1 lecture 00:26
Na zakończenie...
00:26
Requirements
  • Potrafisz pisać podstawowe zapytania SQL
  • Potrafisz deklarować zmienne i pisać kod skryptu w jakimkolwiek języku
  • Znasz podstawowe zasady tworzenia i wykorzystywania baz danych
  • Zalecane ukończenie kursu "SQL Server - Wprowadzenie. Instalacja i narzędzia"
  • Zalecane ukończenie kursu "SQL Server - Zapytania SQL"
Description

Jest wiele takich zagadnień w SQL, które może nie są trudne, ale mało się o nich mówi i przez to są czasami kłopotliwe. W tym kursie staramy się wyjaśnić część z nich, tym bardziej, że te zagadnienia lubią się pokazać na egzaminie:

  1. 70-761 Querying Microsoft SQL Server 

  2. 70-762 Developing SQL Databases

Pierwszym takim zagadnieniem jest pisanie własnych skryptów w języku Transact SQL. Generalnie nic trudnego, ale żeby sobie z tym poradzić musisz wiedzieć jak deklarować zmienne, jak przypisywać im wartości i jak je dalej wykorzystywać w swoich zapytaniach. Znając zmienne, będziesz mógł wykorzystać je podczas budowania instrukcji warunkowych. A stąd już prosta droga do tworzenia pętli WHILE. Oczywiście to nie koniec możliwości programistycznych osiągalnych w SQL, ale od czegoś trzeba zacząć. Zobaczysz jak wiele na pierwszy rzut oka skomplikowanych problemów uda się rozwiązać stosując właśnie te informacje!

Drugi istotny temat to specjalistyczne typy danych. Microsoft z wersji na wersję dodaje do SQL Server nowe możliwości, problem w tym, że zaczniemy je wykorzystywać dopiero kiedy je poznamy. Można przecież zapamiętać współrzędne GPS w postaci dwóch liczb, jednak kiedy przyjdzie do policzenia odległości między punktami, to powstanie problem. Ale jeśli do zapamiętania współrzędnych użyjesz typu GEOGRAPHY, to odległość wyliczysz korzystając z jednej funkcji. Podobnie z typami GEOMETRY, HIERARCHYID, ROWVERSION, UNIQUEIDENTIFIER. Typy te są w SQL dłużej lub krócej, a nie są zbyt często wykorzystywane, bo po prostu za mało się o nich mówi, tymczasem korzyści z ich stosowania mogą być ogromne.

Trzeci niezmiernie ważny temat to typ XML. Większość osób zajmujących się bazą danych, nie lubi pracować z XML. Dla osób, które na codzień prezentują dane w postaci tabeli, plik wypełniony znacznikami XML zupełnie się nie podoba. Jedynym marzeniem jest wtedy skonwertować takie dane do postaci tabelarycznej. Żeby zrobić to skutecznie, trzeba wiedzić jak pracować z taką funkcją jak OPENXML, czy metodą nodes. Niekiedy sytuacja jest odwrotna. Dane uzyskiwane zapytaniem należy skonwertować do XML. W takim przypadku przyda się klauzula FOR XML. Oczywiście do zrozumienia XML, trzeba też wiedzieć co to root element, element, atrybut, schemat XML, namespace itp. O tym wszystkim również opowiada ten kurs.

Kurs jest dość intensywny, ale od czego jest przycisk "pause" i możliwość obejrzenia lekcji jeszcze raz!  Jeżeli w trakcie kursu coś okaże się niejasne, możesz skorzystać z pomocy trenera. 

Ten kurs jest trzecim z serii kursów przygotowuących doo egaminów ścieżki MCSA SQL Server ale nie tylko, tj.

1. 70-761 Querying Microsoft SQL Server 

2. 70-762 Developing SQL Databases

Najważniejsze tematy kursu:

  • Korzystanie ze zmiennych

  • Instrukcja IF (z przykładami)

  • Instrukcja WHILE (z przkładami)

  • Typ ROWVERSION

  • Typ UNIQUE IDENTIFIER

  • Co to jest COLLATION

  • Typ HIERARCHYID

  • Typ GEOMETRY

  • Typ GEOGRAPHY

  • Typ XML

  • Pojęcia związane z XML, typed vs untyped XML, namespace, schema

  • Generowanie danych  w postaci XML (klauzula FOR XML)

  • Metody typu XML: nodes, exists, value

  • Modyfikacja danych XML z poziomu SQL

  • Indeksy budowane na kolumnach typu XML

  • Wczytywanie XML z pliku na dysku

ISBN 978-83-945846-2-7


Who this course is for:
  • Programiści tworzący aplikacje korzystające z SQL Server
  • Administratorzy MS SQL automatyzujący swoją pracę z wykorzystaniem skryptów
  • Kandydaci przygotowujący się do egzaminu 70-761 oraz 70-762