• Verkeerd document? Gratis ruilen
  • Geschreven door studenten die geslaagd zijn
  • Direct beschikbaar na je betaling
  • Online lezen of als PDF
Verkopen
Kies je studieland
Kies je taal
Document preview thumbnail
Voorbeeld 4 van de 46 pagina's
Samenvatting

Samenvatting Gegevensbanken ()

Document preview thumbnail
Voorbeeld 4 van de 46 pagina's

Dit document bevat de samenvatting van alle les slides en met aanvulling van eigen notities

Voorbeeld van de inhoud

GEGEVENSBANKEN
INTRODUCTIE

DATABASE MANAGEMENT SYSTEM (DBMS):

 Speciaal ICT systeem om data op te slaan / op te vragen
 Systeem bedoeld voor beheren van data
 Gebruiker  webbrowser  webserver  DBMS  disk
 Processen:
o Definitie (soort data)
o Constructie (opslagmedium)
o Manipulatie (opslaan / aanpassen)
o Delen (toegang gebruikers)

DATABANK:

 ≠ DBMS
 ¿ gerelateerde data:
o Behoren tot zelfde stukje v/d wereld
o Vb. Facebook  data opgeslagen zoals volgers, hobby’s, interesses
 Geregistreerde feiten v/e stukje v/d wereld ( geen werkelijke feiten)
 Kunnen op versch. manieren worden opgeslagen (vb. papier)

WENSELIJKE EIGENSCHAPPEN DBMS:

 Grote hoeveelheden data opslaan & manipuleren
 Veel versch. soorten data opslaan
 Efficiënt (vb. lange wachttijd voor opslaan, veranderen & bevragen)
 Gemakkelijk te gebruiken
 Integriteit: data ordelijk blijft
 Meerdere gebruikers tegelijk
 Beveiligen de data
 Persistentie = behoud van data bij systeem fout
⇒ Hoe complexer het systeem, hoe meer data kunnen opslaan
⇒ Combineren van de eigenschappen ¿ UITDAGING

RELATIONELE DBMS:

 Data in tabellen:
Tabelnaam Tabelkop
STUDENT
Tabelkolom
Name Student NR Class Major
Tabelrij
Smith 17 1 CS
Brown 8 2 CS
 Hoog niveau abstractie:

1

, o RDBMS maakt tabel met header
o Lage abstractie: manueel bestand maken  gevoeliger voor fouten
 Hoog gebruikersgemak:
o Gebruik van gemeenschappelijke taal:
Structured Query Language (SQL)

 Hoge betrouwbaarheid:
o Goed gedefinieerd gedrag bij:
 Hard- & software fouten
 vb. programma crasht bij toevoegen informatie
 vb. schijf die kapot gaat tijdens schrijven informatie
 2 programma’s tegelijk naar database schrijven
 Een programma informatie schrijft die in strijd is met de vereisten die door
databaseprogrammeur gespecifieerd zijn
 Efficiënt ⇒ eisen gerespecteerd worden

INTRODUCTIE TOT RELATIONELE DATABASES

RELATIONELE DATABASE:

 Tabel ¿ Relatie
 Kolom ¿ Attribuut
 Rij ¿ Tupel
 Commando’s = queries  Data Queries Language (DQL)
 Data Definition Language (DDL):

CREATE TABLE Student (
Tabelnaam Kolomnaam
Naam VARCHAR(20)
Student-Nr INTEGER Geheel getal Type data: max 20
Klas INTEGER karakters
Richting CHAR(2)
);
 Data Manipulation Language (DML):
Rij van
INSERT INTO Student VALUES (“Smid”, 17, 1, “CS”); data

 Data Query Language (DQL)
SELECT * FROM Student; SELECT Naam FROM Student

CONCEPTUEEL MODEL VS. LOGISCH MODEL:

 Relationele database  opslaan van tabellen:
 Belangrijke implementatie keuzes nodig:
o Vb. Hoe verbanden tss tabellen opslaan?
o Vb. Extra kolommen met identificaties?
 Keuze voor tabellen bevat in een logisch data model:
o Specificatie van welke tabellen in DB


2

, o Geen info over fysieke opslag details

NIVEAUS VAN ABSTRACTIE VAN MODELLEN:

 Fysieke modellen  laag niveau:
o Details van dataopslag en bestandorganisatie van tabellen, specifiek voor een
bepaalde RDBMS
 Logische modellen  midden niveau:
