---
# System prepended metadata

title: M06 Accés a dades. Exemple prova final UF2.
tags: [' python', DAM, ' M6']

---

---
title: M06 Accés a dades. Exemple prova final UF2.
tags: DAM, python, M6
---

<div style="width: 30%; margin-left: auto;">
    
![](https://hackmd.io/_uploads/HJiR4eGJT.png)    
    
</div>



<a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/"><img alt="Llicència de Creative Commons" style="border-width:0" src="https://i.creativecommons.org/l/by-sa/4.0/88x31.png" /></a><br />Aquesta obra està subjecta a una llicència de <a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">Reconeixement-CompartirIgual 4.0 Internacional de Creative Commons</a>

# M06 Accés a dades. Exemple prova final UF2.
## Pregunta 1: 
Quan programem en Python, durant el procès de comunicació amb bases de dades SQL, utilitzem uns elements que anomenem _'cursors'_. Pots definir què és un cursor i com s'utilitza?

## Pregunta 2: 
Al següent snippet de codi, hi ha una instrucció 'conn.commit()', però no es veu enlloc l'inici de la transacció. Si això no és correcte escriu el codi que corregeixi l'error i si no explica per què és correcte.

```python=
import sqlite3

conn=sqlite3.connect("bd1.db")
try:
    conn.execute("""create table articles (
                              codi integer primary key autoincrement,
                              descripcio text,
                              preu real
                        )""")
    print("s'ha creat la taula articles")
    conn.execute("insert into articles(descripcio,preu) values (?, ?), ('Aigua',0.75)")
    conn.commit()

except sqlite3.OperationalError:
    print("La taula articles ja existeix")

```
## Pregunta 3: 
Dibuixa el diagrama de classes del patró de disseny Abstract Factory.

## Pregunta 4:
Per què és important l'ús d'interfícies a la nostra aplicació per programar l'accés a la base de dades.

## Pregunta 5:
Què és un ORM? 

## Pregunta 6:
Escriu una funció que passant-li com a paràmetre una connexió a una base de dades mysql, retorni els valors de la taula 'despeses':
```python=
def get_despeses(conn):
    # Aquí el teu codi
    return resultat