Diferència entre revisions de la pàgina «UF1A2. Teoria»
| Línia 71: | Línia 71: | ||
===Notació de les interrelacions=== | ===Notació de les interrelacions=== | ||
Farem servir la notació que veiem en els exemples de draw.io i de classe, que no coincideix ben bé amb la notació del pdf que seguim. | Farem servir la notació que veiem en els exemples de draw.io i de classe, que no coincideix ben bé amb la notació del pdf que seguim. | ||
| + | ==Entitats febles== | ||
| + | Les '''entitats febles''' són aquelles que no disposen de prou atributs per a designar unívocament les seves instàncies. Per tal d’aconseguir-ho, han d’estar associades, mitjançant una interrelació, amb una entitat forta que les ajudi. | ||
| + | |||
| + | Un exemple típic és per exemple FACTURA i DETALLFACTURA (o LINIAFACTURA). Els atributs de FACTURA són el ''total'', la ''data'', l'iva (allò que surt en la capçalera d'una factura). I el detall de la factura és tots els productes que has comprat, i cada producte multiplicat per la quantitat és una part del preu (els atributs del detall serien la quantitat, subtotal, descompte aplicat al producte). FACTURA és una entitat forta; i DETALLFACTURA és una entitat feble, doncs no té cap sentit parlar de detall de la factura si no fem referència a una factura. La relació entre FACTURA i DETALLFACTURA sempre serà del tipus 1:N. En aquest exemple evidentment hi ha d'altres entitats que no mencionem com ara CLIENT, PRODUCTE, etc, que és la base d'una base de dades empresarial. | ||
| + | ===Notació=== | ||
| + | *Les entitats febles es representen escrivint el seu nom en majúscules i en singular, dins d’un rectangle dibuixat amb una línia doble. | ||
| + | *La interrelació que uneix l’entitat feble amb la seva forta es representa amb un rombe també de línia doble. | ||
| + | *L’atribut o el conjunt d’atributs que actuïn com a discriminants han d’anar subratllats amb una línia discontínua. | ||
| + | ==Especialització i generalització== | ||
| + | L’'''especialització''' permet reflectir l’existència d’una entitat general, anomenada entitat superclasse, que es pot especialitzar en diferents entitats subclasse. | ||
| + | |||
| + | Per exemple (pàg 45 del pdf), un PROFESSOR pot ser INFORMÀTIC o ADMINISTRATIU. Hi ha atributs que són comuns als informàtics i als administratius, i s'assignen al professor (per ex, nom, dni, data_naix, telefon, mail). Però hi ha atributs que són específics de les entitats INFORMÀTIC (per exemple, l'atribut ''bd'' que digui si és especialista o no en BD) o ADMINISTRATIU (per exemple, l'atribut ''pgc'' que digui si és especialista o no en Pla General Comptable). | ||
| + | |||
| + | La '''generalització''', en canvi, és el resultat d’observar com diferents entitats preexistents comparteixen certes característiques comunes (és a dir, identitat d’atributs o d’interrelacions en les quals participen). | ||
| + | |||
| + | Per exemple, PERSONA és una generalització de PROFESSOR i ALUMNE. Igual que abans, hi ha uns atributs comuns que són propis de PERSONA; i uns atributs que li són propis als professors (per exemple ''sou''), i d'altres que són propis dels alumnes (per exemple ''num_expedient''). | ||
=T8: exemples E-R: municipis, langtrainer, empresa= | =T8: exemples E-R: municipis, langtrainer, empresa= | ||
Revisió del 21:43, 23 ago 2021
Contingut
Referències
T5: Explicació concepte d'entitat i els seus atributs
Introducció
Un model de dades consisteix en un conjunt d'eines conceptuals per descriure les dades, les seves interrelacions, el seu significat, i les limitacions necessàries per tal de garantir-ne la coherència.
En aquesta unitat estudiarem el model de dades més àmpliament utilitzat, el model Entitat-Relació (o, abreujadament, model ER). El model ER és un model de dades d'alt nivell. Es basa en una percepció del món real que es tradueix en una col·lecció d'objectes anomenats entitats (entities), i de relacions (relationships) entre aquelles.
Entitats i atributs
Una entitat és alguna cosa que existeix en el món real, distingible de la resta de coses, i de la qual ens interessen algunes propietats
Anomenem atributs les característiques que ens interessen de les entitats.
Per exemple, una entitat és persona, i els seus atributs podrien ser: nom, cognoms, data naixement, pes i talla. Els atributs poden tenir valor nul (sense dades). Aquest serà un concepte important al llarg del curs.
Domini d'un atribut: valors que pot agafar.
Els atributs poden ser simples o compostos. Per exemple, si considerem que l'atribut nom pot agafar el valor Pere Rovira Camps, és un atribut compost. Si nom fa referència només al nom de pila, perquè hi ha un altre atributs que és el cognoms, estem parlant d'atribut simple.
Els atributs poden ser monovaluats si només agafen un valor (per exemple, el DNI); o multivaluats si poden agafar diversos valors (per exemple el mail: una persona normalment té més d'un mail: el personal, el de la feina, etc.). La cardinalitat dels atributs és el número de valors que poden agafar els atributs. Per exemple, podríem establir per al nostre model que la cardinalitat del mail fos igual a 3.
Atribut derivat: quan el seu valor es pot calcular a partir d'altres atributs. Un cas típic: si tinc l'atribut data_naixement, l'atribut edat és un atribut calculat que es pot esbrinar fàcilment a partir de la data de naixement.
Clau primària: L'atribut o el conjunt d'atributs que identifiquen unívocament les entitats instància s'anomenen clau primària de l'entitat. Per exemple, el DNI seria una bona clau primària. La combinació de nom+cognom1+cognom2 és en principi una bona clau primària (tot i que a nivell de tot Catalunya segur que trobaríem alguna excepció).
T6: Introducció draw.io
Per representar diagrames ER farem servir l'eina online draw.io. Hi ha diferents possibilitats en quant a notació. Nosaltres farem servir els diagrames Chen, tal com es mostra en el diagrama de l'esquerra de l'enllaç que comentem. Fixar-se també com es fan les relacions entre les entitats (també hi ha diferents possibilitats), que s'explica a continuació.
Notació d'entitats i atributs
- Com a regla general, no farem servir accents ni caràcters especials, només lletres i xifres.
- Representarem les entitats tipus escrivint el seu nom en majúscules i en singular, a dins d’un rectangle.
- Representarem cada atribut escrivint el seu nom amb la primera lletra en majúscula i la resta en minúscules, dins d’una el·lipse unida amb un guió amb el rectangle que representa l’entitat tipus de la qual formen part:
- Si un atribut té un nom compost, cada nom començarà amb majúscula per tal de fer-lo més llegidor. Per exemple, TelefonFix, TelefonMobil.
- Si el nom d'un atribut correspon a unes sigles, ha d’anar íntegrament en majúscules, com ara DNI (document nacional d’identitat).
- Les el·lipses dels atributs en què es pot descompondre un atribut han d'anar unides amb un guió amb l’el·lipse de l’atribut compost.
- L'el·lipse d'un atribut multivaluat estarà formada per un traç doble.
- Els límits d'un atribut multivaluat, en cas d’existir, s’han d’especificar a continuació del nom de l’atribut, entre parèntesis i separats per una coma.
- L'el·lipse d’un atribut derivat estarà formada per un traç puntejat.
- Els atributs que formen part d’una clau primària han d’anar subratllats.
T7: Explicació concepte relació entre entitats. Tipus de relacions
Interrelacions (relationships)
Una interrelació consisteix en una associació entre dues o més entitats.
Exemple: en un centre educatiu tenim les entitats ALUMNE i ASSIGNATURA. Un alumne està matriculat de diverses assignatures; i una assignatura té molts alumnes que hi estan matriculats. Per tant, aquestes dues entitats estan relacionades, i el sentit d'aqusesta interrelació és Matricula. Normalment farem servir un verb (matricular), i ho podem llegir com a: un alumne es matricula en diverses assignatures; d'una assignatura tenim matriculat molts alumnes. Ja podem introduir el concepte de cardinalitat, en aquest cas és N:M (molts:molts).
En aquest cas Matricula, la interrelació que relaciona ALUMNE i ASSIGNATURA, té un atribut que és la nota, que ens diu un alumne concret quina nota ha tret en una assignatura concreta. nota no és un atribut ni de l'alumne ni de l'assignatura, sinó de la relació entre alumne i assignatura.
El grau d’una interrelació depèn del nombre d’entitats que aquesta associa. Normalment, com en el cas anterior, el grau és 2. Però també podem trobar exemples de grau 3. Per exemple, si un alumne es matricula d'una assignatura diverses vegades (en diferents cursos), aleshores tenim 3 entitats (ALUMNE, ASSIGNATURA, CURS) que estan relacionades per matrícula (veure el pdf).
La cardinalitat d’una interrelació indica el tipus de correspondència que hi ha entre les ocurrències de les entitats que ella mateixa permet associar.
Les interrelacions binàries poden oferir tres tipus de connectivitat:
- Un a un (1:1) (PROFESSOR coordina DEPARTAMENT). Un professor coordina (o no) un departament (però no varis departaments). I un departament només és coordinat per un professor. NO estem parlant de què un departament tingui varis professors, sinó que ens estem fixant en la tasca de coordinació. (en els instituts, cada departament té un coordinador o cap de departament).
- Un a uns quants (1:N) (PERSONA té MAIL) (una persona pot tenir diversos mails: personal, feina, institut,...). Però un mail només pertany a una persona. També PROFESSOR pertany a DEPARTAMENT.
- Uns quants a uns quants (N:M) (exemple: ALUMNE es matricula en ASSIGNATURA)
Si ens fixem en les interrelacions que hem posat com a exemple, les entitats poden ser obligatòries o opcionals en la participació en la interrelació:
- PROFESSOR coordina DEPARTAMENT. Professor és opcional: hi ha professors que no coordinen; però n'hi haurà un que serà el coordinador. Departament és obligatori: segur que cada departament tindrà un coordinador.
- PERSONA té MAIL. Persona és opcional (pot ser que una persona no tingui mail, depenent del context. Per exemple, si estem omplint un formulari del súper BonPreu. Però en canvi, en el context d'u institut segur que una persona/alumne té mail). mail és obligatori (segur que pertanya a una persona). PROFESSOR pertany a DEPARTAMENT: professor és obligatori (tots els professors pertanyen a un departament); i departament és obligatori (no hi poden haver departaments sense professors).
- ALUMNE es matricula en ASSIGNATURA. Alumne és obligatori (si no es matricula a res, no seria un alumne). Assignatura és obligatori (no hi poden haver assignatures sense alumnes).
Una interrelació recursiva associa les instàncies d’una entitat amb altres instàncies de la mateixa entitat. Si participen dues entitats és una interrelació recursiva binària. Anem a veure l'exemple que tenim en el pdf:
ASSIGNATURA prerrequisit ASSIGNATURA
És a dir, una assignatura té com a prerrequisit una (o unes) assignatura/es.
Per exemple, podria ser que M2UF4 (que es farà a 2n) tingués com a prerrequisits haver aprovat M2UF1 i M2UF2. La relació prerrequisit és opcional en els dos sentits (una assignatura no té perquè tenir prerrequisits; i una assignatura potser no serà prerrequisit de cap altre assignatura); i la relació prerrequisit és N:M, és a dir, una assignatura pot tenir diversos prerrequisits; i una assignatura pot ser prerrequisit de diverses assignatures.
Notació de les interrelacions
Farem servir la notació que veiem en els exemples de draw.io i de classe, que no coincideix ben bé amb la notació del pdf que seguim.
Entitats febles
Les entitats febles són aquelles que no disposen de prou atributs per a designar unívocament les seves instàncies. Per tal d’aconseguir-ho, han d’estar associades, mitjançant una interrelació, amb una entitat forta que les ajudi.
Un exemple típic és per exemple FACTURA i DETALLFACTURA (o LINIAFACTURA). Els atributs de FACTURA són el total, la data, l'iva (allò que surt en la capçalera d'una factura). I el detall de la factura és tots els productes que has comprat, i cada producte multiplicat per la quantitat és una part del preu (els atributs del detall serien la quantitat, subtotal, descompte aplicat al producte). FACTURA és una entitat forta; i DETALLFACTURA és una entitat feble, doncs no té cap sentit parlar de detall de la factura si no fem referència a una factura. La relació entre FACTURA i DETALLFACTURA sempre serà del tipus 1:N. En aquest exemple evidentment hi ha d'altres entitats que no mencionem com ara CLIENT, PRODUCTE, etc, que és la base d'una base de dades empresarial.
Notació
- Les entitats febles es representen escrivint el seu nom en majúscules i en singular, dins d’un rectangle dibuixat amb una línia doble.
- La interrelació que uneix l’entitat feble amb la seva forta es representa amb un rombe també de línia doble.
- L’atribut o el conjunt d’atributs que actuïn com a discriminants han d’anar subratllats amb una línia discontínua.
Especialització i generalització
L’especialització permet reflectir l’existència d’una entitat general, anomenada entitat superclasse, que es pot especialitzar en diferents entitats subclasse.
Per exemple (pàg 45 del pdf), un PROFESSOR pot ser INFORMÀTIC o ADMINISTRATIU. Hi ha atributs que són comuns als informàtics i als administratius, i s'assignen al professor (per ex, nom, dni, data_naix, telefon, mail). Però hi ha atributs que són específics de les entitats INFORMÀTIC (per exemple, l'atribut bd que digui si és especialista o no en BD) o ADMINISTRATIU (per exemple, l'atribut pgc que digui si és especialista o no en Pla General Comptable).
La generalització, en canvi, és el resultat d’observar com diferents entitats preexistents comparteixen certes característiques comunes (és a dir, identitat d’atributs o d’interrelacions en les quals participen).
Per exemple, PERSONA és una generalització de PROFESSOR i ALUMNE. Igual que abans, hi ha uns atributs comuns que són propis de PERSONA; i uns atributs que li són propis als professors (per exemple sou), i d'altres que són propis dels alumnes (per exemple num_expedient).
T8: exemples E-R: municipis, langtrainer, empresa
Langtrainer
És un model de dades per organitzar l'aprenentatge del vocabulari d'un idioma.
Exemple de dades:
'Pere' estudia 'to draw' 'to draw' té com a traducció: 'dibuixar' (verb, 'to draw a portrait', 'estirar' (verb, 'to draw a drawer (obrir un calaix)' 'to draw' pertany a 'anglès'
creat per Joan Quintana Compte, agost 2021