Upload
lazzaro-martino
View
242
Download
3
Embed Size (px)
Citation preview
11 April 2023 - slide 2Corso Di Basi di Dati
Sistema Informatico porzione automatizzata del sistema informativoil sistema informatico è la parte del sistema informativo che gestisce informazioni per mezzo della tecnologia informatica.
Sistema azienda
Sistema organizzativo
Sistema informativo
Sistema informatico
11 April 2023 - slide 3Corso Di Basi di Dati
Gestione delle informazioni Nelle attività umane, le informazioni vengono gestite (registrate e scambiate) in forme diverse, a seconda delle necessità e capacità:
idee informali linguaggio naturale (scritto o parlato, formale o colloquiale, in
una lingua o in un’altra) disegni, grafici, schemi numeri codici (anche segreti)
e su vari supporti, dalla memoria umana alla cartaOgni organizzazione ha bisogno di memorizzare e mantenere informazioni specifiche. Per esempio:
Utenze telefoniche Conti correnti bancari Studenti iscritti a un corso di laurea Quotazioni di azioni nei mercati telematici
11 April 2023 - slide 4Corso Di Basi di Dati
Gestione delle informazioniNelle attività standardizzate dei sistemi informativi complessi, sono state introdotte col tempo forme di organizzazione e codifica delle informazioni. Ad esempio, nei servizi anagrafici si è iniziato con registrazioni discorsive e sono state poi introdotte informazioni via via più precise (e in un certo senso artificiali):
nome e cognome; estremi anagrafici; codice fiscale
I sistemi informativi organizzano e gestiscono le informazioni necessarie alle attività di un’organizzazione:
Inizialmente non erano automatizzati (per esempio, gli archivi bancari)
Informatica gestione automatica dei dati basi di dati Informazione memorizzata in modo rigoroso
11 April 2023 - slide 5Corso Di Basi di Dati
Informazioni e dati Nei sistemi informatici (e non solo in essi), le informazioni vengono rappresentate in modo essenziale, spartano: attraverso i dati.
informazione : notizia, dato o elemento che consente di avere conoscenza più o meno esatta di fatti, situazioni, modi di essere.
dato : ciò che è immediatamente presente alla conoscenza, prima di ogni elaborazione; (in informatica) elementi di informazione costituiti da simboli che debbono essere elaborati.
(Vocabolario della lingua italiana, 1987)
11 April 2023 - slide 6Corso Di Basi di Dati
Dati e informazioni
che cosa significano questi numeri?cartelli stradali, in Finlandia; sono orarima la differenza?senza "interpretazione," il dato serve a ben poco
Lun-Ven Sabato Festivo
11 April 2023 - slide 8Corso Di Basi di Dati
8
Dati e applicazioni
I dati possono variare nel tempo (per esempio, importo conto corrente)Le modalità con cui i dati sono rappresentati in un sistema sono di solito stabiliLe operazioni sui dati variano spesso (per esempio, ricerche)
separare i dati dalle applicazioni che operano su essi
11 April 2023 - slide 9Corso Di Basi di Dati
Base di dati
(accezione generica) collezione di dati, utilizzati per rappresentare le informazioni di interesse per una o più applicazioni di una organizzazione.
(accezione specifica) collezione di dati gestita da un DBMS
11 April 2023 - slide 10Corso Di Basi di Dati
Sistema di gestione di basi di datiDataBase Management System — DBMS
Sistema (prodotto software) in grado di gestire collezioni di dati che siano (anche):
grandi (di dimensioni (molto) maggiori della memoria centrale dei sistemi di calcolo utilizzati)
persistenti (con un periodo di vita indipendente dalle singole esecuzioni dei programmi che le utilizzano)
condivise (utilizzate da applicazioni diverse)
garantendo affidabilità (resistenza a malfunzionamenti hardware e software) e privatezza (con una disciplina e un controllo degli accessi). Come ogni prodotto informatico, un DBMS deve essere efficiente (utilizzando al meglio le risorse di spazio e tempo del sistema) ed efficace (rendendo produttive le attività dei suoi utilizzatori).
11 April 2023 - slide 11Corso Di Basi di Dati
Condivisione Ogni organizzazione (specie se grande) è divisa in settori o comunque svolge diverse attività. A ciascun settore o attività corrisponde un (sotto-)sistema informativo (privato o porzione di un sistema più grande). Possono esistere sovrapposizioni fra i dati di interesse dei vari settori. Una base di dati è una risorsa integrata, condivisa fra i vari settori.
11 April 2023 - slide 12Corso Di Basi di Dati
Condivisione (segue)L’integrazione e la condivisione permettono di ridurre la ridondanza (evitando ripetizioni) e, di conseguenza, le possibilità di incoerenza (o inconsistenza) fra i dati. Poiché la condivisione non è mai completa (o comunque non opportuna) i DBMS prevedono meccanismi di definizione della privatezza dei dati e di limitazioni all’accesso (autorizzazioni). La condivisione richiede un opportuno coordinamento degli accessi: controllo della concorrenza.
11 April 2023 - slide 13Corso Di Basi di Dati
Efficienza Si misura (come in tutti i sistemi informatici) in termini di tempo di esecuzione (tempo di risposta) e spazio di memoria (principale e secondaria). I DBMS, a causa della varietà di funzioni, non sono necessariamente più efficienti dei file system. L’efficienza è il risultato della qualità del DBMS e delle applicazioni che lo utilizzano.
11 April 2023 - slide 14Corso Di Basi di Dati
DBMS vs file system La gestione di insiemi di dati grandi e persistenti è possibile anche attraverso sistemi più semplici — gli ordinari file system dei sistemi operativi, che permettono di realizzare anche rudimentali forme di condivisione. Non esiste una linea netta di separazione fra DBMS e non-DBMS.I DBMS estendono le funzionalità dei file system, fornendo più servizi ed in maniera integrata (cfr. efficacia). I file system prevedono forme di condivisione, permettendo accessi contemporanei in lettura ed esclusivi in scrittura: se è in corso un’operazione di scrittura su un file, altri non possono accedere affatto al file. Nei DBMS, c’è maggiore flessibilità: si può accedere contemporaneamente a record diversi di uno stesso file o addirittura allo stesso record (in lettura).
11 April 2023 - slide 15Corso Di Basi di Dati
DBMS vs file system (2)Nei programmi tradizionali che accedono a file, ogni programma contiene una descrizione della struttura del file stesso, con i conseguenti rischi di incoerenza fra le descrizioni (ripetute in ciascun programma) e i file stessi.Nei DBMS, esiste una porzione della base di dati (il catalogo o dizionario) che contiene una descrizione centralizzata dei dati, che può essere utilizzata dai vari programmi.
11 April 2023 - slide 16Corso Di Basi di Dati
GESTIONE DI FILES
Basati su File systemsLogica di accesso ai dati contenuta nel codice (COBOL)Problemi di manutenzioneProgramma
di Update
Programma di Report
Programma di Controllo
File Dati
Storico
11 April 2023 - slide 17Corso Di Basi di Dati
Descrizioni dei dati nei DBMSEsistono descrizioni e rappresentazioni dei dati a livelli diversi, che permettono l’indipendenza dei dati dalla rappresentazione fisica: i programmi fanno riferimento alla struttura a livello più alto, e le rappresentazioni sottostanti possono essere modificate senza necessità di modifica dei programmi. Precisiamo attraverso il concetto di modello dei dati.
11 April 2023 - slide 20Corso Di Basi di Dati
Modello dei datiinsieme di costrutti utilizzati per organizzare i dati di interesse e descriverne la dinamica componente fondamentale: meccanismi di strutturazione (o costruttori di tipo) come nei linguaggi di programmazione esistono meccanismi che permettono di definire nuovi tipi, così ogni modello dei dati prevede alcuni costruttori ad esempio, il modello relazionale prevede il costruttore relazione, che permette di definire insiemi di record omogenei
11 April 2023 - slide 21Corso Di Basi di Dati
Componenti di Data Base System DBS…
Schemi: la strutturaIstanze: i contenutiDati
disponibili su varie piattaforme hw monoutente o multi user dati contenuti in un singolo Data Base ma estendibili a più DB dati integrati
eliminazione delle ridondanze dati su più tabelle
dati condivisi condivisi da tanti utenti con accesso contemporaneo
Hardware Dischi, I/O devices, CPU, RAM,....
11 April 2023 - slide 23Corso Di Basi di Dati
Personaggi e interpreti progettisti e realizzatori di DBMS progettisti della base di dati e amministratori della base di dati (DBA) progettisti e programmatori di applicazioni utenti utenti finali (terminalisti): eseguono
applicazioni predefinite (transazioni) utenti casuali: eseguono operazioni
non previste a priori, usando linguaggi interattivi
11 April 2023 - slide 24Corso Di Basi di Dati
Database administrator (DBA) Persona o gruppo di persone responsabile del controllo centralizzato e della gestione del sistema, delle prestazioni, dell’affidabilità, delle autorizzazioni Le funzioni del DBA includono quelle di progettazione, anche se in progetti complessi ci possono essere distinzioni
11 April 2023 - slide 25Corso Di Basi di Dati
Un Data Base è formato da DATI,DATI,DATI
DatiPersistenti In contrapposizione ai dati transitori dati di Input: contenuti in una maschera dati di output: risposta del sistema
DEFINIZIONE:
Il Data Base è una collezione di dati persistenti che è usata dal sistema di una certa azienda (organizzazione tecnica, commerciale, scientifica)
11 April 2023 - slide 26Corso Di Basi di Dati
Quindi …Data base
I dati solo i dati e null’altro che i dati Valore per l’azienda
Data Base Management System Il Sw che gestisce i dati Detto anche Motore Data Base Diversi vendors: IBM, Oracle, Sybase, Miscrosoft, …
Data base system DB + DBMS
Data bank Usato a sproposito …. Sinonimo di Data Base system Indica anche banche non necessariamente informatizzate
11 April 2023 - slide 28Corso Di Basi di Dati
BENEFICI DELL’ USO DI DATA BASE
Riduzione delle informazioni ridondanti Eliminando I files privati Eliminando I doppiono (Forme normali)
Consistenza della informazioni Conseguenza del punto precedente (ridondanza) Se c’è ridondanza, allora il DB deve garantire consistenza
Dati condivisiE’ possibile imporre standard aziendali (DBA e DA li impongonoSicurezzaIntegrità
Legata alla ridondanza e consistenza Fondamentale in ambiente multiutente
11 April 2023 - slide 29Corso Di Basi di Dati
VANTAGGI DELL’USO DI UN DATA BASE
Caso dell’utente singolo Compattezza delle informazioni Velocità di estrazione Manutenzione dei files Possibilità di calcolo
Caso della Multi utenza Stessi vantaggi di cui sopra esaltati dal fatto che il DB ha:
Dimensioni maggiori Maggiore complessità
Controllo centralizzato Consistenza ed integrità dei dati Sicurezza e riservatezza
11 April 2023 - slide 30Corso Di Basi di Dati
Vantaggi e svantaggi di un DBMSVantaggi
I dati sono considerati come un risorsa comune La base di dati fornisce un modello unificato del business Permette un controllo centralizzato dei dati permettendo
standardizzazione ed economie di scala Riduzione di ridondanze ed inconsistenze Indipendenza dei dati
Svantaggi Costo e la complessità - investimenti Potrebbero fornire servizi ridondanti e non richiesti
effettivamente
MA IL BENEFICIO MAGGIORE E’L’ INDIPENDENZA DEI DATI
Nei vecchi sistemi il modo in cui venivano organizzati i dati e le tecniche per accedervi facevano parte della logica e del codice del programma.
11 April 2023 - slide 32Corso Di Basi di Dati
Schema e istanza
In ogni base di dati esistono: lo schema, sostanzialmente
invariante nel tempo, che ne descrive la struttura (aspetto intensionale)es.: le intestazioni delle tabelle
l’istanza, i valori attuali, che possono cambiare anche molto rapidamente (aspetto estensionale)es.: il “corpo” di ciascuna tabella
11 April 2023 - slide 33Corso Di Basi di Dati
Due tipi (principali) di modellimodelli logicimodelli concettuali
11 April 2023 - slide 34Corso Di Basi di Dati
Modelli logiciAdottati nei DBMS esistenti per l’organizzazione dei dati
utilizzati dai programmi indipendenti dalle strutture fisiche
esempi: relazionale, reticolare, gerarchico, a oggetti, basato su XML
11 April 2023 - slide 35Corso Di Basi di Dati
Modelli concettualiPermettono di rappresentare i dati in modo indipendente da ogni sistema
cercano di descrivere i concetti del mondo reale sono utilizzati nelle fasi preliminari di progettazione
Il più diffuso è il modello Entity-Relationship
11 April 2023 - slide 36Corso Di Basi di Dati
Architettura (semplificata) di un DBMS
BD
Schema logico
Schema interno
utente
11 April 2023 - slide 37Corso Di Basi di Dati
Architettura semplificata di un DBMS: schemi
schema logico: descrizione della base di dati nel modello logico (ad esempio, la struttura della tabella)schema interno (o fisico): rappresentazione dello schema logico per mezzo di strutture memorizzazione (file; ad esempio, record con puntatori, ordinati in un certo modo)
11 April 2023 - slide 38Corso Di Basi di Dati
Indipendenza dei dati Il livello logico è indipendente da quello fisico:
una tabella è utilizzata nello stesso modo qualunque sia la sua realizzazione fisica (che può anche cambiare nel tempo)
Perciò in questo corso vedremo solo il livello logico e non quello fisico
11 April 2023 - slide 39Corso Di Basi di Dati
INDIPENDENZA DEI DATI
Esiste il concetto di VISTA del Data Base
L’amministratore del DB può modificare la struttura interna dei dati senza toccare la visibilità esterna allo stesso
IMMUNITA’ DELLE APPLICAZIONI A MODIFICHE DI STRUTTURA
11 April 2023 - slide 40Corso Di Basi di Dati
Una vistaCorsiCorso Docente AulaBasi di dati Rossi DS3Sistemi Neri N3Reti Bruni N3Controlli Bruni G
AuleNome Edificio PianoDS1 Ex-OMI TerraN3 Ex-OMI TerraG Pincherle Primo
CorsiSediCorso Aula Edificio PianoSistemi N3 Ex-OMI TerraReti N3 Ex-OMI TerraControlli G Pincherle Primo
11 April 2023 - slide 41Corso Di Basi di Dati
Architettura standard (ANSI/SPARC) tre livelli per DBMS
BD
Schema logico
Schemaesterno
Schema interno
Schemaesterno
Schemaesterno
utenteutente
utenteutente utente
11 April 2023 - slide 42Corso Di Basi di Dati
Architettura ANSI/SPARC: schemischema logico: descrizione dell’intera base di dati
nel modello logico “principale” del DBMS schema esterno: descrizione di parte della base di
dati in un modello logico (“viste” parziali, derivate, anche in modelli diversi)
schema fisico: rappresentazione dello schema logico per mezzo di strutture fisiche di memorizzazione.
11 April 2023 - slide 43Corso Di Basi di Dati
Indipendenza dei dati conseguenza della articolazione in livelli: l’accesso avviene solo tramite il livello esterno (che
può coincidere con il livello logico); due forme: fisica: il livello logico e quello esterno sono indipendenti da
quello fisico; una relazione è utilizzata nello stesso modo qualunque sia la sua realizzazione fisica (che può anche cambiare nel tempo senza che debbano essere modificate le forme di utilizzo)
logica: il livello esterno è indipendente da quello logico aggiunte o modifiche alle viste non richiedono modifiche al
livello logico; modifiche allo schema logico che lascino inalterato lo
schema esterno sono trasparenti
11 April 2023 - slide 44Corso Di Basi di Dati
TIPI DI SISTEMI DI BASI DI DATI
Sistemi basati sulla gestione di Files (FMS)Modelli GerarchiciModelli Reticolari (Network)Modelli Relazionali
11 April 2023 - slide 45Corso Di Basi di Dati
Un po’ di Storia: Anni ‘70Anni ’70
DBMS gerarchici DBMS reticolari
Modello di dati basato su alberi o grafiDipendenza dal modello fisicoInterrogazioni
navigazioni del grafo
Modelli a Oggetti >> Un po’ di storia
11 April 2023 - slide 46Corso Di Basi di Dati
Un po’ di Storia: Anni ‘80
Anni ’80 Codd “A Relational Model for Large Shared
Data Banks”, CACM, giugno 1970 DBMS relazionali
Modello semplice ed eleganteCaratteristiche del modello legami tra i dati basati sui valori I forma normale (domini elementari) indipendenza rispetto al modello fisico
Modelli a Oggetti >> Un po’ di storia
11 April 2023 - slide 47Corso Di Basi di Dati
Un po’ di Storia: Anni ‘80
Ottime prestazioniServizi avanzati concorrenza, affidabilità, sicurezza
Standard SQL-89, SQL-92 “intergalactic dataspeak”
Architettura a tre livelli schemi esterni, schema logico, schema
fisico
Grande successo nei sistemi informativi dati gestionali
Modelli a Oggetti >> Un po’ di storia
11 April 2023 - slide 48Corso Di Basi di Dati
Un po’ di StoriaAnni ’90
nuove applicazioni GIS, CAD, dati multimediali, documenti oggetti con struttura complessa
Il mondo è fatto di oggetti, non di tabelleIl “garage” relazionale
“per conservare la tua auto ti costringe a farla a pezzi e conservare ciascun pezzo in un cassettino”
Modelli a Oggetti >> Un po’ di storia
11 April 2023 - slide 49Corso Di Basi di Dati
Un po’ di StoriaTecnologia a oggetti
sistema di tipi ricco classi di oggetti basati sui tipi ereditarietà e polimorfismo
Tecnologia di successo nei linguaggi di programmazione (C++, Java)Sistemi per Basi di Dati Orientati agli Ogg.
la soluzione finale ?
NoSQL: NotOnly SQL Applicazioni: social networks
Modelli a Oggetti >> Un po’ di storia
11 April 2023 - slide 50Corso Di Basi di Dati
Un po’ di Storia
Moltissima ricerca (e risultati interessanti)DBMS a Oggetti Commerciali O2, Objectstore, GemStone
Standard ODMG-93 linguaggio OQL
Scarso successo commerciale (nicchia) differenze notevoli tra i prodotti dipendenza dal linguaggio (Java ?) prestazioni inferiori
Modelli a Oggetti >> Un po’ di storia
11 April 2023 - slide 51Corso Di Basi di Dati
I Quadranti di StonebrakerModelli a Oggetti >> Un po’ di storia
Complessità delle interrogazioniCo
mp
less
ità d
ei t
ipi d
i da
to DBMSRelazionale
a Oggetti
Linguaggio di prog.
+
File System
DBMSRelazionale
DBMSOrientato
agli Oggetti
11 April 2023 - slide 52Corso Di Basi di Dati
GESTIONE DI FILES
Basati su File systemsLogica di accesso ai dati contenuta nel codice (COBOL)Problemi di manutenzioneProgramma
di Update
Programma di Report
Programma di Controllo
File Dati
Storico
11 April 2023 - slide 53Corso Di Basi di Dati
DATA BASE GERARCHICI
Struttura gerarchica dei dati (tipico di un file system)Utilizzato nelle industrie di manufatti (Automobili)Introduzione della relazione Padre-Figlio (puntatori fisici)Vantaggi
Struttura semplice Eccellente per relazioni padre - figlio (A è parte di B oppure A
contiene B) Performance: movimenti rapidi in virtù della struttura gerarchica
Automobile
Motore Carrozzeria Chassis
Porta sinistra Porta destra Tetto Cofano
Finestrino Motore elettrico Maniglia
11 April 2023 - slide 54Corso Di Basi di Dati
DATA BASE RETICOLARI
Modello gerarchico è poco flessibile (gestione ordini)Un record partecipa a relazioni padre-figlio multipleIl programmatore naviga nel data base dando anche le direzioni di movimento (ancora puntatori fisici)Vantaggi: Flessibilità e PerformanceSvantaggi: certa rigidezza dovuta alle relazioni definite a priori e necessità di aggiornamento del SW
Clienti Prodotti
Ordini
DATA BASE RELAZIONALI
Liberarsi dei puntatori fisici