Blok 4 - Relationele databases beheren

12 - Definitie van gegevensstructuren

13 - Autorisatie

14 - Query-optimalisatie

Leereenheid 12 - Definitie van gegevensstructuren

De leereenheden 7 t/m 11 gingen over het bekijken en wijzigen van een bestaande database, met behulp van de DML-subtaal van SQL (data manipulation language). In leereenheid 4 hebben we het ook al gehad over het zelf aanmaken van een database en over de mogelijkheden van de data definition language (DDL, de SQL-subtaal om databaseobjecten binnen een database te creëren, te verwijderen of om hun structuur te veranderen). In deze leereenheid gaan we op de DDL dieper in.

1 - Voorbeelddatabase: Ruimtereisbureau

2 - Data definition language

  • databases en databaseobjecten
  • gebruikersinformatie en meta-informatie
  • DDL en transacties
  • structuurwijzigingen: deltaproblematiek

3 - Levenscyclus van een database

  • creëren van een database
  • een connectie met een database
  • verwijderen van een database

4 - Tabellen

  • creëren van tabellen
  • constraintnamen
  • tabel met recursieve verwijzing
  • verwijderen van tabellen en deltaproblemen

5 - Kolomdefinities

  • elementen van een kolomdefinitie
  • datatypen
  • not null-constraints
  • default-specificaties
  • afleidbare kolommen
  • deltaproblemen op kolomniveau

6 - Constraints

  • primary key-constraints
  • foreign key-constraints
  • unique-constraints
  • check-constraints

7 - Domeinen

  • wat zijn domeinen?
  • creëren van domeinen
  • check-constraints op domeinen
  • verwijderen van domeinen en deltaproblemen

8 - Views

- creëren van views
- gebruik van views
- verwijderen van views en deltaproblemen

9 - Sequences

- kunstmatige sleutels
- creëren en gebruiken van sequences
- verwijderen van sequences en deltaproblemen

Leereenheid 13 - Autorisatie

In deze leereenheid verdiepen we ons in gebruikers en hun mogelijke rechten op de objecten van een database. Daarbij maken we kennis met nieuwe gebruiksmogelijkheden van views. Ook wordt een nieuw type databaseobject behandeld: de rol.

1 - Gebruikers

  • een 'supergebruiker': de DBA
  • database-user-structuur
  • gebruikersbeheer

2 - Privileges

  • systeemprivileges
  • objectprivileges
  • privileges verlenen
  • privileges terugnemen
  • privileges verlenen aan alle gebruikers
  • privileges verlenen 'with grant option'

3 - Views

  • views op maat
  • updatable views
  • views 'with check-option'

4 - Rollen

  • bedrijfsprocessen, gebruikersgroepen en rollen
  • privileges, rollen en gebruikers
  • vereenvoudiging van privilegebeheer
  • wijzigen en verwijderen van rollen

Leereenheid 14 - Query-optimalisatie

In de voorgaande leereenheden hebben we vooral naar de logische opbouw van een query gekeken. In deze leereenheid gaan we in op de snelheid waarmee het rdbms een query uitvoert: de performance. Deze is vooral belangrijk binnen programma's die een query veelvuldig uitvoeren. Maar ook bij een ad-hoc-query willen we natuurlijk liever niet uren of zelfs dagen lang op het antwoord wachten.

1 - Voorbeelddatabase: GrootOrderdatabase

2 - De optimizer

  • stappen in het verwerken van een query
  • performancefactoren
  • hypothetische ‘conceptuele' verwerking
  • een verbeterd algoritme
  • rule-based en cost-based optimizers

3 - Indexen

  • indexstructuur
  • binair zoeken
  • wanneer indexeren?
  • creëren en verwijderen van een index
  • unieke indexen
  • standaardindexen
  • queryplan
  • verwerkingsstatistieken
  • een index activeren en inactiveren
  • de selectiviteit van een index
  • onderhoud van indexen
  • tips om lange wachttijden te voorkomen

4 - Performanceverbetering door query-aanpassing

5 - Performanceverbetering door aanpassing databaseontwerp

  • de keuze van sleutels
  • redundantie en constraints