Logo UAB
2022/2023

Bases de Dades

Codi: 102744 Crèdits: 6
Titulació Tipus Curs Semestre
2502441 Enginyeria Informàtica OB 2 1

Professor/a de contacte

Nom:
Carles Sanchez Ramos
Correu electrònic:
carlos.sanchez.ramos@uab.cat

Utilització d'idiomes a l'assignatura

Llengua vehicular majoritària:
català (cat)
Grup íntegre en anglès:
No
Grup íntegre en català:
No
Grup íntegre en espanyol:
No

Altres indicacions sobre les llengües

Tot i que les classes s'impartiran en català, els estudiants podran fer ús del castellà o l'anglès per fer preguntes, escriure informes o qualsevol altra interacció.

Equip docent

Carles Sanchez Ramos

Prerequisits

Es recomana que l’alumne tingui coneixements i capacitats de:

  • Programació en llenguatges de tercera generació (C, Pascal, Basic, etc.)
  • Estructures bàsiques de dades.

Aquests conceptes corresponen a continguts de les assignatures:

  • Fonaments d’Informàtica
  • Metodologia de la Programació

Objectius

En aquesta assignatura s'introdueixen els conceptes bàsics de Bases de Dades (BD) necessaris tant a nivell de dissenyador de BD com d'usuari.

CONEIXEMENTS: Al finalitzar el curs l'alumne ha de ser capaç de:

  • Conèixer i comprendre el salt tecnològic important que representen els sistemes de Bases de dades pel que fa a tractament d’informació en computador, així com en el disseny i manteniment d’aplicacions de tractament d’informació.
  • Conèixer l’arquitectura dels sistemes de Bases de Dades (BD), les funcions de cada mòdul i el personal que treballa en aquests sistemes (usuaris, programadors i administradors de BD). L’arquitectura és estudiada des d’un punt de vista local o remot.
  • Conèixer el model Entitat/Relació (E/R), molt utilitzat en disseny de Bases de Dades.
  • Estudiar les propietats del model relacional de BD, estès en la majoria de motors de BD.
  • Conèixer el llenguatge SQL, estàndard en BD relacionals.
  • Comprendre la metodologia de disseny de BD, incloses les tècniques de normalització d'una BD Relacional.
  • Conèixer les principals estructures de dades que s'utilitzen en BD relacionals, com són la indexació i les funcions hashing.

HABILITATS: Es pretén que els alumnes adquireixin les següents habilitats:

  • Utilitzar les Regles d’integritat del model relacional de BD, així com saber formular qualsevol consulta a una BD mitjançant Àlgebra Relacional.
  • Realitzar consultes simples i d'una certa complexitat a una BD mitjançant SQL.
  • Dissenyar una BD en el Model E-R a partir d'unes especificacions del món real.
  • Convertir la BD en el Model E-R a un conjunt de relacions i atributs d'una BD Relacional, aplicant les tècniques de normalització.
  • Treballar amb un exemple de motor de BD com és ORACLE, d’ús bastant estès en l’àmbit professional, tant a nivell d’usuari com administrador.

Competències

  • Adquirir hàbits de treball personal.
  • Capacitat per dissenyar, desenvolupar, avaluar i assegurar l'accessibilitat, l'ergonomia, la usabilitat i la seguretat dels sistemes, serveis i aplicacions informàtiques, així com de la informació que gestionen.
  • Coneixement i aplicació de les característiques, funcionalitats i estructura de les Bases de dades que permetin el seu ús adequat i el disseny, anàlisi i implementació d'aplicacions basades en aquestes.
  • Conèixer i aplicar les característiques funcionals i l'estructura dels sistemes distribuïts, les xarxes de computadors i Internet, i dissenyar i implementar aplicacions basades en aquestes.
  • Conèixer i aplicar les eines necessàries per a l'emmagatzemament, el processament i l'accés als sistemes d'informació, inclosos els basats en web.

