Estratto del documento

Modellazione concettuale di una base di dati

Una base di dati è una collezione di dati strutturati correlati tra di loro che descrivono e modellano un minimondo, cioè una porzione di dati contenuti in una realtà di interesse. Supponendo di avere dei dati (valori che rappresentano qualcosa ad esempio le persone hanno delle caratteristiche a cui io associo dei valori altezza, peso ecc.) possiamo dire che questi dati non sono presi singolarmente ma sono correlati tra di loro. Esiste una correlazione tra questi dati. Questi dati sono una rappresentazione di una parte della realtà a nostra scelta (a seconda della prospettiva, cambiano i dati di interesse).

Esempio: all’università interesseranno dati del tipo: titolo di studi, matricola, data di nascita ecc.; ad una parrucchiera invece interesseranno altri dati: colore di capelli. A seconda della modalità con cui mi pongo vedo diversamente i dati di interesse.

Dati strutturati

Parliamo di dati strutturati quando guardando ai dati (es. stringa di caratteri, un numero...) li consideriamo organizzati in un modo che consente di associare al dato una caratteristica descrittiva, chiamato comunemente attributo.

Esempio: “Nel mezzo del cammin di nostra vita di mi ritrovai…” questo è l’incipit della Divina Commedia. “1 birra, 1 pacco di pasta, 1 kg di pane” scontrino della spesa. Nello scontrino della spesa sono contenuti “dati strutturati” infatti nella sua presentazione associo in maniera esplicita un valore ad una sua descrizione, nella rappresentazione dei valori ho associata una rappresentazione dello stesso. Vi è un’associazione esplicita tra un valore e una descrizione, questa associazione mi consente di comprendere in maniera chiara ed evidente qual è il significato dei dati. Nel caso della Divina Commedia invece vi è una rappresentazione di “dati non strutturati”, infatti se non leggo il contesto non riesco a ricavare delle informazioni. Se guardo un numero puro, ad esempio 12, non mi dà alcuna informazione, se invece dico 12 apostoli ho delle informazioni.

La gestione dei dati e dei sistemi informativi si basa sulla comprensione della scelta a partire dal dominio che consideriamo a seconda che definiamo una collezione di dati strutturati o non strutturati. È molto più semplice gestire “dati strutturati” poiché consentono una gestione esatta dei dati. I dati strutturati, infatti, sono quelli tipici dell’organizzazione delle basi di dati.

Quando parliamo di base di dati normalmente ci riferiamo ad una “base di dati strutturata” a cui è associata una forma in cui avremo: valore e caratteristica. La caratteristica è anche chiamata “attributo” cioè una descrizione della tipologia di valore.

Esempio: altezza 180 -> ho associato descrittore valore. Se invece ho un testo libero (un libro) il suo contenuto è in generale un testo “non strutturato”. Se guardo alla biblioteca, la quale è un tipico ambito in cui si effettua immagazzinamento e ricerca di dati, ho la coesistenza di dati “strutturati e dati non strutturati”. Tutto ciò che riguarda il testo non strutturato tipicamente non è oggetto di ricerche esatte, ma c’è sempre un’approssimazione o un processo predittivo.

Distinguiamo i sistemi che gestiscono le “basi di dati strutturate” chiamandoli DBMS-DataBase Management System (sistema di gestione di una base di dati strutturati) ed i sistemi di immagazzinamento e ricerca di dati non strutturati chiamandoli IRS-Information Retrieval System (Sistema per il recupero di Informazioni non strutturate).

Esempio: Google è un IRS, scandisce immagazzina e recupera testo libero. Potrei fare anche delle ricerche esatte su un testo non strutturato (es. trovami una frase, una parola) ma troverei tutti i documenti che contengono la parola cercata (troverei migliaia di documenti) ottenendo un information overload, avremmo cioè un sovraccarico di informazioni. Il nostro problema è infatti selezionare le informazioni che ci interessano.

Modello entità-relazione

Il modello entità-relazione è un modello concettuale di dati e non presuppone conoscenze di informatica; è molto diffuso data la sua notevole immediatezza e semplicità e fornisce una serie di strutture (grafiche ed intuitive) atte a descrivere la realtà di interesse (detta Mondo o Dominio) in una maniera facile da comprendere (tramite schemi concettuali espliciti, comodi, pratici ed immediati) e che prescinde dai criteri di organizzazione dei dati nei calcolatori. È una rappresentazione ad “alto livello” (vi è un gap tra il linguaggio che capiscono gli uomini e quello che capiscono le macchine, in questo caso il livello è alto poiché ci avviciniamo al linguaggio umano) infatti utilizza grafici per la rappresentazione di dati che vengono raccolti in un URD-User Requirement Document (Documento che raccoglie i requisiti che ha un utente, che ha bisogno di una base di dati).

