Basi di dati. Informatica. Prof. Pierpaolo Vittorini

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Basi di dati. Informatica. Prof. Pierpaolo Vittorini pierpaolo.vittorini@cc.univaq.it"

Transcript

1 Università degli Studi dell Aquila Facoltà di Medicina e Chirurgia 18 marzo 2010

2

3 Un esempio di (semplice) database Quando si pensa ad un database, generalmente si immagina una tabella contenente grandi quantità di informazioni, sulla quale è possibile fare una certa serie di operazioni Data Ora Cassa Ricetta Prezzo Schema o metadati Analisi del sangue 20 euro TAC 58 Istanze o dati... Operazioni semplici: registrazione dei ticket Complesse operazioni di analisi: Importo complessivo, per giorno, cassa, fascia oraria,... Correlazioni di vendita

4 DBMS: caratteristiche di base Un DBMS (DataBase Management System) è un applicativo software: in grado di gestire grandi quantità di dati (Giga-Tera byte e oltre) in grado di garantirne la persistenza anche a fronte di guasti in grado di condividere i propri dati garantendo privatezza con una disciplina di controllo degli accessi efficienza utilizzando al meglio le risorse di spazio e di tempo del sistema efficacia rendendo produttive le attività dei suoi utilizzatori integrità dei dati mantenendoli tra loro sempre consistenti

5 Integrità I problemi di integrità sono tipicamente dovuti alla mancanza di una adeguata progettazione del DB Un esempio di problema di integrità: Di un paziente, memorizzo sia il CAP che il Comune di residenza. Nella base di dati trovo un paziente con CAP e residente nel Comune di Teramo (problema di consistenza interna) In una tabella, ho che un certo paziente è celibe e un altra paziente che è la moglie del primo (problema di consistenza esterna o referenziale) In una tabella ho l elenco dei pazienti con indicato il codice della sua patologia, ma tale codice non è nell elenco presente in un altra tabella (problema di consistenza esterna o referenziale)

6 Limiti dei DBMS Limiti dei DBMS Nessuna capacità grafica Funzionalità statistiche di base Il trattamento statistico dei dati deve essere fatto con software ad-hoc (e.g. STATA, SAS)

7 Riassumiamo Un DBMS è l applicativo software che gestisce un DB, mentre un DB è una collezione di dati (generalmente rappresentati in forma di tabelle) che rappresentano le informazioni di interesse per un organizzazione Un foglio Excel non è un database, mentre un insieme di tabelle in Access è un database Scopo di questa parte del corso è quella di insegnarvi come progettare un DB, i.e. trovare un buon modo per 1 strutturare i dati di interesse, 2 imporre vincoli sui dati, 3 interrogare il database.

8 Progettazione di una base di dati 1. Raccolta ed analisi dei requisiti 2. Specifiche sui dati Modello concettuale (schema E/R) Modello logico (schema relazionale) Implementazione fisica 3. Specifiche sulle funzioni Interrogazioni sulla base di dati Implementazione delle transazioni

9 Modello concettuale Un modello concettuale è un insieme di costrutti utilizzati per organizzare i dati e descriverne la struttura Il modello Entità/Relazione (E/R) adotta un formalismo grafico e semplice si basa su due soli concetti (l entità e la relazione)

10 Entità Un entità rappresenta una classe di oggetti del mondo reale (e.g., persone, cose, eventi,...), che abbiano proprietà comuni, ed esistenza autonoma Ad esempio, l entità paziente è l astrazione l istanza (e.g. Pierpaolo) è il paziente vero e proprio

11 Attributi Le entità sono composte da attributi Ad esempio, l entità paziente è composta dagli attributi: CF, Nome, Cognome, Sesso e Indirizzo Il CF è la chiave primaria, ovvero l attributo che permette di identificare univocamente l istanza

12 Attributi (2) A volte, gli attributi possono essere compositi Ad esempio, l attributo Generalità è composto dal Nome e dal Cognome

13 Generalizzazione di entità Se un entità rappresenta una classe di oggetti del mondo reale, è possibile che essa debba essere specializzata in diversi contesti Ad esempio, un cliente di un hotel potrebbe essere un privato, una agenzia o una società

14 Relazione È il legame esistente fra differenti entità La relazione permette di esplicitare i collegamenti logici esistenti fra le varie entità che compongono le informazioni da trattare Ad esempio: un medico cura un paziente una SDO è rilasciata ad un paziente

15 Relazione (2) Ad esempio: l entità medico cura (relazione) l entità paziente I numeri rappresentano la cardinalità (minima e massima) della relazione un medico cura da un minimo di 0 ad un massimo di n pazienti un paziente è curato da un minimo di 1 ad un massimo di n medici

16 Cardinalità delle relazioni La cardinalità di una relazione identifica quante istanze di una certa entità si collegano ad una istanza di un altra entità Relazione uno-a-uno Relazione uno-a-molti o molti-a-uno Relazione molti-a-molti

17 Entità debole Facciamo l esempio delle entità studente e università, tra loro legate dalla relazione studia in Qual è la chiave primaria dell entità studente?

18 Entità debole È la matricola, a seconda dell università, i.e. possono esserci studenti con lo stesso numero di matricola in differenti università, ma non con la stessa matricola nella stessa università Una chiave primaria che dipende anche dalla relazione, dà origine ad una entità debole

19 Relazioni n-arie Esiste anche la possibilità di dover utilizzare relazioni fra più di due entità In tale caso, si parla di relazioni n-arie

20 Gli attributi Gli attributi possono anche essere posizionati sulle relazioni

21 Uno schema E/R semplice Costruiamo lo schema E/R di una base di dati per memorizzare le risposte date al questionario introduttivo. Il questionario è composto da 9 domande a risposta multipla; degli studenti ci interessa la matricola, l età ed il sesso

22 Le entità e le relazioni Identificazione delle entità Questionario Studente Identificazione delle relazioni Lo studente riempie il questionario

23 Uno schema E/R complesso Costruiamo lo schema E/R di una base di dati per il seguente studio: Analisi geografica di morbilità di malattie neoplastiche, con disaggregazione per sede elettorale, a seguito dell installazione di una industria chimica che prevede, nel ciclo di lavorazione, l emissione di gas in aria

24 Le entità e le relazioni Identificazione delle entità Sede elettorale Paziente Patologia Identificazione delle relazioni Il paziente risiede in una sede elettorale Il paziente soffre di una certa patologia

25 La sede elettorale Gli attributi dell entità sede elettorale Numero della sede (chiave primaria) Distanza dall industria chimica Numero di votanti

26 Il paziente Gli attributi dell entità paziente Identificatore numerico Sesso Età

27 La patologia Gli attributi dell entità patologia Codice DRG Diagnosi principale

28 La relazione risiede La relazione risede fra il paziente e la sede elettorale Il paziente risiede in 1 sede elettorale In una sede elettorale risedono n pazienti

29 La relazione soffre La relazione soffre fra il paziente e la patologia Un paziente può soffrire di n patologie Di una patologia soffrono n pazienti

30 Lo schema E/R completo

31 Esempi 1 Disegnare lo schema E/R relativo ai codici ICD-10 I codici ICD-10 sono organizzati in capitoli, blocchi e patologie. I capitoli hanno una numerazione con numeri romani, i blocchi e le patologie hanno una numerazione alfanumerica 2 Disegnare lo schema E/R relativo a una biblioteca Voglio memorizzare la collocazione di ogni volume. Per ogni volume voglio sapere il tipo (libro, rivista, proceedings, etc.), la casa editrice, e voglio memorizzarne gli autori 3 Disegnare lo schema E/R relativo ad un dominio informativo (semplificato) che permetta di calcolare le spese in termini di DRG all interno di un ospedale Voglio memorizzare, per ciascun reparto, i pazienti, la patologia (usando i codici ICD-9-CM), e il DRG assegnato

