[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
  • Sleutel van een entity set
  • Sleutel van een relationship set
  • Weak (zwakke) entity sets

Was this helpful?

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

Keys (Sleutels)

PreviousConstraints (voorwaarden, beperkingen)NextDiscussiepunten bij ontwerp in ERM

Last updated 5 years ago

Was this helpful?

Sleutel van een entity set

  • Elke entity set moet een verzameling attributen hebben die toelaat om een entity uit de entity set uniek te onderscheiden.

  • De kleinste verzameling van attributen waarmee dit kan, noemen we de "sleutel".

  • Er kunnen meerdere sleutels mogelijk zijn, we noemen die dan "kandidaat-sleutels".

  • We kiezen dan een "primaire sleutel" uit deze kandidaat-sleutels.

In SQL-databanken wordt typisch een eenvoudig numeriek sleutelattribuut Id toegevoegd. Dit neemt weinig ruimte in beslag, is makkelijk automatisch toe te kennen en uit te schrijven.

Sleutel van een relationship set

  • Een relatie tussen twee entity sets wordt uniek bepaald door de sleutels van elk van de twee entiteiten waartussen de relatie ligt. Voorbeeld: (klantnummer, rekeningnr) is een sleutel voor de relatie "houder van" tussen klanten en rekeningen.

  • Indien we een één op n-relatie hebben, volstaat de sleutel van de entity set aan de n-kant

  • Als we een één op één-relatie hebben, volstaat de sleutel van een van beide entity sets naar keuze.

  • De sleutel van een relationship set wordt niet aangeduid in het diagram.

Weak (zwakke) entity sets

  • Als een entity set onvoldoende attributen heeft om een sleutel te vormen, noemen we de entity set "zwak".

  • Dit kan alleen als de zwakke entity set ondergeschikt is aan een dominante sterke entity set.

  • De kleinste verzameling attributen die toelaat om onderscheid te maken tussen de verschillende ondergeschikte entiteiten van dezelfde dominante entiteit, noemen we de "discriminator".

  • De sleutel van de zwakke entity set kan dan gevormd worden door de primaire sleutel van de sterke entity set, en de "discriminator" van de zwakke entity set.

  • Opmerking:existence dependency leidt niet automatisch tot een zwakke entity set.

Een voorbeeld is een entity type Hotelkamer met een kolom Nummer. Nummer op zich kan niet als sleutel dienen. Een entiteit van dit type kan enkel uniek geïdentificeerd worden wanneer ze gelinkt wordt aan een hotel.