Dobbiamo intervistare chi ci ha richiesto la base di dati in maniera tale che ci descriva i requisiti utente. Otterremo una descrizione grafica dei dati, delle relazioni tra i dati e dei vincoli che introduciamo sui dati. Non contiene dettagli su come viene fatto effettivamente il database. La progettazione o modellatura concettuale infatti ha lo scopo di rappresentare le specifiche informali della realtà (dominio) d’interesse in maniera completa, senza preoccuparsi della modalità con le quali tale contenuto informativo della base di dati che si sta progettando verrà codificato in un sistema reale, né dell’efficienza dei programmi applicativi che faranno uso di queste informazioni. Il modello E-R presuppone che il dominio informativo d’interesse venga modellato assumendo che ciò che non è d’interesse NON ESISTE: pertanto si parla di “mondo chiuso” o “mini mondo”.

Entità

Entità: descrive un concetto tangibile o non tangibile del mondo reale; un’entità è una classe di oggetti che hanno proprietà comuni ed esistenza autonoma; tali oggetti sono detti istanze di un’entità. L’entità si rappresenta normalmente in un rettangolo e con un’etichetta, essa rappresenta il nome associato alla classe o attributo. Un’entità è una classe individuabile come un insieme matematico. Ad ogni entità si associano uno o più attributi, cioè delle caratteristiche associate all’entità tipiche di quel contesto di interesse, cioè, di quella porzione a cui noi guardiamo (caratteristiche proprie di tutti gli elementi del sistema).

Una volta individuata la singola istanza dell’insieme la particolarizzo associando a ciascun attributo un valore.

Nome=Mari Cognome=Rossi s1 Matr.=119310.

Gli attributi

Esistono caratterizzazioni particolari di alcuni tipi di attributi.

Attributo composto: è suddivisibile in parti più piccole che mantengono una certa specificità. Es.: Indirizzo: Via, Civico, CAP, Città, Stato. Potrei pensare di scrivere le parti dell’indirizzo come una stringa unica, ma potrei incorrere in errore.

Esempio: supponiamo di avere N studenti dei quali conosciamo delle informazioni tra cui anche l’indirizzo (scritto come una stringa) e supponiamo di voler selezionare solamente i ragazzi che vivono a Bari. Se facessimo una selezione per righe cercando solamente la parola Bari prenderemmo anche tutti i ragazzi che abitano in Via Bari, proprio perché l’indirizzo è scritto come una stringa, abbiamo usato infatti delle informazioni non strutturate come se lo fossero. In questo caso invece, se distinguiamo tutte le componenti, potrei cercare Bari riferendomi alla Città. Mi rendo conto che l’attributo è fatto da parti potrei esplicitare le singole parti. Utile quando preveda di riferirmi a singole parti dell’attributo (via e civico).

  • Civico
  • CAP
  • Via
  • Città
  • Indirizzo
  • Stato

In generale un attributo associato ad un’istanza gli fa assumere un valore atomico, cioè indivisibile. In natura esistono gli attributi multivalore.

Attributo multivalore: può assumere più di un singolo valore per ciascuna occorrenza di una entità. Es. Telefoni, titoli_di_studio, sedi. Posso associare un numero non precedentemente definibile in termini di numerosità di valori.

Esempio: ho un numero di numeri di telefono da inserire per ogni studente indefinito, possono essere 2, 3 ecc. non lo so a priori. Diverso è se so già inizialmente che dovrò inserire il numero di casa e di cellulare.

Nome=Mario Cognome=Rossi s1 Telefoni=080555333, 03481122345, 0335663452.

Attributi derivabili come l’età vengono solitamente rappresentati utilizzando un tratto. Gli attributi derivati, tratteggiato. Si introduce in questi casi il concetto di Business Rule (Regola associata al modello) descrizione strutturata testuale della modalità con cui si possono calcolare e derivare delle informazioni.

Esempio: l’età è tipicamente un attributo derivato, lo devo calcolare anno per anno dalla data di nascita. Ad età aggiungerò una Business Rule in cui dico che l’età è calcolabile come data odierna meno data di nascita.

Dominio di un attributo

Il dominio di un attributo è rappresentato come l’insieme dei valori che possono essere assegnati ad un attributo di un’entità ed eventualmente le operazioni ammissibili su quei valori.

