Presentazione standard di PowerPoint · WWW–World Wide Web Attraverso la tecnologia WWW, la rete...

Preview:

Citation preview

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

andrea.loddo@unica.it

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

Recommended