Upload
vuthu
View
222
Download
1
Embed Size (px)
Citation preview
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
LABORATORIO
� 2 Lezioni su Basi di Dati� Contatti:
2
OUTLINE DELLA LEZIONE
� Concetti di base� Informazione e dato� DB e DBMS
� Progettazione� Schema ER� Schema ER
3
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
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
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
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
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
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
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
DBMS
� I compiti di un DBMS sono:� Gestire collezioni di dati che siano:
� Grandi� Persistenti� Condivise
� Garantendo:� Affidabilità� Riservatezza � Efficienza
11
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
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
DBMS
� DBMS commerciali� Oracle� IBM DB2� Microsoft Access
� DBMS open source� DBMS open source� OpenOffice Base
� MySQL� PostgresSQL
14
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
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
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
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
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
SCHEMI
Analisi dei requisiti
Progettazione
concettuale
Progettazione
logica
Progettazione
fisica
20
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
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
PROGETTAZIONE CONCETTUALE
23
Entità Attributi Relazioni SchemaE/R
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
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
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
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
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
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
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
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
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
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
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
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
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
ESEMPIO 1
Anagrafica Clienti e Fatturazione37
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
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
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
ESEMPIO 2
Laboratorio di analisi41
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
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
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
FINE
45