DBMS (DataBase Management System) Sistemi di gestione di basi di dati.

28
DBMS DBMS (DataBase Management (DataBase Management System) System) Sistemi di gestione di basi di dati Sistemi di gestione di basi di dati

Transcript of DBMS (DataBase Management System) Sistemi di gestione di basi di dati.

Page 1: DBMS (DataBase Management System) Sistemi di gestione di basi di dati.

DBMS DBMS (DataBase Management (DataBase Management

System)System)Sistemi di gestione di basi di datiSistemi di gestione di basi di dati

Page 2: DBMS (DataBase Management System) Sistemi di gestione di basi di dati.

DBMSDBMSUn Database Management System è un Un Database Management System è un sistema software progettato per sistema software progettato per consentire la creazione e manipolazione consentire la creazione e manipolazione efficiente di database (collezioni di dati efficiente di database (collezioni di dati strutturati) solitamente da parte di più strutturati) solitamente da parte di più utenti. utenti.

I DBMS svolgono un ruolo fondamentale I DBMS svolgono un ruolo fondamentale in numerose applicazioni informatiche in numerose applicazioni informatiche ……

WikipediaWikipedia

Page 3: DBMS (DataBase Management System) Sistemi di gestione di basi di dati.

DataBaseDataBaseIn informatica, il termine database (banca dati, In informatica, il termine database (banca dati, base di dati) indica un archivio, strutturato in base di dati) indica un archivio, strutturato in modo tale da consentire la gestione dei dati modo tale da consentire la gestione dei dati stessi (l'inserimento, la ricerca, la stessi (l'inserimento, la ricerca, la cancellazione ed il loro aggiornamento) da cancellazione ed il loro aggiornamento) da parte di applicazioni software.parte di applicazioni software.

Informalmente e impropriamente, la parola Informalmente e impropriamente, la parola "database" viene spesso usata come "database" viene spesso usata come abbreviazione dell'espressione Database abbreviazione dell'espressione Database Management System (DBMS), che si riferisce a Management System (DBMS), che si riferisce a una vasta categoria di sistemi software che una vasta categoria di sistemi software che consentono la creazione e la manipolazione consentono la creazione e la manipolazione efficiente di database.efficiente di database.

WikipediaWikipedia

Page 4: DBMS (DataBase Management System) Sistemi di gestione di basi di dati.

Esempi di Esempi di databasedatabase

Schede dei libri in una bibliotecaSchede dei libri in una biblioteca

Elenco telefonicoElenco telefonico

Elenco libriElenco libri

Raccolta ricetteRaccolta ricette

Elenco FilmElenco Film

Dati AnagrafeDati Anagrafe

Page 5: DBMS (DataBase Management System) Sistemi di gestione di basi di dati.

DBMS DBMS ponte fra utenti (applicazioni e ponte fra utenti (applicazioni e

dati)dati)

DBMSDBMS

Page 6: DBMS (DataBase Management System) Sistemi di gestione di basi di dati.

Alcuni esempi di Alcuni esempi di DBMSDBMS

Commerciali (fascia alta)Commerciali (fascia alta)Oracle, Microsoft SQL ServerOracle, Microsoft SQL Server

Commerciali fascia bassaCommerciali fascia bassaMicrosoft Access, FileMakerMicrosoft Access, FileMaker

Open SourceOpen SourceMySQL, PostgreSQLMySQL, PostgreSQL

Page 7: DBMS (DataBase Management System) Sistemi di gestione di basi di dati.

Microsoft AccessMicrosoft AccessMicrosoft Access è un Database Microsoft Access è un Database Management System basato sul modello Management System basato sul modello relazionale realizzato da Microsoft, relazionale realizzato da Microsoft, incluso nel pacchetto Microsoft Office incluso nel pacchetto Microsoft Office Professional ed unisce il motore Professional ed unisce il motore relazionale Microsoft Jet Database relazionale Microsoft Jet Database Engine con una interfaccia grafica.Engine con una interfaccia grafica.

Ultima versione Access 2010Ultima versione Access 2010

Versione più diffusa Access 2003Versione più diffusa Access 2003

