Complete samenvatting voor het examen 'Querying Microsoft SQL Server 70-461'
Onderdeel van het MCSA: SQL Server.
Alle belangrijke punten komen voorbij, inclusief voorbeelden.
Tabellen:
- Opslaan van data
- Kerncomponent voor alle databases
Andere objecten werken met tabel data
- Views zijn virtuele tabellen
• Vereenvoudig de structuur
- Stored Procedures zijn commando's die kunnen worden uitgevoerd
• Aanpassingen doen
• Geven data retour
- Functions zijn commando’s die kunnen worden uitgevoerd
• Geven data retour
Constraints (beperkingen) – Zorg voor geldige waarden
Triggers - Voer code uit in antwoord op wijzigingen
Primary Key :
- Unieke waardes;
- Nodig voor elke rij;
- Ontworpen om elke rij uniek te identificeren
Foreign Key:
- Wordt gebruikt om relaties tussen tabellen te creëren
- Verwijst naar de kolom die wijst naar de primary key kolom in de andere tabel
Relatieconcepten
- Verdeel data over meerdere tabellen
- Snellere updates
- Meer flexibele rapportage en querying
- Draagt bij aan de data integriteit
De meeste query’s hebben data uit meerdere tabellen nodig.
- Dit bereik je door middel van joins
Tabel relatie types
One-to-One
- Een rij refereert aan een andere rij
- Gebruikt om gegevens te verdelen wanneer er niet vaak gegevens nodig zijn
- Niet algemeen geïmplementeerd
One-to-Many
- Een rij refereert aan meerdere rijen
- Ouder-kind relatie
• Eén klant kan bijvoorbeeld veel orders hebben
,Many-to-Many
- Meerdere rijden die refereren aan meerdere rijen
• Een product kan meerdere keren besteld worden
• Een order kan meerdere producten bevatten
- Geïmplementeerd door twee one-to-many relaties
• De middelste tabel wordt soms een join tabel genoemd
Tabel design
Een database is alleen zo nuttig als het ontwerp. Er zijn vaak geen echte juiste antwoorden.
• Sommige implementaties zijn nuttiger dan anderen
• Vereist voorkeuren en planning
• Vereist ervaring
• Typisch gedaan door database administrator of ontwikkelaar
• Normalisatie:
o Proces van ontwerpen van tabellen
o Aantal niveaus van vormen
o 5 vormen
Normalisatie regels:
- Eerste normale vorm
• De tabel heeft geen herhalende groepen
• Creëer een nieuwe tabel om producten op te slaan
De oplossing:
- Creëer een nieuwe tabel voor producten
- Wijs producten aan op bestellingen voor hoofdorder informatie
Normalisatie regels:
- Tweede normale vorm
• Geen non-prime attribuut is afhankelijk van een subset van een key
• Of om het anders te zeggen:
o Als een kolom een item uniek kan identificeren (Product Name bijvoorbeeld), dupliceer
deze dan niet.
Samengevat:
Dupliceer geen kolom data
- Hoeveel producten kunnen we bestellen?
Dupliceer geen rij data
- Hoe veel orders zal een klant hebben?
Sla geen berekende velden op
- Zo kan je altijd het antwoord uitzoeken
- Gewoonlijk geschonden voor leesprestaties en gebruiksgemak
Zorg ervoor dat data consistent blijft wanneer veranderingen plaatsvinden
- Wat gebeurd er wanneer een prijs veranderd?
,Manipuleren van Data
Ophalen van data
- SELECT statements
Creëren van data
- INSERT statements
Wijzigen van data
- UPDATE statements
Verwijderen data
- DELETE statements
Variabelen
Variabelen slaan tijdelijke data op
Componenten
- Naam
• Alle variabelen beginnen met een @ teken
• Systeem variabelen beginnen met @@
Data type
- Wat voor soort informatie wordt opgeslagen?
• Integer
• DateTime
Waarde
- De informatie is opgeslagen
- Kan NULL zijn: betekenis is waarde onbekend en niet 0.
Notities toevoegen
Notities kunnen query’s meer leesbaar maken
-- Single line tekst
-- Alles achter de dashes is commentaar
/*
Multiline tekst
Alles hier is commentaar
*/
Ctl-K, Clt- C om notitie te maken
Clt-K, Clt-U om notitie uit te zetten
,Statement componenten
SELECT <columns>
FROM <tables>
WHERE <conditions>
GROUP BY <columns>
HAVING <conditions>
ORDER BY <columns>
Gebruiken van SELECT
SELECT kiest uit kolommen
Kolommen worden gescheiden door komma’s
- Voor de leesbaarheid kolommen op aparte regels noteren
- Wees consistent
Je kan * voor alle kolommen gebruiken
- Slecht gebruik, want selecteert zo alles.
VOORBEELD:
SELECT FirstName
, LastName
, EmailAddress
FROM Person.Contact
Predicaten creëren
<column> <operator> <value>
Operators:
• = (Equals)
• <> (Not equals - != also works)
• < (Less than)
• > (Greater than)
• <= (Less than or equal to)
• >= (Greater than or equal to)
Predicaat keywords
BETWEEN
Inclusive range
<column> BETWEEN <value> and <value>
,VOORBEELD:
SELECT Name
, ListPrice
FROM Production.Product
WHERE ListPrice BETWEEN 100 and 200;
[Not] In
Waarde is opgenomen in de lijst met waarden.
Andere Keywords:
- ALL
- ANY of SOME
- [NOT] EXISTS
Het combineren van predicaten
AND
- Beide kanten moeten overeenkomen
OR
- Weerszijden kunnen overeenkomen
VOORBEELD:
SELECT Name
, ListPrice
FROM Production.Product
WHERE ListPrice >= 100
AND ListPrice <= 200
Querying Strings with LIKE
<column> LIKE <expression>
Wildcard-karakters worden toegestaan.
- % - Nul of meer karakters
- _ - Een karakter
- [] – Wordt gebruik voor een ‘range’
• [afr] – Zal a, f of r vinden
• [a-f] – Zal a t/m f vinden
- [^] – Elk karakter behalve welke in de ‘range’ vallen
VOORBEELD:
SELECT Name
, ListPrice
FROM Production.Product
WHERE Name LIKE 'MOU%';
, Escape karakter om te zoeken naar speciale tekens
- ProductCode LIKE ‘\[pc-%\]’ ESCAPE ’\’
Zal zoeken naar [pc-%]
Hoe worden predicaten geëvalueerd?
Drie mogelijkheden:
- True
- False
- Unknown
Alleen rijen die ‘True’ geven komen naar boven.
Elke zoekopdracht waar NULL in terugkomt zal ‘Unknown’ opleveren
Filteren NULL data
NULL operators
- IS NULL
- IS NOT NULL
VOORBEELD:
SELECT FirstName
, LastName
, MiddleName
FROM Person.Person
WHERE MiddleName IS NULL
Join Basics
Een kolom voor elke tabel om een "Seam" te maken. Een Seam is gebruikt om gegevens van de ene
tabel naar de andere te vergelijken. Het is mogelijk twee of meer tabellen te joinen.
ANSI Standard Joins
SELECT <columns>
FROM Schema.Table1 AS t1
INNER JOIN Schema.Table2 AS t2 ON t1.Column = t2.Column;
WHERE line joins (NIET DE EERSTE KEUZE)
SELECT <columns>
FROM Schema.Table1 AS t1
, Schema.Table2 AS t2
WHERE t1.Column = t2.Column;
Voordelen van het kopen van samenvattingen bij Stuvia op een rij:
Verzekerd van kwaliteit door reviews
Stuvia-klanten hebben meer dan 700.000 samenvattingen beoordeeld. Zo weet je zeker dat je de beste documenten koopt!
Snel en makkelijk kopen
Je betaalt supersnel en eenmalig met iDeal, creditcard of Stuvia-tegoed voor de samenvatting. Zonder lidmaatschap.
Focus op de essentie
Samenvattingen worden geschreven voor en door anderen. Daarom zijn de samenvattingen altijd betrouwbaar en actueel. Zo kom je snel tot de kern!
Veelgestelde vragen
Wat krijg ik als ik dit document koop?
Je krijgt een PDF, die direct beschikbaar is na je aankoop. Het gekochte document is altijd, overal en oneindig toegankelijk via je profiel.
Tevredenheidsgarantie: hoe werkt dat?
Onze tevredenheidsgarantie zorgt ervoor dat je altijd een studiedocument vindt dat goed bij je past. Je vult een formulier in en onze klantenservice regelt de rest.
Van wie koop ik deze samenvatting?
Stuvia is een marktplaats, je koop dit document dus niet van ons, maar van verkoper cvfvd. Stuvia faciliteert de betaling aan de verkoper.
Zit ik meteen vast aan een abonnement?
Nee, je koopt alleen deze samenvatting voor €6,49. Je zit daarna nergens aan vast.