Basi di dati Modelli e linguaggi di interrogazione

Documenti analoghi
Basi di dati Architetture e linee di evoluzione

Sommario. Introduzione... 13

Basi di Dati Ingegneria Informatica e delle Telecomunicazioni

Indice analitico. Basi di dati - Modelli e linguaggi di interrogazione 3/ed P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, La normalizzazione

Introduzione ai sistemi informatici

Generalizzazione. Docente : Alfredo Cuzzocrea Tel. : Informatica

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Progettazione logica. Dati di ingresso e uscita

Atzeni, Ceri, Paraboschi, Torlone Basi di dati

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw -Hill, Progettazione logica. Dati di ingresso e uscita

MODULO 2. Query normali e parametriche Query di:

Forme normali. Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill. La normalizzazione. Normalizzazione. Una relazione con anomalie.

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Obiettivo della progettazione logica. Dati di ingresso e uscita

Introduzione alla meccanica strutturale

N ORE LEZIONI FRONTALI: STUDIO INDIVIDUALE ( ) N ORE ESERCITAZIONI/LABORATORIO: STUDIO INDIVIDUALE ( )

SISTEMI INFORMATIVI TERRITORIALI DATABASES -LEZIONE 3

Requisiti della base di dati. Schema concettuale

Algebra relazionale: operazioni

Come usare dbase lii Plus. Edward Jones

Basi di dati D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2012/13

Corso di Laurea in Informatica Basi di Dati a.a

DOCENTE PROF. ALBERTO BELUSSI. Anno accademico 2010/11

Basi di dati Basi di dati per bioinformatica

Basi di Dati. Concetti e Principi Generali. Maria Mirto

Atzeni, Ceri, Paraboschi, Torlone Basi di dati

Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor

Progettazione concettuale. Facoltà di Scienze Matematiche, Fisiche e Naturali. Progettazione concettuale. Acquisizione e analisi dei requisiti

INTRODUZIONE. Prof. Fabio A. Schreiber. Dipartimento di Elettronica e Informazione Politecnico di Milano PROGRAMMA DEL CORSO

Forme normali. Prima forma normale (1NF) Seconda forma normale(2nf) Relazione non in 1NF

INFORMATICA PER LE SCIENZE UMANE a.a. 2015/2016

Informatica per l Ambiente e il Territorio

Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2010/2011. Basi di dati

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL

Progettazione di basi di dati

1. Dire cosa si intende per componente intensionale e componente estensionale di una base di dati.

Corso di Informatica

Basi di dati. Elena Baralis Politecnico di Torino

Prefazione Sistemi informativi e basi di dati Il modello relazionale Il modello ER

Elena Baralis 2007 Politecnico di Torino 1

Alessandro Bellini Andrea Guidi 1 CD A LLEGA TO

ARCHITETTURA DI UN DBMS

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/

Normalizzazione di Basi di Dati

Progettazione di basi di dati

LA NORMALIZZAZIONE. Prima parte

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL

Informatica per le Scienze Umane. Introduzione al corso: programma dettagliato

Progettare Basi di Dati

Basi di dati. Linguaggio SQL: fondamenti - Introduzione. Elena Baralis 2007 Politecnico di Torino 1 D B M G 2 D B M G D B M G 4 D B M G 6

Introduzione alle Basi di Dati

Introduzione Concetti Generali Pratica su Access Link utili. ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 1

Introduzione alle basi di dati e ai DBMS

Le basi di dati. Base di dati = dati + DBMS.

Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2011/2012. Basi di dati

Le basi di dati. Definizione 1. Lezione 2. Bisogna garantire. Definizione 2 DBMS. Differenza

Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, ALGEBRA E CALCOLO RELAZIONALE

Atzeni, Ceri, Paraboschi, Torlone Basi di dati. Progettazione logica. Attenzione

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw -Hill, Progettazione concettuale

LA NORMALIZZAZIONE. Seconda parte

Modello Relazionale. Architettura a tre livelli di un DBMS

Transcript:

Paolo Atzeni Stefano Ceri Stefano Paraboschi Riccardo Torlone Basi di dati Modelli e linguaggi di interrogazione web site McGraw-Hill

IUAV - VENEZIA H 9882 BIBLIOTECA CENTRALE

Paolo Atzeni Stefano Ceri Stefano Paraboschi Riccardo Torlone H 3882 Basi di dati Modelli e linguaggi di interrogazione McGraw-Hill ISTITUTO UNIV~RSITARIO ARCHITETTURA VENEZIA AREA SfRVl'.i!l P.lqtJOGRAFICI E DOCUMENTALI BIBLIOTECA CENTRALE INV.,.._.;..>. {, C>jQl"!.g~2~----- HlL 56 7 ozi Milano New York SI. Louis San Francisco Auckland Bogota Caracas Lisboa London Madrid Mexico City Montreal New Delhi San Juan Singapore Sydney Tokyo Toronto

