Please enable JavaScript.
Coggle requires JavaScript to display documents.
Capitolo 1 - Basi di Dati - Coggle Diagram
Capitolo 1 - Basi di Dati
1.1
Per gestire le informazioni c'è bisogno di un sistema informativo, esso è indipendente dalla sua automatizzazione, la parte automatizzata è chiamata sistema informatico.
Nei sistemi informatici le informazioni vengono rappresentate tramite dati.
I dati non hanno nessun significato ma se correlati e interpretati correttamente possono diventare informazioni
Un Database è una collezione di dati utilizzati per rappresentare le informazioni di interesse per un sistema informativo
1.2
La gestione dei dati viene fatta più generalmente con l'utilizzo di file, questi però sono "privati", questo significa che ogni linguaggio di programmazione/utente/programma (a parte ciò che ha creato il file) non sarà in grado di interpretartelo, e quindi di ottenere informazioni da quel file.
Le database sono stati concepiti per superare questo tipo di inconvenienti, gestendo in modo integrato e flessibile le informazioni di interesse per diversi soggetti, limitando ridondanza e incoerenza
Un DBMS è un sistema software in grado di gestire collezioni di dati che siano grandi, condivise, persistenti, affidabili e private, efficienti e efficaci. Un database è una collezione di dati gestita da un DBMS
AFFIDABILI
capacità di mantenere i dati intatti in caso di malfunzionamenti o azioni volontarie o anche catastrofi
PRIVATI
Ciascun utente (identificato) può svolgere azioni solo su i dati a cui ha accesso
PERSISTENTI
Il tempo di vita dei dati non è limitato al tempo di vita dei programmi che utilizzano i servizi del DB
EFFICIENTI
Capaci di svolgere le operazioni utilizzando un insieme di risorse che sia accettabile per gli utenti
CONDIVISE
Utenti e Applicazioni diverse possono poter accedere secondo determinati permessi.
Per garantire l'accesso condiviso ai dati da parte di molti utenti il DBMS dispone di un servizio chiamato controllo di concorrenza , per evitare sovrapposizioni
EFFICACI
Capaci di rendere utili le attività degli utenti che usufruiscono del DB
GRANDI
I database posso avere anche dimensioni enormi (TB o PB)
I DBMS sono stati concepiti e realizzati per estendere le funzioni dei file system fornendo servizi come la possibilità dell'acceso condiviso ai dati
Esistono varie strutture per l'accesso ai database, i programmi che interagiscono con il DB possono o no essere eseguiti sullo stesso calcolatore in un servizio client/server
1.3
Il modello dei dati è un insieme di regole per organizzare le informazioni in modo chiaro. Serve a rendere i dati comprensibili per un computer. Ogni modello offre strumenti simili a quelli usati nei linguaggi di programmazione. Questi strumenti permettono di creare nuovi tipi di dati partendo da quelli già esistenti.
Il modello relazionale dei dati permette di definire tipi per mezzo del costruttore relazione che consente di organizzare i dati insiemi di dati a struttura fissa
Una relazione viene rappresentata tramite una tabella le cui righe rappresentano specifici dati e le cui colonne corrispondono a cosa indicano i dati
Altri tipi di modelli
Reticolare
Modello a oggetti
Gerarchico
XML
Flessibili
Tutti questi modelli sono definiti come "Logici" perché le strutture di questi modelli pur essendo astratte riflettono una particolare organizzazione
1.3.1
I database sono composti da due parti fondamentali, una parte sostanzialmente invariante nel tempo chiamata schema database (costituita dalle caratteristiche dei dati) e da una parte variabile nel tempo detta istanza del database (costituita da valori effettivi)
Lo schema di una relazione (le colonne) è costituito dalla sua intestazione, cioè dal nome della relazione seguito dai nomi dei suoi attributi
"Componente Intenzionale "
Viceversa le righe della tabella variano nel tempo. L'istanza di una relazione è costituita dall'insieme (variabile nel tempo) delle sue righe che sono coerenti con lo schema della tabella.
"Componente Estensionale"
1.3.2
Esiste una proposta di architettura standardizzato per DBMS articolata su tre livelli, per ciascun livello esiste un suo schema
Schema Interno
Costituisce la rappresentazione dello schema logico per mezzo di strutture fisiche di memorizzazione
Schema Esterno
Costituisce la descrizione di una porzione del database di interesse, per mezzo del modello logico
Può prevedere organizzazioni dei dati diverse rispetto a quelle utilizzate nello schema logico, che riflettono il POV di un particolare utente o gruppo.
E possibile associare più schemi esterni a uno schema logico
Nei sistemi più moderni il livello esterno non è esplicitamente presente ma è possibile definire relazioni derivate
Inoltre tramite il meccanismo delle autorizzazioni d'accesso è possibile disciplinare gli accessi degli utenti alla base di dati
Schema Logico
Costituisce una descrizione dell'intero database per mezzo del modello logico adottato dal DBMS
1.3.3
L'architettura a livelli cosi definita garantisce l'indipendenza dei dati, la principale proprietà dei DBMS. In generale, questa proprietà permette a utenti e programmi applicativi che utilizzano un database di interagire a un elevato livello di astrazione
L'indipendenza dei dati può essere caratterizzata ulteriormente come indipendenza fisica logica
Indi. Fisica
Consente di interagire con il DBMS in modo indipendente dalla struttura fisica dei dati. in base a questa proprietà è possibile modificare le strutture fisiche senza influire sulle descrizioni dei dati ad alto livello e quindi sui programmi che utilizza i dati stessi
Indi. Logica
Consente di interagire con il livello esterno del database in modo indipendente da livello logico. Dualmente è possibile modificare il livello logico mantenendo inalterate le strutture esterne di interesse per l'utente
1.5
1.4
1.4.2
Varie categorie di persone possono interagire con un database o con un DBMS
Utenti
Utenti Finali (Terminalisti)
Che utilizzano transazioni, cioè programmi che realizzano attività predefinite e di frequenza elevata
Utenti casuali
in grado di impiegare i linguaggi interattivi per l'accesso al DB, formulando interrogazioni di vario tipo
Progettisti e Programmatori
Definiscono e realizzano i programmi che accedono alla base di dati
Amministratore del DB
Compito di mediare le varie esigenze espresse dagli utenti garantendo un controllo centralizzato dei dati. é responsabile di garantire sufficienti prestazioni e affidabilità
1.4.1
L'accesso ai dati può essere effettuato con varie modalità
Tramite linguaggi testuali interattivi (SQL)
tramite a comandi simili a quelli interattivi immersi in linguaggi di programmazione (C++, Java, ...)
Questi LDP si dicono linguaggi ospite perché ospitano comandi scritti nel linguaggio per database
Tramite GUI che permettono di sintetizzare interrogazioni senza usare un linguaggio testuale
Tramite comandi simili a quelli interattivi immersi in linguaggi id sviluppo ad hoc spesso con funzionalità specifiche
Su un DBMS è possibile specificare operazioni di vario tipo, in particolare quelle relative agli schemi e alle istanze. Al riguardo i linguaggi per database si dividono in due categorie
Ling . di Manipolazione dei dati (DML)
Utilizzati per l'interrogazione e l'aggiornamento delle istanze di database
Ling. definizione dei dati (DDL)
Utilizzato per definire gli schemi logici/esterni/fisici e le autorizzazioni per l'accesso
I DBMS sono caratterizzati dalla presenza di molteplici linguaggi per la gestione dei dati e dalla presenza di molteplici tipologie di utenti