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

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

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

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

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

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

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

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

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

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

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 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

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

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

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

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

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

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

Introduzione alla teoria dei database relazionali. Come progettare un database

Introduzione alla teoria dei database relazionali. Come progettare un database Introduzione alla teoria dei database relazionali Come progettare un database La struttura delle relazioni Dopo la prima fase di individuazione concettuale delle entità e degli attributi è necessario passare

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

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

Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli

Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli gerarchico e reticolare sono più vicini alle strutture

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

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

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

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

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

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

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

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

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Progettazione Basi Dati: Metodologie e modelli!modello Entita -Relazione Progettazione Base Dati Introduzione alla Progettazione: Il ciclo di vita di un Sist. Informativo

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

Il database management system Access

Il database management system Access Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio

Dettagli

Basi di dati 9 febbraio 2010 Compito A

Basi di dati 9 febbraio 2010 Compito A Basi di dati 9 febbraio 2010 Compito A Domanda 0 (5%) Leggere e rispettare le seguenti regole: Scrivere nome, cognome, matricola (se nota), corso di studio e lettera del compito (ad esempio, A) sui fogli

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

Dispensa di database Access

Dispensa di database Access Dispensa di database Access Indice: Database come tabelle; fogli di lavoro e tabelle...2 Database con più tabelle; relazioni tra tabelle...2 Motore di database, complessità di un database; concetto di

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

Rappresentazione grafica di entità e attributi

Rappresentazione grafica di entità e attributi PROGETTAZIONE CONCETTUALE La progettazione concettuale, ha il compito di costruire e definire una rappresentazione corretta e completa della realtà di interesse, e il prodotto di tale attività, è lo schema

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

Informatica per le discipline umanistiche 2 lezione 10

Informatica per le discipline umanistiche 2 lezione 10 Informatica per le discipline umanistiche 2 lezione 10 Parte III: il computer come strumento per l interazione e la comunicazione Si è parlato di identità Parte III: il computer come strumento per l interazione

Dettagli

BASI DI DATI - : I modelli di database

BASI DI DATI - : I modelli di database BASI DI DATI - : I modelli di database DAL 1960 ci si e' orientati verso 3 direzioni: 1 MODELLO GERARCHICO Se i dati si presentano naturalmente in una struttura ad albero (ES. File System) Limiti: rigidità

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

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone BASI DI DATI per la gestione dell informazione Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone Libro di Testo 22 Chianese, Moscato, Picariello e Sansone BASI DI DATI per la Gestione dell

Dettagli

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL Basi di dati Il Linguaggio SQL Data Definition Language (DDL) Data Definition Language: insieme di istruzioni utilizzate per modificare la struttura della base di dati Ne fanno parte le istruzioni di inserimento,

Dettagli

Access. P a r t e p r i m a

Access. P a r t e p r i m a Access P a r t e p r i m a 1 Esempio di gestione di database con MS Access 2 Cosa è Access? Access e un DBMS che permette di progettare e utilizzare DB relazionali Un DB Access e basato sui concetti di

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

