ICTPR2 - Storage

T. Issaris

22 Februari 2021

Data opslag

  • Tekst bestanden:
    • XML, JSON
    • CSV
  • Binaire bestanden
    • JPEG
    • MP4
    • .exe
    • ZIP

Databases

  • Relationele databases: gerelateerde tabellen
    • PostgreSQL
    • MariaDB
    • Oracle
    • SQLite: embedded DB
  • BerkleyDB: key-value store
  • MongoDB: document store

Standaard in Python

  • JSON
  • XML
  • BerkleyDB: key-value store
  • SQLite: relationele embedded database
  • shelve: “object database”

Python shelve

  • Relationele databases: gerelateerde tabellen
    • PostgreSQL
    • MariaDB
    • Oracle
  • BerkleyDB: key-value store
  • MongoDB: document store

Database schrijven

import shelve

db = shelve.open('info.db')
db['naam'] = 'Jan'
db['leeftijd'] = 43
db['hobbies'] = ["fietsen", "lezen"]
db.close()

Oefening 1

Schrijf een programma dat de gebruiker vraagt naar diens naam en e-mailadres, en sla deze op in een “shelve”-database.

Database lezen

import shelve

db = shelve.open('info.db')
print(db['naam'])     # Jan
print(db['leeftijd']) # 43
print(db['hobbies']) # ["fietsen", "lezen"]

Oefening 2

Schrijf een programma dat de eerder opgeslagen informatie in een “shelve”-database toont.

Oefening 3

Schrijf een programma dat de gebruiker vraagt naar diens naam, e-mailadres en geboortedatum en sla deze informatie op als een dictionary in een “shelve”-database. De key van de data is het emailadres van de gebruiker.

Oefening 4

Schrijf een programma dat de gebruiker vraagt naar diens e-mailadres mbv input().

Lees enkel de informatie voor die gebruiker uit de “shelve”-database die je eerder aanmaakte.

// reveal.js plugins