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)

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

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

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

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

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

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

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

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

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

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

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

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

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

SQL: Concetti Base -Prima Parte-

SQL: Concetti Base -Prima Parte- SQL: Concetti Base -Prima Parte- Atzeni, Ceri, Paraboschi, Torlone Basi Di Dati: Modelli e Linguaggi di Interrogazione, McGraw-Hill Italia Capitolo 4 SQL Structured Query Language Contiene: DDL (Data Definition

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

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

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

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

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

Corso di Basi di Dati A.A. 2013/2014

Corso di Basi di Dati A.A. 2013/2014 Corso di Laurea in Ingegneria Gestionale Sapienza Università di Roma Corso di Basi di Dati A.A. 2013/2014 Tiziana Catarci, Andrea Marrella Ultimo aggiornamento : 29/03/2014 SQL : Structured Query Language

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

Basi di Dati prof. Letizia Tanca

Basi di Dati prof. Letizia Tanca Basi di Dati prof. Letizia Tanca (lucidi tratti dal libro Atzeni-Ceri-Paraboschi-Torlone) AA 2003-04 Linguaggi di interrogazione commerciali per il Modello Relazionale dei Dati: SQL - il DDL Domini I domini

Dettagli

Basi di Dati. Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio. Corso di Laurea in Informatica. a.a. 2010-2011

Basi di Dati. Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio. Corso di Laurea in Informatica. a.a. 2010-2011 Corso di Laurea in Informatica Basi di Dati a.a. 2010-2011 Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio PROGETTAZIONE FISICA SQL-DDL OBIETTIVO: Rappresentare i dati della realtà di interesse

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

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

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

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

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

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

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

Vincoli di Integrità

Vincoli di Integrità Vincoli di Integrità Antonella Poggi Dipartimento di informatica e Sistemistica Sapienza Università di Roma Progetto di Applicazioni Software Anno accademico 2010-2011 Questi lucidi sono stati prodotti

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 Descriviamo la notazione usata nel seguito:

Linguaggio SQL Descriviamo la notazione usata nel seguito: Descriviamo la notazione usata nel seguito: i termini del linguaggio sono sottolineati; i termini variabili sono scritti in corsivo; le parentesi angolari (< >)permettono di isolare un termine della sintassi;

Dettagli

Il linguaggio SQL: le basi

Il linguaggio SQL: le basi Il linguaggio SQL: le basi Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SQLa-basi.pdf Sistemi Informativi L-A SQL: caratteristiche generali

Dettagli

Basi di Dati Relazionali

Basi di Dati Relazionali Corso di Laurea in Informatica Basi di Dati Relazionali a.a. 2009-2010 Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio Coadiutore: Dott.ssa D. Nicotera PROGETTAZIONE FISICA SQL-DDL OBIETTIVO: Rappresentare

Dettagli

OR true null false true true true true null true null null false true null false NOT

OR true null false true true true true null true null null false true null false NOT Il linguaggio SQL è un linguaggio standard per la definizione, manipolazione e interrogazione delle basi di dati relazionali ed ha le seguenti caratteristiche: è dichiarativo; opera su multiset di tuple,

Dettagli

Storia. Corso di Basi di Dati Spaziali. Componente DDL. Funzionalità. Esempio. Creazione di schema. Linguaggi: SQL. Storia:

Storia. Corso di Basi di Dati Spaziali. Componente DDL. Funzionalità. Esempio. Creazione di schema. Linguaggi: SQL. Storia: Corso di Basi di Dati Spaziali Linguaggi: SQL Angelo Montanari Donatella Gubiani Storia Storia: 1974: prima proposta SEQUEL 1981: prime implementazioni 1983: standard di fatto 1986, 1989, 1992 e 1999:

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

Cultura Tecnologica di Progetto

Cultura Tecnologica di Progetto Cultura Tecnologica di Progetto Politecnico di Milano Facoltà di Disegno Industriale - DATABASE - A.A. 2003-2004 2004 DataBase DB e DataBase Management System DBMS - I database sono archivi che costituiscono

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

Algebra e calcolo relazionale. Ripasso. Le 7 Virtù del DBMS persistenza affidabilità volume condivisione riservatezza efficienza efficacia

Algebra e calcolo relazionale. Ripasso. Le 7 Virtù del DBMS persistenza affidabilità volume condivisione riservatezza efficienza efficacia Algebra e calcolo relazionale Ripasso Le 7 Virtù del DBMS persistenza affidabilità volume condivisione riservatezza efficienza efficacia I 4 Livelli di astrazione Le Tabelle Livello fisico (o interno)

Dettagli

SQL. Storia e standard

SQL. Storia e standard SQL Lorenzo Sarti 2009 Basi di Dati 1 Storia e standard Lorenzo Sarti 2009 Basi di Dati 2 SQL-2 È ricco e complesso e nessun sistema commerciale lo implementa in maniera completa Sono definiti 3 livelli

Dettagli

SQL -DDL. FONDISTA(Nome, Nazione, Età) GAREGGIA(NomeFondista, NomeGara, Piazzamento) GARA(Nome, Luogo, Nazione, Lunghezza)

SQL -DDL. FONDISTA(Nome, Nazione, Età) GAREGGIA(NomeFondista, NomeGara, Piazzamento) GARA(Nome, Luogo, Nazione, Lunghezza) 26/03/2013 SQL SQL -DDL Esercizio 4.3 Dare le definizioni SQL delle tre tabelle FONDISTA(Nome, Nazione, Età) GAREGGIA(NomeFondista, NomeGara, Piazzamento) GARA(Nome, Luogo, Nazione, Lunghezza) rappresentando

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

DDL DML. Tipi di linguaggi per basi di dati. Si distinguono due categorie:

DDL DML. Tipi di linguaggi per basi di dati. Si distinguono due categorie: Tipi di linguaggi per basi di dati Si distinguono due categorie: DDL DML Linguaggi di definizione dei dati o data definition languages: utilizzati per definire gli schemi logici, esterni e fisici e le

Dettagli

----------------------------------------------------------------------------

---------------------------------------------------------------------------- APPUNTI DI SQL Gli appunti qui forniti vogliono essere un riferimento scritto di alcuni degli argomenti trattati a lezione per gli studenti a cui vengono messi a disposizione. Non viene fornita alcuna

Dettagli

Modello Relazionale. Sistemi di Elaborazione delle Informazioni. DB ed SQL. Modello relazionale: concetti di base

Modello Relazionale. Sistemi di Elaborazione delle Informazioni. DB ed SQL. Modello relazionale: concetti di base Sistemi di Elaborazione delle Informazioni DB ed SQL Prof. Silvio Vassallo Modello Relazionale Il modello relazionale si basa sul concetto di RELAZIONE tra insiemi di oggetti. Dati n insiemi A 1,A 2, A

Dettagli

Vincoli di Integrità Approccio dichiarativo alla loro implementazione

Vincoli di Integrità Approccio dichiarativo alla loro implementazione Vincoli di Integrità Approccio dichiarativo alla loro implementazione Antonella Poggi Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma Progetto di Applicazioni Software Anno accademico

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

DUE GRUPPI DI COMANDI

DUE GRUPPI DI COMANDI LEZIONE16 SQL DDL PAG. 1 / 9 PROF. ANDREA ZOCCHEDDU LEZIONE16 SQL DDL LINGUAGGIO SQL DATA DESCRIPTION LANGUAGE DUE GRUPPI DI COMANDI I comandi del linguaggio SQL sono divisi in due grandi gruppi che formano

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

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

Modello relazionale. ing. Alfredo Cozzi 1

Modello relazionale. ing. Alfredo Cozzi 1 Modello relazionale E fondato sul concetto matematico di relazione tra insiemi di oggetti Una relazione su n insiemi A1, A2,..,An è un sottoinsieme di tutte le n-uple a1,a2,,an che si possono costruire

Dettagli

PROGETTAZIONE DI BASI DI DATI RELAZIONALI ATTRAVERSO LA TRADUZIONE DI SCHEMI ER ED EER A SCHEMI RELAZIONALI

PROGETTAZIONE DI BASI DI DATI RELAZIONALI ATTRAVERSO LA TRADUZIONE DI SCHEMI ER ED EER A SCHEMI RELAZIONALI LEZIONE DEL 11/11/2008 di BASI DI DATI Prof. Bochicchio PROGETTAZIONE DI BASI DI DATI RELAZIONALI ATTRAVERSO LA TRADUZIONE DI SCHEMI ER ED EER A SCHEMI RELAZIONALI Nelle lezioni precedenti abbiamo accennato

Dettagli

Il linguaggio SQL: le basi. Versione elettronica: SQLa-basi.pdf

Il linguaggio SQL: le basi. Versione elettronica: SQLa-basi.pdf Il linguaggio SQL: le basi Versione elettronica: SQLa-basi.pdf SQL: caratteristiche generali SQL (Structured Query Language) è il linguaggio standard de facto per DBMS relazionali, che riunisce in sé funzionalità

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

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

Introduzione. Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei

Introduzione. Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei Introduzione Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei. ESEMPI DI INSIEMI DI DATI DA ORGANIZZARE ED USARE IN MANIERA EFFICIENTE Introduzione Più utenti con

Dettagli

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone SQL: il DDL Parti del linguaggio SQL Definizione di basi di dati (Data Definition Language DDL) Linguaggio per modificare

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

Sistemi Informativi Aziendali II

Sistemi Informativi Aziendali II Modulo 2 Sistemi Informativi Aziendali II 1 Corso Sistemi Informativi Aziendali II - Modulo 2 Modulo 2 La gestione delle informazioni strutturate nell impresa: La progettazione di un Data Base; Le informazioni

Dettagli

Modulo 2 Data Base 2

Modulo 2 Data Base 2 Modulo 2 Data Base 2 Università degli Studi di Salerno Corso di Laurea in Scienze della comunicazione Informatica generale Docente: Angela Peduto A.A. 2004/2005 Relazioni: riepilogo Relazione : concetto

Dettagli

Capitolo 4. Soluzione: Soluzione: Create domain STRING as character varying (256) default sconosciuto not null

Capitolo 4. Soluzione: Soluzione: Create domain STRING as character varying (256) default sconosciuto not null Capitolo 4 Esercizio 4.1 Ordinare i seguenti domini in base al valore massimo rappresentable, supponendo che integer abbia una rappresentazione a 32 bit e smallint a 16 bit: numeric(12,4), decimal(10),

Dettagli

Documentazione SQL. Argomento Sintassi Note Definizione schema create schema [NomeSchema] [[authorization] Autorizzazione] {DefElementoSchema}

Documentazione SQL. Argomento Sintassi Note Definizione schema create schema [NomeSchema] [[authorization] Autorizzazione] {DefElementoSchema} Documentazione SQL Argomento Sintassi Note Definizione schema create schema [NomeSchema] [[authorization] Autorizzazione] {DefElementoSchema} Definizione tabella Definizione dominio Specifica di valori

Dettagli

SQL Laboratorio di Basi di Dati a.a. 2002/2003

SQL Laboratorio di Basi di Dati a.a. 2002/2003 1 SQL Laboratorio di Basi di Dati a.a. 2002/2003 dott.ssa Francesca A. Lisi lisi@di.uniba.it Orario di ricevimento: mercoledì ore 10-12 2 Cos'è SQL? Linguaggio di riferimento per le basi di dati relazionali

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

DATA BASE MANAGEMENT SYSTEM

DATA BASE MANAGEMENT SYSTEM DATA BASE (1) Problematica gestione dati: oggetti delle elaborazioni, difficili da gestire, memorizzare, reperire, modificare; talvolta ridondanti/incongruenti; non sufficientemente protetti; spesso comuni

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

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

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

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

2104 volume III Programmazione

2104 volume III Programmazione 2103 SQLite Capitolo 77 77.1 Utilizzo generale................................. 2104 77.1.1 Utilizzo di sqlite3».......................... 2104 77.1.2 Copie di sicurezza............................ 2106

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

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

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

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

MAX, SUM, AVG, COUNT)