Indice Prefazione 1 Introduzione 1.1 Sistemi informativi, informazioni e dati 1.2 Basi di dati e sistemi di gestione di basi di dati. 1.3 Modelli dei dati.... 1.3.1 Schemi e istanze.... 1.3.2 Livelli di astrazione nei DBMS 1.3.3 Indipendenza dei dati... 1.4 Linguaggi e utenti delle basi di dati. 1.4.1 Linguaggi per basi di dati 1.4.2 Utenti e progettisti... 1.5 Vantaggi e svantaggi dei DBMS. xi 1 1 3 5 6 7 7 8 8 9 10 Parte Prima Basi di dati relazionali: modello e linguaggi 13 2 Il modello relazionale 2.1 Il modello relazionale: strutture......... 2.1.1 Modelli logici nei sistemi di basi di dati 2.1.2 Relazioni e tabelle.. 2.1.3 Relazioni con attributi......... 2.1.4 Relazioni e basi di dati......... 2.1.5 Informazione incompleta e valori nulli. 2.2 Vincoli di integrità.. 2.2.1 Vincoli di tupla... 2.2.2 Chiavi........ 2.2.3 Chiavi e valori nulli. 2.2.4 Vincoli di integrità referenziale 2.3 Conclusioni............... 3 Algebra e calcolo relazionale 3.1 Algebra relazionale.... 3.1.1 Unione, intersezione, differenza 3.1.2 Ridenominazione. 3.1.3 Selezione.... 15 15 15 16 18 21 26 29 31 32 34 36 39 43 44 44 45 47

vi INDICE 3.1.4 Proiezione............. 3.1.5 Join.... 3.1.6 Interrogazioni in algebra relazionale 3.1. 7 Equivalenza di espressioni algebriche 3.1.8 Algebra con valori nulli 3.1.9 Viste.... 3.2 Calcolo relazionale.... 3.2.1 Calcolo relazionale su domini 3.2.2 Pregi e difetti del calcolo su domini 3.2.3 Calcolo su tuple con dichiarazioni di range 3.3 Datalog....................... 4 SQL 4.1 Definizione dei dati in SQL. 4.1.1 I domini elementari 4.1.2 Definizione di schema 4.1.3 Definizione delle tabelle 4.1.4 Definizione dei domini. 4.1.5 Specifica di valori di default 4.1.6 Vincoli intrarelazionali 4.1.7 Vincoli interrelazionali 4.1.8 Modifica degli schemi 4.1.9 Cataloghi relazionali 4.2 Interrogazioni in SQL..... 4.2.1 Dichiaratività di SQL. 4.2.2 Interrogazioni semplici 4.2.3 Operatori aggregati 4.2.4 Interrogazioni con raggruppamento 4.2.5 Interrogazioni di tipo insiemistico 4.2.6 Interrogazioni nidificate 4.3 Manipolazione dei dati in SQL 4.3.l Inserimento.. 4.3.2 Cancellazione..... 4.3.3 Modifica....... 4.4 Altre definizioni dei dati in SQL 4.4.1 Vincoli di integrità generici 4.4.2 Asserzioni......... 4.4.3 Viste.... 4.4.4 Le viste per la scrittura di interrogazioni 4.4.5 Viste ricorsive in SQL:1999 4.5 Funzioni scalari........ 4.5.1 Famiglie di funzioni 4.5.2 Funzioni condizionali 4.6 Controllo dell'accesso... 4.6.1 Risorse e privilegi.. 4.6.2 Comandi per concedere e revocare privilegi 50 51 59 63 66 68 70 71 76 78 81 89 91 92 95 96 97 97 98 100 102 104 106 106 107 121 123 128 130 137 137 138 139 141 141 142 143 144 146 147 147 148 150 150 151

INDICE vii 4.7 Transazioni... 4.8 Esempi riepilogativi. 5 SQL nei linguaggi di programmazione 5.1 SQL Embedded.... 5.1.1 Cursori.... 5.1.2 SQL dinamico.... 5.2 Uso di Call Level Interface (CLI). 5.2.1 ODBC, OLE DB e ADO. 5.2.2 Java Database Connectivity (JDBC) 5.3 Procedure.................. 153 155 163 163 166 169 171 172 176 179 Parte Seconda Progettazione di basi di dati 185 6 Metodologie e modelli per il progetto 6.1 Introduzione alla progettazione........... 6.1.1 Il ciclo di vita dei sistemi informativi... 6.1.2 Metodologie di progettazione e basi di dati 6.2 Il modello Entità-Relazione....... 6.2.1 I costrutti principali del modello.. 6.2.2 Altri costrutti del modello..... 6.2.3 Panoramica finale sul Modello E-R 6.3 Documentazione di schemi E-R.. 6.3.1 Regole aziendali.... 6.3.2 Tecniche di documentazione 6.4 Modellazione dei dati in UML 7 La progettazione concettuale 7.1 La raccolta e l'analisi dei requisiti 7.2 Criteri generali di rappresentazione. 7.3 Strategie di Progetto.... 7.3.1 Strategia top-down. 7.3.2 Strategia bottom-up. 7.3.3 Strategia inside-out. 7.3.4 Strategia mista... 7.4 Qualità di uno schema concettuale 7.5 Una metodologia generale... 1 7.6 Un esempio di progettazione concèttuale. 7.7 Strumenti CASE per la progettazione di basi di dati 8 La progettazione logica 8.1 Analisi delle prestazioni su schemi E-R 8.2 Ristrutturazione di schemi E-R... 8.2.1 Analisi delle ridondanze.... 8.2.2 Eliminazione delle generalizzazioni 187 187 187 190 194 194 200 208 210 211 213 215 225 225 231 232 232 235 237 239 240 242 243 247 255 256 260 260 264