o Overzicht v/d tabellen i/d database, niet specifiek voor bepaalde RDBMS
 Conceptuele modellen  hoog niveau:
o Model v/d data die in tabellen moet bevat worden

PRIMAIRE SLEUTEL / PRIMARY KEY:

 Speciale eigenschap aan kolom geven:
o Waarden in kolom gebruikt worden om rij te identificeren
 Primary key  onderstreept weergegeven in tabel
 SQLite:
CREATE TABLE Student (
Naam VARCHAR(20)
Student-Nr INTEGER
Klas INTEGER
Richting CHAR(2)
PRIMARY KEY (Nummer)  2 rijen met zelfde waarde voor Nummer
 niet geaccepteerd door RDBMS

);

VERWIJSSLEUTEL / FOREIGN KEY:

 Speciale eigenschap:
o Voor een attribuut in tabel 1 mogen alleen waarde voorkomen die in tabel 2
voorkomen
 SQLite:
CREATE TABLE Student (
Naam VARCHAR(20)
Student-Nr INTEGER
Klas INTEGER
Richting CHAR(2)
FOREIGN KEY (ProfNummer)REFERENCES Professoren(Nummer)
);
 In kolom ProfNummer enkel waarden afkomstig van Nummer

CONSTRAINTS:

 Randvoorwaarden opgegeven door programmeur v/d database waar de toestanden van
database altijd aan moeten voldoen
 Doel randvoorwaarden?: kwaliteit data bewaren


3

,  RDBMS zorgt ervoor dat de constrains voldaan zijn  commando dat niet mag wordt
geweigerd
 Vraagt extra rekenwerk om constrains te checken

EERSTE INTRODUCTIE TOT SQL DQL:

SQL DQL:

 Taal die precies beschrijft welke data uit relationele database gehaald moet worden
 RDBMS precies uit database halen wat volgens statement opgehaald moet worden (niet
meer, niet minder)
 Een statement in SQL DQL = query
 Nauw verbonden met Logica: bepalen welke rijen terug gegeven worden  condities als
logische expressie geëvalueerd op alle rijen
 Uitvoerige notatie voor beschrijven van complexe queries over meerdere tabellen
 RDBMS bepaald exact en betrouwbaar welke resultaten moeten w terug gegeven

DDL DQL OP ÉÉN TABEL:

 Algemene notatie:
o SELECT Attributen FROM Tabel WHERE voorwaarde;
 Voorbeelden:
o Alle attributen:
 SELECT * FROM Professoren;
o Eén attribuut:
 SELECT Nummer FROM Professoren;
o Voorwaarde op 1 attribuut:
 SELECT Nummer FROM Professoren WHERE Voornaam = “Siegfried”;
o Voorwaarde op 2 attributen (EN):
 SELECT Nummer FROM Professoren WHERE Voornaam = “Siegfried” AND
Achternaam = “Nijssen”;
o Voorwaarde op 2 attributen (OF):
 SELECT Nummer FROM Professoren WHERE Voornaam = “Siegfried” OR
Voornaam = “Tom”;
o Voorwaarde op 1 attribuut (ongelijkheid):
 SELECT Nummer FROM Professoren WHERE Voornaam <> “Siegfried”;

NAAR FORMELERE DEFINITIES VAN QUERIES EN DATA MODELLEN:

RELATIONEEL SCHEMA:

 Formele notatie: gebruikt in bewijzen en definities
 Definitie schema van een relatie: R( A 1 , … , A n )
Relatienaam gevolgd door attributen
 Voorbeeld:
o DEPARTEMENT(Dname, Dnumber, Mgr_ssn, Mgr_start_data)
 Elk attribuut heeft een domein dom ( Ai ), van een verzameling van waarden

4

