Presentazione standard di PowerPoint · WWW–World Wide Web Attraverso la tecnologia WWW, la rete...
Transcript of Presentazione standard di PowerPoint · WWW–World Wide Web Attraverso la tecnologia WWW, la rete...
CdLM in Scienze delle Professioni Sanitarie e Tecniche Diagnostiche
Sistemi InformativiA.A. 2019/20
Docente: Andrea Loddo
Dipartimento di Matematica e Informatica – DMIFacoltà di ScienzeUniversità di Cagliari
Via Ospedale 72
1Lezione 3
Riassunto delle puntate precedenti
▷ ICT e segnali
▷ Informatica e codifiche
▷ Calcolatori
▷ Hardware
▷ Software
2
Le Reti di calcolatori
3
Reti di calcolatori
▷ Si definisce rete di calcolatori un insieme di calcolatori autonomi collegati tra loro mediante una rete di comunicazione al fine di condividere (indipendentemente dalla loro posizione geografica):○ Risorse hardware (periferiche, stampanti, memorie di massa ecc.)
○ Risorse software (dati e programmi)
○ Comunicazione tra utenti
■ Sincrona (scambio di messaggi tramite chat, videoconferenza, desktop virtuale…)
■ Asincrona (scambio di messaggi tramite e-mail, forum…)
▷ L’avvento delle reti di calcolatori ha permesso di distribuire la capacità di calcolo su macchine dedicate (server) e interconnesse, riducendo il costo e il numero dei personal computer.
4
Reti: un po’ di storia
▷ Fine anni ’50 – inizio anni ‘60: prime reti di calcolatori per la gestione di sistemi radar militari (SAGE).
▷ 1969: ARPANET: rete sviluppata dal Dipartimento della Difesa USA. Collega 4 Università americane.
▷ 1972: Protocolli TCP/IP e FTP: diventa possibile trasferire file tra due o più computer.
▷ 1991: World Wide Web (www) nasce presso il CERN di Ginevra per favorire lo scambio di dati e informazioni tra i ricercatori.
5
Rete punto-punto: collegamento tramite canale di trasmissione diretto tra due elaboratori.
N° di connessioni per 𝑛 nodi:
𝐶𝑛=
Esempio, per 𝑛 =10,
𝐶10=
Soluzione troppo costosa all’aumentare del numero dei nodi
Tipologie di connessione: rete punto-punto
6
Nodo 1 Nodo 2
10 ∙ 9
2= 45
𝑛 ∙ (𝑛 − 1)
2
Esempio connessione punto-punto: Stockholm telephone tower
7Collegava 5500 utenze domestiche!
Tipologie di connessione: rete multipunto
Rete multipunto (broadcast): collegamento tramite canale di trasmissione condiviso da tutti gli elaboratori della rete:
▷ Ogni nodo deve essere univocamenteidentificato da un indirizzo di rete
▷ Ogni sequenza di dati e messaggiraggiunge tutti gli altri nodi dellarete ma viene elaborato solo dal nodo al quale era stato indirizzato
8
Pro:○ Prestazioni elevate, grazie alle connessioni punto-
punto dedicate col server○ Semplicità ed efficienza della struttura e della
comunicazione
Contro:○ Rischio di sovraccarico della rete e interruzione o
blocco delle comunicazioni (in caso di traffico elevato)
○ Complessità e costo del collegamento fisico (lunghezza dei cavi ecc.)
○ Dipendenza dall’affidabilità del server (un guasto determina il blocco dell’intera rete)
9
Server
Le connessioni fanno riferimento a un unico nodo centrale
Strutture di connessione: topologia a stella
▷ Pro:○ L’estensione dell’anello può essere ampia, perché
ogni nodo rigenera il segnale prima di ritrasmetterlo
▷ Contro:○ Flessibilità limitata: ogni nodo da aggiungere
richiede la riapertura dell’anello○ Dipendenza dall’affidabilità di ogni singolo nodo.
Per risolvere questo problema, si realizzano reti a doppio anello per direzione (es: rete in fibra ottica)
10
Strutture di connessione: topologia ad anello
▷ Connessione circolare punto-punto tra tutti i nodi della rete
▷ L’informazione viene ricevuta da tutti i nodi, a turno, e ognuno verifica se è il corretto destinario
Server
▷ Pro:○ Semplicità○ Flessibilità○ Bassi costi○ Affidabilità
Contro:○ Un unico bus, se il traffico è elevato, riduce le
prestazioni della connessione per tutti i nodi della rete
11
Strutture di connessione: topologia a bus
▷ Basata sulla connessione multipunto
▷ Bus bidirezionale
Server
Bus
Sono costituiti da linee fisiche che portano il segnale dal trasmettitore al ricevitore.
Segnali elettrici:
▷ doppino telefonico RJ45 (100 Mbps – 10 Gbps)
▷ cavo coassiale (500 Mbps)
Segnali ottici:
▷ fibre ottiche (10Gbps): presentano bassa attenuazione del segnale e sono immuni a interferenze elettromagnetiche.
I mezzi di trasmissione guidati
12
I mezzi di trasmissione non guidati
13
Trasmettono i segnali attraverso irradiazione di onde elettromagnetiche nello spazio.
▷ Rete di telefonia cellulare:○ TACS (Total Access Communication System) – 1G○ GSM (Global System for Mobile Communication) con velocità media di trasmissione
di 10 Kbit/s. (Altri es: EDGE, GPRS) – 2G○ UMTS (Universal Mobile Telecommunication System) raggiunge i 384 Kbit/s. – 3.5G○ HSPA (High Speed Packet Access) raggiunge una velocità di trasmissione compresa
tra 15 e 40 Mbit/s. – 3G○ LTE (Long Term Evolution), raggiunge i 325 Mbit/s. - 4G
▷ Reti Wireless Wi-Fi - operano su frequenze di 2,4 GHz o 5 GHz. Sono basate sui protocolli standard IEEE 802.11.
▷ Bluetooth - opera sulla frequenza di 2.45 GHz (una banda radio accessibile liberamente, quindi senza dover acquisire alcuna licenza) e supporta velocità di trasferimento dati fino a 48 Mbps.
Tassonomia delle reti
▷ Reti Locali (LAN - Local Area Network)
• Estensione limitata (uffici, edificio, edifici adiacenti).
▷ Reti Metropolitane (MAN - Metropolitan Area Network)
• Estensione tale da consentire il collegamento di dispositivi collocati nella stessa area urbana (Es: Cagliari Free Wi-Fi)
▷ Reti Geografiche (WAN - Wide Area Network)
• Collegano dispositivi collocati in un aria geografica, come regione o nazione (es: rete di una banca nazionale, rete 4G di operatori).
Cos’è internet?
Il perfetto esempio di rete WAN. Inoltre, è pubblica e accessibile globalmente.
14
Protocolli di trasmissione
▷ I nodi di una rete possono essere unità di elaborazione anche molto diverse tra loro (sia in termini di risorse hardware sia software). E’ necessario quindi definire degli standard per lo scambio e l’interpretazione dei messaggi in rete.
▷ Vengono definiti degli standard in base ai diversi tipi di architettura con cui viene modellata la rete. Le architetture si differenziano a seconda del numero di livelli di cui sono costituite: dal livello hardware, più basso, fino ai livelli superiori più astratti (dati).
▷ ISO-OSI: Open Systems Interconnection, primo tentativo di standard proposto dall’International Standards Organization. L’architettura su cui è basato prevede 7 livelli.
▷ TCP/IP: standard che si è affermato a scapito del modello ISO-OSI, essendo quello su cui attualmente si basa Internet (chiamato infatti anche Internet Protocol Suite). Si basa sui due protocolli TCP (Transmission Control Protocol) e IP (Internet Protocol). Prevede 5 livelli, garantendo maggiore interoperabilità tra reti fisiche diverse.
15
ISO/OSI e TCP/IP
16
Rete
Trasporto
Sessione
Presentazione
Applicazione
Trasporto - TCP
Rete (Internet) - IP
Applicazione
Accesso alla Rete
Collegamento Fisico
Data Link
Collegamento Fisico
Indirizzi di rete
▷ Indirizzi IP: codice di 32 bit (IPv4) o 128 (IPv6) che specifica la rete di appartenenza e uno specifico nodo (PC).○ IPv4 sono della forma: xxx.xxx.xxx.xxx dove x è un numero decimale
intero compreso tra 0 e 255 (ad esempio, 192.168.0.15, 150.217.6.125). Sono terminati dal 2011.
○ IPv6 sono della forma: yyyy:yyyy:yyyy:yyyy:yyyy:yyyy:yyyy:yyyy, ovvero costituiti da 8 gruppi di 4 cifre esadecimali (comprese tra 0 e F).
es: 90.147.144.44 Indirizzo IPv4
▷ Domain Name System, DNS, introdotto per superare le difficoltà legate alla visualizzazione e memorizzazione di indirizzi numerici, associa uno o più nomi (URL - UniformResource Locator) ad un indirizzo numerico.
es: 90.147.144.44 http://www.unica.it
17
WWW– World Wide Web
▷ Attraverso la tecnologia WWW, la rete (e il vastissimo insieme di documenti e dati che la compongono) viene vista come un unico esteso documento ipertestuale distribuito.
▷ Un Ipertesto è un documento in formato elettronico, composto da testo, immagini, audio, video e altro materiale multimediale, organizzato non in maniera sequenziale. La sua lettura può infatti seguire percorsi alternativi, attraverso l’uso di collegamenti ipertestuali chiamati link.
▷ Sono stati definiti dei protocolli standard affinché tutti gli elaboratori possano ricevere, interpretare ed elaborare i dati provenienti dalla rete in modo coerente:
○ HTTP – Hypertext Transfer Protocol per il trasferimento.
○ HTML – Hypertext Markup Language, linguaggio di formattazione per le pagine web.
▷ Il Browser è un programma residente in ogni elaboratore. Utilizza il protocollo HTTP per recuperare le pagine e il linguaggio HTML per formattarle e visualizzarle (es: Chrome, Firefox, Edge, Safari, …).
18
Architettura Client - Server
19
Invio richiesta
Ricezione risposta
Utente
Client
Elaborazione e produzione della risposta
Server
Client
Utente
Architettura Client - Server
20
Client 1Client 2
Client 3Client 4
Server
Richiesta
Risposta
Richiesta
Richiesta Richiesta
Risposta
Risposta
Risposta
Le elevate prestazioni e l’affidabilità permettono ai Server di gestire richieste da più Client.
Architettura Client - Server
▷ Sistema formato da due moduli: un Server, che si occupa di tutti le attività e servizi di back-end (logica applicativa e gestione dati), e un Client che gestisce le applicazioni front-end (interfaccia utente).
▷ Il Client invia le azioni (richieste) dell’utente al Server, formattandole in modo comprensibile al server stesso; formatta inoltre le risposte del server in maniera comprensibile all’utente.
▷ Il Server riceve le richieste dal Client, le elabora, ed infine invia le risposte di nuovo al Client.
▷ Soluzione vantaggiosa anche per condividere dati, applicazioni e servizi, ambiente di lavoro con tutti gli utenti di una rete (sfruttata ormai in numerosi ambiti aziendali).
▷ Per garantire una comunicazione affidabile tra Client e Server è necessario definire un linguaggio standard. Nel corso del tempo nella rete Internet sono stati introdotti numerosi protocolli di comunicazione:
○ HTTP – Hyper Text Transfer Protocol○ FTP – File Transfer Protocol, utilizzato per il trasferimento di file tra host○ SMTP – Simple Mail Transfer Protocol, utilizzato per il trasferimento di messaggi
di posta elettronica
21
Cloud Computing
▷ Con il termine Cloud Computing si definisce una architettura con risorse hardware e/o software distribuite, che mette a disposizione dell’utente una serie di strumenti, tecnologie e servizi per l’archiviazione, il backup o l’elaborazione di dati.
▷ Esistono varie tipologie di servizi Cloud:
▷ Il Cloud Computing permette dunque vari livelli di virtualizzazione dell’ambiente di lavoro.
22
Dropbox
I Database
23
Basi di dati e DBMS: definizioni
▷ Una Base di Dati (Database) è un insieme organizzato di dati.
▷ Una base di dati è un insieme di dati che può essere gestito da un sistema DBMS (Data Base Management System).
▷ Un DBMS è un sistema software composto da sequenze di dati interconnessi tra di loro, e da programmi applicativi che consentono di effettuare su tali dati operazioni di:○ accesso○ modifica ○ interrogazione (query di ricerca).
24
Basi di dati e DBMS: definizioni
▷ Un DBMS supporta diversi livelli di astrazione sui dati, a differenza di altri sistemi informativi analoghi non informatizzati (elenco telefonico, registro anagrafico cartaceo ecc.).○ Livello Fisico○ Livello Logico/Concettuale○ Livello Esterno
▷ Un DBMS deve essere in grado di gestire basi di dati di grandi dimensioni (Big Data), persistenti (cioè con un ciclo di vita indipendente dal programma che le utilizza) e condivise da più utenti/sistemi/applicazioni.
▷ Un DBMS deve inoltre prevedere modalità di controllo differenziato di accesso ai dati, per garantire la privacy e la sicurezza di eventuali dati sensibili, riservati e/o personali.
25
Problematiche di Completezza e Correttezza dei Dati
▷ Ogni SI (Sistema Informativo) è suddiviso generalmente in settori o sotto-sistemi, ognuno dei quali svolge varie funzionalità ed esegue vari processi su una base di dati spesso condivisa.
▷ Possono essere molteplici le applicazioni che utilizzano gli stessi dati o stesse porzioni della base di dati condivisa dal SI.
26
▷ Se la base di dati non è ben progettata, possono verificarsi problemi di integrità, ridondanza o incoerenza, a cui è necessario provvedere attraverso appositi metodi di riconciliazione dei dati:
○ Integrità: di solito dovuti ad errore umano o incompletezza nell’immissione di dati (referenziati tra di essi) all’interno del database.
○ Ridondanza: informazioni ripetute all’interno del database.○ Ambiguità: incoerenza; differenti descrizioni di uno stesso dato o informazione non coincidono.
DBMS (Database Anagrafico di
Ateneo)
GestioneEsamiImmatricolazioni
Servizi prenotazioni
Altre applicazioni
Dati (Dati anagrafici degli studenti)
DBMS: vantaggi e limiti
▷ I vantaggi nell’uso di un DBMS sono molteplici:○ Accesso ai dati indipendente dalla loro rappresentazione e
memorizzazione.○ Tecniche di accesso ai dati ottimizzate (anche attraverso l’uso di
strutture aggiuntive, come gli indici), per migliorare le performance delle interrogazioni.
○ Possibilità di controllo dell’integrità e della completezza dei dati.○ Possibilità di controllo dell’accesso ai dati e modalità di accesso multi-
utente.
▷ Alcuni limiti:○ Non permettono visualizzazioni grafiche dei dati o delle strutture dati.○ Implementano funzionalità matematiche e statistiche elementari di base.
27
Il modello relazionale
30
Modello relazionale▷ È il modello più comunemente utilizzato per rappresentare i database.
▷ Prevede che i dati siano organizzati in tabelle, messe in relazione tra loro.
▷ Le colonne della tabella sono anche dette campi, o attributi della tabella.
▷ Le righe rappresentano i valori degli attributi, denominati record.
▷ I campi e il formato di dati da essi rappresentati sono predefiniti nello Schema della tabella.
▷ Una tabella deve avere almeno un campo che permetta di identificare ogni record in modo univoco: tale campo è definito in fase di progettazione dello Schema come Chiave Primaria.
31
Studenti Schema studenti
Cognome NomeData diNascita
Matricola
Rossi Mario 01/01/91 5876410
Bianchi Anna 02/02/92 6029347
Verdi Luigi 03/03/93 6459382
Nome Campo Tipo Codifica NULL Primary
Cognome String(16) UTF-8 No No
Nome String(16) UTF-8 No No
Data di Nascita
gg-mm-aaASCII Yes No
Matricola INT(7) ASCII No Yes
Tabelle: un esempio
32
Calciatori
Nome Cognome Numero di maglia Nazione
Joao Pedro 10 Brasile
Fabio Pisacane 19 Italia
Radja Nainggolan 4 Belgio
Alessio Cragno 1 Italia
…. … …. …
▷ Una tabella è formata da righe (record, tupla) e colonne (campi, attributi).
▷ Non è significativo l’ordine della righe in una tabella.
▷ Non possono e non devono esistere due righe uguali.
Chiavi
▷ Sono dei campi speciali all’interno di una tabella.
▷ Una chiave è costituita da un sottoinsieme di uno o più attributi che garantisce:
○ unicita (da due record differenti non si può costruire la medesima chiave) e○ minimalita (non si possono sottrarre campi alla chiave mantenendo
l’identificazione del record).
▷ Chiave primaria (primary key): campo che identifica in modo univoco ogni record all’interno della tabella.
▷ Chiave esterna (foreign key): campo di una tabella che rappresenta una copia della chiave primaria di un’altra tabella (permette di stabilire relazioni fra tabelle).
33
Chiavi: esempi
Unicità: se scegliessi come chiave nome e cognome, potrei avere due giocatori che si chiamano allo stesso modo. Non ci sarebbe, quindi, unicità. Meglio il numero di maglia!
Minimalità: se scegliessi come chiave cognome e numero di maglia, avrei unicità ma non avrei minimalità. Basta il numero di maglia, univoco. 34
Nome Cognome Numero di maglia Presenze Nazione
Joao Pedro 10 20 Brasile
Fabio Pisacane 19 18 Italia
Radja Nainggolan 4 17 Belgio
Alessio Cragno 1 0 Italia
…. … …. … …
Relazioni
Indicano le associazioni tra i record di una tabella con quelli di un’altra tabella
▷ Relazione uno a uno
▷ Relazione uno a molti
▷ Relazione molti a molti
35
Relazione 1 a 1
Si ha una relazione uno a uno quando un unico record della prima tabella è legato ad un unico record della seconda tabella e viceversa.
36
CorsiProfessori
Cognome NomeData di Nascita Matricola
Rossi Mario 01/01/91 5876410
Bianchi Anna 02/02/92 6029347
Verdi Luigi 03/03/93 6459382
Codice Nome
123 Informatica
456 Statistica
678 Chimica
Relazione 1 a 1: collegamento
Si aggiunge come chiave esterna alla tabella PROFESSORI, l’attributo che costituisce la chiave primaria della tabella CORSO.
Oppure si aggiunge come chiave esterna alla tabella CORSO, l’attributo che costituisce la chiave primaria della tabella PROFESSORI
37
Professori
Cognome NomeData di Nascita Matricola Codice corso
Rossi Mario 01/01/91 5876410 678
Bianchi Anna 02/02/92 6029347 456
Verdi Luigi 03/03/93 6459382 123
Corsi
Codice Nome Matricola
123 Informatica 6459382
456 Statistica 6029347
678 Chimica 5876410
Relazione 1 a N
Si ha una relazione uno a molti tra due tabelle quando ciascun record della prima tabella può essere associato a molti record della seconda tabella, mentre ciascun record della seconda tabella può essere associato ad un solo record della prima tabella.
38
Squadre Calciatori
Squadra Allenatore Codice squadra
Cagliari Maran CAG
Inter Conte INT
Juventus Sarri JUV
Milan Pioli MIL
Giocatore Ruolo Codice ruolo
Donnarumma Portiere POR1
Bonucci Difensore DIF1
Lukaku Attaccante ATT1
Ronaldo Attaccante ATT2
Relazione 1 a N: collegamenti
▷ Nella tabella CALCIATORI l’attributo Squadra corrisponde alla chiave primaria della tabella SQUADRA, esprimendo in questo modo la relazione che sussiste tra CALCIATORI e SQUADRA. Squadra è quindi una chiave esterna per la tabella CALCIATORI.
▷ Qualora si osservi che due tabelle possono avere una relazione, normalmente si stabilisce la relazione inserendo in una delle due tabelle una copia della chiave primaria dell’altra, in cui diviene chiave esterna
39
CalciatoriGiocatore Ruolo Codice giocatore Squadra
Donnarumma Portiere POR1 MIL
Bonucci Difensore DIF1 JUV
Lukaku Attaccante ATT1 INT
Ronaldo Attaccante ATT2 JUV
Relazione N a N▷ Una relazione molti a molti si realizza quando un singolo
record della prima tabella è legato a molti record della seconda tabella e viceversa.
▷ Nell’esempio precedente si avrebbe una relazione “molti a molti” nell’ipotesi che si vogliano determinare le squadre in cui un giocatore ha militato in carriera: ad ogni squadra possono corrispondere piu giocatori e un calciatore puo aver giocato in piu squadre.
▷ In questo caso, per realizzare una relazione fra le due tabelle occorre costruire una terza tabella (detta tabella di collegamento), i cui attributi sono quelli che compongono le chiavi primarie delle due tabelle.
▷ I singoli elementi di questa terza tabella CALCIATORI-SQUADRA sono costituiti da tutte le possibili coppie di elementi in relazione fra di loro.
40
Relazione N a N: collegamenti
41
Calciatori
Squadre
Calciatori - Squadre
Squadra Allenatore Codice squadra
Real Madrid Zidane RM
Inter Conte INT
Juventus Sarri JUV
Milan Pioli MIL
Giocatore Ruolo Codice ruolo
Donnarumma Portiere POR1
Bonucci Difensore DIF1
Lukaku Attaccante ATT1
Ronaldo Attaccante ATT2
Codice giocatore
Codice squadra
POR1 MIL
DIF1 JUV
DIF1 MIL
ATT1 INT
ATT2 RM
ATT2 JUV
Si vogliono determinare le squadre in cui un giocatore ha militato in carriera: ad ogni squadra possono corrispondere piu giocatori e un calciatore puo aver giocato in piu squadre.
Esempio: Bonucci ha giocato sia per il Milan che per la Juve, Ronaldo sia per il Real Madrid che per la Juve.
Il modello E-R
42
Il modello E/R (Entità-Relazione)
▷ Il modello Entità-Relazione è un modello concettuale. I modelli concettuali permettono di rappresentare i dati cercando di descrivere i concetti del mondo reale.
▷ I modelli concettuali sono utilizzati nelle fasi di progettazione di un DBMS.
▷ Il modello Entità-Relazione si basa su tre elementi:○ Le Entità○ Le Relazioni (o Associazioni)○ Gli Attributi
43
Le entità▷ Un’Entità rappresenta una classe di oggetti concreti del mondo
reale (e.g., persone, oggetti, luoghi…) o anche astratti, che abbiano proprietà comuni, ed esistenza autonoma.
▷ Un tipo di Entità viene di solito definito attraverso un nome e lo si rappresenta graficamente con un rettangolo.
▷ Un oggetto specifico appartenente ad una Entità viene definito Istanza di quell’Entità.
44
Studente
• Mario Rossi
• Anna Bianchi
• Luigi Verdi
• Xxxx YyyyStudenti
o Mario
Rossi o Luigio o Verdi
o o AnnaBianchi
Gli attributi
▷ Gli Attributi descrivono le proprietà delle Entità.
▷ Gli Attributi sono caratterizzati dai seguenti parametri:○ Formato: indica il formato dell’attributo (numero, stringa, formati data
gg-mm-aaaa ecc.).○ Dimensione: specifica l’intervallo di valori entro cui varia l’attributo (a
seconda del formato), e di conseguenza il numero di caratteri o cifre per rappresentarlo.
○ Opzionalità: indica se la sua presenza è necessaria oppure facoltativa.
45
Studente Attributo Formato Dimensione Opzionalità
Cognome Stringa String(16) Opzionale
Nome Stringa String(16) Opzionale
Matricola Numero INT(7) Necessario- Cognome- Nome- N° Matricola
Le relazioni▷ Una Relazione è il legame che definisce un’interazione tra
due Entità.
▷ Ogni Relazione può avere uno o due versi di percorrenza, a seconda che esista e sia definita o meno la sua Relazione Inversa. Per ogni verso di percorrenza si ha un’Entità di partenza e un’Entità di arrivo.
▷ Ogni Relazione è anche identificata da una cardinalitàminima e massima.
▷ Le Relazioni permettono di esplicitare i collegamenti logici esistenti fra le varie Entità.
46
Studente ModuloFrequenta(1, n) (0, n)
Le relazioni: cardinalità
▷ Cardinalità Uno a Uno:
▷ Cardinalità Uno a Molti:
▷ Relazione Molti a Molti:
47
Studente MatricolaHa(1,1) (1,1)
StudenteCorso di Laurea
Afferisce(1,1) (1,n)
Studente CorsoFrequenta(1,n) (0,n)
Cardinalità: come leggerle?
▷ 1 studente ha 1 e 1 sola matricola; 1 matricola è di 1 e 1 solo studente.
48
Studente MatricolaHa(1,1) (1,1)
StudenteCorso di Laurea
Afferisce(1,1) (1,n)
Studente CorsoFrequenta(1,n) (0,n)
▷ 1 studente afferisce 1 e 1 solo CdL; un CdL è afferito da almeno 1 studente fino a un massimo di N.
▷ 1 studente frequenta da 1 a N corsi; 1 corso può essere frequentato da 0 a N studenti.
Le relazioni: cardinalità
Per semplicità vengono usati solo tre simboli:
▷ 0 o 1 per la cardinalità minima○ 0 per partecipazione opzionale○ 1 per partecipazione obbligatoria
▷ 1 e N per la cardinalità massima○ N non pone alcun limite
49
Esercizi
50
Studente CittàRisiede(?,?) (?,?)
Persona AziendaImpiego(?,?) (?,?)
Persona CittàNasce(?,?) (?,?)
Comune ProvinciaUbicato(?,?) (?,?)
Professore CorsoÈ docente(?,?) (?,?)
Esercizi con soluzioni
51
Studente CittàRisiede(1,1) (1,n)
Persona AziendaImpiego(0,1) (1,n)
Persona CittàNasce(1,1) (1,n)
Comune ProvinciaUbicato(1,1) (1,n)
Professore CorsoÈ docente(1,n) (1,1)
Le relazioni▷ Se un’entità rappresenta una classe di oggetti del mondo
reale, è possibile che essa debba essere «specializzata» o «generalizzata» in diversi contesti.
▷ Le Relazioni di generalizzazione e specificazione tra Entità richiama un parallelo con la proprietà insiemistica dell’Inclusione:
52
Insegnamento ModuloContiene(1,n) (1,1)
InformaticaStatistica
Insegnamento:
Sistemi di elaborazione delle informazioni
Esempio concreto
53
Studente ModuloFrequenta(1,n) (0,n)
- Cognome- Nome- N° Matricola
- Titolo- Nome- Durata
Esempio concreto
54
Studente ModuloFrequenta(1,n) (0,n)
- Cognome: ROSSI- Nome: ANDREA- N° Matricola: 12345
- Titolo: SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
- ID: 6061123- Durata: 18 ore
Esercizi di modellazione - esempio
Un’università vuole raccogliere ed organizzare in un database le informazioni sui propri studenti, caratterizzati da una matricola, un nome e un cognome, in relazione ai corsi che essi frequentano ed agli esami che essi sostengono. I corsi sono caratterizzati da un codice e un nome, mentre gli esami hanno un codice, una data, e un voto.
1. Individuare entità, attributi e relazioni.
2. Disegnare il modello E/R.
55
Esercizio: passo 1
Un’università vuole raccogliere ed organizzare in un database le informazioni sui propri studenti, caratterizzati da una matricola, un nome e un cognome, in relazione ai corsi che essi frequentano ed agli esami che essi sostengono. I corsi sono caratterizzati da un codice un nome e un Prof, mentre gli esami hanno un codice, una data, e un voto.
1. Individuare le entità.
Entità = quali sono le classi di oggetti concreti del mondo reale?
STUDENTI, CORSI, ESAMI
56
Esercizio: passo 2
Un’università vuole raccogliere ed organizzare in un database le informazioni sui propri studenti, caratterizzati da una matricola, un nome e un cognome, in relazione ai corsi che essi frequentano ed agli esami che essi sostengono. I corsi sono caratterizzati da un codice un nome e un Prof, mentre gli esami hanno un codice, una data, e un voto.
2. Individuare gli attributi e le chiavi primarie.
Attributi = descrivono le proprietà delle Entità.
STUDENTI: Matricola, Nome, Cognome
CORSI: Codice, Nome, Prof
ESAMI: Codice, Data, Voto57
Esercizio: passo 3
Un’università vuole raccogliere ed organizzare in un database le informazioni sui propri studenti, caratterizzati da una matricola, un nome e un cognome, in relazione ai corsi che essi frequentano ed agli esami che essi sostengono. I corsi sono caratterizzati da un codice un nome e un Prof, mentre gli esami hanno un codice, una data, e un voto.
3. Individuare le relazioni e le cardinalità.
Relazioni = definiscono i legami tra due entità
STUDENTI frequentano CORSI (N a N)
STUDENTI sostengono ESAMI (N a N)
CORSI prevedono ESAMI (1 a N)58
Esercizio 2, passo 3: le relazioni
▷ REMINDER: le relazioni indicano le associazioni tra i record di una tabella con quelli di un’altra tabella.
▷ Relazione uno a uno (1 a 1)
▷ Relazione uno a molti (1 a N)
▷ Relazione molti a molti (N a N)
59
Esercizio 2, passo 3: le relazioni
▷ REMINDER: le relazioni indicano le associazioni tra i record di una tabella con quelli di un’altra tabella.
▷ Relazione uno a uno (1 a 1)
▷ Relazione uno a molti (1 a N)
▷ Relazione molti a molti (N a N)
Quindi:
1 studente frequenta fino a N corsi; 1 corso è frequentato fino a un massimo di N studenti -> STUDENTI frequentano CORSI (N a N)
1 studente sostiene fino a N esami, 1 esame è sostenuto fino a Nstudenti -> STUDENTI sostengono ESAMI (N a N)
1 corso prevede N esami; 1 esame è previsto da 1 solo corso -> CORSI prevedono ESAMI (1 a N)
60
Esercizio: passo 44. Diagramma E/R
61
Studente CorsoFrequenta(1,n) (1,n)
- Cognome- Nome- Matricola
- Codice- Nome- Prof
Sostiene EffettuaEsame
(1,n)
(1,1)
(1,n)
(1,n)
- Codice- Data- Voto
Esercizi di modellazione – esempio 2
Amazon vuole realizzare un database in cui è interessata a memorizzare i dati relativi agli ordini di oggetti effettuati dagli utenti. Gli utenti sono caratterizzati da un nome, cognome e indirizzo mail; gli oggetti sono caratterizzati da un codice e una tipologia. Inoltre, si vuole tenere traccia di quando l’oggetto viene spedito.
1. Individuare entità, attributi e relazioni.
2. Disegnare il modello E/R.
62
Esercizio 2: passo 1
Amazon vuole realizzare un database in cui è interessata a memorizzare i dati relativi agli ordini di oggetti effettuati dagli utenti. Gli utenti sono caratterizzati da un nome, cognome e indirizzo mail; gli oggetti sono caratterizzati da un codice e una tipologia. Inoltre, si vuole tenere traccia di quando l’oggetto viene spedito.
1. Individuare le entità.
UTENTE, OGGETTO, SPEDIZIONE
63
Esercizio 2: passo 2
Amazon vuole realizzare un database in cui è interessata a memorizzare i dati relativi agli ordini di oggetti effettuati dagli utenti. Gli utenti sono caratterizzati da un nome, cognome e indirizzo mail; gli oggetti sono caratterizzati da un codice e una tipologia. Inoltre, si vuole tenere traccia di quando l’oggetto viene spedito.
2. Individuare gli attributi e le chiavi primarie.
UTENTE: Nome, Cognome, Email
OGGETTO: Codice, Tipologia
SPEDIZIONE: Data, Ora, CodiceTracking
64
Esercizio 2: passo 3
Amazon vuole realizzare un database in cui è interessata a memorizzare i dati relativi agli ordini di oggetti effettuati dagli utenti. Gli utenti sono caratterizzati da un nome, cognome e indirizzo mail; gli oggetti sono caratterizzati da un codice e una tipologia. Inoltre, si vuole tenere traccia di quando l’oggetto viene spedito.
3. Individuare le relazioni e le cardinalità.
UTENTE ordina OGGETTO (1 a N)
OGGETTO prevede SPEDIZIONE (1 a N)
UTENTE traccia SPEDIZIONE (N a N)
65
Esercizio 2: passo 44. Diagramma E/R
66
Utente OggettoOrdina(0,n) (0,1)
- Cognome- Nome- Email
- Codice- Tipologia
Traccia PrevedeSpedizione
(1,1)
(1,n)
(0,n)
(0,n)
- CodiceTracking- Data- Ora
Supposizioni:
1. Un oggetto potrebbe non essere mai ordinato
2. Un utente potrebbe non ordinare nessun oggetto
3. Qualunque utente può tracciare una spedizione
Esercizi di modellazione – esercizio 3 (correzione: la settimana prossima)
La Lega Calcio vuole realizzare un database in cui è interessata a memorizzare i dati relativi alle squadre di serie A, caratterizzate da nome, colori sociali, anno di fondazione e stadio, dei relativi calciatori, caratterizzati da nome, cognome, maglia, ruolo, età e nazionalità e delle partite giocate. Queste ultime avranno un numero giornata, una data, un orario e un punteggio finale, oltre che le squadre sfidanti (una squadra gioca in casa, una squadra in trasferta).
1. Individuare entità, attributi e relazioni.
2. Disegnare il modello E/R.67
Domande…?
72