32 Esempi (2) 1 Disegnare lo schema E/R relativo alla valutazione dei servizi ospedalieri Per ogni servizio, è necessario sapere il tipo di prestazione che viene erogata, e si aggiunga la possibilità di dare una valutazione al servizio (0=insufficiente, 1=sufficiente, 2=ottima) 2 Disegnare lo schema E/R relativo alle analisi delle acque Si consideri la presenza di pozzi d acqua (con le informazioni circa il nome, la profondità) e le relative analisi (data, temperatura, ph, presenza inquinanti)

33 Il modello relazionale Il modello relazionale fu introdotto da Codd (1970) e si basa su una semplice ed uniforme struttura dati chiamata relazione, ed ha una solida base teorica La relazione del modello relazionale NON è la relazione degli schemi E/R Si introduce tale modello in quanto la maggior parte dei DBMS sono relazionali (e.g. Oracle, Access, MySQL)

34 Concetti fondamentali Il modello relazionale rappresenta una base di dati come un insieme di relazioni Informalmente, una relazione è (praticamente) una tabella ciascuna riga della relazione è detta tupla l intestazione di una colonna della tabella è chiamata attributo il tipo di dato che mi specifica ciò che può apparire in ciascuna colonna è detto dominio Per semplicità (e per non fare confusione) useremo il termine (improprio) tabella al posto del termine (corretto) relazione Tabella Data Ora Cassa Ricetta Prezzo Attributi Analisi del sangue TAC 58 Tuple...

35 Dallo schema E/R allo schema relazionale A partire dallo schema E/R, è possibile costruire la base di dati sotto forma di tabelle, utilizzando un algoritmo grafico Dallo schema E/R, si creano gruppi di entità e/o relazioni come segue: A partire da una entità o relazione dello schema E/R, si aggregano nel gruppo tutte le relazioni/entità legate con cardinalità unaria massima Ogni entità o relazione non aggregata deve diventare un nuovo gruppo I gruppi individuati corrispondono alle tabelle da creare Gli attributi di ciascuna tabella variano a seconda del contenuto del gruppo

36 Algoritmo grafico : questionario Partiamo da una qualunque entità e incorporiamo le relazioni e/o entità quando la loro cardinalità massima è 1

37 Algoritmo grafico : questionario Anche l altra entità e la relazione stessa è stata inglobata ottenendo un unica tabella 1 questionari studenti(matricola, sesso, eta, r 1, r 2, r 3, r4, r5, r6, r7, r8, r9)

38 Algoritmo grafico : questionario (2) Per completare questo passo, è inoltre importante specificare il tipo di dato che verrà usato per memorizzare le istanze dei vari attributi questionari studenti(matricola, sesso, eta, r 1, r 2, r 3, r4, r5, r6, r7, r8, r9) matricola: int sesso: char[1] eta: int r1... r9: int

39 Algoritmo grafico : analisi geografica Partiamo dall entità paziente e procediamo con le relazioni...

40 Algoritmo grafico : analisi geografica La relazione risiede è stata aggregata all entità paziente in un gruppo

41 Conversione delle entità singole Per le entità singole patologia e sede elettorale, si creano due tabelle 1 patologie(codice, drg, diagnosi principale) 2 sedi elettorali(numero, distanza, votanti)

42 Conversione dei gruppi Per l entità paziente e la relazione risiede, si crea una tabella 1 pazienti(numero, sesso, eta, numero sede elettorale) dove numero sede elettorale è una chiave esterna

43 Conversione delle relazioni singole Per la relazione singola soffre, si crea una tabella 1 soffre(codice patologia, numero paziente) dove la coppia codice patologia e numero paziente è la chiave primaria

44 Lo schema relazionale Abbiamo identificato quindi quattro tabelle: 1 patologie(codice, drg, diagnosi principale) codice: int drg: char[3] diagnosi principale: char[50] 2 sedi elettorali(numero, distanza, votanti) numero: int distanza: float votanti: int 3 pazienti(numero, sesso, eta, numero sede elettorale) numero: int sesso: char[1] eta: int numero sede elettorale: int (stesso tipo di sedi elettorali.numero) 4 soffre(codice patologia, numero paziente) codice patologia: int (stesso tipo di patologie.codice) numero paziente: int (stesso tipo di pazienti.numero)

45 Primo blocco Entità patologia Tabella patologie(codice, drg, diagnosi principale) codice drg diagnosi principale Tumori maligni del cavo orale Tumori maligni del rinofaringe Tumori maligni dell esofago

46 Secondo blocco Entità sede elettorale Tabella sedi elettorali(numero, distanza, votanti) numero distanza votanti

47 Terzo blocco Entità paziente + relazione risiede Tabella pazienti(numero, sesso, eta, numero sede elettorale) numero sesso eta numero sede elettorale 1 m f m

48 Quarto blocco Relazione soffre Tabella soffre(codice patologia, numero paziente) numero paziente codice patologia

49 Esempi Si convertano in schema relazionale gli esempi di schemi E/R introdotti precedentemente Codici ICD-10 Biblioteca Calcolo delle spese in termini di DRG all interno di un ospedale Valutazione dei servizi ospedalieri Analisi delle acque

50 Definizioni formali Un dominio D è un insieme di valori atomici non ulteriormente suddivisibili, e.g. Il dominio Z + è l insieme dei numeri interi positivi [0, ) Il dominio CF è l insieme delle stringhe alfanumeriche lunghe 16 caratteri Il dominio S è l insieme dei due caratteri {f, m} Un attributo A è un nome che fa riferimento ad un dominio D = dom(a), e.g. L attributo eta Z + identifica l età L attributo CF CF identifica il codice fiscale L attributo sesso S identifica il sesso

51 Definizioni formali (2) Uno schema di relazione R(A 1, A 2,..., A n ) è composto da un nome R e da un insieme di attributi A 1, A 2,..., A n, e.g. Lo schema di relazione soggetto(cf, eta, sesso) indica che di un soggetto ne consideriamo il codice fiscale, l età e il sesso Dato l insieme di attributi A 1, A 2,..., A n dello schema di relazione R, una tupla t = (v 1, v 2,..., v n ) è una lista ordinata di valori tali che v i dom(a i ), e.g. La tupla (ABCXYZ98X 76A345X, 34, m) identifica una instanza di un soggetto con codice fiscale ABCXYZ98X76A345X, età 34 anni, e di sesso maschile

52 Definizioni formali (3) Una relazione r R è un insieme di tuple t 1, t 2,..., t n, e.g. La relazione {(ABCXYZ98X 76A345X, 34, m), (DEFTUV 76W 54B678A, 35, f )} identifica i soggetti nella nostra base di dati La relazione differisce quindi da una tabella per il solo fatto di non avere un ordinamento sulle righe

53 Vincoli su schemi relazionali Definizione Un vincolo è una proprietà che deve essere soddisfatta dalle istanze di una base di dati. Ogni vincolo può essere visto come un predicato che può assumere il valore vero o falso: se il predicato assume il valore vero diciamo che l istanza soddisfa il vincolo.

54 Vincoli su schemi relazionali Vincoli di dominio Un vincolo di dominio impone che ciascun attributo A debba appartenere al suo dominio dom(a) Vincoli di chiave Se una chiave PK è il sottoinsieme di attributi che identifica univocamente una tupla, date due tuple t 1 e t 2 di una relazione R, si avrà t 1 [PK] t 2 [PK] Vincolo di integrità di chiave afferma che nessuna chiave primaria può assumere un valore nullo Vincolo di integrità referenziale è specificato fra più relazioni e serve ad assicurare la consistenza fra le tuple delle due relazioni

55 Vincolo di integrità referenziale Per introdurre il concetto di vincolo di integrità referenziale fra due relazioni R 1 e R 2, è necessario definire formalmente il concetto di chiave esterna Definizione Un insieme di attributi FK di uno schema R 1 è una chiave esterna di R 1 se soddisfa: 1 Gli attributi di FK appartengono allo stesso dominio della chiave primaria PK di R 2 2 Un valore di FK presente in una tupla t 1 di R 1 corrisponde ad un valore della chiave primaria PK di una tupla t 2 di R 2 (i.e. t 1 [FK] = t 2 [PK]) oppure assume valore nullo

