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.
Basi di Dati: Grandi DBMS 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) 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)
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). Modello logico: 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)