09 Le Basi di Dati x1 - salvemini.altervista.org · Fondamenti di Informatica - Le Basi di Dati...

21
1/42 Le Basi di Dati Le Basi di Dati Corso di Laurea in Ingegneria Civile Politecnico di Bari – Sede di Foggia Fondamenti di Informatica Anno Accademico 2010/2011 docente: prof. ing. Michele Salvemini Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 2/42 Sommario Sistema Informativo Sistema Informatico Dati e Informazione Basidi Dati e DBMS Compiti di un DBMS Progettazione di un DB Modello dei Dati Modello Concettuale Modello Logico Gerarchico Reticolare Modellazione Concettuale Modello Entità Relazioni Attributi, Valori nulli, Chiavi e Relazioni Progettazione Logica Il Modello Relazionale Relazioni e Tabelle Concetti base Note Esempi Chiavi Vincoli di Integrità Algebra Relazionale Selezione, Proiezione, Unione, Intersezione, Differenza Cenni di SQL

Transcript of 09 Le Basi di Dati x1 - salvemini.altervista.org · Fondamenti di Informatica - Le Basi di Dati...

Page 1: 09 Le Basi di Dati x1 - salvemini.altervista.org · Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 27/42 Progettazione Logica - Il Modello

1/42

Le Basi di DatiLe Basi di Dati

Corso di Laurea in Ingegneria Civile

Politecnico di Bari – Sede di Foggia

Fondamenti di InformaticaAnno Accademico 2010/2011

docente:prof. ing. Michele Salvemini

Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 2/42

Sommario

� Sistema Informativo

� Sistema Informatico

� Dati e Informazione

� Basidi Dati e DBMS

� Compiti di un DBMS

� Progettazione di un DB

� Modello dei Dati

� Modello Concettuale

� Modello Logico

� Gerarchico� Reticolare

� Modellazione Concettuale

� Modello Entità Relazioni

� Attributi, Valori nulli, Chiavi e Relazioni

� Progettazione Logica

� Il Modello Relazionale

� Relazioni e Tabelle� Concetti base

� Note

� Esempi

� Chiavi

� Vincoli di Integrità� Algebra Relazionale

� Selezione, Proiezione, Unione, Intersezione, Differenza

� Cenni di SQL

Page 2: 09 Le Basi di Dati x1 - salvemini.altervista.org · Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 27/42 Progettazione Logica - Il Modello

Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 3/42

Sistema Informativo

� Organizza e gestisce le informazioni necessarie a perseguire gli scopi di una determinata organizzazione

� Sia a livello individuale che in organizzazioni di grandi dimensioni

� È necessario:

� Disponibilità di informazioni

� Capacità di gestirle in modo efficace

� Esiste indipendentemente dalla sua automatizzazione

Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 4/42

Sistema Informatico

� Rappresenta la parte automatizzata di un sistema informativo

� Consente la raccolta, organizzazione e conservazione dei dati

� Garantisce:

� la conservazione dei dati in modo permanente su dispositivi per la memorizzazione

� l’aggiornamento rapido che rifletta le variazioni

� l’accessibilità

Page 3: 09 Le Basi di Dati x1 - salvemini.altervista.org · Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 27/42 Progettazione Logica - Il Modello

Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 5/42

Dati e Informazione

� Dato

