Le basi di dati Le basi di dati In Informatica per Basi di dati (database) si intende: archivi di dati, organizzati in modo integrato attraverso tecniche di modellazione dei dati e gestiti sulle memorie di massa dei computer attraverso appositi software (DBMS), con l’obiettivo di raggiungere una grande efficienza nel trattamento e nel ritrovamento dei dati superando anche i limiti presenti nell’organizzazione tradizionale degli archivi. Le basi di dati Il database è una collezione di archivi di dati ben organizzati e ben strutturati, in modo che possano costituire una base di lavoro per utenti diversi con programmi diversi. Es: i dati relativi agli articoli del magazzino di un’azienda possono essere utilizzati dal programma che stampa le fatture e dal programma che stampa i listini di magazzino. FATTURE LISTINI ARTICOLI Proprietà In campo informatico, la Teoria delle Basi di Dati studia come organizzare al meglio grandi quantità di informazioni, per garantire: Efficienza: possibilità di ritrovare facilmente le informazioni desiderate (anche attraverso criteri di ricerca diversi) in termini di velocità nell’elaborazione, e in termini di spazio occupato nella memorizzazione in memoria di massa. Proprietà Inoltre devono essere garantite: Consistenza degli archivi: i dati in essi contenuti devono essere significativi ed essere effettivamente utilizzabili nelle applicazioni dell’azienda per cui è stata progettata. Sicurezza: impedire che il database venga danneggiato da interventi accidentali o non autorizzati. Integrità: le operazioni effettuate sul database da utenti autorizzati non devono provocare perdita di consistenza ai dati. Proprietà •Le basi di dati sono: •Grandi nel senso che possono avere dimensioni enormi, in particolare maggiori della memoria centrale disponibile. Gli archivi che costituiscono la base di dati possono risiedere: • su un unico computer; • su computer diversi, facenti parte di una rete, i cui nodi possono anche essere fisicamente lontani (database distribuiti). Proprietà • Persistenti: I dati hanno un ciclo di vita che dura nel tempo; questa è un’altra ragione per la gestione in memoria secondaria. • Condivise: applicazioni e utenti diversi devono poter accedere, secondo opportune modalità ai dati. Una base di dati è una risorsa tra varie applicazioni (accesso contemporaneo ad uno stesso dato). DBMS DBMS (DataBase Management System): (sistema di Gestione di basi di dati) prodotti software per la gestione di dati. Esempio di DBMS in commercio: Access, MySQL, Oracle I DBMS devono prevedere una gestione dei dati in memoria secondaria dati senza porre limiti alle dimensioni (a parte quelle fisiche dei dispositivi). DBMS I DBMS consentono all’utente un accesso più semplice e più vicino all’applicazione che utilizza i dati contenuti negli archivi allontanandosi da quelle che sono le caratteristiche della memorie di massa che contiene l’archivio. (Nell’organizzazione tradizionale degli archivi, l’accesso ai dati è legato all’organizzazione degli archivi e quindi al supporto di memoria di massa utilizzato. ) DBMS L’utente del database può concentrare la sua attenzione sul progetto degli archivi, sulla gestione e sul ritrovamento delle informazioni, senza preoccuparsi del modo in cui sono organizzati fisicamente i dati sulle memorie di massa. Tale compito rimane a carico del software per la gestione della base di dati. DBMS Un DBMS deve essere in grado di: Permettere la creazione di una nuova base di dati, definendo gli archivi che la compongono, la loro articolazione, le correlazioni logiche tra gli archivi, i limiti nell’accesso ai dati e i vincoli imposti alla loro manipolazione; Facilitare gli utenti nelle operazioni di manipolazione (inserimento, modifica e cancellazione); Rendere possibile l’estrazione di informazioni dal database (interrogazione). Caratteristiche fondamentali Facilità di accesso: il ritrovamento dei dati è facilitato e svolto con grande velocità. Indipendenza dalla struttura fisica dei dati: i programmi applicativi sono indipendenti dai dati fisici, cioè è possibile modificare i supporti con cui i dati sono registrati e le modalità di accesso alle memorie di massa senza modifiche alle applicazioni. Caratteristiche fondamentali Indipendenza dalla struttura logica dei dati: i programmi applicativi sono indipendenti dalla struttura logica con cui i dati sono organizzati negli archivi; l’organizzazione logica dei dati può essere modificata senza implicare modifiche nel software applicativo. eliminazione della ridondanza: gli stessi dati non compaiono più volte in archivi diversi (questo avviene per effetto di una opportuna progettazione della struttura concettuale della base di dati). Caratteristiche fondamentali eliminazione delle inconsistenze: si parla di inconsistenza quando due dati che rappresentano la stessa informazione assumono valori diversi (es: l’indirizzo di un cliente su due file diversi, di cui solo uno viene aggiornato) integrità dei dati: vengono previsti controlli per evitare anomalie ai dati causate dai programmi e dalle applicazioni degli utenti; Caratteristiche fondamentali utilizzo da parte di più utenti: i dati organizzati in un unico database possono essere utilizzati da più utenti con i loro programmi, consentendo anche una visione solo parziale del database da parte del singolo utente (controllo di concorrenza); Caratteristiche fondamentali sicurezza dei dati: sono previste procedure di controllo per impedire accessi non autorizzati ai dati contenuti nel database (meccanismi di autorizzazione - abilitando ciascun utente a svolgere soltanto determinate azioni sui dati) e di protezione da guasti accidentali o malfunzionamenti hardware e software(funzionalità di backup e recovery); Caratteristiche fondamentali uso di linguaggi per la gestione del database: il database viene gestito attraverso comandi per la manipolazione dei dati in esso contenuti e comandi per effettuare interrogazioni alla base di dati, al fine di ottenere le informazioni desiderate. Database Modello di realtà Il database è un modello della realtà considerata: i contenuti della base di dati rappresentano gli stati in cui si trova la realtà da modellare. I cambiamenti che vengono apportati alla base di dati rappresentano gli eventi che avvengono nell’ambiente in cui opera l’azienda. CONTENUTI DEL DB CAMBIAMENTI NEL DB STATI DELLA REALTA’ EVENTI NELLA REALTA’ Fase iniziale Date le esigenze dell’utente relative a una determinata situazione, che chiameremo realtà d’interesse, occorre: Analizzare tale realtà d’interesse. Progettare e realizzare una base di dati che possa soddisfare le esigenze dell’utente. L’uso dei dati organizzati in un database presuppone un attento lavoro di progettazione iniziale, che viene fatto con riferimento ai dati che si vogliono memorizzare e successivamente elaborare. Modellazione dei dati Modellare i dati significa costruire una rappresentazione semplificata della realtà osservata, individuandone gli elementi caratterizzanti e i legami intercorrenti tra essi. La progettazione di un modello di dati avviene a livelli diversi: • Livello concettuale; • Livello logico; • Livello fisico. Modellazione dei dati Livello concettuale (o esterno) ha lo scopo di costruire e definire una rappresentazione corretta e completa della realtà di interesse, indipendente dai valori assegnati ai dati e dalle applicazioni che useranno i dati. Livello logico ha lo scopo di trasformare la rappresentazione astratta della realtà in uno schema logico, descrive quindi la composizione ed il formato dei dati nel loro aspetto di struttura logica dei dati, legato al DBMS che si vuole utilizzare. Livello fisico definisce tutti gli aspetti fisici di memorizzazione e rappresentazione in memoria di massa. Modellazione dei dati: Il risultato delle tre fasi di modellazione dei dati sono: Lo schema concettuale; Lo schema logico; Lo schema fisico. Modellazione dei dati Livelli CONCETTUALE LOGICO FISICO REALTA’ SCHEMA CONCETTUALE SHEMA LOGICO SCHEMA FISICO