56 Vincolo di integrità referenziale (2) Un vincolo di integrità referenziale esplicita l esistenza di una relazione (in terminologia E/R) fra differenti entità Violare un vincolo di integrità referenziale significa provocare problemi di consistenza, e.g. L attributo ICD10 rappresenta la patologia di un paziente ed è chiave esterna verso la tabella delle patologie Il codice J01.10 non è presente nella tabella delle patologie e viola la seconda proprietà delle chiavi esterne codice eta sesso icd m J f J m J icd10 descrizione J01.1 Sinusite frontale acuta J01.9 Sinusite acuta non specificata......

57 Operazioni sulla base di dati e vincoli Inserimento L inserimento di una tupla in una relazione può violare tutti i tipi di vincoli Il vincolo di dominio se un valore non è nel dominio del corrispondente attributo Il vincolo di chiave se il valore della chiave primaria è gia presente nella relazione Il vincolo di integrità di chiave se il valore della chiave primaria è nullo Il vincolo di integrità referenziale se il valore della chiave esterna non è presente nella relazione referenziata

58 Operazioni sulla base di dati e vincoli (2) Cancellazione La cancellazione di una tupla da una relazione può violare solo il vincolo di integrità referenziale Si viola il vincolo di integrità referenziale se viene eliminata una riga che è referenziata tramite una chiave esterna di una differente relazione Modifica La modifica può essere vista come una operazione di cancellazione seguita da un inserimento Si fa notare che la modifica di attributi che non siano né chiave primaria né chiave esterna non provocano problemi

59 Dipendenze funzionali Definizione Una dipendenza funzionale, denotata con X Y, è un vincolo esistente fra due insiemi di attributi X e Y della base di dati In altri termini, una dipendenza funzionale implica che il valore degli attributi Y è determinato dal valore degli attributi X Ad esempio, CF eta CAP residenza L esistenza di una dipendenza funzionale genera problemi di consistenza, e.g. come mi comporto se in una tupla trovo CAP = e residenza = Teramo?

60 Dipendenze funzionali e problemi di consistenza La risoluzione di problemi potenzialmente causabili dall esistenza di dipendenze funzionali devono essere risolte normalizzando la base di dati Normalizzazione La normalizzazione è il processo per cui schemi relazionali non soddisfacenti vengono decomposti, dividendone gli attributi in dipendenza funzionale, e creando schemi relazionali più piccoli dotati delle proprietà richieste

61 Seconda forma normale (2NF) 2NF Uno schema relazionale è in seconda forma normale (2NF) se nessun attributo A è in dipendenza funzionale con la chiave primaria PK Prendiamo l esempio di una relazione che mi rappresenta i pazienti curati dai medici di un reparto

62 Normalizzazione in seconda forma normale Per normalizzare una relazione in 2NF, è necessario rimuovere dalla relazione tutti gli attributi in dipendenza funzionale e posizionarli in una relazione separata

63 Terza forma normale (3NF) 3NF Uno schema relazionale è in terza forma normale (3NF) se nessun attributo A è in dipendenza funzionale con altri attributi B in dipendenza funzionale con la chiave primaria PK (dipendenza funzionale transitiva PK B A) Prendiamo l esempio di una relazione che mi rappresenta i pazienti curati dai medici di un reparto

64 Normalizzazione in terza forma normale Per normalizzare una relazione in 3NF in cui è presente una dipendenza funzionale transitiva PK B A, è necessario portarla in 2NF, far diventare l attributo B chiave esterna per la relazione B A

65 Algebra relazionale Definizione L algebra relazionale è un insieme di operazioni (query) che servono per manipolare relazioni (tabelle). In altri termini, l algebra relazionale è la formalizzazione matematica del modo in cui è possibile estrarre da un database le informazioni di interesse. 1 Operazione di selezione (σ) 2 Operazione di proiezione (π) 3 Operazione di join ( ) e natural join ( )

66 L operatore di selezione Selezione σ L operatore di selezione σ è usato per selezionare da una relazione un sottoinsieme di tuple che soddisfano un certo criterio Una operazione di selezione si specifica tramite la seguente espressione: σ condizione (relazione) Una operazione di selezione, quindi, restituisce una relazione con il medesimo schema, ma con le sole tuple che soddisfano la condizione

67 L operatore di selezione (2) Ad esempio, consideriamo di voler selezionare il questionario dello studente di matricola questionari studenti σ matricola= (questionari studenti) matricola eta sesso r1... r f m f 1 2 σ matricola= (questionari studenti) matricola eta sesso r1... r m 2 3

68 L operatore di selezione (3) Ad esempio, consideriamo di voler selezionare i questionari delle ragazze questionari studenti σ sesso= f (questionari studenti) matricola eta sesso r1... r f m f 1 2 σ sesso= f (questionari studenti) matricola eta sesso r1... r f f 1 2

69 L operatore di selezione (4) Ad esempio, consideriamo di voler selezionare i questionari delle ragazze con meno di 30 anni questionari studenti σ sesso= f AND eta<30(questionari studenti) matricola eta sesso r1... r f m f 1 2 σ sesso= f AND eta<30(questionari studenti) matricola eta sesso r1... r f 1 2

70 L operatore di proiezione Proiezione π L operazione di proiezione π seleziona dalla relazione solo le colonne specificate Una operazione di proiezione si specifica tramite la seguente espressione: π attributi (relazione) Una operazione di proiezione, quindi, restituisce una relazione con differente schema, ma con le stesse tuple della relazione originaria

71 L operatore di proiezione (2) Ad esempio, consideriamo l operazione seguente (i.e. restituisci le colonne matricola e r1 ) π matricola,r1 (questionari studenti) questionari studenti matricola eta sesso r1... r f m f 1 2 π matricola,r1 (questionari studenti) matricola r

72 Sequenze di operatori Ad esempio, consideriamo l operazione seguente (i.e. restituisci le colonne matricola e r1 dalle tuple in cui il sesso è f ) questionari studenti π matricola,r1 (σ sesso= f (questionari studenti)) matricola eta sesso r1... r f m f 1 2 π matricola,r1 (σ sesso= f (questionari studenti)) matricola r

73 L operatore di join Join L operazione di join viene usata per combinare tuple provenienti da più relazioni in uniche tuple, secondo un determinato criterio Una operazione di join si specifica tramite la seguente espressione: relazione 1 criterio relazione 2

74 L operatore di join (2) Ad esempio, consideriamo l operazione seguente (i.e. restituisci tutte le informazioni circa i pazienti e le rispettive sedi elettorali) pazienti pazienti.numero sede elettorale=sedi elettorali.numero sedi elettorali pazienti numero sesso eta numero sede elettorale 1 m f m sedi elettorali numero distanza votanti pazienti pazienti.numero sede elettorale=sedi elettorali.numero sedi elettorali numero sesso eta numero sede elettorale numero distanza votanti 1 m f m

75 Natural join L operatore di join è fondamentale perché permette di reperire informazioni che sono contenute in relazioni tra loro collegate tramite chiavi esterne In tal caso, è possibile ricorrere al natural join Natural join Date due relazioni R 1 e R 2, in cui è stato definito il vincolo di integrità referenziale t 1 [FK] = t 2 [PK], si definisce natural join R 1 R 2 π R1 FK,R 2 (R 1 R1.FK=R 2.PK R 2 ) Il natural join è essenzialmente il join su tabelle collegate secondo quanto espresso dal vincolo di integrità referenziale

76 Natural join (2) Siccome pazienti.numero sede elettorale è chiave esterna per sedi elettorali.numero, allora pazienti sedi elettorali pazienti numero sesso eta numero sede elettorale 1 m f m sedi elettorali numero distanza votanti pazienti sedi elettorali numero sesso eta numero distanza votanti 1 m f m

