DAM-M02-BD

De wikijoan
Salta a la navegació Salta a la cerca

Contingut

Presentació de l'assignatura

El mòdul MP2 Bases de Dades de DAM consta de 4 unitats formatives. Les tres primeres les faràs aquest curs de 1r, i la UF4 la faràs l'any vinent a 2n.

Distribució horària dels mòduls

Seguint les noves orientacions decretades pel Departament d'Ensenyamnent, el mòdul M02 consta de: 165h = 149h (UF1, UF2, UF3, a 1r) +16 h (UF4, a 2n)

Les Unitats Formatives (UFs) són les següents:

  • UF1:‌ ‌Introducció‌ ‌a‌ ‌les‌ ‌bases‌ ‌de‌ ‌dades‌ (25h, noves orientacions)
  • UF2:‌ ‌Llenguatges‌ ‌SQL:‌ ‌DML‌ ‌i‌ ‌DDL (58h, noves orientacions)
  • UF3:‌‌ Llenguatges‌‌ SQL:‌‌DCL‌‌ i‌‌ extensió‌‌ procedimental (66h, noves orientacions)
  • UF4:‌ Bases‌ de dades objecte-relacional‌ -> la UF4 es fa a 2nDAM (Pere Guitart) (16h, noves orientacions)

Resutats d'Aprenentatge (RA)

El resum dels resutats d'aprenentatge és el següent. En finalitzar aquest mòdul l'alumne haurà de ser capaç de:

UF1: Introducció a les bases de dades

  • Reconèixer els elements de les bases de dades analitzant les seves funcions i valorant la utilitat dels sistemes gestors.
  • Dissenyar models lògics normalitzats interpretant diagrames entitat/relació.

UF2: Llenguatges SQL: DML i DDL

  • Consultar i modifica la informació emmagatzemada en una base de dades emprant assistents, eines gràfiques i el llenguatge de manipulació de dades.
  • Realitzar el disseny físic de bases de dades utilitzant assistents, eines gràfiques i el llenguatge de definició de dades.

UF3: Llenguatges SQL: DCL i extensió procedimental

  • Implantar mètodes de control d'accés utilitzant assistents, eines gràfiques i comandes del llenguatge del sistema gestor de bases de dades corporatiu.
  • Desenvolupar procediments emmagatzemats avaluant i utilitzant les sentències del llenguatge incorporat en el sistema gestor de bases de dades corporatiu.

UF4: Bases de dades objecte-relacionals (es veu a 2n curs)

  • Gestionar la informació emmagatzemada en bases de dades objecte-relacionals, avaluant i utilitzant les possibilitats que proporciona el sistema gestor.

Bibliografia

Programació

