--- 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