Basi di Dati - sara.unisalento.itsara.unisalento.it/~mirto/beniculturali/page3/files/15... ·...

18
Basi di Dati Concetti e Principi Generali Maria Mirto

Transcript of Basi di Dati - sara.unisalento.itsara.unisalento.it/~mirto/beniculturali/page3/files/15... ·...

Page 1: Basi di Dati - sara.unisalento.itsara.unisalento.it/~mirto/beniculturali/page3/files/15... · Organizzazione dei Dati Sistema di gestione di Basi di Dati Data Base Management System

Basi di Dati

Concetti e

Principi Generali Maria Mirto

Page 2: Basi di Dati - sara.unisalento.itsara.unisalento.it/~mirto/beniculturali/page3/files/15... · Organizzazione dei Dati Sistema di gestione di Basi di Dati Data Base Management System

Organizzazione dei Dati

  Archivi o file •  Procedure di accesso in qualunque

linguaggio di programmazione •  Duplicazione dati:

ridondanza incoerenza formati diversi dei dati

Page 3: Basi di Dati - sara.unisalento.itsara.unisalento.it/~mirto/beniculturali/page3/files/15... · Organizzazione dei Dati Sistema di gestione di Basi di Dati Data Base Management System

Organizzazione dei Dati

  Sistema di gestione di Basi di Dati Data Base Management System (DBMS) •  Ha un proprio linguaggio basato su un

proprio Modello di dati •  Evita ridondanza e incoerenza

Base di Dati = Insieme di dati gestiti da un DBMS. E’ una raccolta di dati logicamente correlati e progettati per essere fruiti in maniera ottimizzata da differenti applicazioni e/o utenti.

Page 4: Basi di Dati - sara.unisalento.itsara.unisalento.it/~mirto/beniculturali/page3/files/15... · Organizzazione dei Dati Sistema di gestione di Basi di Dati Data Base Management System

DBMS Basi di Dati:

•  Grandi •  Condivise (no ridondanza)

  DBMS garantisce: •  Persistenza e consistenza: Tempo di vita delle informazioni

non limitato. Gestire l’accesso concorrente. •  Affidabilità: consentire l’accesso ai dati sempre •  Privatezza e sicurezza: contro eventi accidentali o interventi

non autorizzati •  Efficienza: ottimizzato in tempo, spazio •  Efficacia: deve essere in grado di rendere produttive e

semplici le attività richieste dagli utenti •  Integrità dei dati •  Supporto alle transazioni

Page 5: Basi di Dati - sara.unisalento.itsara.unisalento.it/~mirto/beniculturali/page3/files/15... · Organizzazione dei Dati Sistema di gestione di Basi di Dati Data Base Management System

Schema BD Descrizione dell’organizzazione dei dati

•  Invariante nel tempo (salvo riorganizzazione)

  Livelli di astrazione •  Schema esterno (Vista): Livello nel quale operano gli

utenti attraverso la propria personale “vista” esterna del database (predisposta dal DBA Data Base Administrator).

•  Schema logico: Livello all’interno del quale viene definito l ’ intero schema dei dati (schema relazionale) indipendente dalla realizzazione fisica.

•  Schema fisico: implementazione schema logico

Page 6: Basi di Dati - sara.unisalento.itsara.unisalento.it/~mirto/beniculturali/page3/files/15... · Organizzazione dei Dati Sistema di gestione di Basi di Dati Data Base Management System

Linguaggi   Schema esterno (Vista)

  DML (Data Manipulation Language) consente agli utenti di interrogare, inserire, cancellare e modificare la base di dati.

  Schema logico:   DDL (Data Definition Language) viene utilizzato per definire le

caratteristiche e le corrispondenze delle varie categorie presenti.

  DCL (Data Control Language) permette operazioni relative al controllo degli accessi.

  Schema fisico: implementazione schema logico   DMCL (Data Media Control Language)

Page 7: Basi di Dati - sara.unisalento.itsara.unisalento.it/~mirto/beniculturali/page3/files/15... · Organizzazione dei Dati Sistema di gestione di Basi di Dati Data Base Management System

Istanza BD   Definita su un dato schema   Insieme dei valori effettivi dei dati

  Cambia nel tempo •  Inserzione •  Cancellazione •  Modifica

Page 8: Basi di Dati - sara.unisalento.itsara.unisalento.it/~mirto/beniculturali/page3/files/15... · Organizzazione dei Dati Sistema di gestione di Basi di Dati Data Base Management System

Indipendenza dei dati

L’utente interagisce con il DB •  A un certo livello di astrazione •  Senza bisogno di conoscere i livelli