Resultats d'aprenentatge

  1. Avaluar de manera crítica el treball dut a terme.
  2. Comprendre els estàndards de dades i persistència d'aquests.
  3. Comprendre la metodologia de disseny de BDs, realitzar aquest disseny utilitzant el llenguatge UML i conèixer les tècniques de normalització d'una BD relacional.
  4. Conèixer el model entitat/relació i les propietats del model relacional de BD.
  5. Conèixer i aplicar el model client servidor i les arquitectures orientades a serveis.
  6. Conèixer i aplicar les característiques, funcionalitats i estructura dels sistemes distribuïts software per dissenyar i implementar aplicacions basades en ells.
  7. Conèixer i comprendre l'important paper que representen els sistemes de Bases de dades quant al tractament de la informació en un computador, així com en el disseny i manteniment d'aplicacions de tractament d'aquesta informació.
  8. Conèixer i utilitzar el llenguatge SQL.
  9. Conèixer l'arquitectura dels sistemes de Bases de dades, les funcions de cada mòdul i el personal que treballa en aquests sistemes (usuaris, programadors i administradors de BD) des d'un punt de vista local o remot.
  10. Conèixer les principals estructures de dades que s'utilitzen en les BD relacionals.
  11. Gestionar el temps i els recursos disponibles. Treballar de manera organitzada.
  12. Prendre decisions pròpies.

Continguts

BLOC 1. PARADIGMES DE BASES DE DADES

1. Introducció. Conceptes bàsics

  • Introducció i definicions
  • Components d'un sistema de Base de Dades
  • Evolució històrica
  • Avantatges i inconvenients d'un sistema de Bases de Dades

2. Arquitectura

  • Arquitectura ANSI-SPARC
  • El DBA i el SGBD
  • Arquitectura back-end / front-end

BLOC 2. BASES DE DADES RELACIONAL

3. Model de dades relacional

  • Introducció
  • Estructura de dades
  • Regles d'integritat
  • Manipulació de dades

BLOC 3. MODEL ENTITAT-RELACIÓ

4. El model Entitat-Relació

  • Disseny d'una Base de Dades
  • Model Entitat-Relació
  • Model E-R extès
  • Criteris de disseny d'un esquema E-R
  • Disseny d'un esquema E-R

BLOC 4. DISSENY DE BASES DE DADES EN RELACIONAL

5. Disseny d’una Base de Dades

  • Fases de disseny d'una BD
  • Captació i anàlisi de requeriments
  • Disseny conceptual de la BD
  • Disseny lògic
  • Disseny físic

6. Normalització

  • Teoria de la normalització
  • Dependències funcionals
  • Formes normals de Codd (1NF, 2NF, 3NF)
  • Forma normal de Boyce-Codd (BCNF)
  • Procés de normalització

BLOC 5. ACCÉS A FITXERS

7. Nivell intern

  • Accés a la Base de Dades física. Fitxers
  • Estructures d'emmagatzematge
    • Indexació
    • Hashing (dispersió)
  • Tècniques de compressió

Metodologia

 

L'objectiu final de l'assignatura és que l'alumnat sigui capaç de dissenyar i manipular bases de dades relacionals en el context de les aplicacions informàtiques actuals. Per aquest motiu, les classes presencials seran altament pràctiques i es centraran en que l'alumnat consolidi els coneixements que són objectiu d'aprenentatge d'aquesta assignatura.

La metodologia general de l'assignatura es pot dividir en tres activitats:

