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;
The benefits of buying summaries with Stuvia:
Guaranteed quality through customer reviews
Stuvia customers have reviewed more than 700,000 summaries. This how you know that you are buying the best documents.
Quick and easy check-out
You can quickly pay through credit card or Stuvia-credit for the summaries. There is no membership needed.
Focus on what matters
Your fellow students write the study notes themselves, which is why the documents are always reliable and up-to-date. This ensures you quickly get to the core!
Frequently asked questions
What do I get when I buy this document?
You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.
Satisfaction guarantee: how does it work?
Our satisfaction guarantee ensures that you always find a study document that suits you well. You fill out a form, and our customer service team takes care of the rest.
Who am I buying these notes from?
Stuvia is a marketplace, so you are not buying this document from us, but from seller cvfvd. Stuvia facilitates payment to the seller.
Will I be stuck with a subscription?
No, you only buy these notes for $7.04. You're not tied to anything after your purchase.