viii INDICE 8.2.3 Partizionamento/accorpamento di concetti. 8.2.4 Scelta degli identificatori principali 8.3 Traduzione verso il modello relazionale 8.3.1 Entità e associazioni molti a molti 8.3.2 Associazioni uno a molti.... 8.3.3 Entità con identificatore esterno 8.3.4 Associazioni uno a uno..... 8.3.5 Traduzioni di schemi complessi 8.3.6 Tabelle riassuntive.... 8.3.7 Documentazione di schemi logici 8.4 Un esempio di progettazione logica.. 8.4.1 Fase di ristrutturazione...... 8.4.2 Traduzione verso il relazionale.. 8.5 Progettazione logica con gli strumenti CASE 8.6 Progettazione fisica di una base di dati 268 271 273 273 275 277 277 279 281 282 284 285 290 290 292 9 La normalizzazione 299 9.1 Ridondanze e anomalie..... 300 9.2 Dipendenze funzionali..... 301 9.3 Forma normale di Boyce e Codd 303 9.3.1 Definizione di forma normale di Boyce e Codd 303 9.3.2 Decomposizione in forma normale di Boyce e Codd 304 9.4 Proprietà delle decomposizioni..... 307 9.4.1 Decomposizione senza perdita. 307 9.4.2 Conservazione delle dipendenze 309 9.4.3 Qualità delle decomposizioni.. 310 9.5 Terza forma normale.......... 311 9.5.1 Definizione di terza forma normale 311 9.5.2 Decomposizione in terza forma normale. 313 9.5.3 Altre tecniche di normalizzazione... 313 9.6 Progettazione di basi di dati e normalizzazione 315 9.6.1 Verifiche di normalizzazione su entità 315 9.6.2 Verifiche di normalizzazione su associazioni 317 9.6.3 Ulteriori decomposizioni di associazioni... 318 9.6.4 Ulteriori decomposizioni di schemi concettuali 320 A Microsoft Access 325 A.1 Caratteristiche del sistema...... 326 A.2 La definizione delle tabelle...... 327 A.2.1 Specifica dei cammini di join. 332 A.2.2 Popolamento delle tabelle 334 A.3 La definizione di query.. 334 A.3.1 Query By Example 335 A.3.2 L'interprete SQL 341 A.4 Maschere e report.... 342 A.5 La definizione di macro. 344

INDICE ix B DB2 Universal Database 347 B.1 Caratteristiche generali di DB2 348 B.1.1 Versioni del sistema 348 B.1.2 Istanze e schemi di DB2 349 B.1.3 Interazione con DB2.. 349 B.2 Gestione di una base di dati con DB2. 350 B.2.1 Strumenti per la gestione interattiva 350 B.2.2 Programmi applicativi 355 B.3 Funzionalità avanzate di DB2. 359 B.3.1 Dati complessi 359 B.3.2 Extender... 360 B.3.3 Tipi utente.. 361 B.3.4 Funzioni utente 362

www.mcgraw-hill.it www.ateneonline.it/informatica www.hyperbook.it ' e ~... I :-i Questo libro si rivolge agli studenti di un corso di basi di dati per la laurea di primo livello. Scopo del volume è fornire una descrizione delle basi di dati adatta a chi deve progettare e programmare applicazioni, offrendo una visione chiara e aggiornata sugli aspetti fondamentali delle basi di dati, sui linguaggi di interrogazione e gestione, e sulle tecniche e metodi di progettazione. Il testo sì affianca al volume "Basi di dati seconda edizione" degli stessi Autori, accolto con grande favore e presente anche in edizione internazionale, che copre un ventaglio di argomenti più vasto. Sul sito www.atene.onlim.it/atzeni è possibile reperire materiale utile per studenti e docenti. Basi di dati modelli e linguaggi di interrogazione Paolo Atzeni è professore ordinario di Basi di dati presso la Facoltà di Ingegneria dell'università Roma Tre. Stefano Ceri è professore ordinario di Basi di Dati presso la Facoltà di Ingegneria dell'informazione del Politecnico di Milano. Stefano Paraboschi è professore associato presso la Facoltà di Ingegneria dell'informazione del Politecnico di Milano. Riccardo Torlone è professore associato presso la Facoltà di Ingegneria della Università Roma Tre. ISBN 88-386-6008-5 25,00 11 111 1111 11 11 11111 11 9 788838 660085