I DATABASE Le origini dei Database Prime applicazioni: Il modello gerarchico e reticolare è stato introdotto nella metà degli anni ‘60, dominando durante gli anni settanta. Ancora oggi una buona parte di applicazioni funzionanti sono presenti in tutto il mondo Sistemi basati sul modello relazionale: modello introdotto nel 1970 pesantemente studiato e realizzato da IBM e dalle università. I primi prodotti per il modello relazionale sono nati negli anni ‘80 2 Database oggi Applicazioni Object Oriented: l’OODBMS fu introdotto tra la fine degli anni ’80 e i primi anni ’90 per far fronte alle complesse esigenze dei processi di CAD e di altre applicazioni Dati nel Web e in applicazioni di e-commerce: il Web contiene dati in HTML e collegamenti tra pagine. Questo ha dato vita a nuove applicazioni nell’ambito dell’ecommerce utilizzando nuovi standard come XML (eXtended Markup Language) 3 Chi opera con il database 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 4 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 anche (parte di) quelle di progettazione. 5 Il DBMS Software in grado di costruire e gestire collezioni di dati che siano: 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) Privatezza (con una disciplina e un controllo degli accessi), Efficienza (utilizzare al meglio le risorse di spazio e tempo del sistema) Efficacia (rendere produttive le attività dei suoi utilizzatori) 6 Architettura standard (ANSI/SPARC) a tre livelli per DBMS 7 Architettura ANSI/SPARC: schemi schema logico: descrizione dell’intera base di dati nel modello logico adottato dal DBMS schema esterno: descrizione di una porzione della base di dati di interesse in un modello logico (“viste” parziali, derivate, anche in modelli diversi) schema interno (o fisico): rappresentazione dello schema logico per mezzo di strutture fisiche di memorizzazione 8 Modelli utilizzati nei DBMS modelli concettuali: permettono di rappresentare i dati in modo indipendente da ogni sistema, cercando di descrivere i concetti del mondo reale; sono utilizzati nelle fasi preliminari di progettazione modelli logici: utilizzati nei DBMS esistenti per l’organizzazione dei dati; ad essi fanno riferimento i programmi; sono indipendenti dalle strutture fisiche 9 Il modello concettuale Il progetto del database è indipendente dal computer, dai supporti fisici destinati a contenere le informazioni e dalle caratteristiche del DBMS. Il modello concettuale più diffuso è quello Entità/Associazioni, indicato come modello E/R dai termini inglesi Entity/Relationship. Tale modello si basa su oggetti detti entità, attributi che rappresentano le caratteristiche delle entità e associazioni che individuano le correlazioni logiche fra le entità. 10 Modelli logici: il modello gerarchico Adatto a rappresentare situazioni in cui si individua una struttura piramidale, secondo uno schema ad albero in cui i nodi rappresentano le entità e gli archi le relazioni. CLIENTI BANCA CONTI 3000 34567 3800 34456 8500 45167 7600 34989 4600 45007 Bianchi Guido Torino 10128 Rossi Tina Venaria 10045 Verdi Giorgio Torino 10151 Falchi Carlo Santià 10034 Costa Sandro Torino 10146 11 Modelli logici: il modello reticolare Si tratta di un’estensione del modello di albero gerarchico, in cui i nodi rappresentano le entità e gli archi rappresentano le associazioni CLIENTI MOVIMENTI 23/05/05 V 200,00 30/05/05 P 280,00 13/05/05 P 750,00 28/05/05 V 900,00 CONTI 3000 34567 3800 34456 8500 45167 7600 34989 4600 45007 Bianchi Guido Torino 10128 Rossi Tina Venaria 10045 Verdi Giorgio Torino 10151 Falchi Carlo Santià 10034 Costa Sandro Torino 10146 12 Modelli logici: il modello relazionale Rappresenta il database come un insieme di tabelle 13 Implementazione del livello logico Definizione dei dati e delle strutture dati derivate dallo schema logico e produzione della documentazione relativa Definizione dei sottoschemi o viste. La vista è detta anche tabella virtuale contrapposta alle tabelle del database dette tabelle primarie Organizzazione fisica dei dati sui supporti di memorizzazione 14 Manipolazione e interrogazione del DB Inserimento, modifica, cancellazione dei dati Interfaccia tra i programmi degli utenti e la base di dati Accesso ai dati con comandi semplici per l’utente finale non specialista 15 Controllo dell’integrità dei dati Controllo dell’input e controlli relativi alle interdipendenze tra dati di differenti tabelle Controllo dei vincoli definiti dall’utente per un particolare database 16 Sicurezza e protezione Protezione contro i danni causati da malfunzionamenti hardware, bachi presenti nel software o interventi dolosi Autorizzazione degli utenti che accedono al database Controllo degli accessi concorrenti 17