principi di informatica corso di laurea in scienze …cordasco/teaching/pinf0809/lezione3.pdf ·...

45
PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE BIOLOGICHE Gennaro Cordasco e Rosario De Chiara {cordasco,dechiara}@dia.unisa.it Dipartimento di Informatica ed Applicazioni “R.M. Capocelli” Laboratorio ISISLab2

Upload: vuthu

Post on 15-Feb-2019

223 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

PRINCIPI DI INFORMATICA

CORSO DI LAUREA IN SCIENZE BIOLOGICHE

Gennaro Cordasco e Rosario De Chiara{cordasco,dechiara}@dia.unisa.it

Dipartimento di Informatica

ed Applicazioni “R.M. Capocelli”

Laboratorio ISISLab2

Page 2: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

LABORATORIO

� 2 Lezioni su Basi di Dati� Contatti:

2

Page 3: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

OUTLINE DELLA LEZIONE

� Concetti di base� Informazione e dato� DB e DBMS

� Progettazione� Schema ER� Schema ER

3

Page 4: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

INFORMAZIONI E DATI

� I dati sono fatti elementari, informazioni codificate, che hanno bisogno di essere interpretate per fornire conoscenza (cioè informazioni).

� Esempio:� Esempio:� Si consideri un dato rappresentato dal numero 12.08 : tale dato non fornisce alcuna informazione,

� Viceversa, dire che 12.08 è l’orario di partenza di un treno fornisce informazione

4

Page 5: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

INFORMAZIONI E DATI

� Nei sistemi informatici le informazioni sono rappresentate attraverso dati.� Informazione: tutto ciò che produce variazioni nel patrimonio conoscitivo di un soggetto

� Dato: una registrazione della descrizione di una � Dato: una registrazione della descrizione di una qualsiasi caratteristica della realtà su un supporto che ne garantisca la conservazione e, mediante un insieme di simboli, ne garantisca la comprensibilità e la reperibilità.

5

Page 6: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

INFORMAZIONI E DATI

� La rappresentazione dei dati consiste in:� Organizzazione logica: blocchi di dati di varia natura (record), tabelle, grafici, ecc.

� Codifica delle singole componenti: testo, numeri, pixel, ecc.

� Formato fisico: celle di memoria, file su disco.

6

Page 7: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

INFORMAZIONI E DATI

� Esempio: nella tavola periodica, ogni elemento è rappresentato da:� Record: simbolo, numero atomico, peso atomico, distribuzione degli elettroni nelle orbite degli atomi (campi del record)

� Codifica: testuale, numerica� Formato fisico: scritte su foglio cartaceo o file su disco.

7

Page 8: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

INFORMAZIONI E DATI

� Esempio:

Name: String(30)

Symbol: String(2)

Atomic number: Integer

Atomic weight: Real

Standard state: String(20)

Group in periodic table: Integer

Period in periodic table: IntegerPeriod in periodic table: Integer

Colour: String(30)

Classification: Integer

0101001010101010101010101010100101101010101010110

Record Codifica

Formato fisico8

Page 9: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

DATA BASE

� Definizione:� Un Data Base è una collezione strutturata di record o dati

� Intuitivamente: � Collezione di dati, utilizzati per rappresentare le � Collezione di dati, utilizzati per rappresentare le informazioni da utilizzare per qualche scopo� La raccolta dei dati anagrafici degli abitanti� La raccolta dei dati sulle sequenze di DNA� La raccolta dei dati relativi al curriculum scolastico degli studenti

9

Page 10: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

DBMS

� Un DBMS (Data Base Management System) è un programma che gestisce raccolte di dati:� Immissione, memorizzazione, cancellazione;� Accesso, elaborazione, trasferimento;� Presentazione e visualizzazione dell’informazione;� Presentazione e visualizzazione dell’informazione;

� Agevola il passaggio dai dati all’informazione.

10

Informazione

Dati

DatiDati

Page 11: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

DBMS

� I compiti di un DBMS sono:� Gestire collezioni di dati che siano:

� Grandi� Persistenti� Condivise

� Garantendo:� Affidabilità� Riservatezza � Efficienza

11

Page 12: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

DBMS

