Hieronder vind je de hoofdstukken en lessen voor de cursus. Maak gebruik van de balken om lessen te tonen en verbergen


VOORBEELD - Creeren van een tabel met CREATE TABLE statement
Create table voorbeeld met daarbij een aantal extra concepten zoals de definitie van de kolommen, de datatypen en null en not null definitie. Sommige datatypen kun je de omvang van opgeven. Andere zoals INT en FLOAT niet want dat is door de database bepaald
VOORBEELD - Verwijderen van een tabel met DROP TABLE
Verwijderen van de tabelstructuur en de inhoud. Bedenk wat het onderscheid is met DELETE. Houd er rekening mee dat je de tabel Opdracht in latere voorbeelden nog een aantal leer gebruiken.
OPDRACHT - Creer je eigen schema
Hiermee maak je eigenlijk een subdomein aan voor eigen tabellen en views. Anders ga je elkaar in de weg zitten. Vervolgens kun je je eigen tabellen en views maken met CREATE TABLE C_schemanaam.Tabelnaam …. Dit gaan wij dus hier ook uitgebreid gebruiken. Maak je tabellen en views doe dat dan door jouw tabellen in je eigen schema te plaatsen Pas dit schema aan naar je eigen naam en kijk of dit lukt. We laten een cursist schema met C_ beginnen gevolgd door je naam. Mogelijk is je naam al in gebruik in de database. Heb je een eigen schema gemaakt dan gebruik je dat de komende dagen. Na de cursus blijft je schema nog een maand bestaan
OPDRACHT - Pas de tabeldefinitie aan
Pas het statement aan met de juiste datatypen en welke kolommen (not) null zijn. Daarnaast geef bij SSS jouw eigen schema naam aan. Gebruik hiervoor eventueel het interactieve create table formulier voor.

VOORBEELD - Creer een primaire sleutel voor een tabel
Voeg een primaire sleutel toe aan je eigen felicitatie tabel
VOORBEELD - Maak een verwijzende sleutel naar een primaire sleutel in een andere tabel
Neem een verwijzing op naar de primaire sleutel van een andere tabel om de data consistent te houden
OPDRACHT - Voeg een kolom toe voor de primaire sleutel kolom in je felicatie tabel
Pas de tabel aan in je eigen schema en volg de naamgevingsconventies zoals zojuist besproken. We maken hier gebruik van een naamgevingsconventie met de tabelnaam en daarachter _id.
Eventueel kun je IDENTITY gebruiken als je de kolom wilt autonummeren door de database. Dat is met IDENTITY(1,1) achter het NOT nbsp; deel. Je hoeft dan zelf niet meer de primaire sleutel in te vullen bij INSERT!.
OPDRACHT - Voeg een primary key constraint toe aan je tabel.
Voeg de primary key toe aan de tabel in je eigen schema
VOORBEELD - Check constraint voor de Opdracht datum
Pas het statement aan naar een check constraint voor de Opdracht die in een periode is beperkt. Geef het constraint ook een logische naam.
OPDRACHT - Check constraint voor de reden felicitaties met Huwelijk of Jubileum
Pas het statement aan naar een check constraint voor de Felicatie waarbij de felicitatie reden bestaat uit Jublileum, verjaardag of huwelijk. Geef het constraint ook een logische naam.