77 Come si compone una query Una query in algebra relazionale si può sempre scrivere come: π attributi (σ criterio (r 1 r 2 r n )) Per comporre una query in algebra relazionale 1 Identificare le tabelle che contengono i dati oggetto della query, e metterle nei natural join 2 Identificare la parte della query che rappresenta il criterio di selezione delle righe 3 Identificare la parte della query che specifica quali attributi vogliamo ottenere in uscita tramite proiezione

78 Esempi di query in algebra relazionale 1 Una sola tabella è coinvolta nella query: pazienti 2 Il criterio di selezione indica i soli maschi: sesso= m 3 Voglio tutti gli attributi: nessun π pazienti numero sesso eta num... 1 m f m Query 1 - Tutti i pazienti maschi σ sesso= m (pazienti)

79 Esempi di query in algebra relazionale (2) 1 Una sola tabella è coinvolta nella query: pazienti 2 Il criterio di selezione indica una età < di 30: eta < 30 3 Voglio il solo sesso come attributo: sesso pazienti numero sesso eta num... 1 m f m Query 2 - Sesso dei pazienti di età inferiore ai 30 anni π sesso(σ eta<30 (pazienti))

80 Esempi di query in algebra relazionale (3) 1 Due tabelle sono coinvolte nella query: pazienti, sedi elettorali 2 Il criterio di selezione indica il sesso femminile: sesso= f 3 Voglio il solo sesso come attributo: eta, distanza Query 3 - Età e distanza dall azienda chimica di tutti i pazienti di sesso feminile π eta,distanza (σ sesso= f (pazienti sedi elettorali))

81 Esempi di query in algebra relazionale (4) Età e distanza dall azienda chimica di tutti i pazienti di sesso feminile Dai pazienti... pazienti numero sesso eta numero sede elettorale 1 m f m 69 75

82 Esempi di query in algebra relazionale (4) pazienti numero sesso eta numero sede elettorale 1 m f m Si aggiungono le informazioni sulle rispettive sedi elettorali... pazienti sedi elettorali numero sesso eta numero distanza votanti 1 m f m

83 Esempi di query in algebra relazionale (4) pazienti sedi elettorali numero sesso eta numero distanza votanti 1 m f m Si selezionano quelli di sesso femminile... σ sesso= f (pazienti sedi elettorali) numero sesso eta numero distanza votanti 2 f

84 Esempi di query in algebra relazionale (4) σ sesso= f (pazienti sedi elettorali) numero sesso eta numero distanza votanti 2 f Infine, si restituiscono i dati relativi all età e alla distanza. π eta,distanza (σ sesso= f (pazienti sedi elettorali)) eta distanza

85 Esempi di query in algebra relazionale (5) Query 4 - Età, sesso e DRG di tutti i pazienti π eta,sesso,drg (pazienti soffre patologie) 1 Tre tabelle sono coinvolte nella query: pazienti, soffre, patologie (N.B. anche le tabelle intermedie devono essere considerate) 2 Il criterio di selezione non è specificato: nessun σ 3 Voglio l età, il sesso e il DRG come attributi: eta, sesso, DRG

86 Esempi di query in algebra relazionale (6) Età, sesso e DRG di tutti i pazienti Dalle tabelle dei pazienti e delle patologie di cui soffrono... pazienti numero sesso eta numero sede elettorale 1 m f m soffre numero paziente codice patologia

87 Esempi di query in algebra relazionale (6) Si aggiungono i codici delle patologie di ciascun paziente... soffre pazienti numero sesso eta numero sede elettorale codice patologia 1 m m f m

88 Esempi di query in algebra relazionale (6) Quindi gli ulteriori dati relativamente alle patologie... patologie soffre pazienti numero sesso eta num... codice DRG diagnosi principale 1 m Tumori maligni del rinofaringe 1 m Tumori maligni dell esofago 2 f Tumori maligni dell esofago 3 m Tumori maligni del cavo orale

89 Esempi di query in algebra relazionale (6) Infine, si restituiscono i soli attributi relativi all età, il sesso e il DRG π eta,sesso,drg (patologie soffre pazienti) eta sesso DRG 26 m m f m 064

90 SQL SQL (Structured Query Language) Linguaggio standard usato da ogni DBMS per l interrogazione dei dati Può Creare/distruggere database Creare/alterare/distruggere tabelle Inserire/rimuovere dati Interrogare la base di dati

91 Query di selezione Il comando SQL per estrarre dati da un DB è la SELECT La query di selezione si compone di (almeno) tre parti Gli attributi da restituire Le tabelle da cui estrarre i dati Il criterio di selezione... più eventuali indicazioni circa l ordinamento, etc.

92 Query di selezione (2) Select La forma di una query di selezione SELECT [ l i s t a d e g l i a t t r i b u t i ] FROM [ l i s t a d e l l e t a b e l l e ] WHERE [ c r i t e r i o ]

93 L SQL e l algebra relazionale Data una query scritta in algebra relazionale, è possibile scrivere la corrispondente query in SQL seguendo il seguente schema: 1 Gli attributi del π diventano gli attributi della parte SELECT 2 Le tabelle messe in si elencano nella lista delle tabelle della parte FROM 3 Il criterio di selezione e le condizioni di natural join diventano il criterio della parte WHERE Le condizioni di natural join sono l equivalenza della chiave primaria con la chiave esterna della tabella collegata dal join

94 I pazienti maschi Query 5 - L età di tutti i pazienti maschi π eta(σ sesso= m (pazienti)) SELECT FROM WHERE e t a p a z i e n t i s e s s o = m

95 Il sesso dei pazienti di età inferiore ai 30 anni Query 6 - Sesso dei pazienti di età inferiore ai 30 anni π sesso(σ eta<30 (pazienti)) SELECT s e s s o FROM p a z i e n t i WHERE e t a < 30

96 Paziente e distanza Query 7 - Età e distanza dall industria dei pazienti di sesso femminile π eta,distanza (σ sesso= f (pazienti sedi elettorali)) SELECT eta, distanza FROM p a z i e n t i, s e d i e l e t t o r a l i WHERE n u m e r o s e d e e l e t t o r a l e = s e d i e l e t t o r a l i. numero AND s e s s o = f Quando esistono delle omonimie, è necessario specificare da quale relazione preleviamo gli attributi

97 Paziente e DRG Query 8 - Età, sesso e DRG di tutti i pazienti π eta,sesso,drg (pazienti soffre patologie) SELECT eta, s e s s o, DRG FROM p a z i e n t i, s o f f r e, p a t o l o g i e WHERE ( numero = n u m e r o p a z i e n t e ) AND ( c o d i c e p a t o l o g i a = c o d i c e )

Basi di dati. Gabriella Trucco gabriella.trucco@unimi.it

Basi di dati. Gabriella Trucco gabriella.trucco@unimi.it Basi di dati Gabriella Trucco gabriella.trucco@unimi.it Esempio Quando si pensa ad un database, generalmente si immagina una tabella contenente grandi quantità di informazioni, sulla quale è possibile

Dettagli

BASI DATI BIOINGEGNERIA ED INFORMATICA MEDICA. Lezione II - BioIngInfMed

BASI DATI BIOINGEGNERIA ED INFORMATICA MEDICA. Lezione II - BioIngInfMed BASI DATI BIOINGEGNERIA ED INFORMATICA MEDICA 1 Sistema Informativo Un sistema informativo (SI) è un componente di una organizzazione il cui obiettivo è gestire le informazioni utili per gli scopi dell

Dettagli

DBMS (Data Base Management System)

DBMS (Data Base Management System) Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire

Dettagli

Modelli relazionali. Esistono diversi modi di modellare un database. Il modello piu' usato al momento e' il modello relazionale

Modelli relazionali. Esistono diversi modi di modellare un database. Il modello piu' usato al momento e' il modello relazionale Cenni sui DATABASE Cos'e' un database Un database puo' essere definito come una collezione strutturata di record (dati) I dati sono memorizzati su un computer in modo opportuno e possono essere recuperati

Dettagli