Document oficial:

  • https://dogc.gencat.cat/ca/document-del-dogc/?documentId=649951
  • UF 1: introducció a les bases de dades. (25h, noves orientacions, però se'n fan 40h)
  • UF 2: llenguatges SQL: DML i DDL. (58h, noves orientacions)
  • UF 3: llenguatges SQL: DCL i extensió procedimental. (66h, noves orientacions)
  • UF 4: bases de dades objecte-relacionals. 33 hores (16h, noves orientacions) (es fa a 2n curs)

UF1. Introducció‌ ‌a‌ ‌les‌ ‌bases‌ ‌de‌ ‌dades‌

Resultats d'aprenentatge i criteris d'avaluació

1. Reconeix els elements de les bases de dades analitzant-ne les funcions i valorant la utilitat dels sistemes
gestors.

1.1 Identifica els diferents elements, objectes i estructures d'emmagatzematge físic disponibles en un SGBD
corporatiu i el relaciona amb els elements de l'esquema físic de la base de dades.
1.2 Identifica els diferents sistemes lògics d'emmagatzematge i les seves característiques.
1.3 Identifica els diferents tipus de bases de dades en funció de la ubicació de la informació.
1.4 Identifica un sistema gestor de bases de dades: funcions, components, objectius, tipus de llenguatge de
bases de dades i diferents usuaris de la base de dades.
1.5 Identifica l'estructura d'un diccionari de dades.
1.6 Diferencia entre el nivell intern, el nivell conceptual i el nivell físic d'una base de dades.
1.7 Diferencia entre els diferents models de bases de dades.
1.8 Identifica les bases de dades distribuïdes: utilitat, diferències, avantatges i inconvenients, distribució de les
dades, arquitectura, seguretat i recuperació.
1.9 Identifica el disseny d'una base de dades distribuïda.
1.10 Identifica les bases de dades centralitzades i les bases de dades distribuïdes: utilitat, diferències,
avantatges i inconvenients.
1.11 Diferencia entre les diferents tècniques de fragmentació en un model distribuït.
1.12 Identifica les tècniques de distribució de dades.

2. Dissenya models lògics normalitzats interpretant diagrames entitat/relació.

2.1 Identifica, selecciona i ordena la informació que ha de contenir la base de dades, segons els requeriments
de l'usuari.
2.2 Analitza la informació a representar i decideix el disseny per a la base de dades, segons els requeriments
de l'usuari.
2.3 Defineix les entitats: nom, atributs, dominis dels atributs i camps clau.
2.4 Defineix les relacions: nom, atributs i grau.
2.5 Realitza el disseny lògic de la base de dades utilitzant el model entitat-relació.
2.6 Utilitza eines gràfiques per representar el disseny lògic.
2.7 Identifica els principals elements del model relacional: relacions, atributs, domini dels atributs, diferents
tipus de claus i cardinalitat de les relacions.
2.8 Identifica i interpreta les regles d'integritat associades a cadascuna de les claus primàries.
2.9 Identifica i interpreta les regles d'integritat associades a cadascuna de les claus foranes, tenint en compte
les diferents possibilitats de modificar i/o esborrar (eliminació i/o modificació en cascada, restricció de
l'eliminació i/o modificació, eliminació i/o modificació aplicant valors nuls als registres relacionats).
2.10 Identifica les taules, els camps i les relacions entre taules, d'un disseny lògic.
2.11 Tradueix un model entitat-relació a model relacional aplicant les regles corresponents de traducció.
2.12 Aplica les regles de normalització en el model relacional.
2.13 Elabora la guia d'usuari i la documentació completa relativa al disseny físic (taules, atributs i relacions) de
la base de dades relacional, de manera estructurada i clara; afegint les restriccions que no es poden plasmar
en el disseny lògic.

Continguts

1. Introducció a les bases de dades:

1.1 Evolució històrica de les bases de dades.
1.2 Avantatges i inconvenients de les bases de dades.
1.3 Emmagatzematge de la informació.
1.3.1. Fitxers (plans, indexats, accés directe, entre altres).
1.3.2. Bases de dades. Conceptes, usos i tipus segons el model de dades, la ubicació de la informació.
1.4 Sistemes gestors de base de dades.
1.4.1. Funcions, components i tipus.
1.4.2. Objectius del sistema gestor de bases de dades: independència física i lògica de les dades, integritat,
redundància mínima, control de concurrència i simultaneïtat, reserva i seguretat, còpies de seguretat i
recuperació i altres.
1.4.3. Tipus d'usuaris de bases de dades: informàtics i no informàtics.
1.4.4. Administrador de la base de dades (DBA): funcions i responsabilitats.
1.4.5. Tipus de llenguatge de bases de dades.
1.4.6. Diccionari de dades: concepte, continguts, tipus i ús.
1.5 Arquitectura ANSI/X3/SPARC.
1.5.1. L'estàndard ANSI/X3/SPARC.
1.5.2. Nivells de l'arquitectura: intern, conceptual i extern.
1.6 Models de bases de dades.
1.6.1. Jeràrquic, xarxa i relacional: concepte, estructura de dades, manipulació de dades i regles d'integritat de
les dades.
1.6.2. Model distribuït: introducció, avantatges i inconvenients. Tècniques de fragmentació: vertical,
horitzontal, mixta. Tècniques de distribució de dades. Esquemes d'assignació i replicació de dades.
1.7 Bases de dades centralitzades i bases de dades distribuïdes.
1.7.1. Introducció a les bases de dades distribuïdes: conceptes bàsics, inici de les bases de dades distribuïdes i
evolució. Avantatges i inconvenients.
1.7.2. Components: maquinari, programari (DDBMS, DTM, DBM i nodes).
1.7.3. Nivells de processament de consultes: processadors locals, processadors distribuïts.
1.7.4. Bloqueig i concurrència. Transaccions distribuïdes.
1.7.5. Distribució de les dades: replicades, particionades, híbrides.
1.7.6. Seguretat i recuperació de la informació en les bases de dades distribuïdes.
1.7.7. Arquitectura-implementacions: múltiples i federades.
1.7.8. Disseny i gestió de bases de dades distribuïdes.

2. Model entitat-relació:

2.1. El concepte de model entitat-relació.
2.2. Entitat: representació gràfica, atributs i tipus de claus.
2.3. Relació: representació gràfica, atributs, grau i cardinalitat.
2.4. Diagrames entitat-relació.
2.4.1. Cardinalitat.
2.4.2. Tipus de correspondències en les relacions: binària, reflexiva i altres.
2.4.3. Representació gràfica del model entitat-relació.
2.4.4. Tipus de participació d'una entitat: obligatòria-opcional (valors nuls).
2.4.5. Entitats fortes i febles.
2.5. El model entitat-relació estès.

3. Model relacional:

3.1 Terminologia del model relacional.
3.2 El concepte de relació. Propietats i relacions.
3.3 Atributs i domini dels atributs.
3.4 El concepte de claus i tipus de claus: claus candidates, claus primàries, claus foranes, claus alternatives.
3.5 Altres conceptes: tupla, grau, cardinalitat, valors nuls, comparació amb fitxers.
3.6 Regles d'integritat: integritat d'entitat i integritat referencial.
3.7 Traducció del model entitat-relació al model relacional.

4. Normalització:

4.1 El concepte de normalització i la relació universal.
4.2 El concepte de dependències funcionals i els seus tipus.
4.3 Primera forma normal (1FN).
4.4 Segona forma normal (2FN).
4.5 Tercera forma normal (3FN).
4.6 Forma normal Boyce-Codd.
4.7 Altres formes normals (4FN, 5FN).
4.8 Desnormalització.

UF2. Llenguatges‌ ‌SQL:‌ ‌DML‌ ‌i‌ ‌DDL

Resultats d'aprenentatge i criteris d'avaluació

1. Consulta i modifica la informació emmagatzemada en una base de dades emprant assistents, eines gràfiques i el llenguatge de manipulació de dades.

1.1 Identifica les funcions, la sintaxi i les ordres bàsiques del llenguatge SQL per consultar i modificar les dades de la base de dades de manera interactiva.
1.2 Empra assistents, eines gràfiques i el llenguatge de manipulació de dades sobre un SGBDR corporatiu de manera interactiva i tenint en compte les regles sintàctiques.
1.3 Realitza consultes simples de selecció sobre una taula (amb restricció i ordenació) per consultar les dades d'una base de dades.
1.4 Realitza consultes utilitzant funcions afegides i valors nuls.
1.5 Realitza consultes amb diverses taules mitjançant composicions internes.
1.6 Realitza consultes amb diverses taules mitjançant composicions externes.
1.7 Realitza consultes amb subconsultes.
1.8 Identifica eines i sentències per modificar el contingut de la base de dades.
1.9 Formula consultes per inserir, modificar i/o eliminar dades de la base de dades.
1.10 Insereix en una taula dades com a resultant de l'execució d'una consulta.
1.11 Identifica les transaccions i el seu funcionament.
1.12 Controla els canvis produïts per una transacció: parcialment o totalment.
1.13 Identifica els efectes de les diferents polítiques de bloqueig de registres.
1.14 Adopta mesures per mantenir la integritat i consistència de la informació.
1.15 Identifica les transaccions, concurrències i la recuperació d'errades.

2. Realitza el disseny físic de bases de dades utilitzant assistents, eines gràfiques i el llenguatge de definició de
dades.

2.1 Identifica els tipus de llenguatges per definir i manipular dades sobre un SGBDR corporatiu de manera interactiva.
2.2 Identifica els elements de l'estructura d'una base de dades i els defineix emprant assistents, eines gràfiques i/o el llenguatge de definició de dades (DDL), a partir del disseny de la base de dades (BD) i dels requeriments d'usuari.
2.3 Empra assistents, eines gràfiques i el llenguatge de definició de dades per definir l'estructura d'una base de dades sobre un SGBDR corporatiu de manera interactiva i tenint en compte les regles sintàctiques.
2.4 Identifica les funcions, la sintaxi i les ordres bàsiques del llenguatge SQL per definir l'estructura d'una base de dades.
2.5 Defineix els índexs en una base de dades per tal de millorar el rendiment del sistema gestor de bases de dades.
2.6 Crea, modifica i elimina sinònims a taules i vistes de la BD.
2.7 Identifica i implanta les restriccions a les taules que estan reflectides en el disseny lògic.

Continguts

1. Llenguatges de la base de dades per manipular dades:

1.1 El llenguatge de manipulació de dades (DML).
1.1.1 Construcció de consultes de selecció simples.
1.1.2 Construcció de consultes de selecció amb restricció i ordenació.
1.1.3 Construcció de consultes de selecció utilitzant clàusules del llenguatge per a l'agrupació i ordenació de les dades.
1.1.4 Construcció de consultes utilitzant les funcions afegides del llenguatge i tractant els valors nuls.
1.1.5 Construcció de consultes per consultar més d'una taula.
1.1.6 Construcció de consultes de taules creuades.
1.1.7 Construcció de subconsultes.
1.1.8 Construcció de sentències d'inserció.
1.1.9 Construcció de sentències de modificació.
1.1.10 Construcció de sentències d'eliminació.
1.2 Unió, intersecció i diferència de consultes.
1.3 Altres clàusules del llenguatge.
1.4 Extensions del llenguatge.
1.4.1. Consultes i emmagatzematge d'estructures en XML, si el SGBD ho permet.
1.4.2. Consulta de l'estructura del diccionari de dades.
1.5 Eines de la BD per a l'optimització de consultes.

2. Estratègies per al control de les transaccions i de la concurrència:

2.1 Concepte d'integritat.
2.2 Concepte de transacció. Control.
2.3 Propietats de les transaccions: atomicitat, consistència, aïllament i permanència.
2.4 Estats d'una transacció: activa, parcialment compromesa, fallida, avortada i compromesa.
2.5 Problemes derivats de l'execució concurrent de transaccions.
2.6 Control de concurrència: tècniques optimistes i pessimistes.
2.7 Recuperació davant errades. Mecanismes per desfer transaccions.

3. Llenguatges de la base de dades per crear l'estructura de la base de dades:

3.1 Tipus de llenguatges per gestionar les dades en un SGBDR corporatiu.
3.2 Eines gràfiques proporcionades pel sistema gestor per a la implementació de la base de dades.
3.3 El llenguatge de definició de dades (DDL).
3.3.1 Identificació dels tipus de dades del llenguatge.
3.3.2 Creació, modificació i eliminació de la base de dades.
3.3.3 Creació, modificació i eliminació de taules.
3.3.4 Creació, modificació i eliminació de camps a les taules: tipus de dades, clau primària, claus foranes, relacions, restriccions, tipus de dades, etc.
3.3.5 Creació i eliminació d'índexs.
3.4 Extensions del llenguatge:
3.4.1 Creació, manipulació i esborrament de vistes.
3.4.2 Especificació de restriccions d'integritat: tipus de restriccions (clau primària o primary key, foreign key, check, not null i unique), creació, modificació i eliminació de restriccions i vistes de restriccions.

UF3. Llenguatges‌‌ SQL:‌‌DCL‌‌ i‌‌ extensió‌‌ procedimental

Resultats d'aprenentatge i criteris d'avaluació

1. Implanta mètodes de control d'accés utilitzant assistents, eines gràfiques i comandes del llenguatge del sistema gestor de bases de dades corporatiu.

1.1 Coneix la normativa vigent sobre la protecció de dades.
1.2 Identifica els diferents tipus d'usuaris d'una organització, per tal identificar-ne els privilegis.
1.3 Crea, modifica i elimina comptes d'usuari; assignant privilegis sobre la base de dades i els seus objectes, garantint el compliment dels requisits de seguretat.
1.4 Agrupa i desagrupa privilegis, per tal d'assignar i eliminar privilegis a usuaris, garantint el compliment dels requisits de seguretat.
1.5 Agrupa i desagrupa grups de privilegis a usuaris, garantint el compliment dels requisits de seguretat.
1.6 Assigna i desassigna rols a usuaris.
1.7 Crea vistes personalitzades per a cada tipus d'usuari de la base de dades.

2. Desenvolupa procediments emmagatzemats avaluant i utilitzant les sentències del llenguatge incorporat en el sistema gestor de bases de dades corporatiu.

2.1 Identifica les eines disponibles en el sistema gestor de bases de dades per editar guions.
2.2 Defineix guions per automatitzar tasques que gestionen la base de dades.
2.3 Identifica els tipus de dades, identificadors, variables i constants.
2.4 Utilitza estructures de control de flux i llibreries de funcions.
2.5 Desenvolupa procediments i funcions d'usuari.
2.6 Gestiona els possibles errors dels procediments i funcions i controla les transaccions.
2.7 Utilitza cursors per manipular les dades d'una base de dades.
2.8 Utilitza les funcions incorporades en el sistema gestor de bases de dades.
2.9 Desenvolupa disparadors.

Continguts

1. Gestió d'usuaris:

1.1 Creació, modificació i eliminació d'usuaris.
1.2 Administració de perfils, privilegis i rols.
1.3 Assignació i desassignació de privilegis a usuaris sobre objectes de la base de dades.
1.4 Definició de rols. Assignació i desassignació de rols a usuaris.
1.5 Normativa legal vigent sobre protecció de dades.

2. Programació en bases de dades:

2.1 Entorns de desenvolupament a l'entorn de la base de dades.
2.2 Tipus de guions: guions simples, procediments i funcions.
2.3 La sintaxi del llenguatge de programació.
2.3.1 Tipus de dades, identificadors, variables, constants.
2.3.2 Operadors.
2.3.3 Estructures de control de flux i llibreries de funcions.
2.4 Procediments i funcions.
2.5 Control d'errors.
2.6 Cursors i transaccions.
2.7 Eines de depuració i control de codi.
2.9 Facilitats per al desenvolupament d'entorns gràfics.
2.10 Llibreries bàsiques disponibles.
2.11 Disparadors.

Distribució horària

  • UF1:‌ ‌Introducció‌ ‌a‌ ‌les‌ ‌bases‌ ‌de‌ ‌dades‌ (25h, noves orientacions, però passen a 40h)
  • UF2:‌ ‌Llenguatges‌ ‌SQL:‌ ‌DML‌ ‌i‌ ‌DDL (58h, noves orientacions)
  • UF3:‌‌ Llenguatges‌‌ SQL:‌‌DCL‌‌ i‌‌ extensió‌‌ procedimental (66h, noves orientacions)
  • UF4:‌ Bases‌ de dades objecte-relacional‌ -> la UF4 es fa a 2nDAM (16h, noves orientacions)

Curs 2021-2022

  • UF1: 20/09/2021 al 10/11/2021
  • UF2: 15/11/2021 al 16/02/2022
  • UF3: 21/02/2022 al 25/05/2022

Avaluació

L'alumne coneixerà, des del principi de la UF, els criteris d'avaluació de les Unitats Formatives (UF) i de les activitats d'ensenyament (AEA) de què consten les UFs.

Avaluació de les AEA

Una activitat d'ensenyament-aprenentatge està formada per Teoria (T), pràctiques (Pr), qüestionaris (Q) i altres activitats com poden ser notes de classe i activitats voluntàries (Gr).

  • T: Píndoles de teoria
  • Q: Qüestionaris. Són exercicis que obligatòriament es fan a classe, i s'han d'entregar en el Classroom al final de la classe
  • Pr: Pràctiques. Són més llargues, es comencen a classe, i si no dóna temps es poden acabar a casa. El termini per entregar en el Classroom és més llarg.
  • Gr: rúbriques de classe i tasques voluntàries/complementàries/d'aprofundiment.

Les tasques voluntàries permeten la modificació (a l'alça) de la nota final de cada activitat d'E-A. La manera com modifica la nota és la següent: Si les tasques voluntàries superen la nota de l'AEA, la nota calculada de l'AEA representa el 85% de la nota final, i les tasques voluntàries el 15% (la qual cosa farà augmentar la nota final de l'AEA).

Avaluació de les UFs

La UF consta de diverses AEA i d'una prova final. L'alumne coneixerà els pesos de cada AEA i de la prova/examen final amb què es calcularà la nota final de la UF.

AEA: Activitats d'Ensenyament-Aprenentatge

UF1. Introducció‌ ‌a‌ ‌les‌ ‌bases‌ ‌de‌ ‌dades‌ (Classroom: 6btfpn3)

UF1A1. Introducció a les bases de dades

UF1A2. Model E-R

UF1A3. Model relacional

Avaluació UF1

Q_UF1A1 = 0.7*Pr1 + 0.3*Q1
Q_UF1A2 = 0.7*Pr2 + 0.3*Q2
Q_UF1A3 = 0.7*Pr3 + 0.3*Q3

Q_UF1‌ ‌= 0.1*‌ Q_UF1A1 ‌+‌ ‌0.2*‌Q_UF1A2 ‌+‌ ‌0.3*‌Q_UF1A3 ‌+‌ ‌0.4*‌Q_ExUF1

UF2. Llenguatges‌ ‌SQL:‌ ‌DML‌ ‌i‌ ‌DDL (Classroom: vxepmul)

UF2A1:‌ ‌Creació,‌ ‌modificació‌ ‌i‌ ‌esborrat‌‌ de‌ ‌taules

UF2A2:‌ ‌Inserció,‌ ‌modificació‌ ‌i‌‌ eliminació‌ ‌de‌ ‌registres

UF2A3:‌ ‌Consultes‌ ‌simples

UF2A4:‌ ‌Consultes‌ ‌complexes

UF2A5:‌ ‌ACID,‌ ‌concurrència,‌ ‌vistes‌

Avaluació UF2

Q_UF2A1 = 0.35*Pr4 + 0.15*Q3 + 0.15*Q4 + 0.35*Pr5
Q_UF2A2 = 0.2*Q5 + 0.4*Pr6 + 0.4*Pr7
Q_UF2A3 = 0.15*Q6 + 0.15*Q7 + 0.15*Q8 + 0.15*Q9 + 0.4*Pr8
Q_UF2A4 = 0.2*Pr9 + 0.1*Q10 + 0.1*Q11 + 0.1*Q12 + 0.1*Q13 + 0.2*Pr10 + 0.2*Pr11
Q_UF2A5 = 0.2*Q14 + 0.2*Q15 + 0.6*Pr12

Q_UF2 ‌= 0.13*‌ Q_UF2A1 ‌+‌ ‌0.13*‌Q_UF2A2 ‌+‌ ‌0.13*‌Q_UF2A3 ‌ ‌+‌ ‌0.13*‌Q_UF2A4 ‌ ‌+‌ ‌0.13*‌Q_UF2A5 ‌+‌ ‌0.35*‌Q_ExUF2

UF3:‌. Llenguatges‌‌ SQL:‌‌DCL‌‌ i‌‌ extensió‌‌ procedimental (Classroom: w4i33vn)

UF3A1: Instruccions DCL

UF3A2:‌ ‌Introducció‌ ‌PL/pgSQL.‌ ‌Funcions‌ ‌i‌‌ procediments

UF3A3:‌ ‌Cursors‌ ‌i‌ ‌disparadors

Avaluació UF3

Q_UF3A1 = 0.35*Pr13 + 0.15*Q16 + 0.35*Pr14 + 0.15*Q17
Q_UF3A2 = 0.35*Pr15 + 0.15*Q18 + 0.35*Pr16 + 0.15*Q19
Q_UF3A3 = 0.35*Pr17 + 0.15*Q20 + 0.35*Pr18 + 0.15*Q21

Q_UF3 ‌= 0.22*‌ Q_UF3A1 ‌+‌ ‌0.22*‌Q_UF3A2 ‌+‌ ‌0.22*‌Q_UF3A3 ‌+‌ ‌0.34*‌Q_ExUF3

creat per Joan Quintana Compte, agost 2021