MAX, SUM, AVG, COUNT) INTRODUZIONE A SQL Definizione di tabelle e domini Alcuni vincoli di integrità Struttura base SELECT FROM WHERE Funzioni di aggregazione (MIN, MAX, SUM, AVG, COUNT) Query da più tabelle (FROM R1, Rk) Join

Dettagli

SQL Manuale introduttivo

SQL Manuale introduttivo SQL Manuale introduttivo SOMMARIO INTRODUZIONE... 3 TIPI DI DATI... 3 STRINGHE DI CARATTERI... 3 NUMERI... 3 DATA/ORA... 4 COSTANTI STRINGA... 4 COSTANTI NUMERICHE... 4 COSTANTI DATA/ORA... 5 NOTE SULLA

Dettagli

MODULO 5 DATA BASE PROGRAMMA. Progettazione rapida introduzione alla progettazione di DB

MODULO 5 DATA BASE PROGRAMMA. Progettazione rapida introduzione alla progettazione di DB MODULO 5 DATA BASE MODULO 5 - DATA BASE 1 PROGRAMMA Introduzione: concetti generali di teoria Progettazione rapida introduzione alla progettazione di DB Utilizzo di Access pratica sulla creazione e l utilizzo

Dettagli

Informatica B. Contenuti. Introduzione alle Basi di Dati e ai DBMS. Introduzione a dati e basi dati DBMS Modello dei dati

