nuove voci tutti i giorni, e non si cancellano o aggiornano voci tutti i giorni), non si avverte l esigenza di avvalersi di un sistema informatico.

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "nuove voci tutti i giorni, e non si cancellano o aggiornano voci tutti i giorni), non si avverte l esigenza di avvalersi di un sistema informatico."

Transcript

1 LE BASI DI DATI

2 Generalità Un sistema informatico serve ad elaborare informazioni. Esso è giustificato, anzi è necessario, quando le informazioni da memorizzare sono tante e le elaborazioni da eseguirvi sopra sono numerose e frequenti. Infatti, quando si ha a che fare con poche informazioni, ad esempio quelle contenute in una comune rubrica telefonica personale, consistente di qualche centinaio di voci, peraltro non movimentate di frequente (di norma, non si inseriscono

3 nuove voci tutti i giorni, e non si cancellano o aggiornano voci tutti i giorni), non si avverte l esigenza di avvalersi di un sistema informatico. Invece, quando il numero di informazioni, e le elaborazioni su di esse, insieme crescono di molto, allora diventa necessario ricorrere ad un sistema informatico per ottenere livelli di efficienza e rapporti costi/prestazioni accettabili.

4 In un sistema informatico le informazioni possono essere memorizzate in molti modi. Ed anche in questo ambito tutto dipende da quante informazioni si devono memorizzare e quante, quali e quanto frequentemente devono essere eseguite le elaborazioni su di esse.

5 Es. Gestione dei prestiti dei propri libri. Si memorizzano per ogni libro prestato a un amico le seguenti informazioni: Autore Titolo

6 Con questo tipo di informazioni si può ad esempio utilizzare un foglio Excel o una Tabella Word per gestire la biblioteca di casa. Autore Libro Titolo Libro Nome Amico Tel. Amico Dante L Inferno Mario Boccaccio Il Decamerone Gianni Manzoni I Promessi Sposi Gianni

7 Problemi: Come si vede, c è ridondanza di dati, perché di Gianni ho dovuto riportare due volte il numero di telefono. Supponiamo di prestare un libro ancora a Gianni che però ha cambiato numero di telefono. Memorizzeremo il seguente record: Totò A livella Gianni

8 Come si vede, si crea una inconsistenza nei dati, perché se volessi richiedere la restituzione del libro di Boccaccio, prestato a Gianni, farei il numero di telefono che però non è più il numero di Gianni. Inoltre supponiamo che Mario mi restituisca il libro di Dante. Allora cancellerei il relativo record e il file Excel assumerebbe il seguente aspetto:

9 Autore Libro Titolo Libro Nome Amico Tel Amico Boccaccio Decamerone Gianni Manzoni Promessi Sposi Gianni Totò A livella Gianni Successivamente, andando a leggere il libro restituitomi, mi accorgo che sono state strappate delle pagine. Perciò vado a telefonare a Mario, ma, avendo cancellato il record, ho perduto anche il suo numero di telefono.

10 Quindi, ricapitolando, la gestione di un archivio nel modo suddetto crea numerosi problemi: Ridondanza dei dati. Inconsistenza nei dati. Perdita di informazioni.

11 La tecnologia delle basi di data, sviluppata alla fine degli anni 60, ha la finalità di evitare queste ed altre anomalie che possono verificarsi nella gestione di archivi di informazioni. Una tabella Word, oppure un foglio di lavoro Excel, non costituisce una base di dati. Un sistema di archiviazioni è detto Base di Dati se: 1) Non c è ridondanza nei dati.

12 2) Ogni nuovo inserimento, aggiornamento e cancellazione di dati mantiene la consistenza nel dati. Un modo per gestire con una base di dati il prestito dei libri è il seguente: 1) Si costruisce una tabella dei libri posseduti

13 Tabella libri Autore Libro Titolo Libro Dante Boccaccio Manzoni Totò Divina Commedia Decamerone Promessi Sposi A Livella

14 2) Si costruisce una tabella degli amici a cui si prestano i libri Tabella amici Nome Amico Telefono Amico Gianni Mario

15 3) Poi si costruisce una tabella dei prestiti Tabella prestiti Titolo Libro Nome Amico

16 Con queste tre tabelle si risolvono tutti i problemi prima esposti. Infatti, non appena si presta a Mario la Divina Commedia di Dante, si scrive nella Tabella Prestiti. Tabella prestiti Titolo Libro Nome Amico Divina Commedia Mario

17 Poi, quando si presteranno a Gianni i libri di Boccaccio e di Manzoni; la tabella dei prestiti diventerà: Tabella prestiti Titolo Libro Nome Amico Divina Commedia Mario Decamerone Promessi Sposi Gianni Gianni

18 Quando si presterà a Gianni anche il libro di Totò e nell occasione Gianni ci comunicherà che ha cambiato numero di telefono, la Tabella amici diventa: Tabella amici Nome Telefono Gianni Mario

19 E la Tabella prestiti diventa Tabella prestiti Titolo Libro Nome Amico Divina Commedia Mario Decamerone Promessi Sposi Gianni Gianni A Livella Gianni

20 Se voglio richiedere indietro il Decamerone di Boccaccio, dovrò compiere le seguenti azioni: Operazioni da effettuare sulla tabella prestiti Cercare Decamerone nella colonna Titolo Libro. annotare la riga (è la 2).

21 Nella colonna Nome Amico e nella riga 2, leggere il nome dell amico a cui è stato prestato il Decamerone: è Gianni Operazioni da eseguire sulla Tabella Amici. Cercare Gianni nella colonna Nome Amico. Annotare il numero di riga. E la 1 Nella colonna telefono Amico e nella riga 1, leggere il numero di telefono di Gianni1. E , cioè quello aggiornato.

22 Come si vede, ora non ci sono più inconsistenze nei dati. Ora, supponiamo che Mario ci restituisca il libro di Dante. Sarà sufficiente operare soltanto nella Tabella Prestiti, cancellando il relativo record.

23 Pertanto la Tabella Prestiti assumerà il seguente valore: Tabella prestiti Codice Libro Decamerone Codice Amico Gianni Promessi Sposi Gianni A Livella Gianni

24 Successivamente, quando ci si accorgerà che il libro restituitoci da Mario ha delle pagine mancanti, per avere spiegazioni da Mario sarà sufficiente andare alla Tabella Amici, dove è ancora presente il numero di Mario perché non è stato cancellato. Questo modo di costruire una base di dati all adozione del cosiddetto Modello Relazionale. comporta Esistono in effetti numerosi modelli dei dati per basi di dati: relazionale, gerarchico, reticolare, ad oggetti.

25 Noi considereremo solo il modello dei dati relazionale. Modello Relazionale Siano dati n domini, cioè insiemi di valori, D 1, D 2,..., D n. Si consideri il loro prodotto cartesiano D 1 D 2... D n Cioè l insieme costituito da tutte le n-uple < d 1, d 2,..., d n >

26 Si noti che una n-upla è una sequenza di valori: il primo appartiene a D 1, il secondo appartiene a D 2 etc.... Una relazione sui domini D 1, D 2,..., D n è un sottinsieme del prodotto cartesiano D 1 D 2... D n.

27 In pratica nel modello relazionale i dati sono organizzati in tabelle, chiamate relazioni, come nell esempio precedente. Ogni tabella è costituita da un certo numero di colonne (gli attributi della relazione, cioè valori appartenenti ai domini) e di righe (le n-uple del prodotto cartesiano, dette genericamente tuple della relazione).

28 Si consideri l esempio precedente. La Tabella Amici è la rappresentazione tra i seguenti domini: D 1 : tipo-nome D 2 : tipo-telefono D 1 e D 2 sono insiemi di valori. Ad esempio, D 1 = {Mario, Gianni, Laura, Cristina,...} D 2 = { , , ,...}.

29 Le colonne della Tabella sono gli attributi della relazione, cioè valori appartenenti ai rispettivi domini. L'attributo nome assume valori dal dominio tipo-nome e l'attributo telefono assume valori dal dominio tipotelefono. Ogni riga della Tabella Amici è una tupla della relazione Amici, costituita dai valori appropriati di ciascun attributo.

30 Tabella Amici Nome Amico Telefono Amico Gianni Mario Valori dal dominio Valoridal dominio Tipo-Amico Tipo-telefono

