[G_PRO] Databanken
  • Welkom
  • Inleiding
    • Benodigdheden
    • Nuttige extra's
    • Mee helpen?
  • Semester 1: databanken intro
    • Installatie van alle software
    • Databanken
      • Inleiding
      • Voorbeeld
      • Wat is een relationele databank
      • Basisstructuren van een relationele databank
      • Diagramnotatie
    • (My)SQL
      • DDL
        • Datatypes
          • Enum
        • CREATE
        • ALTER
        • DROP
        • Sleutels voor identificatie
        • Primaire sleutel toevoegen/verwijderen
        • Primaire sleutel in een nieuwe tabel
        • Vreemde sleutels
        • Relaties-voorstellen
        • Labo
      • DML
        • INSERT
        • UPDATE
        • DELETE
        • LIKE
        • Logische operatoren
        • Vergelijkingen
        • SELECT sorteren
        • Functies
        • Labo
      • SELECT
        • SELECT met clausules
        • SELECT met WHERE
      • Groeperen en samenvatten
        • Aggregaatfuncties
        • SELECT met GROUP BY
        • SELECT met HAVING
        • IN
        • BETWEEN
        • SELECT DISTINCT
        • Labo
      • JOINS
        • JOINs bij simpele relaties
        • JOINs via tussenliggende tabel
        • UPDATE van JOIN
      • apTunes project
  • PRO (GEEN LEERSTOF EN/OF IN OPBOUW)
    • PRO
      • Waarom een databank?
      • Een databank ontwerpen
      • ERM
        • Basisbegrippen
        • Constraints (voorwaarden, beperkingen)
        • Keys (Sleutels)
        • Discussiepunten bij ontwerp in ERM
        • Aanvullende begrippen
        • Herleiden van ERD's tot tabellen
        • Voorbeeld
        • Bibliografie
        • Labo oefeningen
      • NoSQL
      • Blockchain
  • SEMESTER 2: DATABANKEN
    • Join
      • INNER JOIN
      • LEFT JOIN
      • COALESCE
      • RIGHT JOIN
      • LEFT EXCLUDING JOIN
      • RIGHT EXCLUDING JOIN
      • OUTER JOIN
      • OUTER EXCLUDING JOIN
      • Samenvattende flowchart
      • Labo oefeningen
    • Views
      • CREATE
      • ALTER
      • DROP
      • UPDATE
      • RENAME
      • BESLUIT
      • Labo oefeningen
    • Subqueries
      • Een onafhankelijke subquery
      • Subqueries met tijdelijke opslag
      • Labo oefeningen
    • Indexeren
      • mogelijkheden
      • CREATE
      • DROP
      • UNIQUE
      • trage queries opvolgen
    • ERD
      • Referentiële beperkingen
      • Overzicht
      • Labo oefeningen
    • Stored programs
      • Stored procedures
      • CREATE
      • DROP
      • DELIMITER
      • Variabelen
      • Parameters
      • Gerelateerde data invoegen
      • IF -THEN-ELSE-ELSEIF
      • LOOP
      • WHILE
      • REPEAT
      • SIGNAL
      • Error handling
      • RESIGNAL
      • Stored functies
      • Triggers
      • Cursors
      • Transacties en rollbacks
      • Object access control
      • Oefeningen basisgebruik stored procedures
      • Oefeningen control flow
      • Oefeningen stored functions
      • Oefeningen triggers
      • Oefeningen error handling
      • Oefeningen transacties en access control
Powered by GitBook
On this page
  • Cardinaliteit Er zijn vier soorten:
  • Existence dependency
  • Vormen van integriteit

Was this helpful?

Export as PDF
  1. PRO (GEEN LEERSTOF EN/OF IN OPBOUW)
  2. PRO
  3. ERM

Constraints (voorwaarden, beperkingen)

PreviousBasisbegrippenNextKeys (Sleutels)

Last updated 5 years ago

Was this helpful?

Cardinaliteit Er zijn vier soorten:

  • één op één

  • één op n

  • n op één

  • n op n

Attributen die horen bij een één op n-, of bij een n op één-relatie, kunnen, indien gewenst, verschoven worden naar de entity set aan de n-kant van de relationship set. Bij een n op n-relatie kan een attribuut dat bij de relatie hoort, niet verschoven worden naar één van de entity-sets. Bij een één op één relatie kan men een attribuut verschuiven naar keuze verschuiven naar een deelnemende entity set.

Existence dependency

De "ondergeschikte" entiteit moet steeds horen bij een "dominante" entiteit.

  • Voorbeeld: de entity set lening en de entity set afbetalingen. Elke afbetaling moet bij een concrete lening horen.

  • Gevolg: als we een lening uit de database verwijderen, moeten we alle afbetalingen voor die lening mee verwijderen. Het is wel mogelijk om een bepaalde afbetaling te verwijderen, zonder de lening waarvoor ze bedoeld was, mee te verwijderen.

  • Gevolg: de deelname van de entity set afbetalingen aan de relatie leningen-afbetalingen, is "totaal". De deelname van de entity set leningen aan de relatie leningen-afbetalingen is "partieel": het is mogelijk een lening te hebben waarvoor (nog) geen afbetalingen gebeurd zijn.

Vormen van integriteit

Constraints dwingen verschillende vormen van "integriteit" af.

Cardinaliteit en existence dependencies worden in de eerste plaats gelinkt aan "referentiële integriteit". Dit wil zeggen dat entiteiten op een correcte manier naar elkaar verwijzen. Het is om referentiële integriteit te bewaren dat een database management systeem niet toestaat dat je een vreemde sleutelwaarde ingeeft die verwijst naar een niet-bestaande entiteit. Let op: het is vaak wel mogelijk om een vreemde sleutelwaarde NULL te gebruiken.

Breder dan alleen referentiële integriteit is data-integriteit. Dit wil zeggen dat de data geen ongeldige waarden bevat. Niets kan je volledig beschermen tegen foutieve invoer, maar (onder andere) volgende types checks bieden een betere data-integriteit:

  • checks op NULL

  • checks op toegelaten waarden

Er zijn nog specifieke vormen van data-integriteit naast referentiële integriteit. Deze worden behandeld in de cursus Databanken.