Informatica B. Contenuti. Introduzione alle Basi di Dati e ai DBMS. Introduzione a dati e basi dati DBMS Modello dei dati Informatica B Introduzione alle Basi di Dati e ai DBMS Contenuti Introduzione a dati e basi dati DBMS Modello dei dati Informazioni e dati Dato: elemento semanticamente significativo (data, codice, ecc.),

Dettagli

Dal modello concettuale al modello logico

Dal modello concettuale al modello logico Dal modello concettuale al modello logico Traduzione dal modello Entita - Associazione al modello Relazionale Ciclo di sviluppo di una base di dati (da parte dell utente) Analisi dello scenario Modello

Dettagli

Basi di dati Il linguaggio SQL

Basi di dati Il linguaggio SQL Basi di dati Il linguaggio SQL teoria e pratica con Microsoft Access Riepilogando Nelle basi di dati esiste 1. una parte invariante nel tempo, lo schema, costituita dalle caratteristiche dei dati (nomi

Dettagli

Basi di dati Il linguaggio SQL

Basi di dati Il linguaggio SQL Riepilogando Basi di dati Il linguaggio SQL Nelle basi di dati esiste 1. una parte invariante nel tempo, lo schema, costituita dalle caratteristiche dei dati (nomi degli attributi, domini, 2. una parte

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. 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

Informatica Documentale

Informatica Documentale Informatica Documentale Ivan Scagnetto (scagnett@dimi.uniud.it) Stanza 3, Nodo Sud Dipartimento di Matematica e Informatica Via delle Scienze, n. 206 33100 Udine Tel. 0432 558451 Ricevimento: giovedì,

Dettagli

Introduzione alle Basi di Dati

Introduzione alle Basi di Dati 1 Introduzione alle Basi di Dati Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova Sistema Azienda 2 Sistema organizzativo è costituito da una serie di risorse e di regole necessarie

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

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

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

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

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 1 Raffaella Gentilini 1 / 67 Sommario 1 Introduzine al Linguaggio SQL Concetti Preliminari 2 3 2 / 67 Concetti Preliminari Il linguaggio SQL SQL Acronimo per

Dettagli

70555 Informatica 3 70777 Sicurezza 2. 70555 Mario Rossi 70777 Anna Bianchi. Esempio istanza:

70555 Informatica 3 70777 Sicurezza 2. 70555 Mario Rossi 70777 Anna Bianchi. Esempio istanza: DOMANDE 1) Definire i concetti di schema e istanza di una base di dati, fornendo anche un esempio. Si definisce schema di una base di dati, quella parte della base di dati stessa che resta sostanzialmente

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

LABORATORIO. 2 Lezioni su Basi di Dati Contatti:

LABORATORIO. 2 Lezioni su Basi di Dati Contatti: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE BIOLOGICHE Gennaro Cordasco e Rosario De Chiara {cordasco,dechiara}@dia.unisa.it Dipartimento di Informatica ed Applicazioni R.M. Capocelli Laboratorio

Dettagli

L ARCHIVIAZIONE E LA GESTIONE DATI ATTRAVERSO L INTERAZIONE TRA MICROSOFT ACCESS ED EXCEL 1 INTRODUZIONE

L ARCHIVIAZIONE E LA GESTIONE DATI ATTRAVERSO L INTERAZIONE TRA MICROSOFT ACCESS ED EXCEL 1 INTRODUZIONE Roccatello Ing. Eduard L ARCHIVIAZIONE E LA GESTIONE DATI ATTRAVERSO L INTERAZIONE TRA MICROSOFT ACCESS ED EXCEL 1 INTRODUZIONE Agenda Presentazione docente Definizione calendario Questionario pre corso

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

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

I livelli di progettazione possono essere così schematizzati: Esistono tre tipi diversi di modelli logici: Modello gerarchico: Esempio SPECIFICHE

I livelli di progettazione possono essere così schematizzati: Esistono tre tipi diversi di modelli logici: Modello gerarchico: Esempio SPECIFICHE I DATABASE o basi di dati possono essere definiti come una collezione di dati gestita dai DBMS. Tali basi di dati devono possedere determinati requisiti, definiti come specifiche, necessarie per il processo

Dettagli