31 L insieme R costituito dalle due tuple R = {<Gianni, >, <Mario, >} è un sottoinsieme di tutte le possibili tuple che costituiscono il prodotto cartesiano D 1 D 2 cioè tipo-nome tipo-telefono. Quindi l insieme R è una relazione su D 1, e D 2.

32 Come si vede, la relazione espressa dalla Tabella Amici può variare a seconda che si aggiungano tuple o si eliminano tuple. Però è evidente che la relazione di per sé assume un preciso significato a prescindere dalle tuple che la costituiscono. Per distinguere questi due aspetti, cioè per distinguere il significato di una relazione dai valori delle tuple che costituiscono a ogni istante una relazione si introduce il concetto di Schema di Relazione.

33 Lo Schema di relazione è la semplice indicazione dell elenco degli attributi della relazione, preceduto dal nome della relazione. Così, per tornare alla relazione Amici, lo schema della relazione è: Amici ( Nome Amico, Telefono Amico). Un insieme di relazioni costituisce un Data Base.

34 Poiché, come si è visto, ogni relazione può mutare nel tempo, anche un data base può mutare nel tempo, ma il suo significato resta comunque immutato. Per distinguere il significato di un data base dalle relazioni che lo costituiscono istante per istante, si introducono i concetti di Data Base Intensionale Data Base Estensionale.

35 In particolare, il data base intensionale è quello costituito da tutti gli schemi di relazione mentre il data base estensionale è quello costituito da tutte le relazioni, cioè da tutte le tuple che a un certo istante fanno parte delle relazioni del data base.

36 Nell esempio considerato, il nostro database intensionale è costituito dai tre elenchi di relazione: Amici ( Nome Amico, Telefono Amico) Libri (Autore Libro, Titolo Libro) Prestiti (Titolo Libro, Nome Amico) Mentre il corrispondente database estensionale, ad un certo istante, è costituito dalle istanze dei tre schemi di relazione, e cioè:

37 Tabella prestiti Codice Libro Decamerone Codice Amico Gianni Promessi Sposi Gianni A Livella Gianni

38 Tabella Amici Nome Amico Telefono Amico Gianni Mario

39 Tabella libri Autore Libro Titolo Libro Dante Boccaccio Manzoni Totò Divina Commedia Decamerone Promessi Sposi A Livella

40 Chiavi Si consideri la relazione Amici. In essa, l attributo Nome Amico deve sempre assumere valori diversi. Infatti, se così non fosse, se per esempio esistono due amici chiamati Mario, allora si creerebbe un problema di ambiguità, in quanto non si saprebbe a quale dei due Mario è stato prestato un certo libro.

41 E evidente che si può considerare l eventualità di segnalare con artifici vari la presenza di doppioni : ad esempio registrando con Mario_1 e Mario_2 i due omonimi. Si può notare che questa considerazione non vale per i valori che può assumere l attributo Telefono Amico nella medesima relazione Amici. Infatti, Mario e Giacomo potrebbero avere lo stesso numero di telefono perché fratelli, o moglie e marito, o ospiti dello stesso istituto di accoglienza, etc.

42 Cosa distingue allora, nella relazione Amici, l attributo Nome Amici dall attributi Telefono Amici? Il fatto che il primo serve ad individuare in modo univoco il soggetto di interesse. Questa esigenza fa sì che nella relazione Amici i valori assunti dall Attributo Nome Amici siano tutti distinti tra loro.

43 Un attributo di questo tipo si chiama CHIAVE perché determina, da solo, l univocità di ogni tupla. A volte, anzi, sovente, si è in presenza di chiavi multiple: esse sono costituite da gruppi di attributi, scelti in modo tale da costituir insieme l univocità delle tuple.

44 Ad esempio, sempre nella relazione Amici, se avessimo due amici di nome Mario ma residenti uno a Roma, l altro a Milano, allora potrebbero esistere due tuple, ad esempio, del tipo: Mario, Milano, Mario, Roma, E in tal caso la chiave della relazione Amici sarebbe multipla, costituita dai due attributi Nome Amici, Città Amici.

45 In uno schema di relazione, gli attributi chiave si indicano mediante sottolineatura. Es: Amici (Nome Amici, Città Amici, Telefono Amici). In ogni schema di relazione esiste sempre una chiave, cioè esiste almeno un attributo che svolge il ruolo di chiave.

46 In uno schema di relazione è possibile che esistano più chiavi, cioè raggruppamenti di attributi che individuano univocamente le tuple delle relazioni. In questo caso si distingue tra chiave primaria e le altri chiavi. La chiave primaria deve sempre avere valori non nulli. In uno schema di relazione gli attributi individuati con la sottolineatura denotano solo la chiave primaria.

47 Vincoli di integrità I vincoli di integrità stanno ad indicare le regole semantiche che devono rispettare le tuple ed i campi di una relazione. Si considerino i seguenti esempi: Nella relazione Amici, l attributo Telefono Amico deve assumere valori ammissibili, ad esempio non è ammesso il numero Sempre nella relazione Amici, non potrebbe ad esempio esistere una tupla Carlo, Roma,

48 perché Roma non ha prefisso 051, che è invece di Bologna. Pertanto, ogni numero di telefono deve essere coerente con la località in cui vive l amico. Nella relazione Prestiti, non possono esistere ad esempio le due seguenti tuple: Odissea, Andrea Odissea, Giacomo

49 In quanto la stessa copia del libro non può essere contemporaneamente in prestito a due amici (si suppone che di quel libro si abbia una sola copia). Nella relazione prestiti, se esiste una tupla quale, ad esempio: Iliade, Enrico allora dovrebbero esistere:

50 nella relazione Libri, almeno una tupla in cui il campo titolo vale Iliade; nella relazione Amici, almeno una tupla in cui il campo Nome Amico vale Enrico.

51 Quelli considerati finora sono vincoli di integrità relativi a ciascuna relazione. Esistono però vincoli di integrità fra più relazioni. Il più importante di questi vincoli è chiamato Vincolo di integrità referenziale. Si consideri la base di dati costituita dai tre schemi di relazione Libri, Amici, Prestiti. I tre schemi hanno caratteristiche diverse.

52 Gli schemi Libri, Amici riguardano ciascuno informazioni omogenee, cioè relative ad un elemento tutto definito in sé. Infatti, tutte le relazioni costruibili su Libri riguarderanno autori e titoli, cioè un unico. Lo stesso discorso vale per Amici, in quanto ogni relazione costruita su Amici avrà tuple in cui sarà presente il nome, la città ed il telefono di ogni amico, e cioè ancora una volta si tratta di qualcosa di omogeneo, racchiuso nello stesso elemento amico.

53 Si consideri invece lo schema di relazione Prestiti. Una sua istanza (cioè una relazione costruita sullo schema di relazione) potrebbe essere la seguente: Le operette morali Gennaro Napoli Come si vede, ogni tupla della relazione Prestiti non è omogenea, in quanto in essa sono presenti valori che devono appartenere alle altre due relazioni Amici e Libri.

54 Infatti, il valore Le operette morali deve appartenere ad una tupla della relazione Libri e la coppia di valori Gennaro, Napoli deve appartenere ad una tupla della relazione Amici. Quindi la relazione Prestiti dipende dalle altre due relazioni.

55 In particolare, affinchè la relazione Prestiti sia consistente, per ogni valore dell attributo titolo deve esistere nella relazione Libri una tupla con lo stesso valore e, al tempo stesso, per ogni valore della coppia di attribito Nome Amico, Città Amico deve esistere nella relazione Amici una tupla con lo stesso valore.

56 Inoltre, sia l attributo titolo che la coppia di attributi Nome Amico, Città Amico devono essere chiavi primarie nei rispettivi schemi di relazione, come infatti si verifica nell esempio considerato.

57 Il fatto che uno schema di relazione (nel nostro caso Prestiti) dipenda da altri schemi di relazione (nel nostro caso Libri e Amici) viene indicato con il nome di integrità referenziale e la base di dati è consistente soltanto se sono rispettati tutti i vincoli di integrità referenziale a cui si è accennato nell esempio precedente. In una base di dati i vincoli di integrità devono sempre essere rispettati.

58 Affinchè una base di dati sia priva di anomalie, quali la ridondanza etc, è necessario procedere alla normalizzazione. Finora si è visto come costruire una base di dati, definendo schemi di relazione e badando a rispettare i vincoli di integrità, inclusi quelli referenziale.

