Basi di Dati - Università del Salento

Basi di Dati
Concetti
e
Principi Generali
Maria Mirto
Organizzazione dei Dati
 Archivi o file
• Procedure di accesso in qualunque
linguaggio di programmazione
• Duplicazione dati:
ridondanza
incoerenza
formati diversi dei dati
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.
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
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
Linguaggi
 Schema esterno (Vista)
  Schema logico:
   DML (Data Manipulation Language) consente agli utenti di
interrogare, inserire, cancellare e modificare la base di dati.
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)
Istanza BD
 Definita su un dato schema
 Insieme dei valori effettivi dei dati
 Cambia nel tempo
• Inserzione
• Cancellazione
• Modifica
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
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
)
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
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).
 M o d e l l o l o g i c o :
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
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
Progettazione DB
Linguaggi per Basi di Dati
Data Definition Language (DDL)
• Definizione schemi
• Definizione autorizzazioni di
accesso
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
Linguaggi per Basi di Dati
 Classi di Linguaggi:
• Interattivi testuali
• Interattivi grafici
• Immersi in altri linguaggi di
programmazione
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
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)