Basi di Dati e Sistemi Informativi. Progettazione logica: Il modello relazionale

Basi di Dati e Sistemi Informativi. Progettazione logica: Il modello relazionale Basi di Dati e Sistemi Informativi Progettazione logica: Il modello relazionale Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale Introduzione Basato sul lavoro di Codd (~1970) E attualmente

Dettagli

DATABASE. www.andreavai.it

DATABASE. www.andreavai.it Cos'è un database? Quando si usa? Differenze con i fogli elettronici Le tabelle: record, campi, tipi di dati Chiavi e indici Database relazionali (R-DBMS) Relazioni uno-a-uno Relazioni uno-a-molti Relazioni

Dettagli

TEORIA sulle BASI DI DATI

TEORIA sulle BASI DI DATI TEORIA sulle BASI DI DATI A cura del Prof. Enea Ferri Cos è un DATA BASE E un insieme di archivi legati tra loro da relazioni. Vengono memorizzati su memorie di massa come un unico insieme, e possono essere

Dettagli

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: Il modello relazionale I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: 1. forniscono sistemi semplici ed efficienti per rappresentare

Dettagli

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. INFORMATICA Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. APPLICAZIONI WEB L architettura di riferimento è quella ampiamente diffusa ed

Dettagli

Vincoli di Integrità

Vincoli di Integrità Vincoli di Integrità Antonella Poggi Dipartimento di informatica e Sistemistica Sapienza Università di Roma Progetto di Applicazioni Software Anno accademico 2010-2011 Questi lucidi sono stati prodotti

Dettagli

Il Modello Relazionale

Il Modello Relazionale Il Modello Relazionale Il modello relazionale 1 Il modello relazionale Proposto da E. F. Codd nel 1970 per favorire l indipendenza dei dati e reso disponibile come modello logico in DBMS reali nel 1981

Dettagli

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati Basi di dati Il Modello Relazionale dei Dati Proposto da E. Codd nel 1970 per favorire l indipendenza dei dati Disponibile come modello logico in DBMS reali nel 1981 (non è facile realizzare l indipendenza

Dettagli

Lezione V. Aula Multimediale - sabato 29/03/2008

Lezione V. Aula Multimediale - sabato 29/03/2008 Lezione V Aula Multimediale - sabato 29/03/2008 LAB utilizzo di MS Access Definire gli archivi utilizzando le regole di derivazione e descrivere le caratteristiche di ciascun archivio ASSOCIAZIONE (1:1)

Dettagli

Sistemi Informativi Aziendali II

Sistemi Informativi Aziendali II Modulo 2 Sistemi Informativi Aziendali II 1 Corso Sistemi Informativi Aziendali II - Modulo 2 Modulo 2 La gestione delle informazioni strutturate nell impresa: La progettazione di un Data Base; Le informazioni

Dettagli

DATABASE RELAZIONALI

DATABASE RELAZIONALI 1 di 54 UNIVERSITA DEGLI STUDI DI NAPOLI FEDERICO II DIPARTIMENTO DI DISCIPLINE STORICHE ETTORE LEPORE DATABASE RELAZIONALI Dott. Simone Sammartino Istituto per l Ambiente l Marino Costiero I.A.M.C. C.N.R.

Dettagli

Introduzione alle Basi di Dati

Introduzione alle Basi di Dati 1 Introduzione alle Basi di Dati Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova Sistema Azienda 2 Sistema organizzativo è costituito da una serie di risorse e di regole necessarie

Dettagli

70555 Informatica 3 70777 Sicurezza 2. 70555 Mario Rossi 70777 Anna Bianchi. Esempio istanza:

70555 Informatica 3 70777 Sicurezza 2. 70555 Mario Rossi 70777 Anna Bianchi. Esempio istanza: DOMANDE 1) Definire i concetti di schema e istanza di una base di dati, fornendo anche un esempio. Si definisce schema di una base di dati, quella parte della base di dati stessa che resta sostanzialmente

Dettagli

Cultura Tecnologica di Progetto

Cultura Tecnologica di Progetto Cultura Tecnologica di Progetto Politecnico di Milano Facoltà di Disegno Industriale - DATABASE - A.A. 2003-2004 2004 DataBase DB e DataBase Management System DBMS - I database sono archivi che costituiscono

Dettagli

MODULO 5 DATA BASE PROGRAMMA. Progettazione rapida introduzione alla progettazione di DB

MODULO 5 DATA BASE PROGRAMMA. Progettazione rapida introduzione alla progettazione di DB MODULO 5 DATA BASE MODULO 5 - DATA BASE 1 PROGRAMMA Introduzione: concetti generali di teoria Progettazione rapida introduzione alla progettazione di DB Utilizzo di Access pratica sulla creazione e l utilizzo

Dettagli

Introduzione. Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei

Introduzione. Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei Introduzione Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei. ESEMPI DI INSIEMI DI DATI DA ORGANIZZARE ED USARE IN MANIERA EFFICIENTE Introduzione Più utenti con

Dettagli

L ARCHIVIAZIONE E LA GESTIONE DATI ATTRAVERSO L INTERAZIONE TRA MICROSOFT ACCESS ED EXCEL 1 INTRODUZIONE

L ARCHIVIAZIONE E LA GESTIONE DATI ATTRAVERSO L INTERAZIONE TRA MICROSOFT ACCESS ED EXCEL 1 INTRODUZIONE Roccatello Ing. Eduard L ARCHIVIAZIONE E LA GESTIONE DATI ATTRAVERSO L INTERAZIONE TRA MICROSOFT ACCESS ED EXCEL 1 INTRODUZIONE Agenda Presentazione docente Definizione calendario Questionario pre corso

Dettagli

Corso di Informatica (Basi di Dati)

Corso di Informatica (Basi di Dati) Corso di Informatica (Basi di Dati) Lezione 1 (12 dicembre 2008) Introduzione alle Basi di Dati Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof. Carlo Batini,

Dettagli

Istituto Angioy Informatica BASI DI DATI. Prof. Ciaschetti

Istituto Angioy Informatica BASI DI DATI. Prof. Ciaschetti Istituto Angioy Informatica BASI DI DATI Prof. Ciaschetti Introduzione e prime definizioni Una Base di dati o Database è un archivio elettronico opportunamente organizzato per reperire in modo efficiente

Dettagli

Corso di SISTEMI INFORMATICI E TELEMATICI PER LA PROFESSIONE. Lezione 2: Data Base. Ing. Maria Grazia Celentano www.mariagraziacelentano.

Corso di SISTEMI INFORMATICI E TELEMATICI PER LA PROFESSIONE. Lezione 2: Data Base. Ing. Maria Grazia Celentano www.mariagraziacelentano. Corso di SISTEMI INFORMATICI E TELEMATICI PER LA PROFESSIONE Lezione 2: Data Base Ing. Maria Grazia Celentano www.mariagraziacelentano.it 1 Introduzione La raccolta, l organizzazione e la conservazione

Dettagli

LABORATORIO. 2 Lezioni su Basi di Dati Contatti:

LABORATORIO. 2 Lezioni su Basi di Dati Contatti: 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

Dettagli

PIANO DI LAVORO EFFETTIVAMENTE SVOLTO IN RELAZIONE ALLA PROGRAMMAZIONE DISCIPLINARE

PIANO DI LAVORO EFFETTIVAMENTE SVOLTO IN RELAZIONE ALLA PROGRAMMAZIONE DISCIPLINARE Istituto di Istruzione Secondaria Superiore ETTORE MAJORANA 24068 SERIATE (BG) Via Partigiani 1 -Tel. 035-297612 - Fax 035-301672 e-mail: majorana@ettoremajorana.gov.it - sito internet: www.ettoremajorana.gov.it

Dettagli

Archivi e Basi di Dati

Archivi e Basi di Dati Archivi e Basi di Dati A B C File Programma 1 Programma 2 A B C File modificati Programma 1 DBMS DB Programma 2 Informatica Generale (CdL in E&C), A.A. 2000-2001 55 Problemi nella gestione di archivi separati