59 Una base di dati però si costruisce con l obiettivo di trarne informazioni, cioè di poterla interrogare. Ebbene, per fare le interrogazioni bisogna utilizzare un linguaggio adatto allo scopo. Di linguaggi di interrogazioni di basi di dati, detti anche query language ne esistono numerosi.

60 Avendo assunto come riferimento il modello relazionale, diviene naturale presentare per primo il linguaggio basato sull algebra relazionale. Esso in sostanza consiste in una serie di operatori che agiscono sulle relazioni.

61 Interrogazioni su una base di dati Interrogare una base di dati significa estrarre informazioni di interesse memorizzate in essa. Rimanendo nell ambito del modello relazionale, si può affermare che ogni interrogazione del tipo

62 OPERATORI RELAZIONALI a) Trovare tutti gli amici di Milano che hanno in prestito qualche libro. Si lavora sulla relazione Prestiti 1) Selezione (Città Amico = Milano) 2) Proiezione sul risultato di 1 in Nome Amico.

63 b) Trovare tutti i libri in prestito a Gianni. Si lavora sulla relazione Prestiti 1)Selezione (Nome Amico = Gianni, Città Amico = Roma) 2)Proiezione sul risultato di 1) in Titolo Libri.

64 c) Trovare chi ha in prestito la Divina Commedia. Si lavora sulla relazione Prestiti 1) Selezione (Titolo Libro = Divina Commedia) 2) Proiezione su Nome Amico, Città Amico.

65 N.B. a), b) e c) sono del tutto equivalenti. Questa interrogazione invece non è equivalente alle precedenti: Trovare Autore e Titolo di tutti i libri in prestito a Gianni di Roma.

66 Si lavora sulla relazione Prestiti 1) Join naturale tra Libri e Prestiti 2) Selezione sul risultato di 1) per Nome Amico = Gianni, Città Amico = Roma 3) Proiezione sul risultato di 2) per Autore Libro, Titolo Libro.

67 Operazioni insiemistiche sulle relazioni

68 Poichè le relazioni sono insiemi di tuple, è del tutto naturale che su di esse si possano eseguire le tipiche operazioni insiemistiche, quali: l unione, la intersezione e la differenza.

69 I risultati di queste operazioni sono ancora relazioni. Affinchè sia possibile applicare tali operazioni, è però necessario che le relazioni siano definite sugli stessi attributi.

70 Si consideri ad esempio lo schema di relazione LIBRI vista in precedenza e il nuovo schema di relazione GIALLI, così definito: GIALLI(autore, titolo) Come si vede, i due schemi di relazione GIALLI e LIBRI sono definiti sullo stesso insieme di attributi.

71 Siano date, per gli schemi suddetti, le seguenti relazioni: LIBRI Calvino, barone rampante Simenon, commissario Maigret Conan Doyle, stanza rossa GIALLI Conan Doyle, stanza rossa Simenon, commissario Maigret Christy, Miss Murphy

72 Allora, le operazioni di unione, intersezione e differenza tra LIBRI e GIALLI danno come risultato le seguenti relazioni: LIBRI unione GIALLI Calvino, barone rampante Simenon, commissario Maigret Conan Doyle, stanza rossa Christy, Miss Murphy

73 LIBRI intersezione GIALLI Simenon, commissario Maigret Conan Doyle, stanza rossa LIBRI meno GIALLI Calvino, barone rampante

74 Si noti che le operazioni insiemistiche possono essere eseguite anche su attributi di diverso nome purchè appartenenti allo steso dominio. Così, se nello schema di relazione GIALLI avessimo adottato per gli attributi i nomi autore-giallo, titolo-giallo, le operazioni di unione, intersezione e differenza sarebbero state ugualmente eseguite (a rigore, precedute da una operazione di ridenominazione).

75 Operatori specifici dell algera relazionale. Quelli che seguono sono operatori caratteristici dell algebra relazionale. Sono gli operatori di selezione, proiezione e di join. Come per gli operatori insiemistici, anche in questo caso il risultato che si ottiene da ciascuna operazione è ancora una relazione.

76 Operazione di SELEZIONE. L operazione di selezione si applica ad una relazione specificando una opportuna condizione di selezione. Vediamo un esempio. Si consideri le seguenti istanze della relazione PRESTITI: PRESTITI Barone rampante, Mario, Roma, Nome della rosa, Antonio, Roma, a livella, gennaro, Napoli, Colonna infame, mario, Milano, Versetti satanici, mario, Milano,

77 se si specifica una condizione di selezione sugli attributi della relazione, allora si può eseguire l operazione di selezione. Sia data ad esempio la seguente condizione: c1: città amici =Roma in questo caso l operatore di selezione applicato alla relazione PRESTITI con la condizione di selezione c1, fornisce come risultato la seguente relazione: selezione (PRESTITI, città amici =Roma) Barone rampante, Mario, Roma, Nome della rosa, Antonio, Roma,

78 Come altro esempio, si consideri la seguente condizione di selezione: c2: data prestito > L operatore di selezione fornirà in questo caso il seguente risultato: selezione (PRESTITI, data prestito > ) a livella, gennaro, napoli, colonna infame, mario, milano, nome della rosa, antonio, roma, versetti satanici, mario, milano,

79 Operazione di PROIEZIONE L operazione di proiezione si esegue su una relazione specificando alcuni dei nomi degli attributi che compaiono nel corrispondente schema di relazione, e, quindi, nella stessa relazione. Il risultato che si ottiene è illustrato dai seguenti esempi. Si consideri ancora l istanza della relazione PRESTITI definita in precedenza. Si applichi l operatore di proiezione alla relazione PRESTITI con i seguenti attributi:

80 Proiezione (PRESTITI, titolo, data prestito) Barone rampante, a livella, colonna infame, nome della rosa, versetti satanici,

81 Come si vede, il risultato consiste una relazione definita soltanto sugli attributi titolo e data prestito, ottenuta dalla relazione PRESTITI. In questo caso il numero delle tuple della relazione ottenuta per proiezione è lo stesso della relazione di partenza, ma non è sempre così. Si consideri ad esempio la seguente operazione di proiezione, definita per gli attributi nome amico e data prestito:

82 Proiezione (PRESTITI, nome amico, data prestito) mario, gennaro, mario, antonio,

83 Come si vede, nella relazione che si ottiene come risultato sono presenti soltanto quattro tuple e non cinque come nella relazione di partenza. Il motivo è che ci dovrebbero essere due tuple riferite a mario, , ma naturalmente nella relazione ne appare soltanto una (bisogna ricordare che ogni relazione è un insieme di tuple, e gli insiemi non ammettono copie multiple di uno stesso elemento).

84 Operazione di join. Questa operazione ha numerose versioni. La principale si chiama join naturale. La definizione dell operazione è alquanto complicata. Pertanto, si ritiene più opportuno descirvere l operazione attraverso esempi. L operazione di join, contrariamente alle precedenti, è definita su due o più relazioni. Negli esempi che seguono si utilizzeranno sempre due relazioni, ma l estensione al caso di più relazioni è del tutto naturale.

85 Il risultato di una operazione di join naturale è ancora una relazione. Più precisamente, la relazione che si ottiene è costitutia dall unione degli attribuiti delle relazioni di partenza. Si considerino, ad esempio, le due seguenti relazioni, istanze rispettive degli schemi di relazione AMICI (nome amico, città amico, tel. Amico) e PRESTITI (titolo, nome amico, città amico, data prestito) :

86 AMICI Mario, Roma, Gennaro, Napoli, Mario, Milano, Antonio, Roma, PRESTITI Barone rampante, Mario, Roma, Nome della rosa, Antonio, Roma, a livella, Gennaro, Napoli, Colonna infame, Mario, Milano, Versetti satanici, Mario, Milano,

87 Il risultato sarà una relazione sugli attributi: titolo, nome amico, città amico, data prestito, tel. amico. La relazione che risulta dal join naturale tra la relazione PRESTITI e la relazione AMICI è la seguente: PRESTITI join naturale AMICI Barone rampante, Mario, Roma, , Nome della rosa, Antonio, Roma, , a livella, Gennaro, Napoli, , Colonna infame, Mario, Milano, , Versetti satanici, Mario, Milano, ,