Es. età: 16-65, nome: insieme delle stringhe di caratteri.

DEFINIZIONE: un attributo A di una entità E il cui insieme di valori è V è definibile come: P(V). Dove P(V) è l’insieme dei sottoinsiemi di V. A: E -> In informatica non esiste la memoria vuota o cella vuota esiste la memoria non esplicitamente valorizzata.

Esempio: in America si utilizza solitamente il doppio nome. JFK - John Fitzgerald Kennedy, ma ci possono essere anche persone che non hanno middle name, per queste ultime il middle name non è valorizzato ma devo esplicitare il concetto di vuoto, non scrivo 0, ma NULL.

La chiave di un’entità

Abbiamo precedentemente definito un’entità come un insieme, un insieme matematico è costituito da istanze che sono individuabili singolarmente, nel nostro caso parto dal presupposto che avendo degli attributi e avendo delle istanze-azioni (cioè dei nomi associati) a questi attributi, sono in grado di individuare un’istanza guardando tutti i valori. Non potrà mai esserci un’altra istanza che abbia esattamente tutti gli stessi valori.

In generale esiste il concetto di chiave e vincolo di chiave, diciamo che esiste un sottoinsieme di attributi che può ridursi anche ad uno o eventualmente coincidere con tutti gli attributi associati all’entità, la cui combinazione è necessariamente distinta per ciascuna occorrenza di entità.

Esempio: scrivo Studente: Nome e Cognome, definita la coppia di attributi per questa mini realtà, non potrà esserci un altro studente con lo stesso nome e cognome, se ne arrivasse un altro sarebbe un duplicato.

NOME STUDENTE COGNOME

Per costruzione l’insieme degli attributi è tale da non poter avere duplicati esatti. Posso ipotizzare che ci sia un sottoinsieme di attributi che descrivono l’entità, che da solo sia in grado di individuare univocamente un’istanza di questa entità. Solitamente veniamo individuati da una matricola perché, pur essendo distinguibili, si introduce un attributo che consente di individuare univocamente ciascuno di noi.

NOME MATR. STUDENTE COGNOME

Se gli attributi che formano una chiave sono più di uno si fa un arco che taglia graficamente gli attributi chiave.

Esempio: trovare la chiave dell’entità. Una chiave è formata sicuramente dai 4 attributi, ma posso ridurre il numero di attributi necessari per individuare univocamente l’esame sostenuto.

La chiave è: CODICE DISCIPLINA_MATRICOLA_DATA ESAME. Non posso essere bocciato allo stesso esame lo stesso giorno. Se mettessi VOTO potrei essere bocciato allo stesso esame con lo stesso voto.

Super chiave

Posto che si è certi che ogni istanza è univocamente determinata, è possibile sulla base della conoscenza dei domini degli attributi di un’entità, individuare un sottoinsieme degli attributi di un’entità tali da garantire l’unicità di ogni istanza di quell’entità; tale sottoinsieme si dice superchiave. Le superchiavi di un’entità possono essere molteplici; sicuramente l’insieme di tutti gli attributi di un’entità è una superchiave di quella entità.

Chiave candidata

Una chiave candidata è un sottoinsieme di attributi che ha la proprietà di individuare univocamente un’istanza di entità e che sia minimo, cioè, che non contenga attributi non necessari all’individuazione di un sottoinsieme univoco.

Se considero tutto gli attributi di un’entità, l’insieme degli attributi è sempre una SUPERCHIAVE. Parliamo di chiave candidata nel momento in cui il sottoinsieme che individuo è un sottoinsieme minimo, dal quale non possa togliere neanche un attributo senza che la sua capacità di individuare univocamente un’istanza cada.

Se la chiave candidata che individuo è costituita da un solo attributo, essa è necessariamente una chiave candidata. Una chiave candidata non può contenere attributi che possono essere messi a “null”, poiché la presenza di tali variabili a NULL rende impossibile capire se 2 insiemi di attributi si riferiscano alla stessa istanza oppure a due istanze differenti.

STUDENTE (Matricola, CF, Nome, Cognome, Cds). L’insieme degli attributi è una super chiave, matricola da sola è una chiave candidata. Se considerassi CF e Matricola se eliminassi uno dei due avrei ancora una chiave candidata, l’insieme di CF e Matricola è una super chiave ma non una chiave candidata.

ESAME SOSTENUTO (Data, Matricola, ID Disciplina, Voto). L’insieme di attributi è una super chiave se elimino ID Disciplina non sono più in grado di identificare un’istanza di entità, ID quindi è una superchiave minima cioè è una chiave candidata.