Page 8: DBMS (DataBase Management System) Sistemi di gestione di basi di dati.

DBMS RelazionaleDBMS RelazionaleI dati sono organizzati in tabelleI dati sono organizzati in tabelle

Una tabella è una raccolta di informazioni Una tabella è una raccolta di informazioni omogenee (relative a un insieme di dati che omogenee (relative a un insieme di dati che riguardano uno stesso argomento).riguardano uno stesso argomento).

Una tabella è caratterizzata Una tabella è caratterizzata Da un insieme di colonne (attributi)Da un insieme di colonne (attributi)

Da un insieme di righe (record) valori degli Da un insieme di righe (record) valori degli attributiattributi

Page 9: DBMS (DataBase Management System) Sistemi di gestione di basi di dati.

TabellaTabella

Page 10: DBMS (DataBase Management System) Sistemi di gestione di basi di dati.

Record e campiRecord e campiUna tabella è Una tabella è organizzata in righe e organizzata in righe e colonne.colonne.

Ogni riga rappresenta Ogni riga rappresenta un record, un insieme un record, un insieme di informazioni.di informazioni.

Ogni colonna Ogni colonna rappresenta un rappresenta un campo, un elemento campo, un elemento specifico di specifico di informazione.informazione.

Page 11: DBMS (DataBase Management System) Sistemi di gestione di basi di dati.

Una base di dati relazionale Una base di dati relazionale è formata da un insieme di tabelle è formata da un insieme di tabelle

collegate fra lorocollegate fra loro

Page 12: DBMS (DataBase Management System) Sistemi di gestione di basi di dati.

Progettazione di Progettazione di un databaseun database

In fase di progettazione ci si preoccupa In fase di progettazione ci si preoccupa della struttura dei dati, non del valore della struttura dei dati, non del valore dei datidei dati

Vengono definite le tabelle specificando Vengono definite le tabelle specificando quali sono gli attributi (le colonne)quali sono gli attributi (le colonne)

Per ogni attributo viene definito il nome Per ogni attributo viene definito il nome e il tipo dei dati che può conteneree il tipo dei dati che può contenere

Page 13: DBMS (DataBase Management System) Sistemi di gestione di basi di dati.

I database più I database più semplicisemplici

Flat DatabaseFlat DatabaseSono organizzati in una sola tabella che Sono organizzati in una sola tabella che contiene tutte le informazionicontiene tutte le informazioni

Solo per situazioni di estreme Solo per situazioni di estreme semplicitàsemplicità

Page 14: DBMS (DataBase Management System) Sistemi di gestione di basi di dati.

Operazioni Operazioni fondamentali su un fondamentali su un

DatabaseDatabaseInserimento dati.Inserimento dati.

Modifica dati.Modifica dati.

Cancellazione dati.Cancellazione dati.

Interrogazione: recupero dei dati, in Interrogazione: recupero dei dati, in base a determinati criteri.base a determinati criteri.

Stampa delle informazioni.Stampa delle informazioni.

Page 15: DBMS (DataBase Management System) Sistemi di gestione di basi di dati.

Access: gli Access: gli oggetti principalioggetti principali

Tabelle Tabelle (contengono le informazioni)(contengono le informazioni)

Query Query (permettono di estrarre informazioni da una più (permettono di estrarre informazioni da una più tabelle)tabelle)

Maschere Maschere (facilitano inserimento e modifica delle informazioni)(facilitano inserimento e modifica delle informazioni)

ReportReport(stampa delle informazioni)(stampa delle informazioni)

PaginePagineMacroMacroModuliModuli

Un database Access è memorizzato in un file .mdb Un database Access è memorizzato in un file .mdb (.accdb) che contiene tabelle, query, maschere …(.accdb) che contiene tabelle, query, maschere …

Page 16: DBMS (DataBase Management System) Sistemi di gestione di basi di dati.

TabelleTabelleVisualizzazione StrutturaVisualizzazione Struttura

(creare una tabella; aggiungere, (creare una tabella; aggiungere, eliminare, modificare i campi)eliminare, modificare i campi)