88 In altre parole, l operazione di join naturale ha costruito una relazione in cui sono presenti, una sola volta, tutti gli attributi che figurano nelle relazioni date. Le tuple presentano le informazioni in modo coerente. Ad esempio, nella tupla relativa al Barone rampante c è indicato anche il telefono di Mario di Roma che l ha avuto in prestito, e così via. Le tuple del risultato quindi sono ottenute combinando le tuple delle relazioni date che presentano valori uguali sugli attributi comuni.

89 Infine, possono essere definite espressioni piu' complesse, raggruppando piu' operazioni per mezzo degli operatori logici dell'algebra booleana (and, or, not), oltre alle combinazioni di tutte le operazioni dell'algebra relazionale.

90 SQL

91 Il linguaggio SQL è stato realizzato per l interrogazione, la definizione e la manipolazione delle base dati. SQL (Structured Query Language) è un linguaggio di interrogazione per basi di dati relazionali che rappresenta uno standard per i programmi di basi di dati relazionali. SQL è un linguaggio dichiarativo cioè specifica l interrogazione ma non la modalità con cui eseguirla.

92 Un DBMS (Data Base Management System) analizza l interrogazione e formula una richiesta nel suo linguaggio procedurale interno per la gestione della base di dati o, tramite un compilatore, traduce l interrogazione SQL in una scritta nel linguaggio procedurale interno. Oltre che per l interrogazione delle basi di dati SQL permette anche la definizione dei dati (Data Definition Language) e la manipolazione e cioè la modifica delle basi di dati (Data Manipulation Language).

93 Qualsiasi software per la gestione di un data-base relazionale è l'unione di due componenti distinte: il software per la descrizione e strutturazione dei dati: DDL: data definition language, ed il software per la manipolazione, l'interrogazione della base dati e per l'accesso ai dati stessi: DML: data manipulation language. Quest'ultimo software riguarda praticamente la definizione delle funzioni che agiranno sui dati strutturati secondo il DDL.

94 I sistemi software che integrano i due linguaggi su menzionati, cioè i dati e le funzioni agenti sui dati, sono chiamati "DBMS" (Data Base Management System).

95 Spesso non viene utilizzato direttamente dall utente, che si serve di linguaggi più semplici e adatti ai problemi specifici i cui comandi si possono tradurre in SQL. E comunque utile conoscerlo per la sua basilarità e universalità. In seguito esporremo senza pretese di completezza le modalità più importanti della versione di SQL creata nel 1992 SQL-92 o SQL-2.

96 COSTRUTTI DI SQL SQL per la definizione dei dati agisce sulla definizione di schema. Per definire uno schema di base di dati si utilizza il comando Create table

97 seguito dal nome, l Autorizzazione (cioè l utente proprietario dello schema) e le definizioni degli elementi dello schema, come le tabelle che compongono la base di dati o i domini. Gli elementi possono essere definiti successivamente alla definizione dello schema.

98 DEFINIZIONE DEI DOMINI Per quanto riguarda la definizione dei domini, SQL utilizza i domini elementari predefiniti. Innanzitutto le stringhe di caratter si specificano con character( ) dove tra parantesi si scrive un numero che indica il massimo numero di caratteri ammissibili per quell attributo.

99 Vi è il tipo bit( ) che rappresenta successioni di 0 e 1 che si utilizza per attributi che assumono solo due valori o sequenze con due possibilità per ogni posizione (anche qui tra parentesi si inserisce la lunghezza). Vi sono poi i tipi numeric(), decimal(), integer e smallint; i primi due rappresentano decimali con precisione fissa o variabile (dove tra parentesi si inseriscono due parametri la precisione e la scala), mentre gli altri due si usano quando non è importante il controllo sulla precisione.

100 Vi sono poi i tipi per i numeri reali a virgola mobile: float (i cui si può specificare fra parentesi la precisione), double precision e real. Infine vi sono i tipi date (per la data), time (per l ora) e timestamp (per la data e l ora insieme), interval (per una durata teporale); in time e timestamp si può indicare tra parentesi la precisione e aggiungere la specificazione with time zone se si vuole l indicazione del fuso orario rispetto a quello di Greenwich.

101 In interval si può mscegliere l opzione year to month per indicare l intervallo in anni e mesi o day to second per indicare l intervallo in giorni ore minuti e secondi; dopo year o day si può aggiungere un numero tra parentesi per indicare il massimo di cifre utilizzabili nel numero di anni o giorni e dopo second si può mettere un numero tra parentesi per indicare la massima precisione possibile.

102 Oltre ai domini predefiniti di SQL, l utente ne può definire di nuovi col comando create domain seguito dal nome del dominio as seguito dal tipo di dato elementare (cioè char se è una stringa di caratteri o altro) il valore di default e eventuali vincoli.

103 La definizione di nuovi domini può essere utile quando attributi in diverse tabelle abbiano lo stesso tipo elementare e debbano avere gli stessi valori di default e gli stessi vincoli. In questo modo non bisogna ripetere più volte queste specifiche e le si può eventualmente modificare con un solo comando. Definizione di tabella:

104 create table Banca ( Nome char(30) primary key Indirizzo char (60) Citta char(20) )

105 In questo caso si tratta di una tabella con tre attributi costituiti da stringhe di caratteri di lunghezza minore uguale rispettivamente a 30, 60 e 20 e con l attributo nome come chiave primaria che identifica l agenzia della banca. In realtà in questo esempio il nome potrebbe non essere appropriato come chiave primaria a meno che esso non contenga anche il numero di agenzia. Si potrebbe invece aggiungere un altro attributo di tipo numerico integer che contiene il numero di agenzia:

106 In questo caso la chiave primaria è costituita dal nome insieme al numero. create table Banca (Nome char(30) Numero integer Indirizzo character (60) Citta character(20) primary key (Nome, Numero) )

107 Vincoli Si possono imporre vincoli sui valori degli attributi. I più semplici sono: not null, unique e il vincolo primary key che abbiamo già visto nella creazione di tabella.

108 Il vincolo not null che si scrive subito dopo la definizione di un attributo impone che l attributo non possa assumere il valore null, cioè quando si costruisce la tabella bisogna sempre assegnargli un valore a meno che non abbia un valore di default.

109 Il vincolo unique indica che un attributo o una n-pla di attributi sono unici: cioè se due righe della tabella sono diverse, allora l attributo o la n-pla di attributi nelle due righe sono necessariamente diversi. Il vincolo unique si impone facendo seguire unique alla definizione dell attributo nel caso che si riferisca a un solo attributo oppure aggiungendo una riga unique(attributo1, attributo2,..., attributo-n) nel caso si riferisca a una n-pla di attributi.

110 Il vincolo primary key indica che un attributo o una n- pla di attributi sono una chiave primaria cioè identificano completamente l individuo cui si riferisce la riga. A differenza del vincolo unique che può essere attribuito più volte all interno della stessa tabella, il vincolo primary key può essere assegnato una sola sola volta in una tabella.

111 Gli attributi coinvolti da primary key devono necessariamente assumere valori non nulli e quindi il vincolo not null viene implicitamente attribuito a tali attributi. La sintassi per il vincolo primary key è la stessa di quella per unique.

112 Vi sono inoltre vincoli che collegano più relazioni detti vincoli di integrità referenziale. Questo tipo di vincolo può essere fissato in due modi. Uno usa la costruzione references che collega un attributo di una tabella a un attributo di una altra tabella. L altro usa la costruzione foreign key per collegare una n- pla di attributi (in maniera simile a primary key) con una n- pla di attributi di un altra tabella attraverso references.

113 Vediamo un esempio della prima costruzione nella creazione della tabella studente; supponiamo di volere collegare l attributo Corsolaurea con l attributo Nome di un altra tabella denominata Corso. Si potrà inserire la seguente successione di istruzioni:

114 Create table Studente ( Nome character(20) Cognome character(20) Corsolaurea character(20) References Corso(Nome) Anno integer Media integer primary key(nome, Cognome) )

115 dove abbiamo inserito anche il vincolo di chiave primaria alla coppia di attributi (Nome, Cognome) (per evitare problemi per omonimie si potrebbe inserire come ulteriore attributo il numero di matricola). Vediamo invece per la stessa tabella un esempio della seconda costruzione supponendo che si voglia collegare la coppia di attributi (Nome, Cognome) agli attributi con lo stesso nome di una tabella denominata Anagrafe:

116 Create table Studente ( Nome character(20) Cognome character(20) Corsolaurea character(20) references Corso(Nome) Anno integer(2) Media numeric(4) foreign key(nome, Cognome) references Anagrafe(Nome, Cognome) )

117 In caso di violazione del vincolo, se cioè l attributo o la n-pla di attributi esterni sono cancellati o modificati, bisogna specificare che cosa succede agli attributi o alla n-pla di attributi della tabella. Si inserisce l istruzione on delete (per la cancellazione) o on update (per la modifica), cascade (se si vuole che lo stesso accada per gli associati nella tabella), set null (se li si vuole porre al valore nullo), set default (se li si vuole porre al valore di default), no action (se non si prevede nessuna reazione al cambiamento).

118 Vediamo infine alcuni comandi per modificare i domini o le tabelle. Per quanto riguarda i domini si usa il comando alter domain seguito da set default se si vuole fissare un valore di default, da drop default se si vuole eliminare il valore di default, add constraint per fissare un vincolo, drop constraint per eliminare un vincolo.

119 Per quanto riguarda le tabelle si usa analogamente il comando alter table, seguito da alter column aggiungendo il nome dell attributo e set default o drop default se si vuole fissare o rimuovere il valore di default di un attributo;

120 con i comandi add constraint o drop constraint si aggiunge o si rimuove un vincolo; add column o drop column si utilizzano se si vuole aggiungere o rimuovere un attributo.

121 Col comando drop si può rimuovere una tabella, un dominio o un altro elemento dello schema di una base di dati. L opzione di default è restrict secondo la quale la rimozione avviene solo se certe condizioni sono verificate (le condizioni dipendono dal tipo di elemento considerato). Se si specifica invece l opzione cascade tutti gli elementi vengono rimossi.

122 SQL per l interrogazione delle basi di dati

123 L interrogazione delle basi di dati è fondamentale in molti campi di lavoro e di ricerca. Nel campo delle scienze umane si può pensare a tutte le indagini sociologiche e statistiche su popolazioni di individui che sono legati fra loro e con istituzioni di vario tipo da una molteplicità di relazioni nella presenza di attributi numerici e qualitativi.

124 Consideriamo dapprima gli esempi più semplici di interrogazione. Sia data la tabella Studente: Nome Cognome Corsolaurea Anno Media Carlo Bianchi Chimica 2 24 Mario Franchi Matematica 3 26 Cesare Bianchi Fisica 4 28

125 Supponiamo che si voglia creare una tabella con le medie di tutti gli studenti di cognome Bianchi e si voglia dare a questo attributo l etichetta Profitto nella tabella. Il comando sarà: select Media as Profitto from Studente where Cognome = Bianchi

126 che produrrà la tabella: Profitto 24 28

127 Si possono fare ricerche su più attributi e anche su più tabelle. Ad esempio se sulla tabella Studente si vuole effettuare la ricerca sui nomi e i cognomi degli studenti iscritti al corso di laurea in matematica o in fisica, si può inviare il seguente comando: select Nome, Cognome from Studente where Corsolaurea = Matematica or Corsolaurea = Fisica

128 Il risultato sarà la seguente tabella: Nome Mario Cesare Cognome Franchi Bianchi

129 Se dopo select si mette un asterisco * si richiede che nella risposta appaiano tutti gli attributi della tabella o delle tabelle coinvolte nell interrogazione. Così la richiesta: select * from Studente where Corsolaurea = Matematica or Corsolaurea = Fisica

130 produrrà la risposta: Nome Cognome Corsolaurea Anno Media Mario Franchi Matematica 3 26 Cesare Bianchi Fisica 4 28

131 Supponiamo adesso che si voglia mettere anche la città di residenza degli studenti. Per questo si deve fare la ricerca anche sulla tabella Persona che ha come attributi Nome, Cognome, CodFiscale, Citta. Si invia allora il comando: select Studente.Nome, Studente.Cognome, Persona.Citta from Studente, Persona where (Studente.Corsolaurea = Matematica or Studente.Corsolaurea = Fisica ) and (Studente.Nome=Persona.Nome) and (Studente.Cognome=Persona.Cognome)

132 C è la possibilità di evitare di dovere scrivere molte volte il nome delle tabelle usando gli alias: select S.Nome, S.Cognome, P.Citta from Studente as S, Persona as P where (S.Corsolaurea = Matematica or S.Corsolaurea = Fisica ) and (S.Nome=P.Nome) and (S.Cognome=P.Cognome)

133 Supponiamo adesso che si voglia mettere anche la città di residenza degli studenti. Per questo si deve fare la ricerca anche sulla tabella Persona che ha come attributi Nome, Cognome, CodFiscale, Citta. Si invia allora il comando: select Studente.Nome, Studente.Cognome, Persona.Citta from Studente, Persona where (Studente.Corsolaurea = Matematica or Studente.Corsolaurea = Fisica ) and (Studente.Nome=Persona.Nome) and (Studente.Cognome=Persona.Cognome)

134 C è la possibilità di evitare di dovere scrivere molte volte il nome delle tabelle usando gli alias: select S.Nome, S.Cognome, P.Citta from Studente as S, Persona as P where (S.Corsolaurea = Matematica or S.Corsolaurea = Fisica ) and (S.Nome=P.Nome) and (S.Cognome=P.Cognome)

Definizione di domini

Definizione di domini Definizione di domini Come nei linguaggi ad alto livello (es. C) è possibile definire nuovi domini (tipi di dati) a partire da quelli predefiniti, anche se il costruttore è più limitato. create domain

Dettagli

SQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari:

SQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari: SQL SQL (pronunciato anche come l inglese sequel: acronimo di Structured Query Language (linguaggio di interrogazione strutturato Linguaggio completo che presenta anche proprietà di: DDL (Data Definition

Dettagli

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL Basi di dati Il Linguaggio SQL Data Definition Language (DDL) Data Definition Language: insieme di istruzioni utilizzate per modificare la struttura della base di dati Ne fanno parte le istruzioni di inserimento,

Dettagli

DBMS (Data Base Management System)

DBMS (Data Base Management System) Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire

Dettagli

Lezione V. Aula Multimediale - sabato 29/03/2008

Lezione V. Aula Multimediale - sabato 29/03/2008 Lezione V Aula Multimediale - sabato 29/03/2008 LAB utilizzo di MS Access Definire gli archivi utilizzando le regole di derivazione e descrivere le caratteristiche di ciascun archivio ASSOCIAZIONE (1:1)

Dettagli

Corso di Informatica (Basi di Dati)

Corso di Informatica (Basi di Dati) Corso di Informatica (Basi di Dati) Lezione 6 (15 gennaio 2009) Linguaggio SQL: Data Definition Language (DDL) Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof.

Dettagli

Gestione delle tabelle

Gestione delle tabelle Linguaggio SQL: fondamenti Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati 2 Creazione di una tabella (1/3) Si utilizza

Dettagli

Laboratorio di Basi di Dati e Web

Laboratorio di Basi di Dati e Web Laboratorio di Basi di Dati e Web Docente: Alberto Belussi Lezione 1 SQL Structured Query Language SQL è stato definito nel 1973 ed è oggi il linguaggio più diffuso per i DBMS relazionali Il linguaggio

Dettagli

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. (Structured Query Language) : Il linguaggio è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. prima versione IBM alla fine degli anni '70 per un prototipo di ricerca (System

Dettagli

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: Il modello relazionale I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: 1. forniscono sistemi semplici ed efficienti per rappresentare

Dettagli

Organizzazione degli archivi

Organizzazione degli archivi COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i

Dettagli

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione SQL DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE SQL è più di un semplice linguaggio di interrogazione! Linguaggio di definizione dati (Data-definition language, DDL):! Crea/distrugge/modifica relazioni

Dettagli

Linguaggio SQL: fondamenti D B M G. Gestione delle tabelle

Linguaggio SQL: fondamenti D B M G. Gestione delle tabelle Linguaggio SQL: fondamenti Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati 2 2007 Politecnico di Torino 1 Creazione

Dettagli

Archivi e Basi di Dati

Archivi e Basi di Dati Archivi e Basi di Dati A B C File Programma 1 Programma 2 A B C File modificati Programma 1 DBMS DB Programma 2 Informatica Generale (CdL in E&C), A.A. 2000-2001 55 Problemi nella gestione di archivi separati

Dettagli

Basi di Dati e Sistemi Informativi. Structured Query Language

Basi di Dati e Sistemi Informativi. Structured Query Language Basi di Dati e Sistemi Informativi Structured Query Language Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale SQL come DDL e DML SQL non è solo un linguaggio di interrogazione Linguaggio

Dettagli

Operazioni sui database

Operazioni sui database Operazioni sui database Le operazioni nel modello relazionale sono essenzialmente di due tipi: Operazioni di modifica della base di dati (update) Interrogazioni della base di dati per il recupero delle

Dettagli

Giovanna Rosone 04/03/2010. 04/03/2010 SQL, Istruzioni per la modifica dello schema

Giovanna Rosone 04/03/2010. 04/03/2010 SQL, Istruzioni per la modifica dello schema Giovanna Rosone 04/03/2010 04/03/2010 SQL, Istruzioni per la modifica dello schema 1 Riepilogo Impiegato Pagamenti Nome colonna PAG_COD PAG_MATR Tipo dati CHAR(6) CHAR(6) Nome colonna Tipo dati PAG_STIPENDIO

Dettagli

Domini elementari, 2. Basi di dati. Domini elementari, 4. Domini elementari, 3. Domini definiti dagli utenti. Domini elementari, 5

Domini elementari, 2. Basi di dati. Domini elementari, 4. Domini elementari, 3. Domini definiti dagli utenti. Domini elementari, 5 Domini elementari, Basi di dati Linguaggi di Interrogazione: SQL Prof.Angela Bonifati Bit Valori booleani (vero/falso), singoli o in sequenza (la sequenza può essere di lunghezza variabile) Sintassi: bit

Dettagli

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7 Il trattamento dei dati database: il linguaggio SQL seconda parte Prof. Valle D.ssa Folgieri Lez9 15.11.06 Trattamento dati. Database: il

Dettagli

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione SISTEMI INFORMATIVI AVANZATI -2010/2011 1 Introduzione In queste dispense, dopo aver riportato una sintesi del concetto di Dipendenza Funzionale e di Normalizzazione estratti dal libro Progetto di Basi

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 1 SQL SQL (Structured Query Language) è stato definito nel 1973 ed è oggi il linguaggio più diffuso per i DBMS relazionali. Sono stati proposti

Dettagli

Progettazione di Basi di Dati

Progettazione di Basi di Dati Progettazione di Basi di Dati Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan Entità-Relazione Progettazione Logica 2 E il modo attraverso il quale i dati sono rappresentati : fa riferimento al modello

Dettagli

Il database management system Access

Il database management system Access Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio

Dettagli

Le Basi di Dati. Le Basi di Dati

Le Basi di Dati. Le Basi di Dati Le Basi di Dati 20/05/02 Prof. Carlo Blundo 1 Le Basi di Dati Le Base di Dati (database) sono un insieme di tabelle di dati strutturate in maniera da favorire la ricerca di informazioni specializzate per

Dettagli

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 2 Raffaella Gentilini 1 / 45 Sommario 1 Il DDL di SQL: Cancellazione ed Aggiornamento di una BD Cancellazione di Schemi, Tabelle, e Domini Aggiornamento di Tabelle

Dettagli

I comandi del linguaggio DDL (Data Definition Language): CREATE E ALTER

I comandi del linguaggio DDL (Data Definition Language): CREATE E ALTER Caratteristiche generali del linguaggio SQL Il linguaggio SQL è il linguaggio usato per la gestione dei database relazionali, cioè dei database creati con un DBMS di tipo relazionale. Esso nacque nella

Dettagli

IL LINGUAGGIO SQL IDENTIFICATORI E TIPI DI DATI COMANDI E ISTRUZIONI

IL LINGUAGGIO SQL IDENTIFICATORI E TIPI DI DATI COMANDI E ISTRUZIONI IL LINGUAGGIO SQL Il linguaggio SQL ( Structured Query Languages) è un linguaggio non procedurale che è diventato uno standard tra i linguaggi per la gestione dei database relazionali. Il linguaggio procedurale

Dettagli

BASI DI DATI - : I modelli di database

BASI DI DATI - : I modelli di database BASI DI DATI - : I modelli di database DAL 1960 ci si e' orientati verso 3 direzioni: 1 MODELLO GERARCHICO Se i dati si presentano naturalmente in una struttura ad albero (ES. File System) Limiti: rigidità

Dettagli

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere;

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere; Maschere e Query Le Maschere (1/2) Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere; Le maschere sono simili a moduli cartacei: ad ogni campo corrisponde un etichetta

Dettagli

Basi di dati SQL. Standardizzazione di SQL. Linguaggi di Interrogazione: SQL. Prof.Angela Bonifati

Basi di dati SQL. Standardizzazione di SQL. Linguaggi di Interrogazione: SQL. Prof.Angela Bonifati Basi di dati Linguaggi di Interrogazione: SQL Prof.Angela Bonifati 1 SQL Il nome stava per Structured Query Language Più che un semplice linguaggio di query: si compone di una parte DDL e di una DML DDL:

Dettagli

Access. P a r t e p r i m a

Access. P a r t e p r i m a Access P a r t e p r i m a 1 Esempio di gestione di database con MS Access 2 Cosa è Access? Access e un DBMS che permette di progettare e utilizzare DB relazionali Un DB Access e basato sui concetti di

Dettagli

SQL: concetti base SQL. Definizione dei dati in SQL. SQL: "storia"

SQL: concetti base SQL. Definizione dei dati in SQL. SQL: storia SQL SQL: concetti base originariamente "Structured Query Language", ora "nome proprio" linguaggio con varie funzionalità: contiene sia il DDL sia il DML ne esistono varie versioni vediamo gli aspetti essenziali,

Dettagli

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Si consiglia di creare il data base, inserire i dati nelle tabelle, provare

Dettagli

Informatica per le discipline umanistiche 2 lezione 10

Informatica per le discipline umanistiche 2 lezione 10 Informatica per le discipline umanistiche 2 lezione 10 Parte III: il computer come strumento per l interazione e la comunicazione Si è parlato di identità Parte III: il computer come strumento per l interazione

Dettagli

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica.

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica. Progettazione logica Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica. La progettazione logica è basata su un particolare modello logico dei

Dettagli

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report Facoltà di Lingue e Letterature Straniere Le QUERY 2 Che cos è una Query? Una Query rappresenta uno strumento per interrogare un database.

Dettagli

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

ARCHIVI E DATABASE (prof. Ivaldi Giuliano) ARCHIVI E DATABASE (prof. Ivaldi Giuliano) Archivio: è un insieme di registrazioni (o records) ciascuna delle quali è costituita da un insieme prefissato di informazioni elementari dette attributi (o campi).

Dettagli

Volumi di riferimento

Volumi di riferimento Simulazione seconda prova Esame di Stato Gestione di un centro agroalimentare all ingrosso Parte prima) Un nuovo centro agroalimentare all'ingrosso intende realizzare una base di dati per l'attività di

Dettagli

TEORIA sulle BASI DI DATI

TEORIA sulle BASI DI DATI TEORIA sulle BASI DI DATI A cura del Prof. Enea Ferri Cos è un DATA BASE E un insieme di archivi legati tra loro da relazioni. Vengono memorizzati su memorie di massa come un unico insieme, e possono essere

Dettagli

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati Basi di dati Il Modello Relazionale dei Dati Proposto da E. Codd nel 1970 per favorire l indipendenza dei dati Disponibile come modello logico in DBMS reali nel 1981 (non è facile realizzare l indipendenza

Dettagli

Corso sul linguaggio SQL

Corso sul linguaggio SQL Corso sul linguaggio SQL Modulo L2B (SQL) 2.2 Comandi sulle tabelle 1 Prerequisiti Introduzione ai DB Tabelle, relazioni e attributi Chiave primaria Chiave esterna Vincoli di integrità 2 1 Introduzione

Dettagli

ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 2

ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 2 ECDL - Database European Computer Driving Licence - Modulo 5 - Database LEZIONE 2 Ripasso Introduzione - Ripasso Cosa si intende per dbms? e cosa per database? Quali sono gli elementi che lo compongono?

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

Progettazione di un Database

Progettazione di un Database Progettazione di un Database Per comprendere il processo di progettazione di un Database deve essere chiaro il modo con cui vengono organizzati e quindi memorizzati i dati in un sistema di gestione di

Dettagli

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Ambiente Access La Guida di Access Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Guida in linea Guida rapida Assistente di Office indicazioni

Dettagli

Organizzazione delle informazioni: Database

Organizzazione delle informazioni: Database Organizzazione delle informazioni: Database Laboratorio Informatico di base A.A. 2013/2014 Dipartimento di Scienze Aziendali e Giuridiche Università della Calabria Dott. Pierluigi Muoio (pierluigi.muoio@unical.it)

Dettagli

Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli

Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli gerarchico e reticolare sono più vicini alle strutture

Dettagli

Basi di dati. L Algebra Relazionale. K. Donno - L Algebra Relazionale

Basi di dati. L Algebra Relazionale. K. Donno - L Algebra Relazionale Basi di dati L Algebra Relazionale Introduzione all Algebra Relazionale Una volta definito lo schema logico di un database, partendo da un Diagramma E-R, e dopo aver inserito le tabelle nel database, eventualmente

Dettagli

Capitolo 13. Interrogare una base di dati

Capitolo 13. Interrogare una base di dati Capitolo 13 Interrogare una base di dati Il database fisico La ridondanza è una cosa molto, molto, molto brutta Non si devono mai replicare informazioni scrivendole in più posti diversi nel database Per

Dettagli

Corso Sistemi Informativi Avanzati. Programma 30 set 2015. Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende.

Corso Sistemi Informativi Avanzati. Programma 30 set 2015. Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende. Programma 30 set 205 Installazione Macchina Virtuale Introduzione alla BI nelle Aziende Introduzione SQL Macchina Virtuale È un emulazione di un computer su un altro computer Stesso punto di partenza per

Dettagli

DB - Modello relazionale dei dati. DB - Modello Relazionale 1

DB - Modello relazionale dei dati. DB - Modello Relazionale 1 DB - Modello relazionale dei dati DB - Modello Relazionale 1 Definizione Un modello dei dati è un insieme di meccanismi di astrazione per definire una base di dati, con associato un insieme predefinito

Dettagli

DATABASE RELAZIONALI

DATABASE RELAZIONALI 1 di 54 UNIVERSITA DEGLI STUDI DI NAPOLI FEDERICO II DIPARTIMENTO DI DISCIPLINE STORICHE ETTORE LEPORE DATABASE RELAZIONALI Dott. Simone Sammartino Istituto per l Ambiente l Marino Costiero I.A.M.C. C.N.R.

Dettagli

I Sistemi Informativi

I Sistemi Informativi I Sistemi Informativi Definizione Un Sistema Informativo è un mezzo per acquisire, organizzare, correlare, elaborare e distribuire le informazioni che riguardano una realtà che si desidera descrivere e

Dettagli

SQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS)

SQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS) 1 SQL Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS) a.a. 2014/2015 http://www.di.uniba.it/~lisi/courses/basi-dati/bd2014-15.htm dott.ssa Francesca A. Lisi francesca.lisi@uniba.it