� In particolare:� Nasconde il formato fisico dei dati

� Esempio: se nel nostro DB abbiamo stringhe in caratteri latini allora ogni carattere può essere rappresentato da 1 byte. Nel caso dobbiamo gestire caratteri giapponesi allora abbiamo bisogno di 2 byte per carattere.abbiamo bisogno di 2 byte per carattere.

� Fornisce una visione astratta dei dati� Permette di condividere i dati

� Senza gestire manualmente copie� Più utenti possono accedere simultaneamente

12

Page 13: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

DBMS

� Garantisce l’integrità dei dati� I dati rappresentano informazioni “corrette” (cioè affidabili)

� Garantisce la riservatezza� Controlla gli accessi secondo le credenziali degli utenti

13

Page 14: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

DBMS

� DBMS commerciali� Oracle� IBM DB2� Microsoft Access

� DBMS open source� DBMS open source� OpenOffice Base

� MySQL� PostgresSQL

14

Page 15: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

PUNTI DI VISTA

� Amministratore del DB� Definisce la struttura del DB

� Esempio: definisce le strutture dati per descrivere uno studente e gli esami che ha sostenuto

� Usa il Data Definition Language (DDL) per definire lo schema logico della base di datilo schema logico della base di dati

15

Page 16: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

PUNTI DI VISTA

� Programmatore applicativo� Scrive l’applicazione che manipola i dati di un DB

� Esempio: fa in modo che l’applicazione verifichi che non ci siano due esami con lo stesso nome

� Programma le applicazioni usando il Data Manipulation Language (DML) per definire le Manipulation Language (DML) per definire le operazioni sui dati

16

Page 17: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

PUNTI DI VISTA

� Utente dell’applicazione� Usa l’applicativo per inserire, cancellare e ricercare i dati� Esempio: l’operatore nella segreteria studenti che registra “le matricole” durante le iscrizioni

Esegue le applicazioni (transazioni) usando il Query� Esegue le applicazioni (transazioni) usando il QueryLanguage (QL) (es. SQL) per interrogare la base di dati ed eseguire operazioni sui dati

17

Page 18: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

CREARE UN DB

� Definizione della struttura generale dei dati, o schema

� Caratteristiche invarianti nel tempo

� Definizione delle operazioni possibili sui dati� Immissione dei dati (istanze)� Immissione dei dati (istanze)

� Valori attuali

� Esecuzione di transazioni/interrogazioni

18

Page 19: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

SCHEMI

� Esistono 3 tipi di schema, di solito sviluppati in sequenza:1. Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità, dei loro attributi e delle relazioni fra entità

19

attributi e delle relazioni fra entità3. Schema fisico: una specifica implementazione di uno schema logico

Page 20: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

SCHEMI

Analisi dei requisiti

Progettazione

concettuale

Progettazione

logica

Progettazione

fisica

20

Page 21: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

ANALISI DEI REQUISITI

� Raccolta delle specifiche dell’utente (interviste, schede di raccolta dati)� Requisiti informativi (caratteristiche dati)� Requisiti sui processi (operazioni sui dati)� Requisiti sugli eventi (condizionano i processi)� Requisiti sugli eventi (condizionano i processi)� Requisiti sui vincoli d’integrità (proprietà di dati e processi)

Analisi dei requisiti

Progettazione

concettuale

Progettazione

logica

Progettazione

fisica

21

Page 22: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

PROGETTAZIONE CONCETTUALE

�Modello unico (indipendente dal database) che descrive formalmente tutte le informazioni che conterrà il database. � Diagramma E/R

Analisi dei requisiti

Progettazione

concettuale

Progettazione

logica

Progettazione

fisica

22

Page 23: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

PROGETTAZIONE CONCETTUALE

23

Entità Attributi Relazioni SchemaE/R

Page 24: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

PROGETTAZIONE CONCETTUALE

� Per individuare le entità bisogna trovare le componenti omogenee di informazioni all’interno che intendiamo gestire:� Esempio:

� Anagrafica Studenti:

Entità

� Anagrafica Studenti:� Gli studenti, gli esami sono ottimi candidati ad essere entità