Inhoudsopgave

  1. 01 Introductie 1
    1. Database Management System (DBMS): 1
    2. Databank: 1
    3. Wenselijke Eigenschappen DBMS: 1
    4. Relationele DBMS: 1
  2. 02 Introductie tot Relationele Databases 2
    1. Relationele database: 2
    2. Conceptueel Model vs. Logisch Model: 2
    3. Niveaus van Abstractie van Modellen: 3
    4. Primaire Sleutel / Primary Key: 3
    5. Verwijssleutel / Foreign Key: 3
    6. Constraints: 3
  3. 03 Eerste introductie tot SQL DQL: 4
    1. SQL DQL: 4
    2. DDL DQL op één tabel: 4
  4. 04 Naar Formelere Definities van Queries en Data Modellen: 4
    1. Relationeel schema: 4
    2. Relatie Instantie = Verzameling van Tuples 5
    3. SQL DDL: 5
    4. Alternatieve notatie van Tuples in Relatie: 5
    5. Relatie als (Meervoudige) verzameling: 5
    6. Declaratief  Query plan: 6
    7. SQL  Relationele algebra: 6
    8. Algebra? 6
    9. Relationele algebra: 6
    10. Logisch Modelleren: 7
    11. Super Key: 7
    12. Key / Sleutel: 8
    13. Kandidaatsleutel & Primaire Sleutel 8
    14. Foreign Key: 8
  5. 05 Entity-Relationship Modellen 9
    1. Diagrammen: 9
    2. Entity-Relationship Diagrammen (volgens Chen): 9
    3. Cardinaliteit van Relationships: 10
    4. Recursieve Relationships: 11
    5. Attributen op Relationship types: 11
    6. Relationships van Hogere Graad: 11
    7. Cardinaliteit Relatioships van Hogere Graad: 11
    8. Weak Entities 11
    9. Meerwaardige attributen: 12
    10. Afgeleide attributen: 12
    11. Enhanced Entity-Relatioship Diagrammen 12
    12. Entity Relationship Model  Relationeel Schema 14
    13. EER Diagrams omzetten 15
    14. Conclusies: 15
  6. 06 SQL en Relationele Algebra vervolg 15
    1. Selectie: 15
    2. Projectie: 15
    3. SQL: Nesting: 16
    4. Hernoemen: 16
    5. Cartesisch product 16
    6. Aliasen definiëren voor relaties: 17
    7. Join: 17
    8. Doorsnede, Vereniging, Verschil 18
  7. 07 SQL en Relationele Algebra 19
    1. Meervoudige Verzamelingen 19
    2. Aggregatie: 19
    3. Drie waarde Logica: 20
    4. Selectie: 20
    5. Natural Join: 20
    6. Operaties op Verzamelingen: 20
    7. Aggregatie: NULL Waarden: 20
    8. Verdere Notatie in SQL: 21
    9. Ontkenning: 21
    10. Gecorreleerde Geneste Querries: 21
    11. Carthesisch Product 21
    12. Natural Join: 21
  8. 08 Query optimalisatie: query herschrijven 22
    1. Abstract syntax tree: 22
    2. Naïve Algoritmen om relationele algebra uit te voeren 22
    3. Optimalisatie: 22
    4. Optimalisatie van Relationele Algebra: 22
  9. 09 Query optimalisatie: Indexering 24
    1. Relationele Databases Oplsaan 24
    2. Bits & Bytes 24
    3. Harde Schijven: 24
    4. Tuples in Blokken 24
    5. Ongeordende Records: 25
    6. Geordende Records: 25
    7. Index: 25
    8. Indexeren in SQL: 25
    9. Indexen in SQL – Meerdere Attributen: 25
    10. Indexen & Primary Keys: 26
    11. Primaire Index: 26
    12. Secundaire index: 26
    13. Gebruik van Indexen in equijoins 26
    14. Gebruiken indexeren in Query Executie: 26
    15. Indexeren in SQLite: 26
    16. Dubbele indexen vermijden: 27
    17. SQLite: Joins 27
    18. SQLite: Explaining Joins: 27
    19. SQLite: Statistieken 27
    20. Conclusie: 27
  10. 10 ACID Eigenschappen 28
    1. Wat & waarom v transacties 28
    2. Motivatie voor Transactie 28
    3. Concurrentie in SQLite 29
    4. Concurrentie i/d meeste DBMS: 29
    5. Transacties voor meerdere clients: 29
    6. Transactie: ACID 29
    7. Operaties in Transacties: 29
    8. Simpelste Uitvoer van Transacties: Serieel 29
    9. Operaties interleaven: 30
    10. Transactie Schedule / Rooster 30
    11. Concurrency: 30
    12. Herstelbaar Schedule: 30
    13. Herstellen dmv Cascading Rollbacks: 30
    14. Cascadeloze Transactie Schedules: 30
    15. Isolatie v Transacties: 30
    16. Serializeerbaarheid: 31
    17. Conflict-Equivalentie 31
    18. Locking: 31
    19. Two-Phase Locking Protocol: 31
    20. Deadlock: 32
    21. Deadlock: oplossing 32
  11. 11 Herstel 32
    1. Doel: 32
    2. Vormen van Opslag: 32
    3. Log Files: 32
    4. Undo log – versimpelde aanpak: 32
    5. Caching: 33
    6. Undo log: caching 33
    7. Redo Log: 33
    8. Undo/Redo log: 33
    9. Wat na fout in transactie? 33
    10. Conclusies: 34
  12. 12 Indexering – Verdieping 34
    1. Achtergrond 34
    2. Complexiteitsanalyse 34
    3. Analyse zoeken in Primaire index 34
    4. Analyse invoegen in primaire index 34
    5. Gewenste Eigenschappen voor opslag 34
    6. B+ Boom 35
    7. B+ Trees: Toevoegen van sleutel K met data pr 35
    8. Eigenschappen van B+ bomen: 35
    9. B+ Bomen (conclusie) 35
  13. 13 SQL Programmeren 36
    1. Interactie SQL Programma’s 36
    2. Bibliotheken voor RDBMS 36
    3. SQLite rijen toevoegen in Python & Rijen opvragen 36
    4. SQLAlchemy: 36
    5. Conclusies: 36
  14. 14 Relationele Calculus 36
    1. Inspiratie voor SQL 36
    2. Codd’s Theorem: 36
    3. Waarom Relationele Calculus? 37
    4. Declaratieve Talen: 37
    5. Predicaat Logica: 37
    6. Motivaties: 37
    7. TRC Definitie 37
    8. Semantiek van Formules: 38
    9. Semantiek van expressies: 38
    10. Domein onafhankelijkheid: 38
    11. Safe (veilige) queries: 38
    12. TRC vs RA: 38
    13. Observaties: 38
    14. Relationeel complete formalismen 39
  15. 15 NoSQL & other databases 39
    1. Data lakes, data warehouses 39
    2. Data lake: 39
    3. Data Warehouses: 39
    4. Data Warehouse: ETL 39
    5. Data Warehouses: OLAP queries 39
    6. Data warehouses: optimizations 40
    7. NoSQL 40
    8. Motvations for Nosql 40
    9. Supported Data Types & queries 40
    10. Scalability: Problems 40
    11. Replication 41
    12. Partitioning 41
    13. Network Partitioning 41
    14. Distributed DB normal operation 41
    15. Distributed DB in case of network partitioning 41
    16. CAP “theorem” 41
    17. BASE systems 42
    18. Key-Value stores 42
    19. MongoDB (document store): 42
    20. Wide-Column Stores: 43
    21. Apache HBase: 43
    22. Consistency in Column Stores 43
    23. Distributed File Systems as Distributed Databases? 43
    24. Hadoop File System (HDFS) 44
    25. Apache Hadoop (mapReduce) 44
    26. Apache Hive 44
    27. Apache Hive vs Apache HBase 44
    28. Apache Spark SQL 44
    29. SQL, NoSQL, …: NewSQL 44
    30. NewSQL: Google Spanner 45
    31. Snowflake: 45
    32. Amazon Redshift / S3 Data Lake 45
    33. Integrating Databases & Artificial Intelligence 45
    34. Vector Databases: 46

