ICTPR2 - Storage
T. Issaris
22 Februari 2021
Data opslag
- Tekst bestanden:
- Binaire bestanden
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.