VOORBEELD - Voorbeeld van INSERT statement om een rij toe te voegen
Het statement INSERT voegt een rij toe aan de bestellingen tabel in het Alberto schema.
VOORBEELD - Voorbeeld van een SELECT INTO statement wat ook een rij toevoegt
Met select into kun je eerst de rijen en kolommen ophalen en met het INTO deel bepaal je dat het wordt toegevoegd aan een tabel binnen een schema. Let op de tabel wordt aangemaakt als deze nog niet bestaat
VOORBEELD - Voorbeeld van een UPDATE statement voor het wijzigen van een of meerdere rijen
Met update kun je met het set gedeelte opgeven welke kolommen worden bijgewerkt. Met het where gedeelte bepaal je welke rij of rijen worden bijgewerkt. Geen where gedeelte definieren betekent dus ALLE rijen bijwerken. Dat wil je bijna nooit toch
VOORBEELD - Voorbeeld van DELETE voor het verwijderen van een of meerdere rijen
Delete verwijdert rijen uit een tabel. Je hoeft hier alleen maar een where op te geven om te bepalen welke rijen verwijderd worden. Kan ook zonder where maar dan ben je alle rijen kwijt. Hier gebruiken we de postcode 9999AA om de zojuist aangemaakte rijen weer te verwijderen
OPDRACHT - Voeg jezelf en een bekende toe aan de felicatie tabel
Hierbij maak je jezelf aan als persoon in de felicitatietabel van Alberto. Zoals je ziet wordt de tweede felicitatie niet gebruikt in de lijst van kolomnamen. Voeg eventueel een bekende of familielid als tweede rij toe.
OPDRACHT - UPDATE je eigen gegevens in de felicitatietabel
Je kunt hierbij in het update statement binnen de set bepalen welke kolommen gewijzigd worden. Maak eerst gebruik van select om voor jouw rij de primaire sleutel te bepalen. Zorg dat je een jubileum aanmaakt als tweede felicitatie voor jouw eigen rij.
OPDRACHT - Bepaal de primaire sleutel van je eigen rij in de tabel
Maak gebruik van select om voor jouw rij de primaire sleutel op te halen. Doe dit met een SELECT statement om de primaire sleutels zichtbaar te maken.
OPDRACHT - Verwijder je eigen gegevens met DELETE uit de felicitatietabel
Je kunt hierbij in het delete statement binnen de set bepalen welke rij verwijderd wordt. Maak eerst gebruik van select om voor jouw rij de primaire sleutel te bepalen en verwijder de rij op basis van jouw primaire sleutel.

VOORBEELD - Basis SELECT query met alle kolommen
Dit is de basale vorm van een select query. * betekent dat je alle kolommen gebruikt die in een tabel zitten.
We halen in dit voorbeeld alle rijen op uit één tabel
VOORBEELD - Basis SELECT query met specifieke kolommen
Dit is een select query waarbij je de kolomnamen opgeeft achter het select woord. Je moet hier precies de namen opgeven zoals ze in een tabel bekend zijn. De volgorde van de kolomnamen is bepalend voor het resultaat.
We halen in dit voorbeeld alle rijen op uit één tabel
VOORBEELD - Select query met order by voor de volgorde
Dit is een select query waarbij je de kolomnamen opgeeft achter het select woord. Je moet hier precies de namen opgeven zoals ze in een tabel bekend zijn. Vervolgens gaan we achter het ORDER BY deel de volgorde opgeven. Met ASC stel je de volgorde oplopend in en met DESC aflopemd. De volgorde van de kolomnamen is bepalend voor het resultaat en voor de volgorde.
We halen in dit voorbeeld alle rijen op uit één tabel
VOORBEELD - Select query met een beperking op de rijen en de kolommen
In deze select query geef je allereerst een drietal kolommen op binnen het SELECT gedeelte. Vervolgens ga je met het WHERE gedeelte filteren in de rijen. Filteren doe je altijd door eerst de naam van de kolom aan te geven en vervolgens de waarde waarop je wilt filteren. Let op bij alfanumerieke velden zet je de waarden tussen enkele quotes
OPDRACHT - Maak een Verkoopoverzicht
Overzicht van kolommen van verkoopbedrag, verkoopaantal en verkoopdatum uit verkoopdashboard. Aflopend gesorteerd op verkoopbedrag en oplopend op datum.
Werk deze opdracht uit door in de voorgaade opdrachten te zoeken naar een combinatie van de onderdelen. Je krijgt een hele eenvoudige query die je kunt aanpassen
VOORBEELD - Een query met een berekende kolom in het SELECT deel
Binnen het SELECT gedeelte kun je berekeningen doen en kolommen samenvoegen tot nieuwe kolommen in de resultaatset.
In dit voorbeeld gaan we tussen haakjes een berekening doen voor een aantal numerieke kolommen in de tabel
OPDRACHT - EXTRA Pas de query aan en zorg ervoor dat je ook de tweede felicitatie meeneemt en daarbij de verjaardagen en jubilea laat zien
Pas het statement aan en zorg ervoor dat je de juiste kolommen en rijen te zien krijgt. Dus werk SELECT en WHERE bij
VOORBEELD - Een query met filter op nbsp; en zoeken naar een woord met LIKE
nbsp; is een bijzondere waarde in een database. Het betekent GEEN WAARDE en is duidelijk iets anders dan 0 (nul) want dat is namelijk wel een waarde.
nbsp; wordt gebruikt om aan te geven dat de waarde niet bekend is en kan in alle datatypen gebruikt worden. Het commando is wel op basis van IS en niet met = om te accentueren dat het geen waarde is. In deze query verder de mogelijkheid om in alfanumerieke kolommen zoeken naar delen in de tekst met LIKE en %
VOORBEELD - Een DISTINCT query voor het ontdubbelen van rijen in het resultaat
Geef de unieke waarden in je SELECT gedeelte voor het alleen tonen van de unieke combinaties zonder herhalingen daarvan in de resultaat set.
VOORBEELD - Een SELECT met het beperken van het aantal resultaten met TOP
Met Top voor de kolomnamen binnen het SELECT gedeelte van de kolomnamen kun je met TOP een aantal opgeven van welke getoond moeten worden.
Denk hier wel om de volgorde binnen ORDER BY en eventueel met ASC en DESC.
OPDRACHT - Felicitatieoverzicht
Geef kolommen relatie_naam, emailadres en felicitatie_datum_1 uit felicitatie filter op felicitatie_reden_1 verjaardag en sorteer op Relatie_naam