Visualizzazione Foglio DatiVisualizzazione Foglio Dati(visualizzare, ordinare, filtrare, (visualizzare, ordinare, filtrare, aggiungere, cancellare, modificare i dati)aggiungere, cancellare, modificare i dati)

Page 17: DBMS (DataBase Management System) Sistemi di gestione di basi di dati.

I campi delle I campi delle tabelletabelle

I campi possono essere di vario tipo:I campi possono essere di vario tipo:Stringhe (testi brevi)Stringhe (testi brevi)

Numeri (con o senza la virgola)Numeri (con o senza la virgola)

Date ed orariDate ed orari

Booleani (informazioni si/no)Booleani (informazioni si/no)

TestiTesti

Immagini, pagine web, suoni…Immagini, pagine web, suoni…

Page 18: DBMS (DataBase Management System) Sistemi di gestione di basi di dati.

Chiave primariaChiave primariaÈ il campo (o più campi) che identifica in È il campo (o più campi) che identifica in modo univoco ciascun record della modo univoco ciascun record della tabella.tabella.

Se in una tabella un campo è definito Se in una tabella un campo è definito come chiave primaria, significa che in come chiave primaria, significa che in quella tabella non ci possono essere due quella tabella non ci possono essere due record con lo stesso valore in quel campo.record con lo stesso valore in quel campo.

Spesso si usa una chiave primaria Spesso si usa una chiave primaria artificale (ID, codice) di tipo contatore in artificale (ID, codice) di tipo contatore in autoincremento.autoincremento.

Page 19: DBMS (DataBase Management System) Sistemi di gestione di basi di dati.

Esercitazione: Esercitazione: Creazione di una Creazione di una

tabellatabellaEsercitazione:Esercitazione:

Creare un database di nome CinemaCreare un database di nome Cinema

Creare una tabella di nome FilmCreare una tabella di nome Film

Definire i campi:Definire i campi:Titolo (testo 50 caratteri)Titolo (testo 50 caratteri)

Regia (testo 30 caratteri)Regia (testo 30 caratteri)

Anno (numerico intero)Anno (numerico intero)

Inserire nella tabella 5 filmInserire nella tabella 5 film

Page 20: DBMS (DataBase Management System) Sistemi di gestione di basi di dati.

QueryQueryLe query sono usate perLe query sono usate per

visualizzarevisualizzare

ricercarericercare

modificare i dati.modificare i dati.

Query di selezioneQuery di selezioneLa query di selezione recupera i dati che La query di selezione recupera i dati che corrispondono al criterio di selezione da corrispondono al criterio di selezione da una o più tabelle, quindi li visualizza una o più tabelle, quindi li visualizza nell'ordine desiderato.nell'ordine desiderato.

Page 21: DBMS (DataBase Management System) Sistemi di gestione di basi di dati.

Esercitazione: Esercitazione: Creazione di una queryCreazione di una query

Dal database CinemaDal database Cinema

Creare una query per selezionare i titoli Creare una query per selezionare i titoli dei film di questdei film di quest’’annoanno

Creare una query che visualizza seleziona Creare una query che visualizza seleziona i film del regista i film del regista ““Alfred HitchcockAlfred Hitchcock””, e li , e li visualizza ordinati per titolovisualizza ordinati per titolo

Creare una query che visualizza i film di Creare una query che visualizza i film di un anno e li visualizza in ordine di regista un anno e li visualizza in ordine di regista e titolo e titolo

Page 22: DBMS (DataBase Management System) Sistemi di gestione di basi di dati.

MaschereMaschereLe maschere disegnano le interfacce Le maschere disegnano le interfacce utente con cui interagire con I dati utente con cui interagire con I dati archiviati.archiviati.

Esistono vari tipi di maschereEsistono vari tipi di maschere

Maschera standard: basata su una sola Maschera standard: basata su una sola tabella o query.tabella o query.

È possibile attivare la procedura di È possibile attivare la procedura di creazione automatica.creazione automatica.

È modificabile in Visualizzazione Struttura.È modificabile in Visualizzazione Struttura.

Page 23: DBMS (DataBase Management System) Sistemi di gestione di basi di dati.