� unita` elementare (grezza) di informazione

� Informazione

� è l’elaborazione dei dati per rispondere a esigenze specifiche

� Un dato è ciò che è immediatamente presente alla conoscenza. Una sua elaborazione può portare alla conoscenza di una informazione

Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 6/42

Basi di Dati e DBMS

� Sistema di gestione di basi di dati DBMS:

� è un sistema software in grado di gestire collezioni di dati che siano

� grandi

� condivise

� persistenti

� assicurando la loro affidabilità e privatezza

� Base di dati DB:

� è una collezione di dati gestita da un DBMS

Accesso ad un archivio tramite DBMS

Page 4: 09 Le Basi di Dati x1 - salvemini.altervista.org · Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 27/42 Progettazione Logica - Il Modello

Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 7/42

Compiti di un DBMS

� possono essere riassunti come segue:

� Mantenere l’informazione indefinitamente.

� Permettere un recupero dei dati nella maniera più efficiente possibile.

� Gestire la sicurezza dei dati (ovvero distinguere varie tipologie di utenti per negare o consentire l’accesso a determinate porzioni dei dati).

� Garantire (entro certi limiti) il recovery della base dati in caso di guasti del sistema.

� Controllare l’accesso contemporaneo da parte di più utenti agli stessi dati, garantendo la coerenza e l’integrità del database stesso.

Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 8/42

Progettazione di un DB

� Consiste nel definire la struttura, le caratteristiche ed il contenuto.

� Si basa sull’uso di opportune metodologie

� La metodologia di riferimento consiste di tre fasi fondamentali:

� Modellazione concettuale

� Progettazione logica� Progettazione fisica

� In ciascuna fase viene definito un modello dei dati

Page 5: 09 Le Basi di Dati x1 - salvemini.altervista.org · Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 27/42 Progettazione Logica - Il Modello

Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 9/42

Progettazione di un DB -Modello dei Dati

� Un insieme di concetti utilizzati per organizzare i dati di interesse e descriverne la struttura in modo che sia comprensibile ad un elaboratore

� Il modello dei dati può essere definito a livello:

� Concettuale

� Logico

Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 10/42

Progettazione di un DB -Modello dei Dati – Modello Concettuale (1/2)

� Rappresenta le specifiche informali della realtà di interesse in termini di una descrizione formale e completa indipendentemente dai criteri di rappresentazione utilizzati nei sistemi di gestione

� Caratteristiche

� È indipendente dalla scelta del modello logico

� Descrive concetti del mondo reale piuttosto che i dati utili per rappresentarli

� Utilizzato nella fase preliminare del processo di progettazione della base di dati

Page 6: 09 Le Basi di Dati x1 - salvemini.altervista.org · Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 27/42 Progettazione Logica - Il Modello

Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 11/42

Progettazione di un DB -Modello dei Dati – Modello Concettuale (2/2)

� Modello Entità Relazioni

� Modello per la rappresentazione concettuale dei dati

� Costrutti del modello

� Entità: rappresentano classi di oggetti, fatti, persone che hanno proprietà comuni ed esistenza “ autonoma”

� Relazioni: rappresentano legami logici, significativi per l’applicazione tra due o più entità

� Attributi: Ogni entità è caratterizzata da attributi che la specificano.

� uno studente ha delle proprietà� Cognome, nome, numero di matricola indirizzo

� un esame ha delle proprietà� Data, voto

Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 12/42

Modellazione Concettuale -Modello Entità-Relazioni

� Entità: Una classe di oggetti (astratti o tangibili) della realtà di interesse (dominio) distinguibili dagli altri

� Attributi: le particolari proprietà che caratterizzano ciascuna entità nel contesto di interesse

� Occorrenza di una entità

� è un esemplare (istanza) della classe

� è caratterizzata da valori assunti dagli attributi

Page 7: 09 Le Basi di Dati x1 - salvemini.altervista.org · Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 27/42 Progettazione Logica - Il Modello

Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 13/42

Modellazione Concettuale -Modello Entità-Relazioni - Attributi

� Dominio di un attributo

� L’insieme dei valori che possono essere assegnati ad un attributo di una entità.

� Es. età: 16-65, nome: insieme delle stringhe di caratteri

� Attributo derivato

� Attributo che è possibile o conveniente determinare a partire da altri attributi immagazzinati.

� Es.: Età è derivabile da data di nascita (è anche conveniente?).

Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 14/42

Modellazione Concettuale -Modello Entità-Relazioni – Valori Nulli

� Quando per un attributo in un esemplare di una entità non sia possibile determinare un valore

� viene creato il valore Null.

� Il suo significato può essere duplice:

� Ignoto

� Non applicabile

� Es.:

� Voto_di_maturità = null (non è noto il valore, ma la maturità è stata conseguita).

� Civico = null (non esiste una numerazione poiché l’urbanizzazione non è completa).

Page 8: 09 Le Basi di Dati x1 - salvemini.altervista.org · Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 27/42 Progettazione Logica - Il Modello

Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 15/42

Modellazione Concettuale -Modello Entità-Relazioni – Chiave di una Entità (1/4)

� Attributi chiave: per distinguere tra occorrenze di una stessa entità si assume l’esistenza di un vincolo di unicità sugli attributi.

� Chiave: è un sottoinsieme di attributi (che può ridursi ad uno) di una entità la cui combinazione di valori è distinta per ciascuna occorrenza di una entità.

Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 16/42

Modellazione Concettuale -Modello Entità-Relazioni – Chiave di una Entità (2/4)

� Note sul vincolo di chiave

� La proprietà di unicità è un vincolo sullo schema dell’entità, non su un particolare insieme di occorrenze di entità. Essa pertanto vale sempre.

� La chiave va determinata quindi sulla base delle proprietà del mini mondo che la base di dati rappresenta.

� Una entità può avere più di un insieme di attributi che verificano il vincolo di chiave.

� Es.: Numero di telaio e numero di targa per l’entità “autovettura”.

Page 9: 09 Le Basi di Dati x1 - salvemini.altervista.org · Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 27/42 Progettazione Logica - Il Modello

Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 17/42

Modellazione Concettuale -Modello Entità-Relazioni – Chiave di una Entità (3/4)

� Esempio

� Utilizzando una rappresentazione tabellare:

Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 18/42

Modellazione Concettuale -Modello Entità-Relazioni – Chiave di una Entità (4/4)

� Esempio

� La proprietà di un attributo di essere chiave dipende dal contesto

Page 10: 09 Le Basi di Dati x1 - salvemini.altervista.org · Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 27/42 Progettazione Logica - Il Modello

Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 19/42

Modellazione Concettuale -Modello Entità-Relazioni – Le Relazioni (1/4)

� Relazione: Associazione o legame logico esistente tra due o più entità

� Vincoli strutturali

� Le relazioni possono avere vincoli che limitano le combinazioni delle entità partecipanti.

� I vincoli dipendono dal contesto

� Cardinalità e Partecipazione

Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 20/42

Modellazione Concettuale -Modello Entità-Relazioni – Le Relazioni (2/4)

� Cardinalità

� 1:1(uno a uno)

� 1:N(uno a molti)

� M:N(molti a molti)

� Partecipazione

� Totale: dipendenza esistenziale. Ogni occorrenza di entità partecipa alla relazione

� Es.: I requisiti dichiarano che un progetto (una occorrenza della entità Progetto) deve essere gestito da un dipartimento, altrimenti non ha senso che esista.

� Graficamente espressa con una “linea di relazione” marcata

� Parziale: Una occorrenza di entità può partecipare alla relazione.

� Es.: Un impiegato può essere direttore di un dipartimento, ma non necessariamente

Page 11: 09 Le Basi di Dati x1 - salvemini.altervista.org · Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 27/42 Progettazione Logica - Il Modello

Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 21/42

Modellazione Concettuale -Modello Entità-Relazioni – Le Relazioni (3/4)

� Esempio

Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 22/42

Modellazione Concettuale -Modello Entità-Relazioni – Le Relazioni (4/4)

� Considerazioni finali sul modello E-R

� Va costruito dopo una adeguata attività di raccolta di requisiti.

� Consente una descrizione ad alto livello dei dati.

� Aiuta a chiarire ulteriormente i requisiti

� Consente di esplicitare numerosi vincoli

� E’ soggettivo: numerose scelte sono possibili e vanno adeguatamente ponderate.

� Se costruito in modo adeguato consente la mappatura immediata nel modello logico relazionale.

� E’ comunque necessario procedere a raffinamenti e verifiche (normalizzazione).

Page 12: 09 Le Basi di Dati x1 - salvemini.altervista.org · Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 27/42 Progettazione Logica - Il Modello

Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 23/42

Progettazione di un DB -Modello dei Dati – Modello Logico

� Definisce la strutturazione dei dati

� Utilizza strutture di dati astratte (modello concettuale) che riflettono una particolare organizzazione

� è possibile realizzare diversi tipi di database a partire da uno stesso modello concettuale.

� Nel corso degli anni si sono sviluppati vari tipi di modelli logici

� Gerarchici

� Reticolari

� relazionali.

Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 24/42

Progettazione Logica -Il Modello Relazionale

� E’ attualmente il modello più utilizzato nel mondo dei database (Oracle, Informix, IBM, Microsoft, etc.)

� Permette di definire tipi per mezzo del costruttore relazione che consente di organizzare dati in insiemi di record a struttura fissa

� Ha solide basi teoriche.

Page 13: 09 Le Basi di Dati x1 - salvemini.altervista.org · Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 27/42 Progettazione Logica - Il Modello

Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 25/42

Progettazione Logica -Il Modello Relazionale – Relazioni e Tabelle

� Una relazione matematica R è un sottoinsieme del prodotto cartesiano

� Ricordiamo che, dati due insiemi D1 e D2, il prodotto cartesiano è l’insieme delle possibili coppie ordinate (v1,v2) tale v1 appartiene a D1 e v2 appartiene a D2.

� Esempio

� A={1,2,4} B={a,b}

� A x B = {(1,a),(1,b),(2,a),(2,b),(4,a),(4,b)}

� R = {(1,b),(4,a),(4,b)}

� R è un insieme:

� non ci possono essere elementi duplicati,

� Non è definito un ordinamento fra gli elementi della relazione

Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 26/42

Progettazione Logica -Il Modello Relazionale – Concetti base del modello (1/3)

� Una base di dati è rappresentata come una collezione di relazioni.

� Possiamo informalmente considerare una relazione come una tabella.

� Ciascuna riga rappresenta una collezione di valori di dati tra loro collegati

� Il nome della relazione e quelli delle colonne consentono di comprendere il significato dei valori delle righe.

� Tutti i valori di una colonna sono del medesimo tipo, appartengono cioè ad un medesimo dominio.

Page 14: 09 Le Basi di Dati x1 - salvemini.altervista.org · Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 27/42 Progettazione Logica - Il Modello

Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 27/42

Progettazione Logica -Il Modello Relazionale – Concetti base del modello (2/3)

� Dominio

� un insieme di valori atomici, cioè indivisibili.

� voti_università: valori tra 0 e 30.

� nomi_propri: l’insieme dei nomi di persona.

� A ciascun dominio si associa un tipo di dato o formato.

� Es: voti_università: interi

� nomi_propri: stringhe di caratteri

Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 28/42

Progettazione Logica -Il Modello Relazionale – Concetti base del modello (3/3)

� Schema di una relazione R:

� specificato come un nome R e una lista di attributi (A1, A2,..,An).

� Ciascun attributo Ai corrisponde ad un dominio D(Ai)

� Es.: Studente (nome, cognome, matricola, data_nascita, data_immatr)

� Grado della relazione: numero di attributi.

� Istanza di una relazione R r(R):

� è un insieme di tuple r=(t1,t2,..,tm).

� Ciascuna tupla t è una lista ordinata di valori t=(v1, v2,.., vn);

� Ciascun valore vi è un elemento di D(Ai) oppure è un valore null.

� Cardinalità: il numero di tuple nella estensione r(R).

Page 15: 09 Le Basi di Dati x1 - salvemini.altervista.org · Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 27/42 Progettazione Logica - Il Modello

Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 29/42

Progettazione Logica -Il Modello Relazionale – Note

� Note sulla definizione

� Le tuple sono definite come insieme. Ciò implica l’assenza di un particolare ordinamento sulle tuple stesse.

� I valori all’interno di una tupla sono stati definiti come “lista ordinata”, quindi esiste un ordinamento

Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 30/42

Progettazione Logica -Il Modello Relazionale – Esempi

� STUDENTI(Matricola,Cognome,Nome,DataNascita),

� ESAMI(Studente,Voto,Corso),

� CORSI(Codice,Titolo,Docente)

Page 16: 09 Le Basi di Dati x1 - salvemini.altervista.org · Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 27/42 Progettazione Logica - Il Modello

Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 31/42

Progettazione Logica -Il Modello Relazionale – Chiavi e Identificatori

� La chiave di una relazione è un insieme di attributi della relazione che identifica univocamente ogni tupla in ogni istanza della relazione

� C è una chiave per una relazione se valgono le seguenti proprietà:

� univocità: non possono esistere due tuple di R con lo stesso valore di C

� minimalità: eliminando un attributo da C la proprietà precedente decade

� Chiavi candidate e chiavi primarie

� Una chiave esiste sempre (l’insieme di tutti gli attributi)

� nessuna chiave primaria può assumere valore null.

Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 32/42

Progettazione Logica -Il Modello Relazionale – Vincolo di Integrità (1/2)

� proprietà che deve essere soddisfatta dalle istanze che rappresentano informazioni corrette per l’applicazione

� Vincolo intrarelazionale:

� di tupla: (NOT (Lode = “lode”) OR (Voto = 30))

� di dominio: (Voto > 18) AND (Voto < 30)

� di chiave

� Vincolo interrelazionale:

� vincolo di integrità referenziale (foreign key) fra un insieme di attributi X di una relazione R1 e un’altra relazione R2 è soddisfatto se i valori su X di ciascuna tupla dell’istanza di R1 compaiono come valori della chiave (primaria) dell’istanza di R2

� Es.: fra Corso nella relazione Esami e la relazione Corsi (vedi slide seguente)

Page 17: 09 Le Basi di Dati x1 - salvemini.altervista.org · Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 27/42 Progettazione Logica - Il Modello

Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 33/42

Progettazione Logica -Il Modello Relazionale – Vincolo di Integrità (2/2)

� Esempio

� I valori evidenziati in rosso non rispettano i vincoli di integrità

Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 34/42

Progettazione Logica -Il Modello Relazionale – L'Algebra Relazionale

� L’Algebra relazionale fornisce un set di operatori:

� definiti sulle relazioni

� Producono come risultato una relazione

� Possono essere combinati per formare espressioni complesse

� Esecuzione procedurale

� Gli operatori primitivi dell’Algebra Relazionale sono:

� Ridenominazione;

� Unione;

� Differenza;

� Proiezione;

� Restrizione (o Selezione);

� Prodotto

Page 18: 09 Le Basi di Dati x1 - salvemini.altervista.org · Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 27/42 Progettazione Logica - Il Modello

Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 35/42

Progettazione Logica -Il Modello Relazionale – L'Algebra Relazionale – La Selezione

� Selezione (o restrizione) �

� Produce risultati:

� Con lo stesso schema dell’operando

� Con un sottoinsieme delle n-uple dell’operando (Quelle che soddisfano la condizione)

Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 36/42

Progettazione Logica -Il Modello Relazionale – L'Algebra Relazionale – La Proiezione

� Proiezione

� Produce risultati:

� Su un sottoinsieme degli attributi dell’operando

� Con valori da tutte le n-uple della relazione

Page 19: 09 Le Basi di Dati x1 - salvemini.altervista.org · Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 27/42 Progettazione Logica - Il Modello

Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 37/42

Progettazione Logica -Il Modello Relazionale – L'Algebra Relazionale – Unione

Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 38/42

Progettazione Logica -Il Modello Relazionale – L'Algebra Relazionale – Intersezione

Page 20: 09 Le Basi di Dati x1 - salvemini.altervista.org · Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 27/42 Progettazione Logica - Il Modello

Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 39/42

Progettazione Logica -Il Modello Relazionale – L'Algebra Relazionale – Differenza

Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 40/42

Cenni di SQL (1/3)

� L’SQL (Structured Query Language), sviluppato da IBM negli anni ’70, nasce come linguaggio testuale finalizzato al trattamento dei database di tipo relazionale.

� Nel corso degli anni l’SQL ha subito diverse modifiche giungendo alla definizione di diversi standard.

� scopi

� Definizione dei Dati (DDL : Data Definition Language)

� Manipolazione dei Dati (DML : Data Manipulation Language).

Page 21: 09 Le Basi di Dati x1 - salvemini.altervista.org · Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 27/42 Progettazione Logica - Il Modello

Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 41/42

Cenni di SQL (2/3)

� Concetto di Query

� L’interrogazione del database è detta Query:

� una richiesta al DBMS di visualizzare quei record che soddisfano determinati criteri.

� Il risultato di una query viene denominato dynaset (insieme dinamico) poichè costituito da un’insieme di campi prelevati dalle tabelle e composti a formare i record di una tabella virtuale.

� Questa non è concretamente memorizzata sul supporto fisico: i suoi valori provengono da altre tabelle e vengono aggiornati dinamicamente.

� Linguaggi come l’SQL hanno come finalità primaria proprio la descrizione dei criteri di selezione dei record (ovvero la formulazione delle query).

Fondamenti di Informatica - Le Basi di Dati Politecnico di Bari sede di Foggia - 29 Gen 2011 42/42

Cenni di SQL (3/3)

� Alcune istruzioni DDL

� CREATE TABLE

� DROP TABLE

� Alcune istruzioni DML

� SELECT (attributi) FROM (relazioni) WHERE (condizioni)

� INSERT INTO (relazione): <tupla1>, <tupla2>, …

� DELETE FROM (relazione) WHERE (condizioni)

� UPDATE (relazione) SET (attributo = espressione) WHERE (condizioni)