MODELLAZIONE CONCETTUALE DI UNA BASE DI DATI
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 i 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 striga 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 quel è 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 ho 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.
ad una “Base di Dati strutturata” a
Quando parliamo di base di dati normalmente ci riferiamo
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, il
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-Data
Base Managment System (sistema di gestione di una base di dati Strutturati) ed i sistemi di
immagazzinamento e ricerca di dati non strutturati chiamandoli IRS-Information Rival
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) otterremo un information over-load, avremmo cioè un sovraccarico di
informazioni. Il nostro problema è infatti selezionare le informazioni che ci interessano.
MODELLO ENTITA’ RELAZIONE (E-R Entity-Relationship )
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 macchina, 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 Requisment Documents (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
data base.
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”.
ENTITA’: 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).
Gli elementi di un’entità
Una volta individuata la singola istanza dell’insieme la particolarizzo associando a ciascun
attributo un valore.
Nome=Mari
Cognome=Rossi
s1
Matr.=119310
ATTRIBUTO: caratteristica generale
ISTANZA: particolarizzazione del valore associato alla singola persona.
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).
Civic CAP
Via Citt
Indirizzo Stat
In generale un attributo associato ad un istanza gli fa assumere un valore ATOMICO, cioè
indivisibile.
In natura esistono gli attributi multi valore;
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. Età
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 sottoinisemi 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 Fitgerald 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’ENTITA’
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 una 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
sotto insieme di attributi che può ridursi anche ad uno o eventualmente coincidere con tutti
associati all’entità, la cui
gli attributi 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 sotto insieme di attributi che descrivono l’entità, che da solo sia in
grado di individuare univocamente una 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 superchiave 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 sotto insieme 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 sotto insieme univoco.
un’entità, l’insieme degli attributi è sempre una SUPER
Se considero tutto gli attributi di
CHIAVE. Parliamo di CHIAVE CANDIDATA nel momento in cui il sotto insieme che
individuo è un sottoinsieme minimo, dal quale non possa togliere neanche un attributo senza
univocamente un’istanza cada.
che la sua capacità di individuare
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 una entità possono esserci più chiavi candidate, più sotto insiemi 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
l’arco).
la chiave primaria (se è un unico attributo sottolineandolo se sono tanti utilizzando
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) ogico 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
nel rombo è descritta
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 nuemro 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:
CARDINALITA’ (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 Ven 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 la
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
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Organizzazione dei sistemi informativi - 1 modulo appunti
-
Appunti di Sistemi informativi
-
Appunti di Sistemi informativi
-
Sistemi informativi e trend digitali