Dettagli

Corso di Informatica Generale 1 IN1. Linguaggio SQL

Corso di Informatica Generale 1 IN1. Linguaggio SQL Università Roma Tre Facoltà di Scienze M.F.N. di Laurea in Matematica di Informatica Generale 1 Linguaggio SQL Marco (liverani@mat.uniroma3.it) Sommario Prima parte: le basi dati relazionali Basi di dati:

Dettagli

Basi di dati II prova intermedia 16 Marzo 2006 Compito 1

Basi di dati II prova intermedia 16 Marzo 2006 Compito 1 , Cognome, Matricola: Basi di dati II prova intermedia 16 Marzo 2006 Compito 1 Esercizio Si progetti la base di dati che rispetta le seguenti specifiche. E richiesto di produrre il diagramma

Dettagli

Elena Baralis 2013 Politecnico di Torino 1

Elena Baralis 2013 Politecnico di Torino 1 Modello relazionale Docente M2170 Fondamenti di informatica Verdi M4880 Sistemi di elaborazione Bianchi F0410 Basi di dati Neri Docenti Nome Dipartimento Telefono Verdi Informatica 123456 Bianchi Elettronica

Dettagli

Progettazione di Basi di Dati

Progettazione di Basi di Dati Progettazione di Basi di Dati Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan Entità-Relazione Progettazione Logica 2 E il modo attraverso il quale i dati sono rappresentati : fa riferimento al modello

Dettagli

Lorenzo Braidi. Database design. Libro_datadesign.indb 1 23-11-2004 10:06:17

Lorenzo Braidi. Database design. Libro_datadesign.indb 1 23-11-2004 10:06:17 Lorenzo Braidi Database design Libro_datadesign.indb 1 23-11-2004 10:06:17 Sommario Introduzione...XI Capitolo 1 Le basi di dati relazionali... 1 Le basi di dati... 1 Un po di storia... 2 I database gerarchici...

Dettagli

Introduzione ai database relazionali

Introduzione ai database relazionali Introduzione ai database relazionali Tabelle Un database (DB) è costituito da un insieme di file che memorizzano dati opportunamente organizzati Nei database relazionale tale organizzazione è costituita

Dettagli

DB - Modello relazionale dei dati. DB - Modello Relazionale 1

DB - Modello relazionale dei dati. DB - Modello Relazionale 1 DB - Modello relazionale dei dati DB - Modello Relazionale 1 Definizione Un modello dei dati è un insieme di meccanismi di astrazione per definire una base di dati, con associato un insieme predefinito

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica Laboratorio di Informatica Corso di Laurea Interfacoltà in Biotecnologie Lezione 3: Basi di Dati Lucido 1 Scopo della lezione Definire cos è una base di dati e un sistema di gestione della base di dati

Dettagli

Data Base Relazionali. Ing. Maria Grazia Celentano www.mariagraziacelentano.it

Data Base Relazionali. Ing. Maria Grazia Celentano www.mariagraziacelentano.it Data Base Relazionali Ing. Maria Grazia Celentano www.mariagraziacelentano.it 1 Introduzione La raccolta, l organizzazione e la conservazione dei dati sono sempre stati i principali compiti dei sistemi

Dettagli

Corso di Laboratorio di Basi di Dati

Corso di Laboratorio di Basi di Dati Corso di Laboratorio di Basi di Dati F1I072 - INF/01 a.a 2009/2010 Pierluigi Pierini Technolabs S.p.a. Pierluigi.Pierini@technolabs.it Università degli Studi di L Aquila Dipartimento di Informatica Technolabs

Dettagli

Data Base. Prof. Filippo TROTTA

Data Base. Prof. Filippo TROTTA Data Base Definizione di DataBase Un Database può essere definito come un insieme di informazioni strettamente correlate, memorizzate su un supporto di memoria di massa, costituenti un tutt uno, che possono

Dettagli

Il linguaggio SQL: le basi

Il linguaggio SQL: le basi Il linguaggio SQL: le basi Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SQLa-basi.pdf Sistemi Informativi L-A SQL: caratteristiche generali

Dettagli

Organizzazione delle informazioni: Database

Organizzazione delle informazioni: Database Organizzazione delle informazioni: Database Laboratorio Informatico di base A.A. 2013/2014 Dipartimento di Scienze Aziendali e Giuridiche Università della Calabria Dott. Pierluigi Muoio (pierluigi.muoio@unical.it)

Dettagli

Le Basi di Dati. Le Basi di Dati

Le Basi di Dati. Le Basi di Dati Le Basi di Dati 20/05/02 Prof. Carlo Blundo 1 Le Basi di Dati Le Base di Dati (database) sono un insieme di tabelle di dati strutturate in maniera da favorire la ricerca di informazioni specializzate per

Dettagli

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. (Structured Query Language) : Il linguaggio è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. prima versione IBM alla fine degli anni '70 per un prototipo di ricerca (System

Dettagli

Informatica Introduzione alle basi di dati

Informatica Introduzione alle basi di dati Informatica Introduzione alle basi di dati Prof. Giovanni Giuffrida e-mail: giovanni.giuffrida@dmi.unict.it 27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 1 Materiale didattico Atzeni,Ceri,Paraboschi,Torlone,

Dettagli

Vincoli di Integrità Approccio dichiarativo alla loro implementazione

Vincoli di Integrità Approccio dichiarativo alla loro implementazione Vincoli di Integrità Approccio dichiarativo alla loro implementazione Antonella Poggi Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma Progetto di Applicazioni Software Anno accademico

Dettagli

Il modello relazionale dei dati

Il modello relazionale dei dati Il modello relazionale dei dati Master Alma Graduate School Sistemi Informativi Home Page del corso: http://www-db.deis.unibo.it/courses/alma_si1/ Versione elettronica: 04Relazionale.pdf Obiettivi della

Dettagli

Basi di Dati e Microsoft Access

Basi di Dati e Microsoft Access Basi di Dati e Microsoft Access Lun: 16-18 e Mer: 14-17 Alessandro Padovani padoale@email.it Database: definizione Un database (DB) è una collezione di informazioni organizzata in gruppi, che consentono

Dettagli

Facoltà di Farmacia - Corso di Informatica

Facoltà di Farmacia - Corso di Informatica Basi di dati Riferimenti: Curtin cap. 8 Versione: 13/03/2007 1 Basi di dati (Database, DB) Una delle applicazioni informatiche più utilizzate, ma meno conosciute dai non informatici Avete già interagito

Dettagli

ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 2

ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 2 ECDL - Database European Computer Driving Licence - Modulo 5 - Database LEZIONE 2 Ripasso Introduzione - Ripasso Cosa si intende per dbms? e cosa per database? Quali sono gli elementi che lo compongono?

Dettagli

SCHEDA DI PROGRAMMAZIONE DISCIPLINARE DA RIPORTARE SUL P.O.F. A.S. 2014-2015. Ripasso programmazione ad oggetti. Basi di dati: premesse introduttive

SCHEDA DI PROGRAMMAZIONE DISCIPLINARE DA RIPORTARE SUL P.O.F. A.S. 2014-2015. Ripasso programmazione ad oggetti. Basi di dati: premesse introduttive SCHEDA DI PROGRAMMAZIONE DISCIPLINARE DA RIPORTARE SUL P.O.F. A.S. 2014-2015 ASSE DISCIPLINA DOCENTE MATEMATICO INFORMATICA Cattani Barbara monoennio CLASSE: quinta CORSO D SEZIONE LICEO SCIENZE APPLICATE

Dettagli

Organizzazione degli archivi

Organizzazione degli archivi COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i

Dettagli

Introduzione ai Database e a Microsoft Access

Introduzione ai Database e a Microsoft Access Introduzione ai Database e a Microsoft Access 1 Il Sistema Informativo aziendale Un Sistema Informativo aziendale è costituito: dall'insieme delle informazioni utilizzate, prodotte e trasformate da un'azienda