� Sistema di Gestione di un Laboratorio di Analisi:� La singola analisi è un’entità ? Ad esempio: tutte le Elettroforesi sieroproteiche

O� Il singolo risultato di un esame è un’entità ? Ad esempio: colesterolo HDL, Albumina etc…

24

Page 25: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

PROGETTAZIONE CONCETTUALE

� Gli attributi sono quei pezzi di informazione che rendono differenti fra loro gli elementi delle entità� Esempio:

� Anagrafica Studenti:

Attributi

� Anagrafica Studenti:� In cosa differiscono i 2 elementi appartenenti all’entità studenti fra di loro ? Hobby, altezza, colore dei capelli, numero di matricola, numero di scarpe, punti sulla patente etc…

25

Page 26: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

PROGETTAZIONE CONCETTUALE

� La realtà che vogliamo rappresentare è complessa e le entità sono sempre in relazione fra loro� Esempio:

� Anagrafica Studenti:

Relazioni

� Anagrafica Studenti:� Gli studenti sono un’entità così pure i corsi: qual è la relazione fra studenti ed i corsi?

26

Page 27: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

PROGETTAZIONE CONCETTUALE:TIPI DI RELAZIONE

� Supponiamo due entità A e B in relazioneRelazione Uno a Uno (1 : 1)

� 1 elemento di A � 1 elemento di B� 1 elemento di B � 1 elemento di A

Relazione Uno a Molti (1 : n)

Relazioni

Relazione Uno a Molti (1 : n)� 1 elemento di A � più elementi di B� 1 elemento di B � 1 elemento di A

Relazione Molti a Molti (n : m)� 1 elemento di A � più elementi di B� 1 elemento di B � più elementi di A

27

Page 28: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

PROGETTAZIONE CONCETTUALE:SCHEMA E/R

Entità

Relazione

Nome dell’entità

Nome della relazione

SchemaE/R

Arco di

relazione

Attributo

Collega un’entità ad una

relazione

Dati interessanti per l’entità,

da includere nel database 28

Page 29: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

PROGETTAZIONE CONCETTUALE:TIPI DI RELAZIONE

Regioni Capoluoghi1 1

Relazione Uno a Uno

A B

SchemaE/R

Esame di

laboratorioRisultato1 n

Studenti Corsin m

Relazione Uno a Molti

Relazione Molti a Molti29

Page 30: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

PROGETTAZIONE CONCETTUALE:SCHEMA E/R

� Entità: ente o avvenimento� Ha un insieme di attributi

� Attributo: proprietà di una entità, che ne descrive una qualità

� Relazione: collegamento tra entità

SchemaE/R

� Relazione: collegamento tra entità

30

Page 31: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

PROGETTAZIONE CONCETTUALE:INTEGRITÀ E CHIAVE PRIMARIE

� Regole di integrità: indicazioni riguardanti l’obbligo della presenza di elementi in entità distinte� Esempio:

� Un elemento dell’entità “Prodotti” deve essere sempre in

SchemaE/R

� Un elemento dell’entità “Prodotti” deve essere sempre in relazione con un elemento dell’entità “CategorieProdotti”

31

Page 32: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

PROGETTAZIONE CONCETTUALE:INTEGRITÀ E CHIAVE PRIMARIE

� Chiave primaria: attributo (o insieme di attributi) dell’entità che identifica univocamente un elemento dell’entità stessa� Esempio:

� L’attributo CodiceFiscale dell’entità “Clienti”

SchemaE/R

� L’attributo CodiceFiscale dell’entità “Clienti”� L’attributo Matricola dell’entità “Studenti”

32

Page 33: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

PROGETTAZIONE LOGICA

� Traduzione del modello concettuale in uno schema logico di dati e sottoschemi in linguaggio DBMS� Tabelle� Relazioni� Relazioni� Vincoli

Analisi dei requisiti

Progettazione

concettuale

Progettazione

logica

Progettazione

fisica

33

Page 34: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

PROGETTAZIONE LOGICA

� Una entità identifica un insieme di elementi distinti omogenei� Esempio:

� “Clienti” è un’entità, mentre “Mario Rossi”, “Luigi Bianchi” sono gli elementi“Elementi” è un’entità, mentre “H”, “Po” sono gli elementi (!)� “Elementi” è un’entità, mentre “H”, “Po” sono gli elementi (!)

