Introduzione alle Basi di Dati Angelo Chianese, Vincenzo Moscato, Antonio Picariello, Lucio Sansone Basi di dati per la gestione dell'informazione 2/ed McGraw-Hill Capitolo 1 Appunti dalle lezioni
SQL come DDL Sistemi informativi e basi di dati La Progettazione Concettuale SQL come DML Il modello relazionale La Progettazione Logica SQL come DCL Utilizzo di un DBMS Reale La Progettazione Fisica Strumenti CASE Forme normali Programmazione Transazioni e tecnologie di supporto Basi di dati direzionali Basi di dati distribuite 2 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it Introduzione alle basi di dati
Sistemi Informativi L'informazione rappresenta uno dei beni più preziosi di una qualsiasi organizzazione. E una risorsa particolare che tende ad accrescersi. Processo aziendale Sequenza di attività aziendali finalizzate alla realizzazione di un prodotto o servizio che coinvolge più risorse : materiali, organizzative, informative. Sistema informativo (definizione informale) Insieme di componenti necessari per gestire le informazioni dei processi aziendali 3 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it Introduzione alle basi di dati
Componenti Patrimonio di dati materia grezza con cui si producono informazioni Insieme di procedure per acquisizione, trattamento, produzione informazioni Insieme di risorse umane che sovraintendono alle procedure Insieme di mezzi e strumenti per l archiviazione l ed il trattamento di informazioni 4 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it Introduzione alle basi di dati
Sistema Informativo In maniera formale: un sistema informativo è l insieme delle componenti di un organizzazione destinato alla Acquisizione Archiviazione Elaborazione Trasmissione dell informazione secondo quando prescritto prescritto dalle attività (funzioni) del processi aziendali per la realizzazione del prodotto o del servizio. 5 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it Introduzione alle basi di dati
Sistema Informatico Un sistema informatico è la tecnologia a supporto del sistema informativo: Macchine hardware; Programmi software; Banche di dati e sistemi di gestione; Reti di comunicazione. Secondo una definizione alternativa, considerata spesso equivalente, un sistema informatico è la parte automatizzata di un sistema informativo. 6 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it Introduzione alle basi di dati
Informazione vs. Dato Informazione <=> notizia che consente di avere conoscenza (più o meno esatta) di fatti. Dato <=> ciò che è immediatamente presente alla conoscenza, senza elaborazione. Esempio: la stringa (i dati) Mario Rossi 25576 non ha significato. Se la ricevo in risposta alla domanda Chi e il capo del personale e quale e il suo numero di telefono? allora i dati diventano informazione 7 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it Introduzione alle basi di dati
BASI DI DATI Una prima definizione di Base di Dati (DB, database) insieme (collezione) di dati usati per rappresentare le informazioni di interesse in un certo contesto. Tipicamente, le basi di dati hanno caratteristiche più stabili rispetto alle procedure che operano su di essi. L approccio convenzionale alla gestione di DB sfrutta la presenza di files per memorizzare sulle memorie di massa. 8 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it Introduzione alle basi di dati
BASI DI DATI Un file consente di memorizzare e cercare dati, ma fornisce (ad esempio) solo meccanismi molto rozzi per l accesso e la condivisione Usando l approccio convenzionale i dati sono logicamente privati. Dati di interesse per più applicazioni devono allora essere replicati, con problemi di ridondanza ed incoerenza. I sistemi di gestione della basi dati nascono, in buona misura, per superare questi ed altri problemi. 9 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it Introduzione alle basi di dati
DBMS Un Data Base Management System (DBMS, Sistema di Gestione di Basi Dati) nasce con l intento di gestire DB: Grandi, Condivisi e Persistenti garantendo la loro Affidabilità e Privatezza con Efficienza ed Efficacia. Basi di Dati <=> collezione di dati gestita da un DBMS. 10 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it Introduzione alle basi di dati
Modelli dei Dati Un modello dei dati è un insieme di concetti utilizzati per organizzare i dati di interesse e descriverne la struttura in modo che essa sia comprensibile ad un elaboratore. Ogni modello fornisce meccanismi di strutturazione (<=> costruttori di tipo dei linguaggi tradizionali) che permettono di costruire nuovi tipi sulla base di tipi elementari predefiniti. 11 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it Introduzione alle basi di dati
Modelli dei Dati (continua) Modello Gerarchico Anni 60: dati organizzati in alberi Modello Reticolare Anni 70: dati organizzati in grafi Modello Relazionale Definito all inizio degli anni 70, prime implementazioni fine anni 70; struttura tabellare Attualmente è il più diffuso ed il più consolidato. Permette di definire tipi attraverso il concetto di relazione, organizzando i dati in record di lunghezza fissa. Una relazione è tipicamente rappresentata attraverso una tabella. Modelli ad Oggetti Object oriented: dati organizzati in oggetti oggetti Object relational: tabella generalizzata 12 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it Introduzione alle basi di dati
Modelli dei Dati (continua) I modelli citati sono effettivamente disponibili su DBMS commerciali. Essi vengono allora detti logici per enfatizzare che le strutture dati usate sono, nella loro astrattezza, immagine di una particolare organizzazione. I modelli di dati concettuali, invece, sono utilizzati per descrivere i dati e le informazioni di interesse in maniera indipendente dal modello logico (e cioè dal DBMS) che verrà poi utilizzato nella fase realizzativa. 13 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it Introduzione alle basi di dati
Schemi e Istanze Nei DB esiste una parte che è sostanzialmente invariante nel tempo (schema della basi di dati) ed un parte variabile nel tempo (istanza o stato della base di dati). Si dice che lo schema è la parte intensionale mentre l istanza è la componente estensionale di una base di dati. 14 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it Introduzione alle basi di dati
Livelli di Astrazione di un DBMS Esiste una proposta di architettura standardizzata per DBMS articolata su 3 livelli (logico, interno ed esterno) per ciascuno dei quali esiste un schema: Schema logico Schema interno Schema esterno 15 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it Introduzione alle basi di dati
Indipendenza dei Dati Indipendenza dei dati Mediante la definizione a livelli è possibile ottenere che le applicazioni siano indipendenti dal modo in cui i dati sono organizzati. Indipendenza logica dei dati: Attraverso il meccanismo delle viste le applicazioni possono essere rese indipendenti dallo schema logico della base dei dati Indipendenza fisica dei dati: Attraverso lo schema logico si è garantiti dalla differente implementazione fisica dei dati 16 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it Introduzione alle basi di dati
Linguaggi per DB Su un DBMS è possibile ovviamente specificare operazioni attraverso linguaggi: DDL (Data Definition Language) utilizzati per la definizione di schemi. DML (Data Manipulation Language) utilizzati per interrogazioni ed aggiornamenti. DCL (Data Control Language) utilizzati per definire utenti e privilegi. Alcuni linguaggi (SQL) integrano le varie funzionalità. 17 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it Introduzione alle basi di dati
Accesso ai Dati L accesso ai dati può avvenire tramite: Linguaggi testuali interattivi. Comandi immersi in linguaggi tradizionali Comandi simili a quelli interattivi immersi in linguaggi/ambienti di sviluppo ad hoc. Interfacce amichevoli. 18 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it Introduzione alle basi di dati
Utenti di un DBMS Amministratore del DB: responsabile delle progettazione, del controllo e della amministrazione. Progettisti e realizzatori di applicazioni, che definiscono ed implementano i programmi che accedono al DB. Utenti: terminalisti: utilizzano programmi che realizzano attività standard predefinite casuali: in grado di utilizzare DML che realizzano navigazioni non standard. 19 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it Introduzione alle basi di dati
Vantaggi di un DBMS Permettono di vedere i dati come una risorsa comune a disposizione di tutti gli aventi diritto. Controllo centralizzato dei dati. Si riducono ridondanze e inconsistenze. Indipendenza dei dati 20 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it Introduzione alle basi di dati
Svantaggi di un DBMS Costo (hw, sw, competenze) Non tutti i servizi offerti da un DBMS sono necessari 21 AA 2010-2011, Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it Introduzione alle basi di dati