Dettagli

La normalizzazione Trasformazione da concettuale a relazionale

La normalizzazione Trasformazione da concettuale a relazionale Oreste Signore (Oreste.Signore@cnuce.cnr.it) Definizione Il concetto di chiave Chiave primaria Chiave esterna L algebra relazionale Le operazioni Le operazioni speciali La normalizzazione Trasformazione

Dettagli

Database. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014

Database. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014 Database Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014 Cos'è un database? È una struttura di dati composta da tabelle a loro volta composte da campi. Caratteristiche

Dettagli

Algebra e calcolo relazionale. Ripasso. Le 7 Virtù del DBMS persistenza affidabilità volume condivisione riservatezza efficienza efficacia

Algebra e calcolo relazionale. Ripasso. Le 7 Virtù del DBMS persistenza affidabilità volume condivisione riservatezza efficienza efficacia Algebra e calcolo relazionale Ripasso Le 7 Virtù del DBMS persistenza affidabilità volume condivisione riservatezza efficienza efficacia I 4 Livelli di astrazione Le Tabelle Livello fisico (o interno)

Dettagli

Capitolo 13. Interrogare una base di dati

Capitolo 13. Interrogare una base di dati Capitolo 13 Interrogare una base di dati Il database fisico La ridondanza è una cosa molto, molto, molto brutta Non si devono mai replicare informazioni scrivendole in più posti diversi nel database Per

Dettagli

1. BASI DI DATI: GENERALITÀ

1. BASI DI DATI: GENERALITÀ 1. BASI DI DATI: GENERALITÀ BASE DI DATI (DATABASE, DB) Raccolta di informazioni o dati strutturati, correlati tra loro in modo da risultare fruibili in maniera ottimale. Una base di dati è usualmente

Dettagli

Basi di dati. Concetti Introduttivi ESEMPIO. Fisica, Analisi, Informatica. Entità Relazioni Interrogazioni. Database 2

Basi di dati. Concetti Introduttivi ESEMPIO. Fisica, Analisi, Informatica. Entità Relazioni Interrogazioni. Database 2 Basi di dati Concetti Introduttivi ESEMPIO Fisica, Analisi, Informatica Entità Relazioni Interrogazioni Database 2 Tabella (I) STUDENTE Attributi Data di Nascita Indirizzo Matricola Luca Neri 27/10/1980

Dettagli

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione SISTEMI INFORMATIVI AVANZATI -2010/2011 1 Introduzione In queste dispense, dopo aver riportato una sintesi del concetto di Dipendenza Funzionale e di Normalizzazione estratti dal libro Progetto di Basi

Dettagli

I livelli di progettazione possono essere così schematizzati: Esistono tre tipi diversi di modelli logici: Modello gerarchico: Esempio SPECIFICHE

I livelli di progettazione possono essere così schematizzati: Esistono tre tipi diversi di modelli logici: Modello gerarchico: Esempio SPECIFICHE I DATABASE o basi di dati possono essere definiti come una collezione di dati gestita dai DBMS. Tali basi di dati devono possedere determinati requisiti, definiti come specifiche, necessarie per il processo

Dettagli

SQL IL LINGUAGGIO DI INTERROGAZIONE

SQL IL LINGUAGGIO DI INTERROGAZIONE SQL IL LINGUAGGIO DI INTERROGAZIONE SQL! Originato da SEQUEL-XRM e System-R (1974-1977) dell IBM! Significato originario Structured Query Language! Standard de facto! Attuale standard ANSI/ISO è SQL:1999

Dettagli

Operazioni sui database

Operazioni sui database Operazioni sui database Le operazioni nel modello relazionale sono essenzialmente di due tipi: Operazioni di modifica della base di dati (update) Interrogazioni della base di dati per il recupero delle

Dettagli

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007 Basi di dati Concetti introduttivi Ultima modifica: 26/02/2007 ESEMPIO INSEGNAMENTI Fisica, Analisi, Informatica Aule Docenti Entità Relazioni Interrogazioni St udent i Database 2 Tabella (I) STUDENTE

Dettagli

LABORATORIO di INFORMATICA

LABORATORIO di INFORMATICA Università degli Studi di Cagliari Corso di Laurea Magistrale in Ingegneria per l Ambiente ed il Territorio LABORATORIO di INFORMATICA A.A. 2010/2011 Prof. Giorgio Giacinto IL MODELLO ER PER LA PROGETTAZIONE

Dettagli

Università degli Studi di Napoli Federico II Facoltà di Medicina e Chirurgia Corso di Laurea in Infermieristica

Università degli Studi di Napoli Federico II Facoltà di Medicina e Chirurgia Corso di Laurea in Infermieristica Università degli Studi di Napoli Federico II Facoltà di Medicina e Chirurgia Corso di Laurea in Infermieristica Corso di Sistemi di Elaborazione delle Informazioni A.A. 2011/2012 Prof. Ing. Ivan Giammona

Dettagli

Basi di dati Il linguaggio SQL

Basi di dati Il linguaggio SQL Basi di dati Il linguaggio SQL teoria e pratica con Microsoft Access Riepilogando Nelle basi di dati esiste 1. una parte invariante nel tempo, lo schema, costituita dalle caratteristiche dei dati (nomi

Dettagli

Basi di dati Il linguaggio SQL

Basi di dati Il linguaggio SQL Riepilogando Basi di dati Il linguaggio SQL Nelle basi di dati esiste 1. una parte invariante nel tempo, lo schema, costituita dalle caratteristiche dei dati (nomi degli attributi, domini, 2. una parte

Dettagli

UN PROGRAMMA APPLICATIVO: ACCESS Access è un programma del pacchetto Office che permette di realizzare database

UN PROGRAMMA APPLICATIVO: ACCESS Access è un programma del pacchetto Office che permette di realizzare database UN PROGRAMMA APPLICATIVO: ACCESS Access è un programma del pacchetto Office che permette di realizzare database Per comprendere al meglio cosa sia un database, dobbiamo prima introdurre il concetto di

Dettagli

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report Facoltà di Lingue e Letterature Straniere Le QUERY 2 Che cos è una Query? Una Query rappresenta uno strumento per interrogare un database.

Dettagli

Informatica per l'impresa. Sistemi per la gestione di basi di Dati

Informatica per l'impresa. Sistemi per la gestione di basi di Dati Informatica per l'impresa Sistemi per la gestione di basi di Dati Prof. Mauro Gaspari gaspari@cs.unibo.it 1 1 Sistema Informativo Insieme degli strumenti, risorse e procedure che consentono la gestione

Dettagli

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Si consiglia di creare il data base, inserire i dati nelle tabelle, provare

Dettagli

Prefazione Sistemi informativi e basi di dati Il modello relazionale Il modello ER

Prefazione Sistemi informativi e basi di dati Il modello relazionale Il modello ER Indice Prefazione XI 1 Sistemi informativi e basi di dati 1 1.1 La Gestione dell Informazione................... 1 1.1.1 Sistemi Informativi e Sistemi Informatici......... 1 1.2 Esempi di Sistemi Informativi...................

Dettagli

Informatica (Basi di Dati)

Informatica (Basi di Dati) Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Introduzione alle Basi di Dati Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati

Dettagli

PIANO DI LAVORO. a.s. 2014 / 2015

PIANO DI LAVORO. a.s. 2014 / 2015 PIANO DI LAVORO a.s. 2014 / 2015 Materia: INFORMATICA Classe: quinta A Data di presentazione: 7/10/2014 DOCENTI FIRMA Cerri Marta Bergamasco Alessandra Posta elettronica: itisleon@tin.it - Url: www.itdavinci.it

Dettagli

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database Uso delle basi di dati Uso delle Basi di Dati Il modulo richiede che il candidato comprenda il concetto di base dati (database) e dimostri di possedere competenza nel suo utilizzo. Cosa è un database,

Dettagli

Basi di dati. Basi di dati = database. Basi di dati

Basi di dati. Basi di dati = database. Basi di dati Basi di dati Da leggere: Cap. 6 Sawyer, Williams (testo A) Basi di dati = database Sono una delle applicazioni informatiche che hanno avuto il maggiore utilizzo in uffici, aziende, servizi -> oggi anche

Dettagli

Basi di Dati. Programmazione e gestione di sistemi telematici

Basi di Dati. Programmazione e gestione di sistemi telematici Basi di Dati. Programmazione e gestione di sistemi telematici Coordinatore: Prof. Paolo Nesi Docenti: Prof. Paolo Nesi Dr.sa Michela Paolucci Dr. Emanuele Bellini Cosa e l informatica? Scienza del trattamento

Dettagli

Data Base Relazionali

Data Base Relazionali Data Base Relazionali Modello Relazionale dei dati Basi di Dati Relazionali 1 Progettazione di DB METODOLOGIA DI PROGETTO IN TRE FASI Descrizione formalizzata e completa della realtà di interesse REALTA'

Dettagli

MAX, SUM, AVG, COUNT)

MAX, SUM, AVG, COUNT) INTRODUZIONE A SQL Definizione di tabelle e domini Alcuni vincoli di integrità Struttura base SELECT FROM WHERE Funzioni di aggregazione (MIN, MAX, SUM, AVG, COUNT) Query da più tabelle (FROM R1, Rk) Join

