Il progresso
Tesina di Arena Iolanda, Rosa 5°C informatica
Titolo: Il progresso
Percorso della tesina
- Informatica: Le basi di dati
- Sistemi: La sicurezza informatica
- Tecnologia delle telecomunicazioni: La tecnica TDM
- Calcolo e statistica: La curva di Gauss
- Matematica: Gli integrali definiti
- Storia: La Costituzione italiana nel suo 60° anniversario
- Italiano: Il neorealismo tra cinema e letteratura
Le basi di dati
Con il termine basi di dati indichiamo archivi organizzati in modo integrato attraverso tecniche di modellazione di dati gestiti dalle memorie di massa attraverso apposito software con l’obiettivo di raggiungere la migliore efficienza nel trattamento e ritrovamento dei dati.
In pratica si costituisce una base di lavoro per utenti diversi con programmi diversi.
Di questi però deve essere garantita la consistenza degli archivi, cioè devono essere effettivamente utilizzabili; inoltre devono essere protetti da qualsiasi danno ed è importantissima l’integrità, nelle applicazioni, cioè le operazioni effettuate devono essere garantite in modo che possano accedere solo utenti autorizzati.
I prodotti software per la gestione dei database sono indicati con il termine DBMS (database management system).
L’importanza dei database è data dal fatto che favorisce l’utente, nel suo modo di vedere i dati, liberandolo degli aspetti riguardanti la collocazione fisica delle registrazioni.
Inoltre dobbiamo tenere presente la differenza tra database, come insieme di dati, e i DBMS come sistema per la gestione dei database.
I database inoltre possono anche non essere accentrati su un unico computer, ma possono anche essere distribuiti su più memorie di massa fisicamente lontane (in questo caso si parla di database distribuiti), ciò a patto che tutti siano collegati alla stessa rete aziendale.
Il database è una collezione di dati logicamente correlati e condivisi, che ha lo scopo di soddisfare i fabbisogni informativi di una specifica organizzazione; i dati, congiuntamente con la loro descrizione, sono gestiti da un unico sistema chiamato DBMS, che permette la gestione e ne regola gli accessi.
Funzioni di un DBMS
Un DBMS deve:
- Permettere la creazione di una nuova base di dati, definendo gli archivi che la compongono, la loro articolazione ecc., attraverso un apposito linguaggio di definizione dei dati, ovvero DDL (data definition language).
- Facilitare gli utenti all’inserimento, cancellazione ecc., sfruttando uno specifico linguaggio di manipolazione dei dati detto DML (data manipulation language).
- Infine, l’astrazione delle informazioni, interrogando il database con l’apposito linguaggio di interrogazione, QL (query language).
Inoltre deve avere la:
- Facilità d’accesso: ritrovamento dei dati a grandi velocità anche se provengono più richieste da più utenti.
- Indipendenza dalla struttura fisica dei dati: è possibile modificare i supporti con cui i dati sono registrati e le modalità di accesso alla memoria di massa.
- Eliminazione della ridondanza: gli stessi dati non devono comparire più volte sugli archivi.
- Eliminazione dell’inconsistenza: non può presentare campi uguali.
- Integrità dei dati: previsti i controlli e operazioni sui dati per assicurarne la consistenza.
- Utilizzo da parte di più utenti: i dati sono organizzati in un database e possono essere utilizzati da più utenti con i loro programmi, consentendo una visione anche solo parziale del database.
- Controllo della consistenza: le operazioni svolte avvengono in modo concorrente.
- Sicurezza dei dati: sono previste procedure di controllo per la protezione dei dati.
Per comporre un database abbiamo bisogno dei dati che chiameremo metadati. Questi formeranno un catalogo di dati.
Il DBMS attinge alle informazioni e:
- Realizza i controlli per garantire l’integrità dei dati.
- Autorizza gli utenti agli accessi ai dati in base alle politiche di accesso.
- Fornisce servizi per il controllo della consistenza.
I modelli per i database
Il database è un modello della realtà considerata; proprio per questo ha bisogno di essere idealizzato con il modello concettuale. Il modello migliore è il modello entità/associazione o E/R, che individua gli oggetti che la compongono, detti entità, gli attributi che rappresentano le caratteristiche delle entità e infine le associazioni che individuano le correlazioni logiche tra entità.
Un database inoltre può essere realizzato passando al modello logico.
Il database può essere immagazzinato in un unico file con un’unica struttura di dati; questa struttura è detta flat file, che però è adatta solo per basi di dati semplici. Quindi, per lo sviluppo di un database, si devono distinguere:
- Il modello gerarchico
- Il modello reticolare
- Il modello relazionale
Il modello gerarchico è particolarmente adatto per rappresentare situazioni nelle quali è possibile fornire all’insieme dei dati una struttura nella quale ci sono entità che stanno in alto ed entità che stanno in basso, secondo lo schema ad albero, nel quale i nodi rappresentano le entità e gli archi, a loro volta, rappresentano le associazioni.
Un database gerarchico consiste in una collezione di record collegati da archi che rappresentano le associazioni.
Il modello reticolare: le entità rappresentano i nodi e le associazioni rappresentano gli archi di uno schema a grafo orientato.
Si tratta di un’estensione del modello ad albero gerarchico, essendo consentite anche associazioni tra entità che stanno in basso, e non solo dall’alto verso il basso come avviene nel modello gerarchico.
Il modello relazionale rappresenta il database come un insieme di tabelle. Esso viene considerato attualmente il modello più semplice ed efficace perché è più vicino al modo consueto di pensare i dati e si adatta in modo naturale alla classificazione e alla strutturazione dei dati.
Le operazioni sui database gerarchici e reticolari sono complesse, agiscono su singoli record che vengono identificati e specificano i percorsi per ritrovarli. Questo tipo di approccio è chiamato procedurale. I sistemi relazionali adottano invece un approccio di tipo dichiarativo. Cioè viene spiegato cosa si vuole trovare.
I database orientati agli oggetti (OODB) sono database che gestiscono oggetti e classi. Sono diversi dai tradizionali database perché accettano sottoclassi di oggetti; ogni oggetto ha una propria identità e utilizzano concetti tipici della programmazione a oggetti, quali il metodo e l’ereditarietà.
L’aspetto elaborato di un’applicazione ai database è l’aspetto informativo. Naturalmente i programmi rappresentano l’aspetto informativo.
I database orientati agli oggetti consentono prestazioni avanzate rispetto alle caratteristiche relazionali.
La gestione dei database
Il DBMS (Database Management System) è il software che consente di costruire e gestire una base di dati, realizzandola nella pratica su memoria di massa a partire da un progetto e da uno schema dei dati definiti a livello concettuale e tradotto poi in un modello logico dei dati.
Le figure che il DBMS, attraverso i suoi modelli software, è in grado di offrire agli utenti del database sono raggruppate secondo i seguenti aspetti.
1) Implementazione del modello logico sul sistema di elaborazione
- Definizione dei dati e delle strutture derivanti dallo schema logico (nel modello relazionale, le tabelle) e definizioni di viste.
- Definizione dei sottoschemi legati alle applicazioni degli utenti, per accedere ai soli dati che servono.
2) Organizzazione e interrogazione sulla base di dati
- Inserimento dei dati nel database, con operatori di modifica e cancellazione.
- Interfacciamento tra i programmi degli utenti e la base di dati.
- Accesso ai dati contenuti nel database attraverso le interrogazioni.
3) Controllo dell’integrità dei dati
- Integrità sui dati.
- Integrità definite dagli utenti.
4) Sicurezza e protezione
- Garanzia e sicurezza dei dati contro danni quali malfunzionamento di hardware e software.
- Garantendo l’integrità dei dati.
Protezione
- Autorizzazione di accesso agli utenti.
5) Garanzia delle operazioni
Garanzia che tutte le operazioni che compongono la transizione siano completamente e correttamente eseguite oppure che non ne sia eseguita nessuna.
Una transizione consiste in un insieme di operazioni di interrogazione o modifica del database che devono essere eseguite come se fosse un’unica operazione.
Inoltre il DBMS si occupa della gestione di un dizionario contenente informazioni su:
- Nomi e tabelle nelle colonne
- Associazioni
- Utenti e proprietari
- Autorizzazioni ed accessi ecc…
I linguaggi per il database
I comandi che il DBMS mette a disposizione possono essere classificati nelle seguenti categorie di linguaggi:
DDL (data definition language) viene usato per descrizioni dei dati, delle tabelle e delle viste.
Inoltre rappresenta lo strumento attraverso il quale l’utente ordina al DBMS la struttura fisica del database.
Il DML (data manipulation language) tratta i dati contenuti nel database.
Il linguaggio per le interrogazioni è chiamato Query language.
A questo punto si parla di linguaggio per database intendendo un insieme di comandi che consente di facilitare le operazioni di identificazione del database, manipolazione dei dati e di interrogazione. I linguaggi non procedurali per database sono SQL (structured query language) e QBE (query by example).
Modellazione dei dati
L’UML, linguaggio unificato di modellazione, è un linguaggio grafico per visualizzare, specificare, costruire e documentare tutte le costruzioni di sistemi software.
L’UML (unified modeling language) è la forma grafica che utilizzeremo.
La modellazione dei dati
Modellare i dati significa costruire una rappresentazione semplificata della realtà osservata o di un problema aziendale, individuando gli elementi caratterizzanti e i legami intercorrenti fra essi.
La progettazione avviene a livelli diversi.
- Livello concettuale: rappresenta la realtà dei dati e le relazioni tra essi attraverso uno schema.
- Livello logico: rappresenta il modo attraverso il quale i dati sono organizzati negli archivi elettronici.
- Livello fisico: rappresenta l’effettiva installazione su archivi elettronici.
Il modello concettuale viene definito attraverso lo schema dei dati, cioè una rappresentazione sintetica degli elementi fondamentali, ciò indipendentemente da:
- I valori che verranno assegnati ai dati
- Dalle applicazioni degli utenti
Il modello logico facilita la struttura attraverso:
- La manipolazione dei dati (inserimento, modifica, cancellazione, ecc.).
- L’interrogazione, cioè la possibilità di ritrovare i dati.
Il modello concettuale viene rappresentato graficamente dallo schema E/R (entità/relationship).
Gli elementi di un modello entità/associazione sono:
- Entità
- Associazioni
- Attributi
L’entità è un oggetto (concreto o astratto) che ha un significato anche quando viene considerato in modo isolato ed è di interesse per la realtà che si vuole modellare.
Le entità possono essere classificate secondo un criterio di omogeneità, definendo il tipo di entità attraverso un nome; ciò che è all’interno dell’entità è chiamato istanza.
L’associazione è un legame che stabilisce un’interazione tra le entità.
Gli attributi sono le proprietà delle entità e delle associazioni.
All’interno delle entità dobbiamo inserire una chiave o chiave primaria, un insieme minimale di attributi che permettono di distinguere tra loro le istanze di una stessa entità.
Le associazioni tra entità
La cardinalità è ciò che classifica i tipi di associazioni, che possono essere:
Associazioni 1:1
Un’associazione si dice uno a uno quando ogni istanza della prima entità si deve associare a una sola istanza della seconda entità o viceversa.
Associazione 1:N
Un’associazione uno a molti, quando ogni istanza della prima entità si può associare a più istanze della seconda entità, mentre a ogni istanza della seconda entità si deve associare una sola istanza della prima entità.
Associazione molti a molti
Un’associazione si dice molti a molti quando ogni istanza della prima entità si può associare a più istanze della seconda entità.
Tesina - Premio maturità 2009
Titolo: Il progresso
Autore: Arena Carmelo
Descrizione:
Materie trattate:
Area: tecnologica
Sommario: