programmeren
in python
Jaar 3 - Module 2 - Les 7: Bedrijfsopdracht & Database met Python benaderen
De komende weken gaan we...
-
Leren hoe je databases gebruikt om data op te slaan
vandaag gaan we...
-
Nadenken over je bedrijfsopdracht
vandaag gaan we...
-
Nadenken over je bedrijfsopdracht
De excel opdracht
- Zoek iemand die ergens Excel voor gebruikt
- Bekijk de Excelsheet goed, en maak een verslag:
- Welke tabellen zitten er in de Excel
- Welke formules worden gebruikt?
- Vraag dan dingen aan de klant!
- Welke dingen kunnen handiger?
- Wat zou je er nog bij willen?
- Bijv: grafieken
- Of: tabellen koppelen
- Zet ook de verbeteringen in je verslag
- Maak dan de verbeteringen!
De database opdracht
- Fase 0: Gebruik, in principe, dezelfde klant en data
- Neem contact op met je klant
- Vraag of ze nog eens meedoen
De database opdracht
- Fase 0: Gebruik, in principe, dezelfde klant en data
- Neem contact op met je klant
- Vraag of ze nog eens meedoen
- Fase 1: Bekijk je eind-Excelsheet en maak een verslag:
- Hoe zou je deze tabellen en formules omzetten?
- Welke Excel-dingen kun je nog niet in databases?
- Zet dan de Excelsheet om
De database opdracht
- Fase 0: Gebruik, in principe, dezelfde klant en data
- Neem contact op met je klant
- Vraag of ze nog eens meedoen
- Fase 1: Bekijk je eind-Excelsheet en maak een verslag:
- Hoe zou je deze tabellen en formules omzetten?
- Welke Excel-dingen kun je nog niet in databases?
- Zet dan de Excelsheet om
- Fase 2:
- Vraag de klant om ideeen voor verbeteringen
- En/Of verzin die zelf!
- Zet ook de verbeteringen in je verslag
- Maak dan de verbeteringen!
Groepjes:
- Groepje 1 bestaat uit Kacem en Sabah - Betalingsgegevens
- Groepje 2 bestaat uit Reynaldo en Marielle - Planning kinderopgang
- Groepje 3 bestaat uit Sivan en Anouar I. - Betalingsdata
- Groepje 4 bestaat uit Rik en Edlir - Geen klant
- Groepje 5 bestaat uit Ismail en Rohan - Geen klant
- Groepje 6 bestaat uit Anouar A. en Sven - Ticketdata
- Groepje 7 bestaat uit Kaoutar en Safouane - Data over leerlingen
- Groepje 8 bestaat uit Yasin en Lasse - Kledingdata
- Groepje 9 bestaat uit Raymond en Uandi - Werkurendata
- Groepje 10 bestaat uit Edgar en Ruben - Klant?Capoeiraschooldata
De opdracht - Fases
Fase 0 - Deadline 29 januari
- Benader je klant opnieuw
- Vraag of die nog een keer meedoet, voor vrijdag!
- Heb je geen klant meer? Dan help ik je er eentje vinden
De opdracht - Fases
vandaag gaan we...
-
Nadenken over je bedrijfsopdracht
vandaag gaan we...
-
Nadenken over je bedrijfsopdracht
-
Leren hoe we Python en databases kunnen combineren
database & Python
We kunnen nu data in een database opslaan.
database & Python
We kunnen nu data in een database opslaan. Maar een klant gaat natuurlijk geen queries opschrijven om bij data te komen!
database & Python
We kunnen nu data in een database opslaan. Maar een klant gaat natuurlijk geen queries opschrijven om bij data te komen!
Daarvoor moeten we een mooie user interface maken, met Python.
In Python kunnen we ook een database benaderen
database & Python
In Python kunnen we ook een database benaderen
database & Python
import sqlite3
print("Hallo allemaal!")
connectie = sqlite3.connect('SQLite_Python.db')
cursor = connectie.cursor()
query = """
INSERT INTO personen
values(4, 'Berthe', 'M');"""
cursor.execute(query)
cursor.close()
connectie.commit()
connectie.close()
In Python kunnen we ook een database benaderen
database & Python
Laad de database module in
import sqlite3
print("Hallo allemaal!")
connectie = sqlite3.connect('SQLite_Python.db')
cursor = connectie.cursor()
query = """
INSERT INTO personen
values(4, 'Berthe', 'M');"""
cursor.execute(query)
cursor.close()
connectie.commit()
connectie.close()
In Python kunnen we ook een database benaderen
database & Python
We schrijven weer gewone Python, dus we kunnen alle Pythondingen doen, zoals printen.
import sqlite3
print("Hallo allemaal!")
connectie = sqlite3.connect('SQLite_Python.db')
cursor = connectie.cursor()
query = """
INSERT INTO personen
values(4, 'Berthe', 'M');"""
cursor.execute(query)
cursor.close()
connectie.commit()
connectie.close()
In Python kunnen we ook een database benaderen
database & Python
Maak contact met de database
import sqlite3
print("Hallo allemaal!")
connectie = sqlite3.connect('SQLite_Python.db')
cursor = connectie.cursor()
query = """
INSERT INTO personen
values(4, 'Berthe', 'M');"""
cursor.execute(query)
cursor.close()
connectie.commit()
connectie.close()
In Python kunnen we ook een database benaderen
database & Python
Maak contact met de database
Pas voor nu de naam niet aan!
import sqlite3
print("Hallo allemaal!")
connectie = sqlite3.connect('SQLite_Python.db')
cursor = connectie.cursor()
query = """
INSERT INTO personen
values(4, 'Berthe', 'M');"""
cursor.execute(query)
cursor.close()
connectie.commit()
connectie.close()
In Python kunnen we ook een database benaderen
database & Python
Maak een nieuwe cursor
import sqlite3
print("Hallo allemaal!")
connectie = sqlite3.connect('SQLite_Python.db')
cursor = connectie.cursor()
query = """
INSERT INTO personen
values(4, 'Berthe', 'M');"""
cursor.execute(query)
cursor.close()
connectie.commit()
connectie.close()
In Python kunnen we ook een database benaderen
database & Python
import sqlite3
print("Hallo allemaal!")
connectie = sqlite3.connect('SQLite_Python.db')
cursor = connectie.cursor()
query = """
INSERT INTO personen
values(4, 'Berthe', 'M');"""
cursor.execute(query)
cursor.close()
connectie.commit()
connectie.close()
Schrijf de query in de code
tussen 3 x 2aanhalingstekens
In Python kunnen we ook een database benaderen
database & Python
import sqlite3
print("Hallo allemaal!")
connectie = sqlite3.connect('SQLite_Python.db')
cursor = connectie.cursor()
query = """
INSERT INTO personen
values(4, 'Berthe', 'M');"""
cursor.execute(query)
cursor.close()
connectie.commit()
connectie.close()
Voer de query uit
In Python kunnen we ook een database benaderen
database & Python
import sqlite3
print("Hallo allemaal!")
connectie = sqlite3.connect('SQLite_Python.db')
cursor = connectie.cursor()
query = """
INSERT INTO personen
values(4, 'Berthe', 'M');"""
cursor.execute(query)
cursor.close()
connectie.commit()
connectie.close()
Sluit netjes af
}
demo
We kunnen nu meerdere keren hetzelfde nummer invoeren zonder fout.
Autoincrement
We kunnen nu meerdere keren hetzelfde nummer invoeren zonder fout.
Autoincrement
We kunnen nu meerdere keren hetzelfde nummer invoeren zonder fout.
Autoincrement
Wie is hier de echte nummer 4?
We kunnen nu meerdere keren hetzelfde nummer invoeren zonder fout.
Autoincrement
Wie is hier de echte nummer 4?
Berth?
We kunnen nu meerdere keren hetzelfde nummer invoeren zonder fout.
Autoincrement
Wie is hier de echte nummer 4?
Berth? of Karel?
Om dit probleem op te lossen kunnen we een auto-increment gebruiken.
Autoincrement
Wie is hier de echte nummer 4?
Berth? of Karel?
Om dit probleem op te lossen kunnen we een auto-increment gebruiken. Die maakt het nummer voor jou aan!
Autoincrement
Wie is hier de echte nummer 4?
Berth? of Karel?
demo
Om dit probleem op te lossen kunnen we een auto-increment gebruiken. Die maakt het nummer voor jou aan!
Autoincrement
CREATE TABLE blijft hetzelfde
CREATE TABLE personen(
Persoonsnummer INTEGER PRIMARY KEY AUTOINCREMENT,
Naam TEXT,
Geslacht TEXT
);
Om dit probleem op te lossen kunnen we een auto-increment gebruiken. Die maakt het nummer voor jou aan!
Autoincrement
Achter het nummer komt nu
INTEGER PRIMARY KEY AUTOINCREMENT
CREATE TABLE personen(
Persoonsnummer INTEGER PRIMARY KEY AUTOINCREMENT,
Naam TEXT,
Geslacht TEXT
);
Om dit probleem op te lossen kunnen we een auto-increment gebruiken. Die maakt het nummer voor jou aan!
Autoincrement
Achter het nummer komt nu
INTEGER PRIMARY KEY AUTOINCREMENT
CREATE TABLE personen(
Persoonsnummer INTEGER PRIMARY KEY AUTOINCREMENT,
Naam TEXT,
Geslacht TEXT
);
Let op!
INTEGER moet volledig geschreven
Om dit probleem op te lossen kunnen we een auto-increment gebruiken. Die maakt het nummer voor jou aan!
Autoincrement
De andere kolommen blijven ook hetzelfde
CREATE TABLE personen(
Persoonsnummer INTEGER PRIMARY KEY AUTOINCREMENT,
Naam TEXT,
Geslacht TEXT
);
Shell demo & uitleg hier
Shell
Data invoeren uit Python
Nu we een autoincrement hebben ingesteld kunnen we data invoeren vanuit Python.
Data invoeren uit Python
Nu we een autoincrement hebben ingesteld kunnen we data invoeren vanuit Python.
print("Welkom bij dit programma!")
print("Je kan personen opslaan in onze database")
antwoord = input("Wil je een naam invoeren?")
while antwoord == 'Ja' or antwoord == 'ja':
naam = input("Welke naam wil je invoeren?")
geslacht = input("Wat is het geslacht?")
query = f"""INSERT INTO personen (Naam, Geslacht)
values('{naam}', '{geslacht}');"""
print(query)
antwoord = input("Wil je nog een naam invoeren?")
print('Dankjewel voor het invoeren!')
Data invoeren uit Python
Nu we een autoincrement hebben ingesteld kunnen we data invoeren vanuit Python.
print("Welkom bij dit programma!")
print("Je kan personen opslaan in onze database")
antwoord = input("Wil je een naam invoeren?")
while antwoord == 'Ja' or antwoord == 'ja':
naam = input("Welke naam wil je invoeren?")
geslacht = input("Wat is het geslacht?")
query = f"""INSERT INTO personen (Naam, Geslacht)
values('{naam}', '{geslacht}');"""
print(query)
antwoord = input("Wil je nog een naam invoeren?")
print('Dankjewel voor het invoeren!')
Verwelkom de gebruiker
Data invoeren uit Python
Nu we een autoincrement hebben ingesteld kunnen we data invoeren vanuit Python.
print("Welkom bij dit programma!")
print("Je kan personen opslaan in onze database")
antwoord = input("Wil je een naam invoeren?")
while antwoord == 'Ja' or antwoord == 'ja':
naam = input("Welke naam wil je invoeren?")
geslacht = input("Wat is het geslacht?")
query = f"""INSERT INTO personen (Naam, Geslacht)
values('{naam}', '{geslacht}');"""
print(query)
antwoord = input("Wil je nog een naam invoeren?")
print('Dankjewel voor het invoeren!')
Begin een loop bij ja of Ja
Data invoeren uit Python
Nu we een autoincrement hebben ingesteld kunnen we data invoeren vanuit Python.
print("Welkom bij dit programma!")
print("Je kan personen opslaan in onze database")
antwoord = input("Wil je een naam invoeren?")
while antwoord == 'Ja' or antwoord == 'ja':
naam = input("Welke naam wil je invoeren?")
geslacht = input("Wat is het geslacht?")
query = f"""INSERT INTO personen (Naam, Geslacht)
values('{naam}', '{geslacht}');"""
print(query)
antwoord = input("Wil je nog een naam invoeren?")
print('Dankjewel voor het invoeren!')
Zolang het antwoord ja is
Data invoeren uit Python
Nu we een autoincrement hebben ingesteld kunnen we data invoeren vanuit Python.
print("Welkom bij dit programma!")
print("Je kan personen opslaan in onze database")
antwoord = input("Wil je een naam invoeren?")
while antwoord == 'Ja' or antwoord == 'ja':
naam = input("Welke naam wil je invoeren?")
geslacht = input("Wat is het geslacht?")
query = f"""INSERT INTO personen (Naam, Geslacht)
values('{naam}', '{geslacht}');"""
print(query)
antwoord = input("Wil je nog een naam invoeren?")
print('Dankjewel voor het invoeren!')
Vraag om naam en geslacht
Data invoeren uit Python
Nu we een autoincrement hebben ingesteld kunnen we data invoeren vanuit Python.
print("Welkom bij dit programma!")
print("Je kan personen opslaan in onze database")
antwoord = input("Wil je een naam invoeren?")
while antwoord == 'Ja' or antwoord == 'ja':
naam = input("Welke naam wil je invoeren?")
geslacht = input("Wat is het geslacht?")
query = f"""INSERT INTO personen (Naam, Geslacht)
values('{naam}', '{geslacht}');"""
print(query)
antwoord = input("Wil je nog een naam invoeren?")
print('Dankjewel voor het invoeren!')
Maak er een query van met een f-string
Data invoeren uit Python
Nu we een autoincrement hebben ingesteld kunnen we data invoeren vanuit Python.
print("Welkom bij dit programma!")
print("Je kan personen opslaan in onze database")
antwoord = input("Wil je een naam invoeren?")
while antwoord == 'Ja' or antwoord == 'ja':
naam = input("Welke naam wil je invoeren?")
geslacht = input("Wat is het geslacht?")
query = f"""INSERT INTO personen (Naam, Geslacht)
values('{naam}', '{geslacht}');"""
print(query)
antwoord = input("Wil je nog een naam invoeren?")
print('Dankjewel voor het invoeren!')
Gebruiker kan nog een naam invoeren
Data invoeren uit Python
Nu we een autoincrement hebben ingesteld kunnen we data invoeren vanuit Python.
print("Welkom bij dit programma!")
print("Je kan personen opslaan in onze database")
antwoord = input("Wil je een naam invoeren?")
while antwoord == 'Ja' or antwoord == 'ja':
naam = input("Welke naam wil je invoeren?")
geslacht = input("Wat is het geslacht?")
query = f"""INSERT INTO personen (Naam, Geslacht)
values('{naam}', '{geslacht}');"""
print(query)
antwoord = input("Wil je nog een naam invoeren?")
print('Dankjewel voor het invoeren!')
Klaar?
Zeg gebruiker gedag!
demo
Data invoeren uit Python
Nu maken we een echte query ipv alleen printen
Data invoeren uit Python
Nu maken we een echte query ipv alleen printen:
while antwoord == 'Ja' or antwoord == 'ja':
naam = input("Welke naam wil je invoeren?")
geslacht = input("Wat is het geslacht?")
connectie = sqlite3.connect('SQLite_Python.db')
cursor = connectie.cursor()
query = f"""INSERT INTO personen (Naam, Geslacht)
values('{naam}', '{geslacht}');"""
cursor.execute(query)
cursor.close()
connectie.commit()
connectie.close()
antwoord = input("Wil je nog een naam invoeren?")
Data invoeren uit Python
Nu maken we een echte query ipv alleen printen:
while antwoord == 'Ja' or antwoord == 'ja':
naam = input("Welke naam wil je invoeren?")
geslacht = input("Wat is het geslacht?")
connectie = sqlite3.connect('SQLite_Python.db')
cursor = connectie.cursor()
query = f"""INSERT INTO personen (Naam, Geslacht)
values('{naam}', '{geslacht}');"""
cursor.execute(query)
cursor.close()
connectie.commit()
connectie.close()
antwoord = input("Wil je nog een naam invoeren?")
Maak de query hier
Data invoeren uit Python
Nu maken we een echte query ipv alleen printen:
while antwoord == 'Ja' or antwoord == 'ja':
naam = input("Welke naam wil je invoeren?")
geslacht = input("Wat is het geslacht?")
connectie = sqlite3.connect('SQLite_Python.db')
cursor = connectie.cursor()
query = f"""INSERT INTO personen (Naam, Geslacht)
values('{naam}', '{geslacht}');"""
cursor.execute(query)
cursor.close()
connectie.commit()
connectie.close()
antwoord = input("Wil je nog een naam invoeren?")
Voer hier de query uit
demo
demo
tips vooraf!!!
Denk aan de gastles van mw. Geenen van voor de kerstvakantie en
test je codes goed!
tips vooraf!!!
Denk aan de gastles van mw. Geenen van voor de kerstvakantie en
test je codes goed!
Lever je code pas in als je hebt gezien wat de uitkomst is en die hebt gecontroleerd.
tips vooraf!!!
Denk aan de gastles van mw. Geenen van voor de kerstvakantie en
test je codes goed!
Lever je code pas in als je hebt gezien wat de uitkomst is en die hebt gecontroleerd.
Probeer ook verschillende namen en waardes uit!
Zodadelijk in repl.it
opdrachten in repl.it
opdrachten in repl.it
opdrachten in repl.it
opdrachten in repl.it
- Verplicht zijn de opdrachten van les 6 (01 t/m 02)
- Verplicht zijn de opdrachten van les 7 (01 t/m 02)
- Ben je al klaar?
- De extra opdrachten van de andere lessen kun je ook nog maken!
- Of.... Mail alvast je klant!
- Deadline: dinsdag 20:00
opdrachten in repl.it
- Bij extra opdrachten staat een (X)
- Dit zijn de regels:
- Opdrachten zonder (X) zijn verplicht, die maak je allemaal.
- Opdachten zonder (X) niet af in de les? Dan is het huiswerk
- Die tellen mee voor je inzet.
- Klaar met de opdrachten zonder (X) in de les? Dan ga je door met die met een (X)
- Samenwerken:
- Overleggen mag
- Antwoorden voorzeggen NIET
- Overtypen/multiplayer ook NIET
opdrachten in repl.it
Python Klas 3 - Module 2 - Les 7
By Felienne
Python Klas 3 - Module 2 - Les 7
Leerdoel Module: werken met databases. Lesdoel: SQL & Python combineren
- 1,134