Chapter 1 - Lesson 2 Flashcards

1
Q

Wat is een Imperatieve programmeertaal?

A

Imperative = أمري. Je zegt HOE je iets wil processen.

Voorbeeld: c, C++, java etc..

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Wat is een declaratieve taal?

A

Je zegt WAT je wil –> SQL

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Waarom begint de DB engine met de FROM gedeelte?

A

Omdat het een machine is. Je zegt stap voor stap wat ie moet doen.

De eerste stap is hem vertellen waar ie die info moet halen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Hoe vindt de logische query verwerking plaats?

A
  1. FROM
  2. WHERE
  3. GRUOP BY
  4. HAVING
  5. SELECT
  6. ORDER BY

“From Where George Has Six Oxes?”.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is the difference between the WHERE and HAVING clauses?

A

The WHERE clause is evaluated before rows are grouped, and therefore is evaluated
per row. The HAVING clause is evaluated after rows are grouped, and therefore
is evaluated per group.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Why are you not allowed to refer to a column alias defined by the SELECT
clause in the WHERE clause?

A

Because the WHERE clause is logically evaluated in a phase earlier to the one
that evaluates the SELECT clause.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Why are you not allowed to refer to a column alias defined by the SELECT
clause in the same SELECT clause?

A

Because all expressions that appear in the same logical query processing phase
are evaluated conceptually at the same point in time.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Mag je in de GROUP BY een expressie plaatsen?

A

Ja, bijvoorbeeld:

group by Year(hiredate)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Waaraan moet een attribuut in de SELECT list van een gegropeerde query aan voldoen?

A
  1. Het is een onderdeel van de group by
    of
  2. Wordt gebruikt in een agregaat functie.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Mag je in de Having clause verwijzen naar een alias in de select clause?

A

Nee, want Having vindt voor select plaats in de verwerking.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Welke 4 voorwaarden gelden voor een relationeel resultaat van een query?

A
  1. Geen order by
  2. Alle attributen moeten een naam hebben
  3. alle attribuutnamen moeten uniek zijn
  4. Geen dublicatien in je resultaat.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Geef een voorbeeld van een element dat ons begrip verbetert in de set theorie?

A

Resultaat zonder order by is niet geordend omdat een set geen rekening houdt met ordening.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Waarom moet ik relationeel model kennen?

A

Dan weet je dat:

  1. Volgorde kolommen is onbekend
  2. Resultaat kolommen moeten een naam hebben (uniek)
  3. Dubbele waarden zijn niet toegestaan.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Waarom is het belangrijk om standaard code te gebruiken?

A
  1. Code en kennis overdraagbaar

2. Platform onafhankelijkheid.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Waarom is ordinal positions niet aanbevolen in de ORder by clause?

A
  1. volgens het RM moeten attributen een naam hebben

2. Als de volgorde in je select list wijzigt, dan klopt jouw orderning niet meer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Als je geen order by in je query gebruikt, hoe wordt het resultat dan gesorteerd?

A

Niet, want volgens de set theorie is een set niet geordend.

17
Q

Adviseer je om DISTINCT altijd te gebruiken? en waarom

A

Als je volgens het RM wil werken wel, maar practish gezien moet je bepalen of je je resultaat volgens het RM wil zien of niet.