� Nel database le entità diventeranno le tabelle

34

Analisi dei requisiti

Progettazione

concettuale

Progettazione

logica

Progettazione

fisica

Page 35: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

PROGETTAZIONE LOGICA

� Gli attributi servono a distinguere fra elementi appartenenti ad un’entità:� Esempio:

� La tabella clienti avrà i campi: nome, partita iva, indirizzo, numero di telefono

� Gli attributi di un’entità diventano campi (field) della tabella

35

Analisi dei requisiti

Progettazione

concettuale

Progettazione

logica

Progettazione

fisica

Page 36: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

PROGETTAZIONE FISICA

� Scelta delle caratteristiche fisiche effettive del database (strutture d’accesso, organizzazione dei file)� Database

Analisi dei requisiti

Progettazione

concettuale

Progettazione

logica

Progettazione

fisica

36

Page 37: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

ESEMPIO 1

Anagrafica Clienti e Fatturazione37

Page 38: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

FASE 1: ANALISI DEI REQUISITI

� Scenario � Vogliamo gestire clienti� Per ogni cliente vogliamo gestire i dati anagrafici (Codice fiscale, Nome, Cognome, Indirizzo)

� Vogliamo gestire le fatture (Numero Fattura, Data,

Legenda• Entità• Relazione• Attributo

� Vogliamo gestire le fatture (Numero Fattura, Data, Descrizione, Importo)

� Ciascun cliente possiede un certo numero di fatture. Non esistono fatture senza cliente. Esistono clienti senza fatture.

38

Page 39: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

FASE 1: ANALISI DEI REQUISITI

� Scenario � Vogliamo gestire clienti� Per ogni cliente vogliamo gestire i dati anagrafici (Codice fiscale, Nome, Cognome, Indirizzo)

� Vogliamo gestire le fatture (Numero Fattura, Data,

Legenda• Entità• Relazione • Attributo

� Vogliamo gestire le fatture (Numero Fattura, Data, Descrizione, Importo)

� Ciascun cliente possiede un certo numero di fatture. Non esistono fatture senza cliente. Esistono clienti senza fatture.

39

Page 40: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

FattureClienti1 n

FASE 2: SCHEMA E/R

possiede

Nome Cognome Indirizzo Data ImportoDescrizione

Codice Fiscale Numero Fattura

Chiavi primarie: Codice Fiscale per Clienti. Numero Fattura per Fatture

40

Page 41: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

ESEMPIO 2

Laboratorio di analisi41

Page 42: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

FASE 1: ANALISI DEI REQUISITI

� Scenario� Vogliamo realizzare un sistema di gestione per un laboratorio di analisi cliniche:

� Ogni paziente presenta una impegnativa del medico di base che contiene una lista di esami da eseguire.

Legenda• Entità• Relazione• Attributo

� Ogni esame è identificato da un nome e richiede un certo tipo di prelievo ed è composto da un certo numero di risultati

� Ogni prelievo è identificato da un nome e fornisce un certo numero di risultati.

� I risultati hanno un nome ed un valore e essere usati per più esami.

42

Page 43: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

FASE 1: ANALISI DEI REQUISITI

� Scenario� Vogliamo realizzare un sistema di gestione per un laboratorio di analisi cliniche:

� Ogni paziente presenta una impegnativa del medico di base che contiene una lista di esami da eseguire.

Legenda• Entità• Relazione • Attributo

� Ogni esame è identificato da un nome e richiede un certo tipo di prelievo ed è composto da un certo numero di risultati

� Ogni prelievo è identificato da un nome e fornisce un certo numero di risultati.

� I risultati hanno un nome ed un valore e essere usati per più esami.

43

Page 44: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

FASE 2: SCHEMA E/R

paziente impegnativa esame

presenta contiene

1 n 1 n 1

m

44

prelievo risultato

richiede

fornisce

1 1nn

è composto compone

Page 45: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE …cordasco/teaching/PINF0809/lezione3.pdf · Schema concettuale: una mappa concettuale 2. Schema logico: una mappa delle entità,

FINE

45