sottostanti •  Che possono essere modificati

Page 9: Basi di Dati - sara.unisalento.itsara.unisalento.it/~mirto/beniculturali/page3/files/15... · Organizzazione dei Dati Sistema di gestione di Basi di Dati Data Base Management System

Indipendenza dei dati

  Indipendenza logica •  Interazione con il livello esterno •  Senza conoscere schema logico

  Indipendenza fisica •  Interazione con il livello logico •  Senza conoscere schema fisico

(allocazione dei dati su )

Page 10: Basi di Dati - sara.unisalento.itsara.unisalento.it/~mirto/beniculturali/page3/files/15... · Organizzazione dei Dati Sistema di gestione di Basi di Dati Data Base Management System

Modello dei Dati   Insieme di concetti è un’insieme di

concetti e di costrutti per organizzare i dati di interesse e descriverne la struttura e la dinamica (associazioni e vincoli che devono rispettare) •  Descrizione dei Dati •  Organizzazione dei Dati

  Modello dei dati ⇒ meccanismi di strutturazione

Page 11: Basi di Dati - sara.unisalento.itsara.unisalento.it/~mirto/beniculturali/page3/files/15... · Organizzazione dei Dati Sistema di gestione di Basi di Dati Data Base Management System

Progettazione DB   Modello concettuale dei dati: permette di

rappresentare i concetti (dati), indipendentemente dall’implementazione. Uno dei più noti è il Modello E-R (Entità-Relazione).

  Model lo log ico : Pur essendo ancora una rappresentazione astratta dei dati riflette già di una particolare organizzazione. Descrive l’organizzazione dei dati con l’influenza del tipo di implementazione fisica definitiva (Gerarchico, Reticolare, Relazionale, ad oggetti)

  Modello fisico: allocazione sui dispositivi

Page 12: Basi di Dati - sara.unisalento.itsara.unisalento.it/~mirto/beniculturali/page3/files/15... · Organizzazione dei Dati Sistema di gestione di Basi di Dati Data Base Management System

Modello dei Dati   Modelli principali: (Logici)

•  Gerarchico ⇒ alberi •  Reticolare ⇒ grafi •  Relazionale ⇒ relazioni •  A oggetti ⇒ relazioni più oggetti

  Modelli concettuali: descrizione di alto livello dei dati indipendente

dal modello logico E – R ≡ Entity – Relationship

Page 13: Basi di Dati - sara.unisalento.itsara.unisalento.it/~mirto/beniculturali/page3/files/15... · Organizzazione dei Dati Sistema di gestione di Basi di Dati Data Base Management System

Progettazione DB

Page 14: Basi di Dati - sara.unisalento.itsara.unisalento.it/~mirto/beniculturali/page3/files/15... · Organizzazione dei Dati Sistema di gestione di Basi di Dati Data Base Management System

Linguaggi per Basi di Dati

Data Definition Language (DDL) •  Definizione schemi •  Definizione autorizzazioni di

accesso

Page 15: Basi di Dati - sara.unisalento.itsara.unisalento.it/~mirto/beniculturali/page3/files/15... · Organizzazione dei Dati Sistema di gestione di Basi di Dati Data Base Management System

Linguaggi per Basi di Dati Data Manipulation Language (DML)   Aggiornamento istanze DB

•  Inserzione •  Cancellazione •  Modifica

  Estrazione informazioni da DB Interrogazione ≡ Query DML ≡ Query Language SQL ≡ DDL + DML

Page 16: Basi di Dati - sara.unisalento.itsara.unisalento.it/~mirto/beniculturali/page3/files/15... · Organizzazione dei Dati Sistema di gestione di Basi di Dati Data Base Management System

Linguaggi per Basi di Dati

  Classi di Linguaggi: •  Interattivi testuali •  Interattivi grafici •  Immersi in altri linguaggi di

programmazione

Page 17: Basi di Dati - sara.unisalento.itsara.unisalento.it/~mirto/beniculturali/page3/files/15... · Organizzazione dei Dati Sistema di gestione di Basi di Dati Data Base Management System

Linguaggi per Basi di Dati   Interazione con Basi di Dati

•  Progettisti e programmatori •  Amministratore DB Administrator (DBA)

Progetto Controllo Amministrazione

•  Utenti finali: utilizzano frequentemente la BD

con query predefinite casuali: query non predefinite

Page 18: Basi di Dati - sara.unisalento.itsara.unisalento.it/~mirto/beniculturali/page3/files/15... · Organizzazione dei Dati Sistema di gestione di Basi di Dati Data Base Management System

Linguaggi per basi di dati •  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)