programmeren

in python

Jaar 3 - Module 2 - Les 8: Select queries & Bedrijfsopdracht

De komende weken gaan we...

 

  • Leren hoe je databases gebruikt om data op te slaan

vandaag gaan we...

 

  • De status van de bedrijfsopdrachten bespreken

  • Leren hoe je een select query gebruikt in Python

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!

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

  • Groepje 1 Kacem en Sabah - Betalingsgegevens
  • Groepje 2 Reynaldo en Marielle - Planning kinderopgang 
  • Groepje 3 Sivan en Anouar I. - Betalingsdata
  • Groepje 4 Rik en Edlir - Onno
  • Groepje 5 Ismail en Rohan - Onno
  • Groepje 6 Anouar A. en Sven - Ticketdata
  • Groepje 7 Kaoutar en Safouane - Data over leerlingen
  • Groepje 8 Yasin en Lasse - Kledingdata
  • Groepje 9 Raymond en Uandi - Werkurendata
  • Groepje 10 Edgar en Ruben - Capoeiraschooldata

De opdracht - Fases

Statusupdate:

  • Groepje 1 Kacem en Sabah - Stukje verslag
  • Groepje 2 Reynaldo en Marielle - Verslag moet nog, database is nog lastig
  • Groepje 3 Sivan en Anouar I. - Omzetten gelukt, nu verslag
  • Groepje 4 Rik en Edlir - Vrijdag Onno
  • Groepje 5 Ismail en Rohan - Vrijdag Onno
  • Groepje 6 Anouar A. en Sven - Verslag & omzetten
  • Groepje 7 Kaoutar en Safouane - Wel verslag, beetje actie
  • Groepje 8 Yasin en Lasse - Moeten nog beginnen
  • Groepje 9 Raymond en Uandi - Verslag, database klaar
  • Groepje 10 Edgar en Ruben - Database ok, verslag moet nog

De opdracht - Fases

Statusupdate:

  • Groepje 1 Kacem en Sabah - Ja (gezien)
  • Groepje 2 Reynaldo en Marielle - Ja (gezien)
  • Groepje 3 Sivan en Anouar I. - Ja (gezien)
  • Groepje 4 Rik en Edlir - Nee
  • Groepje 5 Ismail en Rohan - Nee
  • Groepje 6 Anouar A. en Sven - Ja (gezien)
  • Groepje 7 Kaoutar en Safouane - Ja (gezien)
  • Groepje 8 Yasin en Lasse - Nee
  • Groepje 9 Raymond en Uandi - Ja (gezien)
  • Groepje 10 Edgar en Ruben - Ja (gezien)

De opdracht - Fases

Inleverupdate:

Fase 1 - Deadline 19 februari (vrijdag voor de vakantie)

  • Bekijk je Excelsheet
    • Bedenk hoe je tabellen en formules om kan zetten naar een database?
    • Welke Excel-dingen kun je nog niet in databases?
    • Schrijf in je verslag:
      • Hoe je het omzetten gaat aanpakken
      • Wat je nog niet kan omzetten
    • Zet de Excelsheet om
      • Doe de dingen die lukken, de rest kijken we later naar!

De opdracht - Fases

Fase 2 - Deadline 23 maart

  • Maak minstens een invoerscherm om data in te voeren en aan te passen
  • Vraag ook de klant om ideeen hebben voor verbeteringen
  • En/Of verzin die zelf
    • Welke dingen kun je nu die niet in Excel konden?
  • Zet ook de verbeteringen in je verslag
  • Maak dan de verbeteringen!

De opdracht - Fases

vandaag gaan we...

 

  • De status van de bedrijfsopdrachten bespreken

  • Leren hoe je een select query gebruikt in Python

vandaag gaan we...

 

  • De status van de bedrijfsopdrachten bespreken

  • Leren hoe je een select query gebruikt in Python

Antwoorden 07-01

Antwoorden 07-02

We weten nu hoe we in Python een database kunnen 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()

We weten nu hoe we in Python een database kunnen 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()

Maar... we hebben alleen INSERT INTO en CREATE gezien!

We weten nu hoe we in Python een database kunnen benaderen.

database & Python

import sqlite3

print("Hallo allemaal!")

connectie = sqlite3.connect('SQLite_Python.db')

cursor = connectie.cursor()
query = """
SELECT FROM personen"""


cursor.execute(query)
cursor.close()
connectie.commit()
connectie.close()

Hoe zit dat met een SELECT?

Hoe is een SELECT anders dan een INSERT of CREATE?

SELECT query & Python

Hoe is een SELECT anders dan een INSERT of CREATE?

 

Weet heeft er een idee? Typ in de chat!

SELECT query & Python

demo

Hoe is een SELECT anders dan een INSERT of CREATE?

 

SELECT query & Python

Hoe is een SELECT anders dan een INSERT of CREATE?

 

Een SELECT geeft een resultaat terug! 

SELECT query & Python

Hoe is een SELECT anders dan een INSERT of CREATE?

 

Een SELECT geeft een resultaat terug! Net als een functie in Python.

SELECT query & Python

Hoe is een SELECT anders dan een INSERT of CREATE?

 

Een SELECT geeft een resultaat terug! Net als een functie in Python.

SELECT query & Python

def zeg_hallo(naam):
    return 'Hallo '+ naam
    