Dettagli

Il linguaggio SQL: DDL di base

Il linguaggio SQL: DDL di base Il linguaggio SQL: DDL di base Sistemi Informativi T Versione elettronica: 04.1.SQL.DDLbase.pdf SQL: caratteristiche generali SQL (Structured Query Language) èil linguaggio standard de facto per DBMS relazionali,

Dettagli

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database Uso delle basi di dati Uso delle Basi di Dati Il modulo richiede che il candidato comprenda il concetto di base dati (database) e dimostri di possedere competenza nel suo utilizzo. Cosa è un database,

Dettagli

MODELLO RELAZIONALE. Introduzione

MODELLO RELAZIONALE. Introduzione MODELLO RELAZIONALE Introduzione E' stato proposto agli inizi degli anni 70 da Codd finalizzato alla realizzazione dell indipendenza dei dati, unisce concetti derivati dalla teoria degli insiemi (relazioni)

Dettagli

Introduzione ai database relazionali

Introduzione ai database relazionali Introduzione ai database relazionali Tabelle Un database (DB) è costituito da un insieme di file che memorizzano dati opportunamente organizzati Nei database relazionale tale organizzazione è costituita

Dettagli

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati Corso di Access Modulo L2A (Access) 1.1 Concetti di base 1 Prerequisiti Utilizzo elementare del computer Concetti fondamentali di basi di dati 2 1 Introduzione Un ambiente DBMS è un applicazione che consente

Dettagli

SQL Sintassi Dei Comandi

SQL Sintassi Dei Comandi SQL Sintassi Dei Comandi Di Roberto Aloi http://prof3ta.homeunix.org prof3ta@email.it Questo fascicolo è stato realizzato esclusivamente a fini divulgativi e per la libera consultazione. E' concessa la

Dettagli

I database relazionali (Access)

I database relazionali (Access) I database relazionali (Access) Filippo TROTTA 04/02/2013 1 Prof.Filippo TROTTA Definizioni Database Sistema di gestione di database (DBMS, Database Management System) Sistema di gestione di database relazionale

Dettagli

Introduzione all Algebra Relazionale

Introduzione all Algebra Relazionale Basi di dati L Algebra Relazionale Introduzione all Algebra Relazionale Una volta definito lo schema logico di un database, partendo da un Diagramma E-R, e dopo aver inserito le tabelle nel database, eventualmente

Dettagli

Facoltà di Farmacia - Corso di Informatica

Facoltà di Farmacia - Corso di Informatica Basi di dati Riferimenti: Curtin cap. 8 Versione: 13/03/2007 1 Basi di dati (Database, DB) Una delle applicazioni informatiche più utilizzate, ma meno conosciute dai non informatici Avete già interagito

Dettagli

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi Vogliamo creare una struttura per permettere di memorizzari i voti della classe in tutte le materie Per fare questo untilizziamo tre tabelle Alunni,materie,voti Alunni Materie Voti Creo un record per ogni

Dettagli

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0)

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0) PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0) (Da effettuare non prima del 01/01/2011) Le istruzioni si basano su un azienda che ha circa 1000 articoli, che utilizza l ultimo

Dettagli

Esercizio data base "Biblioteca"

Esercizio data base Biblioteca Rocco Sergi Esercizio data base "Biblioteca" Database 2: Biblioteca Testo dell esercizio Si vuole realizzare una base dati per la gestione di una biblioteca. La base dati conterrà tutte le informazioni

Dettagli

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007 Basi di dati Concetti introduttivi Ultima modifica: 26/02/2007 ESEMPIO INSEGNAMENTI Fisica, Analisi, Informatica Aule Docenti Entità Relazioni Interrogazioni St udent i Database 2 Tabella (I) STUDENTE

Dettagli

BASE DI DATI: sicurezza. Informatica febbraio 2015 5ASA

BASE DI DATI: sicurezza. Informatica febbraio 2015 5ASA BASE DI DATI: sicurezza Informatica febbraio 2015 5ASA Argomenti Privatezza o riservatezza Vincoli di integrità logica della base di dati intrarelazionali interrelazionali Principio generale sulla sicurezza

Dettagli

Elena Baralis 2013 Politecnico di Torino 1

Elena Baralis 2013 Politecnico di Torino 1 Modello relazionale Docente M2170 Fondamenti di informatica Verdi M4880 Sistemi di elaborazione Bianchi F0410 Basi di dati Neri Docenti Nome Dipartimento Telefono Verdi Informatica 123456 Bianchi Elettronica

Dettagli

Il Modello Relazionale

Il Modello Relazionale Il Modello Relazionale Il modello relazionale 1 Il modello relazionale Proposto da E. F. Codd nel 1970 per favorire l indipendenza dei dati e reso disponibile come modello logico in DBMS reali nel 1981

Dettagli

Database 1 biblioteca universitaria. Testo del quesito

Database 1 biblioteca universitaria. Testo del quesito Database 1 biblioteca universitaria Testo del quesito Una biblioteca universitaria acquista testi didattici su indicazione dei professori e cura il prestito dei testi agli studenti. La biblioteca vuole

Dettagli

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. INFORMATICA Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. APPLICAZIONI WEB L architettura di riferimento è quella ampiamente diffusa ed

Dettagli

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Dettagli