Dettagli

Alessandra Raffaetà. Basi di Dati

Alessandra Raffaetà. Basi di Dati Lezione 2 S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali Alessandra Raffaetà Dipartimento di Informatica Università Ca Foscari Venezia Basi di Dati

Dettagli

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni Introduzione Ai Data Bases Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni I Limiti Degli Archivi E Il Loro Superamento Le tecniche di gestione delle basi di dati nascono

Dettagli

I Sistemi Informativi

I Sistemi Informativi I Sistemi Informativi Definizione Un Sistema Informativo è un mezzo per acquisire, organizzare, correlare, elaborare e distribuire le informazioni che riguardano una realtà che si desidera descrivere e

Dettagli

IL MODELLO RELAZIONALE

IL MODELLO RELAZIONALE IL MODELLO RELAZIONALE E i vincoli per le basi di dati relazionali 2 La storia Introdotto nel 1970 da E. F. Ted Codd http://en.wikipedia.org/wiki/edgar_f._codd (centro ricerche IBM) Codd, E.F. (1970).

Dettagli

Introduzione ai database relazionali. www.mariogentili.it mario.gentili@mariogentili.it

Introduzione ai database relazionali. www.mariogentili.it mario.gentili@mariogentili.it Introduzione ai database relazionali 1 Introduzione ai database relazionali 2 Elementi di progetto di un DB relazionale 3 Costruzione e visita di una base di dati 4 Access ed i suoi oggetti 5 Operare sui

Dettagli

DATABASE. Progettare una base di dati. Database fisico e database logico

DATABASE. Progettare una base di dati. Database fisico e database logico DATABASE Progettare una base di dati Database fisico e database logico Un DB è una collezione di tabelle, le cui proprietà sono specificate dai metadati Attraverso le operazioni sulle tabelle è possibile

Dettagli

Normalizzazione. Relazionali

Normalizzazione. Relazionali Normalizzazione di Schemi Relazionali Normalizzazione Forme Normali Una forma normale è una proprietà di uno schema relazionale che ne garantisce la qualità, cioè l assenza di determinati difetti Una relazione

Dettagli

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS Basi di Basi di (Sistemi Informativi) Sono una delle applicazioni informatiche che hanno avuto il maggiore utilizzo in uffici, aziende, servizi (e oggi anche sul web) Avete già interagito (magari inconsapevolmente)

Dettagli

Il modello relazionale

Il modello relazionale Il modello relazionale Il modello relazionale è stato introdotto nel 1970 da E.F. Codd. Soltanto a metà degli anni ottanta ha trovato una buona diffusione sul mercato, in quanto all epoca della sua introduzione

Dettagli

Basi di dati. L Algebra Relazionale. K. Donno - L Algebra Relazionale

Basi di dati. L Algebra Relazionale. K. Donno - L Algebra Relazionale Basi di dati L Algebra Relazionale Introduzione all Algebra Relazionale Una volta definito lo schema logico di un database, partendo da un Diagramma E-R, e dopo aver inserito le tabelle nel database, eventualmente

Dettagli

Introduzione all Algebra Relazionale

Introduzione all Algebra Relazionale Basi di dati L Algebra Relazionale Introduzione all Algebra Relazionale Una volta definito lo schema logico di un database, partendo da un Diagramma E-R, e dopo aver inserito le tabelle nel database, eventualmente

Dettagli

Gabriele Orlandi BASI DI DATI Database Informatica Dispense

Gabriele Orlandi BASI DI DATI Database Informatica Dispense Gabriele Orlandi BASI DI DATI Database Informatica Dispense INTRODUZIONE Una base di dati è una collezione di dati (fatti noti) che ha le seguenti proprietà: - rappresenta un aspetto del mondo reale (Universo

Dettagli

INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO

INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO Basi di dati: Microsoft Access INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO Database e DBMS Il termine database (banca dati, base di dati) indica un archivio, strutturato in modo tale

Dettagli

Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Dati. Facoltà di Lingue e Letterature Straniere

Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Dati. Facoltà di Lingue e Letterature Straniere Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Dati Facoltà di Lingue e Letterature Straniere Base di dati (accezione generica, metodologica) Insieme organizzato di dati utilizzati per il supporto

Dettagli

Teoria sulle basi di dati

Teoria sulle basi di dati Teoria sulle basi di dati Introduzione alle basi di dati Una base di dati (database) può essere considerata come una raccolta di dati logicamente correlati, utilizzata per modellare una realtà. I dati

Dettagli

MODELLO RELAZIONALE. Introduzione

MODELLO RELAZIONALE. Introduzione MODELLO RELAZIONALE Introduzione E' stato proposto agli inizi degli anni 70 da Codd finalizzato alla realizzazione dell indipendenza dei dati, unisce concetti derivati dalla teoria degli insiemi (relazioni)

Dettagli

PROGRAMMAZIONE MODULARE DI INFORMATICA CLASSE QUINTA - INDIRIZZO MERCURIO SEZIONE TECNICO

PROGRAMMAZIONE MODULARE DI INFORMATICA CLASSE QUINTA - INDIRIZZO MERCURIO SEZIONE TECNICO PROGRAMMAZIONE MODULARE DI INFORMATICA CLASSE QUINTA - INDIRIZZO MERCURIO SEZIONE TECNICO Modulo 1: IL LINGUAGGIO HTML Formato degli oggetti utilizzati nel Web Elementi del linguaggio HTML: tag, e attributi

Dettagli

Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro

Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro Database relazionali: un'introduzione Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro Rappresentazione astratta di aspetti del mondo reale (Universe

Dettagli

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica.

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica. Progettazione logica Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica. La progettazione logica è basata su un particolare modello logico dei

Dettagli

Database e Microsoft Access. Ing. Antonio Guadagno

Database e Microsoft Access. Ing. Antonio Guadagno Database e Microsoft Access Ing. Antonio Guadagno Database e Microsoft Access Un Database non è altro che un insieme di contenitori e di strumenti informatici che ci permette di gestire grossi quantitativi

Dettagli

Informatica 2 Basi di dati

Informatica 2 Basi di dati Informatica 2 Basi di dati Prof. Giovanni Giuffrida e-mail: giovanni.giuffrida@dmi.unict.it DB - Introduzione 1 Recapiti Prof. Giuffrida Giovanni Email: giovanni.giuffrida@dmi.unict.it Info sul corso:

Dettagli

Sistemi per la gestione di database: MySQL ( )

Sistemi per la gestione di database: MySQL ( ) Sistemi per la gestione di database: MySQL ( ) Relational Database e Relational Database Management System Un database è una raccolta di dati organizzata in modo da consentire l accesso, il reperimento

Dettagli