Attributi e domini. A per {A}; XY per X Y (pertanto A 1 A 2 A 3 denota

Attributi e domini. A per {A}; XY per X Y (pertanto A 1 A 2 A 3 denota Attributi e domini Assumiamo un universo infinito numerabile U = {A 0, A 1, A 2...} di attributi. Denotiamo gli attributi con A, B, C, B 1, C 1... e gli insiemi di attributi con X, Y, Z, X 1,... per brevità

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

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

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 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

Esercizio data base "Biblioteca"

Esercizio data base Biblioteca Rocco Sergi Esercizio data base "Biblioteca" Database 2: Biblioteca Testo dell esercizio Si vuole realizzare una base dati per la gestione di una biblioteca. La base dati conterrà tutte le informazioni

Dettagli

Microsoft Access. Microsoft Access

Microsoft Access. Microsoft Access Microsoft Access E. Tramontana E. Tramontana 1 Microsoft Access Un Database è una collezione di dati relazionati e strutturati MS Access è uno strumento per la gestione di Database Consente di archiviare

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

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

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

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

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi Vogliamo creare una struttura per permettere di memorizzari i voti della classe in tutte le materie Per fare questo untilizziamo tre tabelle Alunni,materie,voti Alunni Materie Voti Creo un record per ogni

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

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Corso di Laurea Magistrale in Ingegneria per l Ambiente e il Territorio A.A. 2014-2015 Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Strutture di dati: DB e DBMS DATO E INFORMAZIONE Dato: insieme

Dettagli

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione SQL DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE SQL è più di un semplice linguaggio di interrogazione! Linguaggio di definizione dati (Data-definition language, DDL):! Crea/distrugge/modifica relazioni

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

ESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7

ESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7 ESEMPI DI QUERY SQL Dati di esempio... 2 Query su una sola tabella... 2 Esempio 1 (Ordinamento)... 2 Esempio 2 (Scelta di alcune colonne)... 3 Esempio 3 (Condizioni sui dati)... 3 Esempio 4 (Condizioni

Dettagli

Progettazione di Database. Un Esempio

Progettazione di Database. Un Esempio Progettazione di Database Un Esempio Data Base Management System Applicazione 1 Applicazione 2 Applicazione 3 DBMS A B C D E Il Modello Relazionale Una relazione è costituita su un insieme di domini, non

Dettagli

Informatica Generale Andrea Corradini. 19 - Sistemi di Gestione delle Basi di Dati

Informatica Generale Andrea Corradini. 19 - Sistemi di Gestione delle Basi di Dati Informatica Generale Andrea Corradini 19 - Sistemi di Gestione delle Basi di Dati Sommario Concetti base di Basi di Dati Il modello relazionale Relazioni e operazioni su relazioni Il linguaggio SQL Integrità

Dettagli

Introduzione al corso

Introduzione al corso Introduzione al corso Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: introduzione.pdf Sistemi Informativi L-B Docente Prof. Paolo Ciaccia

Dettagli

Informatica (Basi di Dati)

Informatica (Basi di Dati) Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof.

Dettagli

Gli attributi di STUDENTE saranno: Matricola (chiave primaria), Cognome, Nome.

Gli attributi di STUDENTE saranno: Matricola (chiave primaria), Cognome, Nome. Prof. Francesco Accarino Raccolta di esercizi modello ER Esercizio 1 Un università vuole raccogliere ed organizzare in un database le informazioni sui propri studenti in relazione ai corsi che essi frequentano

Dettagli

database: modello entityrelationship

database: modello entityrelationship Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2007/8 database: modello entityrelationship Prof.Valle D.ssaFolgieri Lez7 25.10.07 Trattamento dati. Database: modello entity-relationship 1 Fasi

Dettagli

Lezione 2. Il modello entità relazione

Lezione 2. Il modello entità relazione Lezione 2 Il modello entità relazione Pag.1 Introduzione alla progettazione delle basi di dati 1. Analisi dei requisiti Quali sono le entità e le relazioni dell organizzazione? Quali informazioni su queste

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

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati Corso di Access Modulo L2A (Access) 1.1 Concetti di base 1 Prerequisiti Utilizzo elementare del computer Concetti fondamentali di basi di dati 2 1 Introduzione Un ambiente DBMS è un applicazione che consente

Dettagli

DBMS. Esempi di database. DataBase. Alcuni esempi di DBMS DBMS. (DataBase Management System)

DBMS. Esempi di database. DataBase. Alcuni esempi di DBMS DBMS. (DataBase Management System) (DataBase Management System) Sistemi di ges3one di basi di da3 Un Database Management System è un sistema software progettato per consentire la creazione e manipolazione efficiente di database (collezioni

Dettagli

Capitolo 2. Esercizio 2.1. Esercizio 2.2

Capitolo 2. Esercizio 2.1. Esercizio 2.2 Capitolo 2 Esercizio 2.1 Considerare le informazioni per la gestione dei prestiti di una biblioteca personale. Il proprietario presta libri ai suoi amici, che indica semplicemente attraverso i rispettivi

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

SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2011/12

SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2011/12 SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I Anno accademico 2011/12 DEFINIZIONE Il concetto di vista 2 È una relazione derivata. Si specifica l espressione che genera il suo contenuto.

Dettagli

I database relazionali (Access)

I database relazionali (Access) I database relazionali (Access) Filippo TROTTA 04/02/2013 1 Prof.Filippo TROTTA Definizioni Database Sistema di gestione di database (DBMS, Database Management System) Sistema di gestione di database relazionale

Dettagli

Modello dei Dati ENTITÀ-RELAZIONE (ENTITY-RELATIONSHIP) é l insieme di concetti, simboli, regole che useremo per rappresentare il modello concettuale

Modello dei Dati ENTITÀ-RELAZIONE (ENTITY-RELATIONSHIP) é l insieme di concetti, simboli, regole che useremo per rappresentare il modello concettuale Modello dei Dati E-R ENTITÀ-RELAZIONE O (ENTITY-RELATIONSHIP) é l insieme di concetti, simboli, regole che useremo per rappresentare il modello concettuale R.Gori - G.Leoni Modello dei Dati Entità-Relazione

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

Progettazione di una base di dati Ufficio della Motorizzazione

Progettazione di una base di dati Ufficio della Motorizzazione Corso di Gestione dell Informazione Studenti NON frequentanti A.A. 2008/2009 1 Scopo del progetto Progettazione di una base di dati Ufficio della Motorizzazione Si vuole realizzare un applicazione base

Dettagli

Modello Relazionale. Modello Relazionale. Relazioni - Prodotto Cartesiano. Relazione: tre accezioni. Es. Dati gli insiemi

Modello Relazionale. Modello Relazionale. Relazioni - Prodotto Cartesiano. Relazione: tre accezioni. Es. Dati gli insiemi Modello Relazionale Modello Relazionale Proposto agli inizi degli anni 70 da Codd Finalizzato alla realizzazione dell indipendenza dei dati Unisce concetti derivati dalla teoria degli insiemi (relazioni)

Dettagli

Vincoli di integrità

Vincoli di integrità Vincoli di integrità Non tutte le istanze di basi di dati sintatticamente corrette rappresentano informazioni plausibili per l applicazione di interesse Studenti Matricola Nome Nascita 276545 Rossi 23-04-72?

Dettagli

BASE DI DATI: sicurezza. Informatica febbraio 2015 5ASA

BASE DI DATI: sicurezza. Informatica febbraio 2015 5ASA BASE DI DATI: sicurezza Informatica febbraio 2015 5ASA Argomenti Privatezza o riservatezza Vincoli di integrità logica della base di dati intrarelazionali interrelazionali Principio generale sulla sicurezza

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

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Ambiente Access La Guida di Access Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Guida in linea Guida rapida Assistente di Office indicazioni

Dettagli

Il Modello Relazionale

Il Modello Relazionale Il Modello Relazionale Basi di dati 1 Il Modello Relazionale Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Il Modello Relazionale Basi di dati 2 Introduzione Il modello

Dettagli

Esercizio sui data base "Gestione conti correnti"

Esercizio sui data base Gestione conti correnti Database "Gestione conto correnti" Testo del quesito La banca XYZ vuole informatizzare le procedure di gestione dei conti correnti creando un archivio dei correntisti (Cognome, Nome, indirizzo, telefono,

Dettagli

OSSIF WEB. Manuale query builder

OSSIF WEB. Manuale query builder OSSIF WEB Manuale query builder - Maggio 2010 1) Sommario 1) SOMMARIO... 2 INTRODUZIONE... 3 Scopo del documento... 3 Struttura del documento... 3 Descrizione dell interfaccia grafica... 3 SELEZIONE DI

Dettagli

Concetti fondamentali dei database database Cos'è un database Principali database

Concetti fondamentali dei database database Cos'è un database Principali database Concetti fondamentali dei database Nella vita di tutti i giorni si ha la necessità di gestire e manipolare dati. Le operazioni possono essere molteplici: ricerca, aggregazione con altri e riorganizzazione

Dettagli

Database 1 biblioteca universitaria. Testo del quesito

Database 1 biblioteca universitaria. Testo del quesito Database 1 biblioteca universitaria Testo del quesito Una biblioteca universitaria acquista testi didattici su indicazione dei professori e cura il prestito dei testi agli studenti. La biblioteca vuole

Dettagli

DATABASE. A cura di Massimiliano Buschi

DATABASE. A cura di Massimiliano Buschi DATABASE A cura di Massimiliano Buschi Introduzione Con Microsoft Access: Immissione dati e interrogazione Interfaccia per applicazioni e report Ma prima bisogna definire alcune conoscenze di base sui

Dettagli

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere;

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere; Maschere e Query Le Maschere (1/2) Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere; Le maschere sono simili a moduli cartacei: ad ogni campo corrisponde un etichetta

Dettagli

MODELLO RELAZIONALE. cesarini-bdsi mod relazionale 1 MODELLO RELAZIONALE

MODELLO RELAZIONALE. cesarini-bdsi mod relazionale 1 MODELLO RELAZIONALE MODELLO RELAZIONALE Definizione di relazione Schema e istanza Chiave Valori nulli Predicati e vincoli di integrità Vincolo di integrità referenziale cesarini-bdsi mod relazionale 1 MODELLO RELAZIONALE

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

CONCETTO DI ANNIDAMENTO

CONCETTO DI ANNIDAMENTO LEZIONE14 SQL ANNIDAMENTI PAG. 1 / 5 PROF. ANDREA ZOCCHEDDU LEZIONE14 SQL ANNIDAMENTI CONCETTO DI ANNIDAMENTO LINGUAGGIO SQL QUERY ANNIDATE Per annidamento si intende la possibilità che, all interno di

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

Data Warehousing (DW)

Data Warehousing (DW) Data Warehousing (DW) Il Data Warehousing è un processo per estrarre e integrare dati storici da sistemi transazionali (OLTP) diversi e disomogenei, e da usare come supporto al sistema di decisione aziendale

Dettagli

La Metodologia adottata nel Corso

La Metodologia adottata nel Corso La Metodologia adottata nel Corso 1 Mission Statement + Glossario + Lista Funzionalià 3 Descrizione 6 Funzionalità 2 Schema 4 Schema 5 concettuale Logico EA Relazionale Codice Transazioni In PL/SQL Schema

Dettagli