In generale in un’entità possono esserci più chiavi candidate, più sottoinsiemi di attributi, eventualmente anche con intersezioni (due attributi possono far parte di due super chiavi diverse) che però siano comunque chiavi candidate, cioè minime ed in grado di individuare univocamente un’istanza.

Chiave primaria

La chiave primaria è una tra le chiavi candidate opportunamente scelta a tempo di progettazione. Se in un’entità posso avere tante chiavi candidate, devo identificare tra di esse la chiave primaria (se è un unico attributo sottolineandolo se sono tanti utilizzando l’arco). Individuata la chiave primaria sto dicendo che quel sottoinsieme di attributi che la forma identifica univocamente qualsiasi istanza di entità nel tempo.

(Nome, Cognome, Matricola)= è una super chiave (Matricola)= è una chiave candidata, è anche una chiave primaria (matricola non può essere NULL visto che senza di questa uno studente non può essere tale perché ciò significa che non ha effettuato l’iscrizione).

Relazione

Dall’inglese Relationship, traduciamo il termine con il significato di presenza di associazione logica. L’associazione logica è un legame (o rapporto) logico tra due o più entità. Nell’immagine è rappresentata l’associazione logica tra una persona ed il campo da tennis, l’associazione logica, in questo caso potremmo trovare “prenota”. Le relazioni sono generalmente verbi, mentre entità ed attributi sono tipicamente sostantivi.

Grado della relazione

Le associazioni logiche possono avere due o più entità partecipanti. Si dice grado della relazione in numero di entità che partecipano all’associazione logica. Di solito una relazione ha grado 2; sono rarissime le relazioni di grado 3, le quali sono sempre o quasi sempre riconducibili a relazioni di grado 2; relazioni di grado superiore al 3 possono quasi sempre essere frutto di errori di progettazione.

Ad un’associazione logica si associano due caratteristiche:

  • Cardinalità (detta anche cardinalità massima)
  • Partecipazione (detta anche cardinalità minima)

La cardinalità e la partecipazione riguardano la molteplicità di associazione tra le istanze. Nell’immagine sono rappresentati due diagrammi di Eulero Venn nei quali sono rappresentate, attraverso i puntini, le istanze. Il diagramma a destra rappresenta gli studenti mentre quello a sinistra rappresenta i corsi di laurea; ognuno dei pallini rappresenta rispettivamente i singoli studenti e i singoli corsi di laurea. La cardinalità definisce il numero di istanze, al più collegabili, a istanze dell’altra entità. Questo è determinato dalla realtà, sto descrivendo la realtà, infatti un singolo studente non può essere iscritto contemporaneamente a più corsi di laurea; al contrario ad ogni corso di laurea possono essere iscritti N studenti. La cardinalità da sinistra verso destra è UNO, mentre la cardinalità da destra verso sinistra è A MOLTI.

Possiamo avere cardinalità 1 a 1 (uno a uno).

Anteprima
Vedrai una selezione di 10 pagine su 320
Sistemi Informativi Modulo 1 Pag. 1 Sistemi Informativi Modulo 1 Pag. 2
Anteprima di 10 pagg. su 320.
Scarica il documento per vederlo tutto.
Sistemi Informativi Modulo 1 Pag. 6
Anteprima di 10 pagg. su 320.
Scarica il documento per vederlo tutto.
Sistemi Informativi Modulo 1 Pag. 11
Anteprima di 10 pagg. su 320.
Scarica il documento per vederlo tutto.
Sistemi Informativi Modulo 1 Pag. 16
Anteprima di 10 pagg. su 320.
Scarica il documento per vederlo tutto.
Sistemi Informativi Modulo 1 Pag. 21
Anteprima di 10 pagg. su 320.
Scarica il documento per vederlo tutto.
Sistemi Informativi Modulo 1 Pag. 26
Anteprima di 10 pagg. su 320.
Scarica il documento per vederlo tutto.
Sistemi Informativi Modulo 1 Pag. 31
Anteprima di 10 pagg. su 320.
Scarica il documento per vederlo tutto.
Sistemi Informativi Modulo 1 Pag. 36
Anteprima di 10 pagg. su 320.
Scarica il documento per vederlo tutto.
Sistemi Informativi Modulo 1 Pag. 41
1 su 320
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher ValCan10 di informazioni apprese con la frequenza delle lezioni di Basi di dati e sistemi informativi e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Politecnico di Bari o del prof Colucci Simona.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community