1 / 162

Sistemi per il recupero delle informazioni

Sistemi per il recupero delle informazioni. RIASSUNTO. ESEMPIO. ESEMPIO. VIENE TRADOTTO NELLO SCHEMA MUSEI ( NomeM , Città, Indirizzo, Direttore) ARTISTI ( NomeA , Nazionalità, DataN, DataM) OPERE ( Codice , Anno, Titolo, NomeM *, NomeA *) PERSONAGGI (Personaggio, Codice *)

faxon
Télécharger la présentation

Sistemi per il recupero delle informazioni

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sistemi per il recupero delle informazioni RIASSUNTO

  2. ESEMPIO

  3. ESEMPIO VIENE TRADOTTO NELLO SCHEMA MUSEI (NomeM, Città, Indirizzo, Direttore) ARTISTI (NomeA, Nazionalità, DataN, DataM) OPERE (Codice, Anno, Titolo, NomeM*, NomeA*) PERSONAGGI (Personaggio, Codice*) DIPINTI (Codice*, Tipo, Larghezza, Altezza) SCULTURE (Codice*, Materiale, Altezza, Peso)

  4. Orario Chimica Insegnamento Sistemi inform. Analisi matem. I Fisica II Fisica I Basi di dati Piero Rossi Luigi Neri Docente Piero Rossi Mario Bruni Mario Bruni Nicola Mori N1 N3 N1 N2 N3 Aula N1 9:45 11:45 Ora 9:45 9:45 8:00 8:00 ORARIO (Insegnamento, Docente, Aula, Ora) RELAZIONE E TABELLA Relazione e tabella sono sinonimi

  5. Orario Chimica Insegnamento Sistemi inform. Analisi matem. I Fisica II Fisica I Basi di dati Piero Rossi Luigi Neri Docente Piero Rossi Mario Bruni Mario Bruni Nicola Mori N1 N3 N1 N2 N3 Aula N1 9:45 11:45 Ora 9:45 9:45 8:00 8:00 ORARIO (Insegnamento, Docente, Aula, Ora) SCHEMA Le colonne della tabella formano lo schema della relazione

  6. Orario Chimica Insegnamento Sistemi inform. Analisi matem. I Fisica II Fisica I Basi di dati Piero Rossi Luigi Neri Docente Piero Rossi Mario Bruni Mario Bruni Nicola Mori N1 N3 N1 N2 N3 Aula N1 9:45 11:45 Ora 9:45 9:45 8:00 8:00 ORARIO (Insegnamento, Docente, Aula, Ora) ISTANZE I contenuti delle righe della tabella formano le istanze della relazione

  7. Corsi Aule Docente Aula Corso Nome Edificio Piano DS3 OMI Terra Rossi Bruni Bruni Neri N3 G N3 DS3 Basi di dati Controlli Reti Sistemi N3 OMI Terra G Pincherle Primo Aula Edificio Piano Corso CorsiSedi Sistemi N3 OMI Terra N3 OMI Terra Reti G Pincherle Primo Controlli DATABASE Un database e’ un insieme di tabelle

  8. DA MODELLO A OGGETTI A MODELLO RELAZIONALE • La trasformazione di uno schema a oggetti in uno schema relazionale avviene eseguendo i seguenti passi: • rappresentazione delle classi • rappresentazione delle associazioni uno a uno e uno a molti; • rappresentazione delle associazioni molti a molti o non binarie; • rappresentazione delle gerarchie di inclusione; • rappresentazione degli attributi multivalore; • appiattimento gli attributi composti

  9. Riassumendo Le regole di traduzione • Entità: diventano tabelle ed i loro identificatori chiavi primarie • Associazioni 1-1: se obbligatorie si procede come per le 1-N scegliendo il lato in cui includere gli attributi e la chiave esterna; se una opzionale si includono gli attributi e la chiave esterna sul lato“obbligatorio”; se entrambe opzionali si costruisce una tabella autonoma come per il caso N-N. • Associazioni1-N:gli attributi dell’associazione e la chiave primaria della tabella relativa all’entità dal lato “N” sono inclusi nella tabella relativa all’entità dal lato“1”. • Associazioni N-N: diventano tabelle con chiave primaria formata dall’unione delle chiavi delle entità coinvolte

  10. Accesso ai Dati nei Sistemi Relazionali • Una base di dati può essere utilizzata con due modalità: • interattivamente: l’utente interagisce direttamente con la base di dati presentando al sistema una richiesta di dati. Tale richiesta prende il nome di interrogazione (query). L’interrogazione viene interpretata dal sistema, che in risposta restituisce i dati richiesti. Nella richiesta devono essere specificate le proprietà dei dati che interessano. Se ad es. vogliamo l’elenco dei libri scritti da Calvino, nella richiesta deve essere specificata questa proprietà. L’interrogazione deve essere formulata per mezzo di un linguaggio formale. • mediante programmi:questo uso è riservato ad utenti programmatori. Le interrogazioni fanno parte di un programma applicativo che può essere eseguito dal sistema numerose volte, ed il risultato delle interrogazioni può essere utilizzato dal programma per successive elaborazioni

  11. LINGUAGGI RELAZIONALI • Come esempio di linguaggi per l’uso interattivo di basi di dati, relazionali, vediamo • l’algebra relazionale: insieme di operatori su relazioni che danno come risultato relazioni. Non si usa come linguaggio di interrogazione dei DBMS ma come rappresentazione interna delle interrogazioni. • il linguaggio SQL (Structured Query Language), che offre una sintassi per l’algebra relazionale. • Il termine algebra è dovuto al fatto che sono previsti operatori (query) che agiscono su relazioni e producono altre relazioni come risultato. Gli operatori possono essere combinati per formare espressioni complesse.

  12. Algebra relazionale • Insieme di operatori • su relazioni • che producono relazioni (tabelle) • e possono essere composti per svolgere operazioni più complesse

  13. OPERATORI FONDAMENTALI • Gli operatori fondamentali dell’algebra relazionale sono: • Ridenominazione; • Unione; • Intersezione; • Differenza; • Proiezione; • Restrizione (o Selezione); • Prodotto. • I simboli R,S,... denotano relazioni, A, B,…attributi e X,Y,…insiemi di attributi

  14. Padre Figlio Adamo Abele Adamo Caino Abramo Isacco Padre Figlio Adamo Abele Adamo Caino Abramo Isacco RIDENOMINAZIONE Paternità  Genitore  Padre (Paternità) Genitore

  15. ESEMPIO DI UNIONE

  16. ESEMPIO DI INTERSEZIONE

  17. ESEMPIO DI DIFFERENZA

  18. selezione proiezione • operatori "ortogonali“ • selezione: • decomposizione orizzontale • proiezione: • decomposizione verticale

  19. Matricola Cognome Filiale Stipendio 7309 Neri Napoli 55 9553 5998 5698 Rossi Rossi Neri Milano Roma Roma 44 64 64 ESEMPIO PROIEZIONE • cognome e filiale di tutti gli impiegati Cognome, Filiale (Impiegati)

  20. ESEMPIO RESTRIZIONE • Impiegati che • guadagnano più di 50 • guadagnano più di 50 e lavorano a Milano • hanno lo stesso nome della filiale presso cui lavorano

  21. Operatori booleani • Connettivi logici •  (AND), •  (OR), •  (NOT) • Operatori di confronto • = (uguale)  (diverso) •  (maggiore)  (minore) •  (maggiore o uguale) •  (minore o uguale)

  22. Impiegati Matricola Cognome Filiale Stipendio 7309 Rossi Roma 55 5698 9553 9553 5698 5998 Neri Neri Neri Milano Milano Napoli Milano Milano Napoli Milano 44 44 64 64 64 • impiegati che guadagnano più di 50 Stipendio > 50 (Impiegati)

  23. Impiegati Matricola Cognome Filiale Stipendio 7309 7309 Rossi Rossi Roma Roma 55 55 9553 5698 9553 5998 5698 5998 Neri Neri Milano Milano Neri Neri Napoli Milano Milano Milano Milano Napoli 64 64 64 44 64 44 • impiegati che guadagnano più di 50 e lavorano a Milano Stipendio > 50 AND Filiale = 'Milano' (Impiegati)

  24. Matricola Cognome Filiale Stipendio 7309 Rossi Roma 55 9553 9553 5698 5698 5998 Milano Milano Neri Neri Neri Milano Milano Napoli Napoli Milano 44 64 44 64 64 Selezione e proiezione • Combinando selezione e proiezione, possiamo estrarre interessanti informazioni da una relazione • matricola e cognome degli impiegati che guadagnano più di 50 Stipendio > 50 (Impiegati)  Matricola,Cognome ( )

  25. Numero Voto Numero Candidato 1 25 1 Mario Rossi 2 13 2 Nicola Russo 3 27 3 Mario Bianchi 4 28 4 Remo Neri Numero Mario Rossi Candidato 25 Voto 1 Nicola Russo 13 2 Mario Bianchi 27 3 Remo Neri 28 4 PRODOTTO (Join)

  26. ESEMPIO - I • join completo: ogni ennupla contribuisce al risultato

  27. ESEMPIO - II • Join non completo: alcuni valori tra gli attributi comuni non coincidono, quindi, alcune ennuple non partecipano al JOIN

  28. ESEMPIO - III • Join vuoto: caso limite • potrebbe anche succedere che nessuna ennupla trovi il corrispettivo

  29. ESEMPIO - IV • L’altro caso estremo del JOIN • ogni ennupla di R1 si combina con ogni ennupla di R2 • la cardinalita’ del risultato e’ il prodotto delle cardinalita’

  30. Impiegati Codice Capo Impiegato Reparto A Mori Rossi A B B B Bruni Bruni Bruni Neri B Bianchi B Reparti Impiegato Reparto Codice Capo Rossi A A A A Mori Rossi A B Bruni Neri B A Mori Neri B B Bruni Bianchi B A Mori Bianchi B B Bruni Prodotto cartesiano Impiegati JOIN Reparti

  31. Sistemi per il recupero delle informazioni DATABASE MANAGEMENT SYSTEM (DBMS)

  32. COS’E’ UNA BASE DATI • Una base di dati è una raccolta di dati permanenti suddivisi in due categorie: • I METADATI • I DATI

  33. COS’E’ UNA BASE DATI I METADATI • i metadati, ovvero lo schema della base di dati, sono una raccolta di definizioni che descrivono • la struttura di alcuni insiemi dati, • le restrizioni sui valori ammissibili dei dati • le relazioni esistenti fra gli insiemi. • Lo schema va definito prima di creare i dati ed è indipendente dalle applicazioni che usano la base di dati.

  34. COS’E’ UNA BASE DATI I DATI • i dati, le rappresentazioni dei fatti conformi alle definizioni dello schema, con le seguenti caratteristiche: • sono organizzati in insiemi omogenei, fra i quali sono definite delle relazioni. • b) sono molti, in assoluto e rispetto ai metadati, e non possono essere gestiti in memoria temporanea; • c) sono permanenti, cioè, una volta creati, continuano ad esistere finché non sono esplicitamente rimossi; • d) sono accessibili mediante transazioni; • e) sono protetti sia da accesso da parte di utenti non autorizzati, sia da corruzione dovuta a malfunzionamenti hardware e software; • f) sono utilizzabili contemporaneamente da utenti diversi.

  35. DataBase Management System (DBMS) - I • Le caratteristiche delle basi di dati sono garantite da un sistema per la gestione di basi di dati (DBMS, Data Base Management System), che ha il controllo dei dati e li rende accessibili agli utenti autorizzati. • Un DBMS è un sistema centralizzato o distribuito che offre opportuni linguaggi • per definire lo schema della base di dati, • per scegliere le strutture dati per la memorizzazione dei dati, • per usare la base di dati interattivamente o da programmi.

  36. DataBase Management System (DBMS) - II • Un sistema di gestione di basi di dati è un sistema software in grado di gestire collezioni di dati che siano grandi, condivise e persistenti, assicurando la loro affidabilità e privatezza. • Un DBMS deve essere efficiente ed efficace. • Esempi di prodotti software disponibili sul mercato: Access, DB2, Oracle, Informix, Sybase, SQLServer

  37. I DATABASE SONO... • grandi • dimensioni (molto) maggiori della memoria centrale dei sistemi di calcolo utilizzati • il limite deve essere solo quello fisico dei dispositivi • persistenti • hanno un tempo di vita indipendente dalle singole esecuzioni dei programmi che le utilizzano • condivisi • ogni organizzazione è divisa in settori o comunque svolge diverse attività . Ciascun settore/attività ha un (sotto) sistema informativo (non necessariamente disgiunto) • Una base di dati e' una risorsa integrata, condivisa fra applicazioni • Conseguenze: • Attivita' diverse su dati condivisi: meccanismi di autorizzazione • Accessi di più utenti ai dati condivisi:controllo della concorrenza

  38. I DBMS GARANTISCONO… • PRIVATEZZA • Si possono definire meccanismi di autorizzazione • l'utente A è autorizzato a leggere tutti i dati e a modificare quelli sul ricevimento • l'utente B è autorizzato a leggere X e a modificare Y • AFFIDABILITA`(per le basi di dati): • resistenza a malfunzionamenti hardware e software • una base di dati è una risorsa pregiata e quindi deve essere conservata a lungo termine

  39. I DBMS DEVONO ESSERE … • EFFICIENTI • Cercano di utilizzare al meglio le risorse di spazio di memoria (principale e secondaria) e tempo (di esecuzione e di risposta) • I DBMS, con tante funzioni, rischiano l'inefficienza e per questo ci sono grandi investimenti e competizione • L’efficienza è anche il risultato della qualità delle applicazioni • EFFICACI • Cercano di rendere produttive le attività dei loro utilizzatori, offrendo funzionalità articolate, potenti e flessibili: • il corso è in buona parte dedicato ad illustrare come i DBMS perseguono l'efficacia

  40. FUNZIONALITA’ DEI DBMS Un DBMS offre specifiche funzionalità per i seguenti scopi: – definizione di basi di dati; – uso dei dati; – controllo dei dati; – amministrazione della base di dati; – distribuzione dei dati.

  41. Livello esterno Livello esterno Livello esterno Livello logico Livello interno database ARCHITETTURA STANDARD - I utente utente utente utente utente

  42. LINGUAGGI PER DATABASE • Un altro contributo all’efficacia: disponibilità di vari linguaggi e interfacce linguaggi testuali interattivi (SQL)  comandi (SQL) immersi in un linguaggio ospite (Pascal, Java, C ...)  comandi (SQL) immersi in un linguaggio ad hoc, con anche altre funzionalità (p.es. per grafici o stampe strutturate) con interfacce amichevoli (senza linguaggio testuale)

  43. Controllo dei dati • Una caratteristica molto importante dei DBMS è il tipo di meccanismi offerti per garantire le seguenti proprietà di una base di dati: • integrità • affidabilità • sicurezza

  44. TRANSAZIONI (PER L‘UTENTE) • Esempi: • versamento presso uno presso sportello bancario • emissione di certificato anagrafico • dichiarazione presso l’ufficio di stato civile • prenotazione aerea • Due accezioni • Per l'utente: • programma a disposizione, da eseguire per realizzare una funzione di interesse • Per il sistema: • sequenza indivisibile di operazioni

  45. Sistemi per il recupero delle informazioni VISTE

  46. Viste • Rappresentazioni diverse per gli stessi dati (schema esterno) • Relazioni di base: contenuto autonomo • Relazioni derivate: • relazioni il cui contenuto è funzione del contenuto di altre relazioni (definito per mezzo di interrogazioni) • Le relazioni derivate possono essere definite su altre derivate • Due tipi di relazioni derivate: • viste materializzate • relazioni virtuali (o viste)

  47. Viste materializzate e virtuali • relazioniderivate memorizzate nella base di dati • vantaggi: • immediatamente disponibili per le interrogazioni • svantaggi: • ridondanti • appesantiscono gli aggiornamenti • sono raramente supportate dai DBMS • relazioni virtuali (o viste): • sono supportate dai DBMS (tutti) • una interrogazione su una vista viene eseguita "ricalcolando" la vista (o quasi)

  48. Impiegato Reparto Reparto Capo Rossi A A Mori Afferenza Direzione Neri B B B Bruni Bruni Bianchi Bianchi B B Viste, esempio • una vista: Supervisione = PROJ Impiegato, Capo (Afferenza JOIN Direzione)

  49. Viste, motivazioni • Schema esterno: ogni utente vede solo • ciò che gli interessa e nel modo in cui gli interessa, senza essere distratto dal resto • ciò che e' autorizzato a vedere (autorizzazioni) • Strumento di programmazione: • si può semplificare la scrittura di interrogazioni: espressioni complesse e sottoespressioni ripetute • L'utilizzo di viste non influisce sull'efficienza delle interrogazioni

  50. Impiegato Reparto Rossi A Reparto Capo Neri Neri Neri B B B A Mori B B B B B Bruni Bruni Bruni Bruni Bruni Verdi A B B B B C Bruni Bruni Bruni Bruni Bruni Supervisione Impiegato Capo Rossi Rossi Rossi Mori Mori Mori Neri Neri Neri Bruni Bruni Bruni Bruni Bruni Verdi Mori Viste e aggiornamenti, attenzione Afferenza Direzione • Vogliamo inserire, nella vista, il fatto che Lupi ha come capo Bruni; oppure che Belli ha come capo Falchi; come facciamo?

More Related