VOORBEELD - INNER JOIN om twee tabellen op basis van sleutels met elkaar te verbinden
Inner join laat alleen die rijen zien waar de sleutels gelijk zijn aan elkaar
VOORBEELD - LEFT JOIN om twee tabellen op basis van sleutels met elkaar te verbinden
Inner join laat alleen die rijen zien waar de sleutels gelijk zijn aan elkaar en de rijen uit de linker tabel die ook voorkomen
VOORBEELD - RIGHT join statement om twee tabellen op basis van sleutels met elkaar te verbinden
Inner join laat alleen die rijen zien waar de sleutels gelijk zijn aan elkaar en de rijen uit de rechter tabel die ook voorkomen
VOORBEELD - FULL OUTER JOIN om twee tabellen mbv sleutels met elkaar te verbinden
Inner join laat alleen die rijen zien waar de sleutels gelijk zijn aan elkaar en de rijen uit de linker tabel die ook voorkomen
VOORBEELD - Creeren van een view met CREATE VIEW
Een view is een weergave op één of meer tabellen en gaat zich gedragen als een tabel voor de gebruiker. Echter de view wordt samengesteld op het moment dat je de view opneemt in een query
VOORBEELD - Voorbeeld aanmaken van een view
Maak een view aan die je vervolgens kunt gebruiken als een eenvoudiger select statement
VOORBEELD - Verwijderen van de view met DROP VIEW
Verwijderen van een view uit de database met DROP
VOORBEELD - Maak een SELECT query op basis van de zojuist aangemaakte view
OPDRACHT - SELECT van view BezorgerExtra van een bezorger die een auto heeft
OPDRACHT - Maak een query op basis van de view BezorgerExtra
Selecteer op basis van de view BezorgerExtra van een bezorger die een auto heeft en werkt in de plaats utrecht sorteer op bezorgernaam
OPDRACHT - EXTRA SELECT met een INNER JOIN van Bezorging en BezorgerExtra
Breid het select statement uit met een join naar de bezorging in het Alberto schema. Maak gebruik van het datamodel
VOORBEELD - Gebruik maken van geavanceerde functies uit de SQL-Server database
We zorgen dat rijen van een kolom worden samengevoegd tot een kolom.
VOORBEELD - Voorbeeld van een query niet genormaliseerd
Hierbij wordt aangetoond dat een niet genormaliseerde tabel een aantal problemen met zich meebrengt, Wat moeten we doen als we iemand hebben met drie felicitateredenen?

VOORBEELD - Document layout op basis van JSON. Let op met een opmaak opzet eenvoudig op basis van Replace
met een JSON_Value functie in SQL-Server
VOORBEELD - Gebruik maken van een XSLT opzet voor kolommen en WHERE van queries
met een JSON_Value functie in SQL- en het werkem met het zoeken naar een structuur in de string van de Json elementen1
VOORBEELD - Extra voorbeeld voor het werken met een document database
VOORBEELD - Extra voorbeeld document database voorbeeld
Extra voorbeeld voor het werken met een document database waarbij we gebruik maken van array functies in de query
OPDRACHT - Geef een lijst van vijf restaurants in de borough Manhattan

VOORBEELD - Voorbeeld query in een grafendatabase
VOORBEELD - Leggen van joins op basis van een grafen opzet

OPDRACHT - Een lijst van de naam van een persoon, restaurant en de stad
Maak een SQL statement op basis van de voorgaande voorbeelden en het datamodel met daarin Een lijst van de naam van een persoon, restaurant en de stad Van personen die in dezelfde stad wonen als waar het restaurant ligt dus een filter op de stad

Je kunt de hoofdstukken openklappen en sluiten. Klik je op een les dan ga je naar het scherm met de opdracht.

Copyright © Interactory