print(zeg_hallo('Mr. Ataman'))

SELECT query & Python

Als je een SELECT in Python gebruikt, dan moet je iets met het resultaat doen!

SELECT query & Python

Als je een SELECT in Python gebruikt, dan moet je iets met het resultaat doen!

import sqlite3

print("Hallo allemaal!")

connectie = sqlite3.connect('SQLite_Python.db')

cursor = connectie.cursor()
query = """
SELECT FROM personen"""


cursor.execute(query)
cursor.close()
connectie.commit()
connectie.close()
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()

Alleen de query uitvoeren zoals bij INSERT INTO

SELECT query & Python

Als je een SELECT in Python gebruikt, dan moet je iets met het resultaat doen!

import sqlite3

print("Hallo allemaal!")

connectie = sqlite3.connect('SQLite_Python.db')

cursor = connectie.cursor()
query = """
SELECT FROM personen"""


cursor.execute(query)
cursor.close()
connectie.commit()
connectie.close()

Alleen de query uitvoeren zoals bij INSERT INTO,

werkt wel... maar doet niks!

demo

SELECT query & Python

Nu gaan we de resultaten verwerken:

import sqlite3

connectie = sqlite3.connect('SQLite_Python.db')
cursor = connectie.cursor()

query = """SELECT * from personen"""

cursor.execute(query)
personen = cursor.fetchall()

print(f'{len(personen)} personen opgeslagen.')
for persoon in personen:
  print(persoon)

connectie.commit()
connectie.close()

Kennen we al!

}

SELECT query & Python

Nu gaan we de resultaten verwerken:

import sqlite3

connectie = sqlite3.connect('SQLite_Python.db')
cursor = connectie.cursor()

query = """SELECT * from personen"""

cursor.execute(query)
personen = cursor.fetchall()

print(f'{len(personen)} personen opgeslagen.')
for persoon in personen:
  print(persoon)

connectie.commit()
connectie.close()

Nu een SELECT

SELECT query & Python

Nu gaan we de resultaten verwerken:

import sqlite3

connectie = sqlite3.connect('SQLite_Python.db')
cursor = connectie.cursor()

query = """SELECT * from personen"""

cursor.execute(query)
personen = cursor.fetchall()

print(f'{len(personen)} personen opgeslagen.')
for persoon in personen:
  print(persoon)

connectie.commit()
connectie.close()

Kennen we ook al!

SELECT query & Python

Nu gaan we de resultaten verwerken:

import sqlite3

connectie = sqlite3.connect('SQLite_Python.db')
cursor = connectie.cursor()

query = """SELECT * from personen"""

cursor.execute(query)
personen = cursor.fetchall()

print(f'{len(personen)} personen opgeslagen.')
for persoon in personen:
  print(persoon)

connectie.commit()
connectie.close()

Deze code is nieuw

SELECT query & Python

Nu gaan we de resultaten verwerken:

import sqlite3

connectie = sqlite3.connect('SQLite_Python.db')
cursor = connectie.cursor()

query = """SELECT * from personen"""

cursor.execute(query)
personen = cursor.fetchall()

print(f'{len(personen)} personen opgeslagen.')
for persoon in personen:
  print(persoon)

connectie.commit()
connectie.close()

Deze code is nieuw

"fetchall" betekent haal ze allemaal op

SELECT query & Python

Nu gaan we de resultaten verwerken:

import sqlite3

connectie = sqlite3.connect('SQLite_Python.db')
cursor = connectie.cursor()

query = """SELECT * from personen"""

cursor.execute(query)
personen = cursor.fetchall()

print(f'{len(personen)} personen opgeslagen.')
for persoon in personen:
  print(persoon)

connectie.commit()
connectie.close()

personen is een lijst met alle personen in de database

SELECT query & Python

Nu gaan we de resultaten verwerken:

import sqlite3

connectie = sqlite3.connect('SQLite_Python.db')
cursor = connectie.cursor()

query = """SELECT * from personen"""

cursor.execute(query)
personen = cursor.fetchall()

print(f'{len(personen)} personen opgeslagen.')
for persoon in personen:
  print(persoon)

connectie.commit()
connectie.close()

personen is een lijst met alle personen in de database

Dus kunnen we de lengte opvragen

SELECT query & Python

Nu gaan we de resultaten verwerken:

import sqlite3

connectie = sqlite3.connect('SQLite_Python.db')
cursor = connectie.cursor()

query = """SELECT * from personen"""

cursor.execute(query)
personen = cursor.fetchall()

print(f'{len(personen)} personen opgeslagen.')
for persoon in personen:
  print(persoon)

connectie.commit()
connectie.close()

personen is een lijst met alle personen in de database

Of over de lijst heen 'loopen'

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.

 

Zodadelijk in repl.it

opdrachten 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 8 (01 t/m 02)
  • Ben je klaar?
    • Begin aan je databaseopdracht!
      • Bekijk je Excelsheet en schrijf op wat je kan omzetten!
    • Nog meer tijd over?
      • De extra opdrachten van de andere lessen kun je ook nog maken!
  • 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
  • Deadline dinsdag om 19:59

opdrachten in repl.it

Python Klas 3 - Module 2 - Les 8

By Felienne

Python Klas 3 - Module 2 - Les 8

Leerdoel Module: werken met databases. Lesdoel: Meer info over bedrijfsopdracht

  • 815