PREPARACIÓ PRÈVIA. L'objectiu és que l'alumnat pugui aprendre els conceptes que es treballaran a la sessió següent mitjançant diverses activitats proposades pel professorat com pot ser el visionat de vídeos, la lectura de textos, etc. Tot el material necessari (enunciats, scripts de BD, resultats dels problemes) estarà disponible al gestor documental Caronte (http://caronte.uab.cat).

CLASSE PRESENCIAL. L'objectiu és el de consolidar els conceptes vistos i posar-los en valor dins del context de l'assignatura. El professorat vetllarà perquè l'alumnat aprofundeixi en aquests conceptes mitjançant exercicis (més o menys) guiats durant la sessió. Per això les classes presencials es faran en 2 sessions setmanals de 2 hores cadascuna en aules provistes d'oridnadors i connexió al servidor. La distribució serà segons els grups de problemes. Encara que no es prendrà assistència, les classes presencials SÓN OBLIGATÒRIES.

Si per motius de salut pública (per exemple, pandèmia de COVID) les classes s'han de fer en línia, es faran a través de teams https://teams.microsoft.com/ . Qualsevol canvi al llarg del curs es notificarà a Caronte.

TREBALL AUTÒNOM. Es proposen dues activitats: cas d’ús en el disseny d’una base de dades real incloent anàlisis de requisits, disseny i autoaprenentatge de consultes típiques de SQL.

  • En la primera activitat es presentarà a l'alumne un cas real de disseny de BD per a que l'alumne realitzi totes les fases de disseny. Al final del curs l'alumne haurà de lliurar un informe tècnic que serà avaluat.  Al llarg del curs es farà un seguiment de les diferents etapes de l'informe tècnic a algunes sessions de problemes i hores de tutoria. A més s'habilitarà un recurs a Caronte per a poder trametre entregues parcials i obtenir el feed-back del professor. Aquesta activitat es farà en grups de aproximadament 5 persones que s'hauran d'apuntar via Caronte. Per tal de fer el seguiment a les sessions de problemes tots els alumnes d'un grup hauran depertànyer al mateix grup de problemes. 
  • La segona activitat consistirà en un autoaprenentatge de consultes SQL usant un mòdul d'autoavaluació disponible a Caronte. L'alumne pujarà les consultes a Caronte en un format específic per a ser avaluat el seu resultat.

Els enunciats de les pràctiques estan disponibles a la pàgina web en pf i en Caronte (http://caronte.uab.cat).

Les entregues del treball autònom es faran via Caronte.

Competències transversals:

Les competencies T02.03 - Gestionar el temps i els recursos disponibles. Treballar de manera organitzada, T02.05 - Prendre decisions pròpies i T02.08 - Avaluar de manera crítica el treball dut a terme es treballen en l'activitat del disseny d'una BD en que l'alumne haurà de treballar en un grup de 5 persones per fer un informe tècnic sobre el desenvolupament d'una base de dades d'un cas d'us.

Nota: es reservaran 15 minuts d'una classe, dins del calendari establert pel centre/titulació, per a la complementació per part de l'alumnat de les enquestes d'avaluació de l'actuació del professorat i d'avaluació de l'assignatura/mòdul.

Activitats formatives

Títol Hores ECTS Resultats d'aprenentatge
Tipus: Dirigides      
Classes Pressencials 50 2 2, 3, 4, 5, 6, 7, 8, 9, 10
Tipus: Supervisades      
Informe Tècnic d'un Cas d'Us 34 1,36 1, 3, 4, 8, 11, 12
Tipus: Autònomes      
Mòdul Consultes SQL 17 0,68 8, 10, 11
Preparació Prèvia 35 1,4 3, 4, 8, 10

Avaluació

CRITERIS D'AVALUACIÓ

L'avaluació del curs consta de 4 parts: avaluació de teoria, avaluació de problemes, redacció d'un informe tècnic, avaluació de pràctiques i resolució autònoma de consultes SQL.

  • EXÀMENS PARCIALS INDIVIDUALS DE TEORIA I PROBLEMES (Nota_Teoria_Probl). Hi haurà dos exàmens escrits individuals (la Nota_Teoria_Probl serà la mitjana de aquestes dues notes, amb un pes total del 40% en la nota final). La primera prova es farà aproximadament a la meitat del semestre i la segona prova es realitzarà al final del semestre durant el període d’exàmens.
  • AVALUACIÓ DE EXERCICIS PRÀCTICS INDIVIDUALS (Nota_Pract). L'avaluació de les pràctiques (amb un pes del 30%) es realitzarà mitjançant una prova de consultes SQL en l'última sessió de pràctiques on l'alumne podrà comprovar la seva nota al finalitzar la prova. El format serà el mateix que el mòdul d'aprenentatge autònom.
  • PROVES ESCRITES INDIVIDUALS (Nota_PEI): De les dues qualificacions anteriors es faran mitjanes per calcular la nota de les proves escrites individuals: 

                Nota_PEI = (0,4*Nota_Teoria_Probl + 0,3*Nota_Pract) / 0,7 

  • TREBALL AUTÒNOM (Nota_InfTec i Nota_AutoAval). Es dividirà en dos blocs: Informe tècnic d'un cas d'ús (20%) i resolució de consultes autònomes al Mòdul de Consultes SQL (10%). Per puntuar en la primera, s'haurà de lliurar un informe tècnic format per 4 parts corresponents a les 4 fases de disseny d'una BD: requisits, diagrama ER, model lògic de taules i joc d'implementació/prova. El document s'ha de lliurar en el format definit prèviament i ha de estar adequat per a una correcta lectura i interpretació dels diagrames. Si un diagrama no es pot llegir clarament per raons de resolució o qualitat, aquesta part de l'informe quedarà suspesa, així com les que en depenen perquè no es pot avaluar. L'informe tècnic es lliurarà en dues parts, una primera entrega a meitat del semestre i una segona entrega al final del semestre. La nota final de l'informe tècnic (amb un pes del 20%) es calcularà a partir de les dues notes (nota1 i nota2) de la següent manera: Nota_InfTec = màx [(nota1 + nota2) / 2; 0,7 * nota2]. La Nota_AutoAval (amb un pes del 10%) s’obté de la resolució autònoma de consultes SQL (pràctiques assistencials) que es faran fora de la programació de classes. Consten de varis mòduls de consultes SQL disponibles a Caronte que estan oberts determinats períodes de temps especificats al propi mòdul. La nota serà proporcional al nombre de preguntes contestades al llarg del curs i a la seva dificultat.
  • NOTA FINAL: La nota final del curs (Nota_Final) serà la mitjana ponderada de les qualificacions en cada part (veure taula d'activitats d'avaluació) i es calcularà de la següent manera:

                Nota_Final =0,4 * Nota_Teoria_Probl + 0,3 * Nota_Pract + 0,2 * Nota_InfTec + 0,1 * Nota_AutoAval

Serà condició necessària per efectuar aquest càlcul que cadascun dels components tingui una puntuació superior a zero, i que la nota mitjana obtinguda en les proves escrites individuals (Nota PEI) sigui igual o superior a 4. L'estudiant o la estudiant que no compleixi aquestes condicions haurà d'aplicar els criteris de reavaluació que es detallen més avall.

  • AVALUACIÓ CONTINUADA: El procés d’avaluació continuada incloure aquestes activitats: Informe Tècnic d'un Cas d'Ús (activitat grupal supervisada), Mòdul Consultes SQL (activitat individual supervisada) i Examen de Teoria i Problemes (prova de síntesis recuperable)

S’ha de tenir una Nota_Final igual o superior a 5 per aprovar l'assignatura. Un estudiant es considera "no-avaluable" només si no ha realitzat cap activitat d'avaluació.

CRITERIS DE REAVALUACIÓ

Es podran acollir al procés de recuperació que es descriu més avall els i les estudiants que no hagin superat l’assignatura aplicant els criteris esmentats i que estiguin en una de les dues situacions següents:

(A) Reuneixin les condicions per poder realitzar el càlcul de la Nota_Final, però la qualificació total obtinguda és igual o superior a 3,5 i inferior a 5; (Nota_PEI ≥  4 però amb 3,5 ≤ Nota_Final < 5)

(B) Han obtingut una nota inferior a 5 en el conjunt de proves escrites individuals, però si s'apliquessin les ponderacions descrites més amunt, la nota final de l'assignatura seria igual o superior a 5; (Nota_PEI < 4 però amb Nota_Final ≥ 5)

En aquesta prova de reavaluació, que serà escrita i es realitzarà dins de l'última setmana del semestre, l'alumne tornarà a ser avaluat en tots els continguts de l'assignatura. Per aprovar la reavaluació s'ha d'obtenir una nota igual o superior a 5. En cas d'aprovació, la nota final de l'assignatura serà “aprovat” (un 5).

En el cas d'incomplir les condicions per aprovar l'assignatura, es posarà en l'expedient el mínim entre les proves escrites individuals (Nota_PEI) i un 4,5.

ALTRA INFORMACIÓ IMPORTANT

  • INSCRIPCIÓ A CARONTE: És obligatori inscriure's a Caronte (http://caronte.uab.cat) a l'inici del curs, ja que allí es publicaran els materials de l'assignatura, es realitzaran les tasques i es publicaran les qualificacions finals del curs. Per inscriure's a Caronte en l’assignatura de bases de dades, cal introduir els dades personals i una foto tipus passaport en format JPG. Aquesta informació serà estrictament privada i es destruirà un cop finalitzat el curs.
  • CONVALIDACIONS: No hi ha cap tractament especial per als estudiants que repeteixen l'assignatura.
  • RECUPERACIÓ DE PRÀCTIQUES: Les pràctiques no es recuperaran de manera separada de la resta del contingut. No obstant això, l'examen de reavaluació contindrà exercicis escrits de SQL similars a aquells del Mòdul de Consultes SQL.
  • HONORS: Els estudiants que tinguin més d'un 9 en la qualificació final de l'assignatura tindran un títol d'honor (MH) fins al límit del 5% dels candidats matriculats, d'acord amb la normativa de la UAB. En cas de tenir més del 5% dels alumnes amb qualificacions superiors a 9, els que tinguin les notes més altes tindran MH.
  • CÒPIA/PLAGI: Sense perjudici d'altres mesures disciplinàries que es considerin oportunes, les irregularitats comeses pels estudiants que puguin conduir a un canvi en la qualificació d'un acte d'avaluació es qualificaran amb zero (0). Per tant, copiar, plagiar, enganyar, deixar-se copiar, etc. en qualsevol de les activitats d'avaluació implicarà la suspensió amb un zero (0). Les activitats d'avaluació qualificades d'aquesta manera i descrites en aquest procediment no seran recuperables. Si és necessari superar alguna d'aquestes activitats d'avaluació per aprovar l'assignatura, quedarà suspesa directament, sense possibilitat de recuperar-la en el mateix curs. En el cas de l'informe tècnic, tots els grups implicats seran qualificats amb un zero (0), independentment de l'autoria de l'obra. 

Aquesta normativa inclou, entre d'altres:

-         la còpia total o parcial d'una pràctica, informe, o qualsevol altra activitat d'avaluació;

-         deixar copiar;

-         presentar un treball de grup no fet íntegrament pels membres del grup;

-         presentar com a propis materials elaborats per un tercer, encara que siguin traduccions o adaptacions, i en general treballs amb elements no originals i exclusius de l'estudiant;

-         tenir dispositius de comunicació (com telèfons mòbils, smart watches, etc.) accessibles durant les proves d'avaluació teòrico-pràctiques individuals (exàmens).

CALENDARI D'ACTIVITATS D'AVALUACIÓ

Les dates de les diferents activitats d'avaluació (exercicis presencials, treballs, etc.) s'anunciaran amb suficient antelació durant el semestre.

Les dates dels exàmens parcials i recuperacions estan previstes en el calendari d'exàmens de la facultat.

"La programació de proves d'avaluació no podrà ser modificada llevat que hi hagi un motiu excepcional i estigui degudament justificat a l'efecte d'una avaluació. En aquest cas, els responsables de les notes, després de consultar als professors i alumnes afectats, proposaran un nou programa dins del període lectiu corresponent. " Apartat 1 de l'article 115. Calendari d'activitats d'avaluació (Normativa Acadèmica UAB)"

PROCEDIMENT DE REVISIÓ DE QUALIFICACIONS

Les dates d'avaluació contínua i de lliurament de treballs es publicaran a Caronte i poden estar subjectes a canvis de programació per motius d'adaptació a possibles incidències. Sempre s'informarà a Caronte sobre aquests canvis ja que s'entén que aquesta és la plataforma habitual d'intercanvi d'informació entre professors i estudiants.

Per a cada activitat d’avaluació, s’indicarà un lloc, data i hora de revisió en la que l'estudiant podrà revisar l’activitat amb el professor. En aquest context, es podran fer reclamacions sobre la nota de l’activitat, que seran avaluades pel professorat responsable de l’assignatura. Si l'estudiant no es presenta a aquesta revisió, no es revisarà posteriorment aquesta activitat.

PROCÉS DE RECUPERACIÓ

"Per participar en el procés de recuperació, l'alumnat ha d'haver estat prèviament avaluat en un conjunt d'activitats que representin un mínim de dos terços de la qualificació total de l'assignatura o mòdul." Article 3 de l'article 112 ter. Recuperació (Normativa acadèmica UAB). L'estudiant ha d'haver obtingut una nota mitjana del curs entre 3,5 i 4,9.

La data d'aquesta prova es programarà en el calendari d'exàmens de la facultat. L'estudiant que estigui present i l'aprovi superarà l'assignatura amb una nota de 5.

IRREGULARITATS EN ELS ACTES D'AVALUACIÓ

Malgrat altres mesures disciplinàries que es considerin oportunes, i d'acord amb la normativa acadèmica vigent, "en el cas que l'estudiant cometi qualsevol irregularitat que pugui conduir a una variació significativa en la qualificació d'un acte d'avaluació, aquest acte d'avaluació es qualificarà amb zero, independentment del procés disciplinari que s'hi pugui instruir. Si hi ha diverses irregularitats en l'avaluació d'una mateixa assignatura, la nota final de l'assignatura serà zero". Article 10 de l'article 116. Resultats de l'avaluació. (Normativa Acadèmica UAB).

Activitats d'avaluació

Títol Pes Hores ECTS Resultats d'aprenentatge
Examen individual de Teoria i Problemes (re-avaluació) 40% 4 0,16 2, 3, 4, 5, 6, 7, 8, 9, 10
Exercicis pràctics individuals 30% 2 0,08 4, 8, 10
Exàmens parcials individuals de Teoria i Problemes 40% 4 0,16 2, 3, 4, 5, 6, 7, 8, 9, 10
Informe Tècnic d'un Cas d'Ús 20% 2,7 0,11 1, 3, 4, 8, 11, 12
Mòdul Consultes SQL online 10% 1,3 0,05 8, 10, 11

Bibliografia

MATERIAL DE L’ASSIGNATURA: Caronte http://caronte.uab.cat

BIBLIOGRAFIA BÀSICA:

  • A. Silberschatz, H.F. Korth, S. Sudarshan, Fundamentos de Bases de Datos, 5a edición, McGraw-Hill, 2006. Enllaç Permanent
  • A. Silberschatz, H.F. Korth & S. Sudarshan, Database system concepts (7th ed., International ed. ed.). New York, N.Y.: McGraw-Hill, 2018. Enllaç Permanent
  • C.J. Date, Introducción a los sistemas de Bases de Datos, Vol.1, 7a edición, Prentice Hall, 2001. Enllaç Permanent
  • C.J. Date, An introduction to database systems (8th ed.). Boston, Mass.; London: Pearson/Addison-Wesley, 2004. Enllaç Permanent

BIBLIOGRAFIA COMPLEMENTÀRIA:

  • T.M. Connolly, C.E. Begg, Sistemas de Bases de Datos, 4a edición, Pearson-Addison-Wesley, 2005. Enllaç Permanent 
  • P.Rob, C. Coronel, Sistemas de Bases de datos. Diseño, implementación y administración, Thomson-Paraninfo, 2004. Enllaç Permanent
  • M. Celma, J.C. Casamayor, L. Mota, Bases de Datos Relacionales, Pearson-Prentice Hall, 2003. Enllaç Permanent
  • D.M. Kroenke, Procesamiento de Bases de Datos, 8ª edición, Pearson-Prentice Hall, 2003. Enllaç Permanent
  • M. Marqués, J.I. Aliaga, S. García, G. Quintana, SQL y desarrollo de aplicaciones en ORACLE 8, Col.lecció; "Treball d'Informàtica i Tecnologia, 9, Universitat Jaume I, 2001.
  • Elmasri/Navathe, Sistemas de Bases de Datos, Addison-Wesley, 3a edición, 2000.
  • A. Silberschatz, H.F. Korth, S. Sudarshan, Fundamentos de Bases de Datos, 3a edición, McGraw-Hill, 1998.
  • A. de Miguel, M. Piattini, Diseño y uso de Bases de Datos Relacionales, Ra-Ma, 1997.
  • G.W. Hansen, J.V. Hansen, Diseño y administración de Bases de Datos, 2a edición, Prentice Hall, 1997. Enllaç Permanent
  • C.J. Date, H. Darwen, A Guide to the SQL standart, 3rd edition, Addison-Wesley, 1994.

ENLLAÇOS WEB:

BASES DE DADES RELACIONALS MULTIUSUARI:

Programari

SQL- developer, Data Modeller, Oracle (si es vol tenir la BD en local enlloc d'accedir als servidors de l'Escola)