Modello Relazionale. Modello Relazionale. Relazioni - Prodotto Cartesiano. Relazione: tre accezioni. Es. Dati gli insiemi

Modello Relazionale. Modello Relazionale. Relazioni - Prodotto Cartesiano. Relazione: tre accezioni. Es. Dati gli insiemi Modello Relazionale Modello Relazionale Proposto agli inizi degli anni 70 da Codd Finalizzato alla realizzazione dell indipendenza dei dati Unisce concetti derivati dalla teoria degli insiemi (relazioni)

Dettagli

Corso sul linguaggio SQL

Corso sul linguaggio SQL Corso sul linguaggio SQL Modulo L2B (SQL) 2.1 Comandi sui database 1 Prerequisiti Introduzione ai DB Linguaggi per database Tipi fondamentali di dati 2 1 Introduzione In questa Unità introduciamo il linguaggio

Dettagli

Dispensa di database Access

Dispensa di database Access Dispensa di database Access Indice: Database come tabelle; fogli di lavoro e tabelle...2 Database con più tabelle; relazioni tra tabelle...2 Motore di database, complessità di un database; concetto di

Dettagli

Corso di Informatica Generale 1 IN1. Linguaggio SQL

Corso di Informatica Generale 1 IN1. Linguaggio SQL Università Roma Tre Facoltà di Scienze M.F.N. di Laurea in Matematica di Informatica Generale 1 Linguaggio SQL Marco (liverani@mat.uniroma3.it) Sommario Prima parte: le basi dati relazionali Basi di dati:

Dettagli

Esercitazione 1. Sistemi Informativi T. Versione elettronica: L01.2.DDLDMLbase.pdf

Esercitazione 1. Sistemi Informativi T. Versione elettronica: L01.2.DDLDMLbase.pdf Esercitazione 1 SQL: DDL e DML di base Sistemi Informativi T Versione elettronica: L01.2.DDLDMLbase.pdf Prime cose da fare Fare login sul PC usando lo username di Facoltà Procedura descritta qui: http://ccib.ing.unibo.it/content/account

Dettagli

Sistemi per la gestione di database: MySQL ( )

Sistemi per la gestione di database: MySQL ( ) Sistemi per la gestione di database: MySQL ( ) Relational Database e Relational Database Management System Un database è una raccolta di dati organizzata in modo da consentire l accesso, il reperimento

Dettagli

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014 Archivi e database Prof. Michele Batocchi A.S. 2013/2014 Introduzione L esigenza di archiviare (conservare documenti, immagini, ricordi, ecc.) è un attività senza tempo che è insita nell animo umano Primi

Dettagli

Istruzioni DML di SQL

Istruzioni DML di SQL Istruzioni DML di SQL Pag. 99 par.4 1 Sintassi: Costrutto: INSERT INTO (Inserimento di dati in tabelle) INSERT INTO [(, ,, )] VALUES (, ,

Dettagli

Corso di Informatica (Basi di Dati)

Corso di Informatica (Basi di Dati) Corso di Informatica (Basi di Dati) Lezione 1 (12 dicembre 2008) Introduzione alle Basi di Dati Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof. Carlo Batini,

Dettagli

SQL (STRUCTURED QUERY LANGUAGE)

SQL (STRUCTURED QUERY LANGUAGE) SQL (STRUCTURED QUERY LANGUAGE) Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan SQL DDL Data Definition Language DML Data Manipulation Language DCL Data Control Language DDL Obiettivo: Definire la struttura

Dettagli

Concetti fondamentali dei database database Cos'è un database Principali database

Concetti fondamentali dei database database Cos'è un database Principali database Concetti fondamentali dei database Nella vita di tutti i giorni si ha la necessità di gestire e manipolare dati. Le operazioni possono essere molteplici: ricerca, aggregazione con altri e riorganizzazione

Dettagli

Basi di dati 9 febbraio 2010 Compito A

Basi di dati 9 febbraio 2010 Compito A Basi di dati 9 febbraio 2010 Compito A Domanda 0 (5%) Leggere e rispettare le seguenti regole: Scrivere nome, cognome, matricola (se nota), corso di studio e lettera del compito (ad esempio, A) sui fogli

Dettagli

Sviluppata da: Lo Russo - Porcelli Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL.

Sviluppata da: Lo Russo - Porcelli Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL. Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL. 2ELHWWLYL GD UDJJLXQJHUH SHU JOL VWXGHQWL alla fine dell esercitazione gli studenti dovranno essere in grado di: 1. utilizzare

Dettagli

Informatica (Basi di Dati)

Informatica (Basi di Dati) Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Introduzione alle Basi di Dati Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati

Dettagli

Le query. Lezione 6 a cura di Maria Novella Mosciatti

Le query. Lezione 6 a cura di Maria Novella Mosciatti Lezione 6 a cura di Maria Novella Mosciatti Le query Le query sono oggetti del DB che consentono di visualizzare, modificare e analizzare i dati in modi diversi. Si possono utilizzare query come origine

Dettagli

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni Introduzione Ai Data Bases Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni I Limiti Degli Archivi E Il Loro Superamento Le tecniche di gestione delle basi di dati nascono

Dettagli

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS Basi di Basi di (Sistemi Informativi) Sono una delle applicazioni informatiche che hanno avuto il maggiore utilizzo in uffici, aziende, servizi (e oggi anche sul web) Avete già interagito (magari inconsapevolmente)

Dettagli

Sistemi Informativi e Basi di Dati

Sistemi Informativi e Basi di Dati Sistemi Informativi e Basi di Dati Laurea Specialistica in Tecnologie di Analisi degli Impatti Ecotossicologici Docente: Francesco Geri Dipartimento di Scienze Ambientali G. Sarfatti Via P.A. Mattioli

Dettagli

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. SQL - Tipi di dato. SQL - Tipi di dato numerici. SQL - Tipi di dato numerici

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. SQL - Tipi di dato. SQL - Tipi di dato numerici. SQL - Tipi di dato numerici Il linguaggio SQL Il linguaggio SQL il linguaggio SQL è un linguaggio per la definizione e la manipolazione dei dati, sviluppato originariamente presso il laboratorio IBM a San Jose (California) è diventato

Dettagli

Progettazione di Database. Un Esempio

Progettazione di Database. Un Esempio Progettazione di Database Un Esempio Data Base Management System Applicazione 1 Applicazione 2 Applicazione 3 DBMS A B C D E Il Modello Relazionale Una relazione è costituita su un insieme di domini, non

Dettagli

SQL - Tipi di dato Il linguaggio SQL

SQL - Tipi di dato Il linguaggio SQL SQL - Tipi di dato Il linguaggio SQL I tipi di dato in SQL:1999 si suddividono in tipi predefiniti tipi strutturati tipi user-defined ci concentreremo sui tipi predefiniti i tipi predefiniti sono suddivisi

Dettagli

Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro

Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro Database relazionali: un'introduzione Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro Rappresentazione astratta di aspetti del mondo reale (Universe

Dettagli

Informatica Generale Andrea Corradini. 19 - Sistemi di Gestione delle Basi di Dati

Informatica Generale Andrea Corradini. 19 - Sistemi di Gestione delle Basi di Dati Informatica Generale Andrea Corradini 19 - Sistemi di Gestione delle Basi di Dati Sommario Concetti base di Basi di Dati Il modello relazionale Relazioni e operazioni su relazioni Il linguaggio SQL Integrità

Dettagli

Elementi di Algebra Relazionale

Elementi di Algebra Relazionale Note dalle lezioni di INFORMATICA (per gli allievi della classe quinta - indirizzo MERCURIO) Elementi di Algebra Relazionale prof. Stefano D.L.Campanozzi I.T.C. Giulio Cesare Bari - a.s. 2008-2009 1 Introduzione

Dettagli

www.saggese.it www.domenicosaggese.it Pagina 1 di 10

www.saggese.it www.domenicosaggese.it Pagina 1 di 10 Materiale prodotto da Domenico Saggese unicamente come supporto per i suoi corsi. E lecito trattenerne una copia per uso personale; non è autorizzato alcun uso commerciale o in corsi non tenuti od organizzati

Dettagli

SQL prima parte 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 2011/12

SQL prima parte 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 2011/12 SQL prima parte 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 2011/12 DEFINIZIONE Il concetto di vista 2 È una relazione derivata. Si specifica l espressione che genera il suo contenuto.

Dettagli