Esercitazione: Esercitazione: Creazione maschereCreazione maschereCreare una maschera per lCreare una maschera per l’’inserimento inserimento dei dati nella tabella Filmdei dati nella tabella Film

Creare una maschera per la ricerca dei Creare una maschera per la ricerca dei dati mediante la query che seleziona i dati mediante la query che seleziona i film di un regista.film di un regista.

Page 24: DBMS (DataBase Management System) Sistemi di gestione di basi di dati.

ReportReportI report consentono di stampare i dati I report consentono di stampare i dati

I report possono essere mostrati a video, I report possono essere mostrati a video, inviati ad una stampane, importati in un inviati ad una stampane, importati in un altro programma (es. Word), spediti via e-altro programma (es. Word), spediti via e-mail …mail …

È possibile utilizzare la procedura di È possibile utilizzare la procedura di autocomposizione report.autocomposizione report.

Il report standard può essere di due tipi.Il report standard può essere di due tipi.A colonne: ciascun campo viene visualizzato A colonne: ciascun campo viene visualizzato in una riga separata.in una riga separata.Tabellare: i campi contenuti in ciascun record Tabellare: i campi contenuti in ciascun record vengono visualizzati su unvengono visualizzati su un’’unica rigaunica riga

Page 25: DBMS (DataBase Management System) Sistemi di gestione di basi di dati.

Esercitazione: Esercitazione: Creazione ReportCreazione ReportCreare report per la tabella Film e per le Creare report per la tabella Film e per le query realizzate precedentementequery realizzate precedentemente

Page 26: DBMS (DataBase Management System) Sistemi di gestione di basi di dati.

Chiavi primarie e Chiavi primarie e relazionirelazioni

Per poter stabilire una associazione tra Per poter stabilire una associazione tra i campi comuni di due o più tabelle è i campi comuni di due o più tabelle è necessario istituire una relazione.necessario istituire una relazione.

In una relazione, per fare riferimento ai In una relazione, per fare riferimento ai record contenuti in una tabella che record contenuti in una tabella che siano in correlazione con quelli di siano in correlazione con quelli di unun’’altra tabella, viene utilizzata la altra tabella, viene utilizzata la chiave primaria.chiave primaria.

Page 27: DBMS (DataBase Management System) Sistemi di gestione di basi di dati.

Impostare una Impostare una relazionerelazione

Per impostare una relazione, fare clic su Per impostare una relazione, fare clic su Strumenti/Relazioni.Strumenti/Relazioni.

Aggiungere le tabelle che si desidera Aggiungere le tabelle che si desidera collegare con il pulsante Aggiungi collegare con il pulsante Aggiungi tabella.tabella.

Trascinare il campo Trascinare il campo ““chiave esternachiave esterna”” di di una tabella sul campo una tabella sul campo ““chiave primariachiave primaria”” delldell’’altra tabella.altra tabella.

Esempio: creazione della relazione fra Esempio: creazione della relazione fra Film e Generi.Film e Generi.

Page 28: DBMS (DataBase Management System) Sistemi di gestione di basi di dati.

Tipi di relazioniTipi di relazionirelazione uno a moltirelazione uno a molti

A un record della tabella A possono corrispondere A un record della tabella A possono corrispondere molti record nella tabella B, ma a un record della molti record nella tabella B, ma a un record della tabella B può corrispondere un solo record nella tabella B può corrispondere un solo record nella tabella Atabella AEs. Regioni - ProvincieEs. Regioni - Provincie

relazione uno a unorelazione uno a unoA un record della tabella A può corrispondere un A un record della tabella A può corrispondere un solo record nella tabella B, e a un record della solo record nella tabella B, e a un record della tabella B può corrispondere un solo record nella tabella B può corrispondere un solo record nella tabella Atabella AEs. Città - SindacoEs. Città - Sindaco

relazione molti a moltirelazione molti a moltiA un record della tabella A possono corrispondere A un record della tabella A possono corrispondere molti record nella tabella B, a un record della molti record nella tabella B, a un record della tabella B possono corrispondere molti record tabella B possono corrispondere molti record nella tabella Anella tabella AEs. Docenti - StudentiEs. Docenti - Studenti