Documentinformatie

Geüpload op
4 januari 2026
Aantal pagina's
46
Geschreven in
2025/2026
Type
Samenvatting
€6,22

Verkeerd document? Gratis ruilen Binnen 14 dagen na aankoop en voor het downloaden kan je een ander document kiezen. Je kan het bedrag gewoon opnieuw besteden.
Geschreven door studenten die geslaagd zijn
Direct beschikbaar na je betaling
Online lezen of als PDF

Verkocht
1
Volgers
0
Items
2
Laatst verkocht
1 jaar geleden



Waarom studenten kiezen voor Stuvia

Gemaakt door medestudenten, geverifieerd door reviews

Kwaliteit die je kunt vertrouwen: geschreven door studenten die slaagden en beoordeeld door anderen die dit document gebruikten.

Niet tevreden? Kies een ander document

Geen zorgen! Je kunt voor hetzelfde geld direct een ander document kiezen dat beter past bij wat je zoekt.

Betaal zoals je wilt, start meteen met leren

Geen abonnement, geen verplichtingen. Betaal zoals je gewend bent via Bancontact, iDeal of creditcard en download je PDF-document meteen.

Student with book image

“Gekocht, gedownload en geslaagd. Zo eenvoudig kan het zijn.”

Alisha Student

Bezig met je bronvermelding?

Maak nauwkeurige citaten in APA, MLA en Harvard met onze gratis bronnengenerator.

Bezig met je bronvermelding?

Veelgestelde vragen