Introduzione Basi di Dati. Orazio Battaglia

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Introduzione Basi di Dati. Orazio Battaglia"

Transcript

1 Introduzione Basi di Dati Orazio Battaglia

2 Introduzione basi di dati Ogni organizzazione è dotata di un sistema informativo che organizza e gestisce le informazioni necessarie per perseguire gli scopi dell organizzazione stessa Per indicare la porzione automatizzata del sistema informativo viene di solito utilizzato il termine sistema informatico Un sistema di gestione di basi di dati (DBMS, Data Base Management System) è un sistema software in grado di gestire collezioni di dati che siano grandi, condivise e persistenti, assicurando la loro affidabilità e privatezza. Come ogni prodotto informatico, un DBMS deve essere efficiente ed efficace. Una base di dati è una collezione di dati gestita da un DBMS 2

3 Introduzione basi di dati Un modello dei dati è un insieme di concetti utilizzati per organizzare i dati di interesse e descriverne la struttura in modo che essa risulti comprensibile ad un elaboratore. Il modello attualmente più diffuso è quello relazionale. Evoluzione storica dei modelli dei dati: Modello gerarchico: basato su strutture ad albero e quindi gerarchiche, da cui il nome (limite: uso dei puntatori e mancanza dell indipendenza dei dati) Modello reticolare: basato sull uso di grafi (limite: uso dei puntatori e mancanza dell indipendenza dei dati) Modello relazione: basato sul concetto di relazione (primo modello che realizza l indipendenza dei dati) Modello a oggetti: estende alle basi di dati il paradigma di programmazione ad oggetti 3

4 Introduzione basi di dati Il modello relazionale dei dati, attualmente il più diffuso, permette di definire tipi per mezzo del costruttore relazione, che consente di organizzare i dati in insiemi di record a struttura fissa. Una relazione viene rappresentata in genere come una tabella le cui righe rappresentano specifici record e le cui colonne corrispondono ai campi del record. L ordine delle righe e delle colonne è sostanzialmente irrilevante. 4

5 Introduzione basi di dati Esempio di base di dati relazionale STUDENTI Matricola Cognome Nome Data di nascita Rossi Maria 25/11/ Neri Anna 23/04/ Verdi Fabio 12/02/ Rossi Luca 10/10/ Bruni Mario 01/12/1971 ESAMI Studente Voto Corso CORSI Codice Titolo Docente 01 Analisi Giani 03 Chimica Melli 04 Chimica Belli 5

6 Introduzione basi di dati La base di dati nell esempio mostra una delle caratteristiche fondamentali del modello relazionale, che viene spesso indicata dicendo che esso è «basato su valori»: i riferimenti fra dati in relazioni diverse sono rappresentati per mezzo di valori dei campi (domini) che compaiono nei record (tuple). Negli altri modelli, gerarchico e reticolare, i riferimenti fra dati sono definiti in modo esplicito attraverso puntatori. Il modello relazione presenta quindi due vantaggi rispetto agli altri modelli, gerarchico e reticolare: 1. La rappresentazione logica dei dati non fa alcun riferimento a quella fisica e così si ottiene l indipendenza fisica dei dati 2. Essendo tutta l informazione contenuta nei valori è relativamente semplice trasferire i dati da un contesto ad un altro. In presenza di puntatori l operazione è più complessa poiché i puntatori hanno un significato locale al singolo sistema 6

7 Introduzione basi di dati Altro esempio base di dati (1/2). Supponiamo di avere le ricevute e di doverle rappresentare in una base di dati. «DA MARIO» Ricevuta n Del 5/5/92 3 Coperti Antipasti Primi Bistecche Totale «DA MARIO» Ricevuta n Del 4/7/92 2 Coperti Antipasti Primi Orate Caffè 3000 Totale

8 Introduzione basi di dati Altro esempio base di dati (2/2). Una rappresentazione può essere quella riportata. RICEVUTE Num Data Totale /5/ /7/ DETTAGLIO Num Riga Q.Tà Descr. Importo Coperti Antipasti Primi Bistecche Coperti Antipasti Primi Orate Caffè

9 Introduzione basi di dati Chiavi e vincoli di integrità referenziale Una chiave è un insieme di attributi utilizzato per identificare univocamente le tuple di una relazione. Si può dimostrare che su ogni relazione si può definire almeno una chiave. Questo garantisce la accessibilità a tutti i valori di una base di dati e la loro univoca identificabilità. Inoltre permette di stabilire efficacemente le corrispondenze tra i dati contenuti nelle relazioni diverse che è proprio la caratteristica del modello relazione «basato su valori». Un vincolo di integrità referenziale (foreign key) definito su un attributo di una tabella impone che il valore dell attributo compaia come valore della chiave primaria in un altra tabella. 9

10 Introduzione basi di dati Esempio di Chiavi e vincoli di integrità referenziale. INFRAZIONI Codice Data Agente Articolo Prov Numero RM 4E RM 4E RM 2F MI 2F MI 2F7643 AGENTI Matricola CF Cognome Nome 567 RSSM... Rossi Mario 456 NREL... Neri Luigi 638 NREP... Neri Piero AUTO Prov Numero Proprietari o Indirizzo RM 2F7643 Verdi Piero Via Tigli RM 1A2396 Verdi Piero Via Tigli RM 4E5432 Bini Luca Via Aceri MI 2F7643 Luci Gino Via Aceri 10

11 SQL è l acronimo di Structured Query Language. SQL è un linguaggio standardizzato per l interazione con le basi di dati relazionali SQL contiene al suo interno le funzionalità di DDL (Data Definition Language): comandi per la definizione dello schema di una base di dati DML (Data Manipulation Language): comandi per la modifica e l interrogazione dell istanza di una base di dati 11

12 Domini Elementari (1/2) Si distinguono 5 tipi di dati (domini elementari): Carattere. Il tipo carattere rappresenta un singolo carattere o una stringa. Può essere a lunghezza fissa o variabile e può limitarsi ad un determinato set di caratteri. character [varying] [(Lunghezza)] [character set NomeFamigliaCaratteri] La lunghezza indica la lunghezza della stringa. Se si usa il varying la lunghezza indica la lunghezza massima della stringa. Se omessa la lunghezza massima è quella definita nella configurazione del DBMS. Tipi numerici esatti. Sono domini che permettono di rappresentare valori interi o decimali in virgola fissa. I tipi sono: numeric [(precisione[, scala])] decimal [(precisione[, scala])] integer smallint Il tipo decimal differisce da numeric in quanto in base alle esigenze può scegliere una rappresentazione diversa che rispecchi di più la realtà. Sostanzialmente è più preciso. Gli ultimi 2 tipi sono interi e dipendono dalla macchina in uso. Per specificare la scala bisogna anche specificare la precisione ad esempio numeric(6,4) permette di rappresentare i valori compresi tra -99,9999 e +99,

13 Domini Elementari (2/2) Tipi numerici approssimati. Permettono di rappresentare valori in virgola mobile. A ciascun valore corrispondono una Mantissa e un Esponente. Es: 0,17E16 (= 1,7 x ). I valori sono: float [(precisione)] real double precision Nel dominio float può essere specificata la precisione della Mantissa. Il tipo double precision ha una rappresentazione doppia rispetto al tipo real. Data e ora. I domini di questo tipo difficilmente riscontrabili nei linguaggi di programmazione sono: date time [(precisione)] [with time zone] timestamp [(precisione)] [with time zone] Date è formato dai campi year, month e day Time è formato dai campi hour, minute e second Timestamp è formato da tutti i campi precedenti Negli ultimi 2 se è presente l opzione with time zone vengono aggiunti 2 campi che sono rispettivamente ore e minuti dall ora universale Intervalli temporali. E un unico dominio che permette di rappresentare un intervallo di tempo: interval PrimaUnitàTempo [ to UltimaUnitàTempo] I parametri che possono essere usati sono dei 2 insiemi: da year a month da day a second Esempi: interval year(5) to month permette di rappresentare intervalli fino a anni e 11 mesi Interval day(4) to second(6) permette di rappresentare intervalli fino a giorni, 23 ore, 59 minuti e 59, secondi 13

14 Comandi SQL per la definizione dello schema. La prima operazione da fare per la creazione di un database in un DBMS relazionale tramite SQL è la creazione dello schema del database. Create schema [NomeSchema] [ [authorization] Autorizzazione] {DefElementoSchema} NomeSchema è il nome del database Autorizzazione è l utente proprietario del database, se omesso viene assegnato l utente che sta eseguendo l istruzione DefElementoSchema rappresenta l insieme delle istruzioni necessarie alla creazione degli elementi del database. Elementi del database sono: Domini (tipi base dei dati) Tabelle Asserzioni (vincoli associati a nessuna tabella) Viste Privilegi 14

15 Comandi SQL per la definizione dello schema. Le tabelle sono definite mediante l istruzione: create table NomeTabella ( NomeAttributo Dominio [ValoreDiDefault] [Vincoli], AltriVincoli ) Ad ogni attributo possono essere assegnati un valore di default e dei vincoli AltriVincoli sono i vincoli che riguardano più attributi della tabella ValoriDiDefault. Il valore di default predefinito è sempre NULL. Se ne possono stabilire altri. La sintassi è: default GenericoValore user null User e null sono prestabiliti e rappresentano rispettivamente il nome utente e il valore nullo. GenericoValore è quello stabilito dall utente. 15

16 Comandi SQL per la definizione dello schema. E possibile definire dei nuovi tipi di dati a partire da quelli base in modo meno flessibile rispetto ai linguaggi di programmazione tradizionali. Create domain NomeDominio as TipoDiDato [ValoreDiDefault] [Vincolo] La definizione dei domini è necessaria quando tipi particolari di dati devono essere usati in più tabelle 16

17 Comandi SQL per la definizione dello schema. Vincoli intrarelazionali I vincoli intrarelazionali sono: Not null: l attributo non può assumere valore nullo. Unique: l attributo deve essere unico nella relazione Primary Key: l attributo è chiave primaria quindi unico e non nullo Il vincolo può essere specificato per singolo attributo o per più attributi, in questo caso la sintassi è: Vincolo (attributo1, attributo2,..., attributon) 17

18 Comandi SQL per la definizione dello schema. Vincoli interrelazionali (1/2) Il principale vincolo interrelazionale è il vincolo di integrità referenziale. Se riguarda un singolo attributo la sintassi è: NomeAttributo Dominio [ValoreDiDefault] references Tabella(Attributo) Se riguarda più attributi la sintassi è: foreign key(attributo1, attributo2) references Tabella(attributo1,attributo2) La tabella in cui definisco la foreign key è detta slave. La tabella in cui il valore della foreign key è la chiave è detta master. Il vincolo non consente di inserire nella tabella slave delle tuple che non abbiano uno o più attributi corrispondenti nella tabella master. 18

19 Comandi SQL per la definizione dello schema. Vincoli interrelazionali (2/2) Alla modifica o cancellazione di tuple nella tabella master si può reagire in uno dei seguenti modi: cascade: vengono modificate o cancellate tutte le tuple nella tabella slave; set null: agli attributi della tabella slave che sono in relazione con altri attributi della tabella master viene assegnato il valore null set default: agli attributi della tabella slave che sono in relazione con altri attributi della tabella master viene assegnato il valore di default no action: non viene effettuata nessuna modifica La sintassi è la seguente: foreign key(attributo1,attributo2,...,attributon) references Tabella(Attributo1, Attributo2,..., AttributoN) on delete set null on update cascade 19

20 Comandi SQL per la modifica dello schema (1/2). E possibile modificare ed eliminare elementi di un database (e il database stesso) mediante, rispettivamente, i seguenti comandi alter e drop. Sintassi del comando alter: alter domain NomeDominio < set default ValoreDefault drop default add constraint DefVincolo drop constraint NomeVincolo > alter table NomeTabella < alter column NomeAttributo <set default NuovoDefault drop default> add constraint DefVincolo drop constraint NomeVincolo add column DefAttributo drop column NomeAttributo > 20

21 Comandi SQL per la modifica dello schema (2/2). Sintassi del comando drop: drop < schema domain table view assertion> NomeElemento [ restrict cascade ] L opzione restrict elimina l elemento solamente se è vuoto. L opzione cascade elimina l elemento in ogni caso e in modo ricorsivo cioè elimina pure gli elementi da esso discendenti. Quando non specificata l opzione predefinita è restrict. 21

22 Interrogazioni in SQL La sintassi dell interrogazione è la seguente: select AttrExpr1 [ [as] Alias1], AttrExprN [ [as] AliasN] from Tabella1 [ [as] Alias1 ], TabellaN [ [as] AliasN ] [ where Condizione ] E possibile definire degli alias per gli attributi e per le tabelle. I primi vengono usati come Attributi della tabella risultante dalla interrogazione. Nelle condizioni è possibile usare i simboli =, <>, >, <, >=, <= e gli operatori and, or not. E possibile usare anche la clausola like che è un uguale con i caratteri jolly _ e %: _ è l equivalente del carattere jolly? (cioè un carattere qualunque) % è l equivalente dell * (cioè un numero qualunque di caratteri qualunque). Il risultato di una interrogazione è un sottoinsieme del prodotto cartesiano delle tabelle che riguardano l interrogazione. Gli insiemi sono le tabelle e gli elementi degli insiemi sono le tuple delle relazioni. 22

23 Interrogazioni in SQL, Join (1/2) L operazione di Join permette a partire da 2 tabelle di generarne una terza con tuple uguali alla combinazione di tuple della prima e tuple della seconda che hanno valori uguali in attributi con lo stesso nome. Sintassi: select AttrExpr1[ [as] Alias1], AttrExpr2 [as] Alias2,..., AttrExprN [as] AliasN from Tabella [ [as] Alias ], TipoJoin join Tabella [ [as] Alias ] on CondizioneDiJoin where AltraCondizione Esistono 2 tipi di Join: interno (inner) esterno (outer) Il join interno estrae un sottoinsieme del prodotto cartesiano fra le 2 tabelle di partenza che contiene solo le tuple che rispettano la condizione. Nel join esterno invece oltre alle tuple che rispettano la condizione vengono estratte pure quelle che non hanno corrispondenti, inserendo nei valori mancanti il valore null. 23

24 Interrogazioni in SQL, Join (2/2) In particolare il join esterno (outer) può essere: left [outer] join right [outer] join full [outer] join Il left include nella tabella risultante oltre alle tuple che soddisfano la condizione anche quelle che non la soddisfano della tabella di sinistra Il right include nella tabella risultante oltre alle tuple che soddisfano la condizione anche quelle che non la soddisfano della tabella di destra Il full include nella tabella risultante oltre alle tuple che soddisfano la condizione anche quelle che non la soddisfano di entrambe le tabelle 24

25 Ordinamento La sintassi per ordinare il risultato di na interrogazione è la seguente: order by AttrDiOrdinamento1 [asc desc], AttrDiOrdinamento2 [asc desc],..., AttrDiOrdinamentoN [asc desc] L ordinamento viene effettuato prima per il rpimo campo poi per il secondo ecc. 25

26 Operatori Aggregati Servono ad effettuare dei calcoli su più tuple. Si dividono, in base alla sintassi, in due gruppi e sono: Sintassi: count sum, max, min, avg count ( * [distinct all] ListaAttributi ) L opzione * restituisce il numero di righe, distinct il numero di valori diversi non nulli degli attributi specificati e all il numero di valori non nulli degli attributi specificati. sum max min avg ( [distinct all ] AttrEspr ) L opzione distinct esegue l operatore aggregato su valori non duplicati degli attributi, mentre all lo esegue su tutti i valori non nulli. Gli operatori hanno il seguente significato: sum esegue la somma dei valori dell attributo max calcola il valore massimo fra quelli dell attributo min calcola il valore minimo fra quelli dell attributo avg calcola la media dei valori dell attributo Importante: quando si usano gli operatori aggregati nella select non è possibile includere degli attributi. Quindi una interrogazione del genere: è errata. select Nome, max(stipendio) from Impiegato 26

27 Interrogazioni con Raggruppamento Gli operatori aggregati visti prima permettono di eseguire calcoli su tutte le tuple di una relazione o su un sottoinsieme di esse. Per effettuare calcoli su più sottoinsiemi di tuple di una relazione è necessario usare i raggruppamenti. Es: select Dipart, sum(stipendio) from Impiegato group by Dipart questa interrogazione permette di estrarre la somma degli stipendi elargiti per ogni dipartimento. La tabella risultante contiene tante righe quanti sono i Dipartimenti in Impiegato e per ogni riga il dipartimento e la somma degli stipendi. Importante: quando si usano i raggruppamenti nella select possono essere messi solo gli attributi che compaiono nel group by (non necessariamente tutti) e gli operatori aggregati. 27

28 Predicati sui gruppi I predicati sui gruppi permettono di effettuare delle selezioni sui raggruppamenti. Ad es: select Dipart, sum(stipendio) from Impiegato group by Dipart having sum(stipendio) > 100 In questo modo viene generata una tabella che per ogni riga mostra i dipartimenti (dipartimento, stipendio) che hanno elargito stipendi per un importo maggiore di 100 (milioni). Importante: possono essere argomento della clausola having solo gli operatori aggregati 28

29 Manipolazione dei dati in SQL Inserimento di righe La sintassi è la seguente: insert into NomeTabella [ListaAttributi] values ListaDiValori SelectSQL Cancellazione di righe La sintassi è la seguente: delete from NomeTabella [where Condizione] Modifica delle righe La sintassi è la seguente: Update NomeTabella set Attributo1 = Espressione SelectSQL null default set Attributo2 = Espressione SelectSQL null default... set AttributoN = Espressione SelectSQL null default [where Condizione] 29

30 Introduzione progettazione basi di dati Ciclo di vita di un sistema informativo. Studio di fattibilità: serve a definire, in maniera per quanto possibile precisa, i costi delle varie alternative possibili e a stabilire le priorità di realizzazione delle varie componenti del sistema. Raccolta e analisi dei requisiti: consiste nella individuazione e nello studio delle proprietà e delle funzionalità che il sistema informativo dovrà avere. Questa fase richiede una interazione con gli utenti del sistema e produce una descrizione completa, ma generalmente informale, dei dati coinvolti e delle operazioni su di essi. Vengono inoltre stabiliti i requisiti hw e sw del sistema informativo. Progettazione: si divide generalmente in progettazione dei dati e progettazione delle applicazioni. Nella prima si individua la struttura e l organizzazione che i dati dovranno avere, nella seconda si definiscono le caratteristiche dei programmi applicativi. Le descrizioni dei dati e delle applicazioni prodotte in questa fase sono formali e fanno riferimento a specifici modelli. Implementazione: consiste nella realizzazione del sistema informativo. Viene costruita e popolata la base di dati e viene prodotto il codice dei programmi. Validazione e collaudo: serve a verificare il corretto funzionamento e la qualità del sistema informativo. La sperimentazione dovrebbe prevedere tutte le condizioni operative. Funzionamento: In questa fase il sistema informativo diventa operativo ed esegue i compiti per i quali era stato originariamente progettato 30

31 Introduzione progettazione basi di dati Fase di progettazione. Progettazione dei dati. Nel diagramma vengono mostrare le fasi della progettazione dei dati della fase di progettazione del ciclo di vita del sistema informativo. Progettazione Concettuale Progettazione Logica Schema Concettuale Schema Logico Progettazione Fisica Schema Fisico Prodotto della progettazione 31

32 Introduzione progettazione basi di dati Fase di progettazione. Progettazione dei dati. Nella progettazione concettuale viene data una descrizione formale e completa della realtà di interesse senza tenere conto del modello logico della base di dati da usare né degli aspetti di implementazione pratica (uso di un determinato DBMS software). Il prodotto di questa fase è lo schema concettuale. La creazione dello schema concettuale viene fatta tramite il modello Entità-Relazione (che è quello che si è diffuso maggiormente per questo scopo). Nella fase della progettazione logica il risultato del passo precedente viene adattato al tipo logico di DBMS a disposizione. In genere viene adattato al modello relazionale visto che è, al momento, il modello di DBMS più diffuso. Il prodotto di questa fase è lo schema logico. In questa fase viene inoltre eseguita una ottimizzazione dello schema logico. Lo strumento di ottimizzazione che si è maggiormente diffuso (nel modello relazionale dei DBMS) è la tecnica della normalizzazione. Infine la fase della progettazione fisica prevede la implementazione dello schema logico risultante dal passo precedente su un determinato DBMS relazionale (quale Oracle, Microsoft SQL Server, ecc.). Il risultato è lo schema fisico. 32

33 Introduzione progettazione basi di dati Progettazione dei dati. 33

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

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

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

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

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

Dichiarazione degli schemi in SQL DDL 1

Dichiarazione degli schemi in SQL DDL 1 Dichiarazione degli schemi in SQL DDL 1 Storia di SQL Definito nell'ambito del progetto SYSTEM R (IBM S. JOSE) nel 1976 Nome originario: SEQUEL Adottato progressivamente da tutti i sistemi commerciali

Dettagli

SQL. Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative

SQL. Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative SQL SQL Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative l utente specifica quale informazione è di suo interesse, ma non come estrarla dai dati Le interrogazioni vengono

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

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

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

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

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

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

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 e algebra relazionale

SQL e algebra relazionale SQL e algebra relazionale Il linguaggio SQL consente una maggiore espressività dell algebra relazionale grazie a costrutti che permettono: di definire join più sofisticati di ordinare le righe dei risultati

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

Domini elementari in SQL

Domini elementari in SQL SQL SQL è un acronimo per Structured Query Language. Fu sviluppato originalmente come linguaggio per il DBMS System R dall IBM Research Laboratory (San Jose, California) nei tardi anni settanta. Al giorno

Dettagli

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI Introduzione alle basi di dati (2) 2 Modelli dei dati, schemi e istanze (1) Nell approccio con basi di dati è fondamentale avere un certo livello di

Dettagli

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo. PROBLEMA. Un albergo di una grande città intende gestire in modo automatizzato sia le prenotazioni sia i soggiorni e realizzare un database. Ogni cliente viene individuato, tra l altro, con i dati anagrafici,

Dettagli

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

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/2002 4.1 Modelli di Base Dati 4 Un DBMS: Access a.a. 2001/2002 4.1 DBMS 4.2 DBMS = Data Base Management System Software per la costruzione e la gestione di una base dati Esempi di DBMS: Oracle, MySQL, SQLServer,

Dettagli

I database. Introduzione alla teoria delle basi di dati

I database. Introduzione alla teoria delle basi di dati I database Introduzione alla teoria delle basi di dati 1 Cosa sono e a cosa servono i Database Un database (o base di dati) e' una raccolta organizzata di dati correlati. Il principale scopo di un database

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

Corrado Aaron Visaggio 1. Esercizio

Corrado Aaron Visaggio 1. Esercizio SQL Corrado Aaron Visaggio 1 Esercizio Definire un archivio di polizia, ispirato al sistema disponibile sull sito www.fbi.gov. Ogni criminale deve possedere: informazioni anagrafiche (nome, cognome, indirizzo,

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

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

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

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

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

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

Esempio di database relazionale con l utilizzo del prodotto MySQL

Esempio di database relazionale con l utilizzo del prodotto MySQL Esempio di database relazionale con l utilizzo del prodotto MySQL Marco Liverani Aprile 2015 In queste pagine viene riportato in sintesi il progetto di un database relazionale esemplificativo con cui viene

Dettagli

SQL. Structured Query Language 1974: SEQUEL by IBM 1981: SQL by IBM 1986 1992: SQL ISO 9075:1992 SQL:1999 SQL:2003

SQL. Structured Query Language 1974: SEQUEL by IBM 1981: SQL by IBM 1986 1992: SQL ISO 9075:1992 SQL:1999 SQL:2003 SQL Structured Query Language 1974: SEQUEL by IBM 1981: SQL by IBM 1986 1992: SQL ISO 9075:1992 SQL:1999 SQL:2003 SQL Il linguaggio SQL è stato originariamente dichiarativo, diventando nel tempo sempre

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

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

APPUNTI DELLA LEZIONE DI DATABASE DEL 26/10/2016 Studenti: Marco D'Amato, Adriano Luigi Piscopello Professore: Mario Bochicchio

APPUNTI DELLA LEZIONE DI DATABASE DEL 26/10/2016 Studenti: Marco D'Amato, Adriano Luigi Piscopello Professore: Mario Bochicchio APPUNTI DELLA LEZIONE DI DATABASE DEL 26/10/2016 Studenti: Marco D'Amato, Adriano Luigi Piscopello Professore: Mario Bochicchio INTRODUZIONE L algebra relazionale è l algebra su cui si basa il linguaggio

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

Il linguaggio SQL Basi di dati 1. Il linguaggio SQL. Angelo Montanari. Dipartimento di Matematica e Informatica Università di Udine

Il linguaggio SQL Basi di dati 1. Il linguaggio SQL. Angelo Montanari. Dipartimento di Matematica e Informatica Università di Udine Il linguaggio SQL Basi di dati 1 Il linguaggio SQL Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Il linguaggio SQL Basi di dati 2 Introduzione SQL (Structured Query Language)

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

INTRODUZIONE ALLE BASI DATI RELAZIONALI

INTRODUZIONE ALLE BASI DATI RELAZIONALI INTRODUZIONE ALLE BASI DATI RELAZIONALI RELAZIONI E TABELLE Nelle BASI DI DATI RELAZIONALI le informazioni sono organizzate in TABELLE; Le tabelle sono rappresentate mediante griglie suddivise in RIGHE

Dettagli

SQL [2] Concetti avanzati di SQL. Esempi di interrogazioni

SQL [2] Concetti avanzati di SQL. Esempi di interrogazioni SQL [2] Concetti avanzati di SQL 2 Esempi di interrogazioni 3 Esempi di interrogazioni 4 Esempi di interrogazioni 5 Confronti che coinvolgono NULL NULL può voler dire: valore sconosciuto (esiste ma non

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

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

LABORATORIO di INFORMATICA

LABORATORIO di INFORMATICA Università degli Studi di Cagliari Corso di Laurea Magistrale in Ingegneria per l Ambiente ed il Territorio LABORATORIO di INFORMATICA A.A. 2010/2011 Prof. Giorgio Giacinto IL MODELLO RELAZIONALE http://www.diee.unica.it/giacinto/lab

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

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

DATABASE PER IL WEB. Programmazione Web 1

DATABASE PER IL WEB. Programmazione Web 1 DATABASE PER IL WEB Programmazione Web 1 Archite3ura web con database Client Tier Web/App Tier DB Tier Client Web / App Server Database Il server web comunica con un altro server che con8ene il la banca

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

Laboratorio di Basi di Dati Introduzione a SQL

Laboratorio di Basi di Dati Introduzione a SQL Laboratorio di Basi di Dati Introduzione a SQL Pierluigi Pierini Technolabs S.p.a. Pierluigi.Pierini@technolabs.it evoluzione e standards 1970 - E.F. Codd, A Relational Model of Data for Large Shared Data

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

CAPITOLO V. DATABASE: Il modello relazionale

CAPITOLO V. DATABASE: Il modello relazionale CAPITOLO V DATABASE: Il modello relazionale Il modello relazionale offre una rappresentazione matematica dei dati basata sul concetto di relazione normalizzata. I principi del modello relazionale furono

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

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

Il linguaggio SQL. ing. Alfredo Cozzi 1

Il linguaggio SQL. ing. Alfredo Cozzi 1 Il linguaggio SQL ing. Alfredo Cozzi 1 Il linguaggio SQL Il linguaggio SQL (Structured Query Language) è nato con l intento di soddisfare alle seguenti richieste nei db relazionali: - definire e creare

Dettagli

Il linguaggio SQL. Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova. SQL: Structured Query Language

Il linguaggio SQL. Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova. SQL: Structured Query Language 1 Il linguaggio SQL Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova SQL: Structured Query Language 2 Generalita Linguaggio di interrogazione per le basi di dati. Sviluppato presso i

Dettagli

SQL - Sottointerrogazioni

SQL - Sottointerrogazioni una delle ragioni che rendono SQL un linguaggio potente è la possibilità di esprimere interrogazioni più complesse in termini di interrogazioni più semplici, tramite il meccanismo delle subqueries (sottointerrogazioni)

Dettagli

SISTEMI INFORMATIVI AZIENDALI. introduzione ai sistemi informativi 1

SISTEMI INFORMATIVI AZIENDALI. introduzione ai sistemi informativi 1 SISTEMI INFORMATIVI AZIENDALI introduzione ai sistemi informativi 1 Sistema Informativo Insieme degli strumenti, risorse e procedure che consentono la gestione delle informazioni aziendali e' essenziale

Dettagli

Linguaggio SQL. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Linguaggio SQL. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Linguaggio SQL Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni SQL: caratteristiche generali SQL (Structured Query Language) è il linguaggio standard de facto per DBMS relazionali, che

Dettagli

SQL terza 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 2010/11

SQL terza 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 2010/11 SQL terza 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 2010/11 Operatori aggregati Costituiscono una estensione delle normali interrogazioni SQL (non hanno corrispondenza in

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 DATI: algebra relazionale

BASI DATI: algebra relazionale BASI DATI: algebra relazionale BIOINGEGNERIA ED INFORMATICA MEDICA 1 Algebra relazionale Definizione L'algebra relazionale è un insieme di operazioni (query) che servono per manipolare relazioni (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

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

Introduzione. Structured Query Language (SQL) Inquadramento. Evoluzione dello standard SQL - 1. La situazione attuale

Introduzione. Structured Query Language (SQL) Inquadramento. Evoluzione dello standard SQL - 1. La situazione attuale Evoluzione dello standard SQL DBMS e standard SQL Università degli Studi di Udine Facoltà di Medicina e Chirurgia CORSO DI LAUREA IN TECNICHE DI RADIOLOGIA MEDICA PER IMMAGINI E RADIOTERAPIA Structured

Dettagli

SQL. (Structured Query Language) Eugenio Di Sciascio

SQL. (Structured Query Language) Eugenio Di Sciascio SQL (Structured Query Language) Eugenio Di Sciascio SQL come DDL e DML SQL non è solo un linguaggio di interrogazione Linguaggio di definizione e manipolazione dati DDL (Data Definition Language): consente

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. basi di dati - introduzione ai sistemi informativi 1

BASI DI DATI. basi di dati - introduzione ai sistemi informativi 1 BASI DI DATI basi di dati - introduzione ai sistemi informativi 1 Sistema Informativo Insieme degli strumenti, risorse e procedure che consentono la gestione delle informazioni aziendali e' essenziale

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

Linguaggio SQL. studenti matricola nome cognome citta anno 11 marco bini bologna 1985 13 laura sicuro rimini 1984 esami codice

Linguaggio SQL. studenti matricola nome cognome citta anno 11 marco bini bologna 1985 13 laura sicuro rimini 1984 esami codice Linguaggio SQL Il linguaggio SQL (Structured Query Language) è il linguaggio standard per la definizione, manipolazione e interrogazione delle basi di dati relazionali sostenuti codice matricola anno voto

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

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

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

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

Domini Numerici Esatti (1) I domini numerici esatti permettono di definire attributi che contenegono valori esatti interi o con parte frazionaria.

Domini Numerici Esatti (1) I domini numerici esatti permettono di definire attributi che contenegono valori esatti interi o con parte frazionaria. Linguaggio SQL (1) Il linguaggio SQL, acronimo di Structured Query Language è un linguaggio per la definizione e la manipolazione dei dati, sviluppato originariamente presso il laboratorio IBM a San Jose

Dettagli

Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a. 2011-2012

Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a. 2011-2012 Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a. 2011-2012 2012 Docente: Gigliola Vaglini Docente laboratorio: Alessandro Lori 1 Lezione 3 Structured Query Language

Dettagli

Structured Query Language. Informatica Generale - SQL Versione 1.0, aa 2005-2006 p.1/172

Structured Query Language. Informatica Generale - SQL Versione 1.0, aa 2005-2006 p.1/172 Structured Query Language Informatica Generale - SQL Versione 1.0, aa 2005-2006 p.1/172 Linguaggio SQL (1) Il linguaggio SQL, acronimo di Structured Query Language è un linguaggio per la definizione e

Dettagli

SQL e ACCESS. Modello relazionale PROBLEMA ENTITA STUDENTE

SQL e ACCESS. Modello relazionale PROBLEMA ENTITA STUDENTE SQL e ACCESS Prof. Salvatore Multazzu (salvatoremultazzu@tiscali.it) Applicazioni Informatiche nella comunicazione Modello relazionale Entità Record o Ennuple Attributi o Campi Tipi Chiavi Primarie (PK)

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

Il linguaggio SQL. Evoluzione del linguaggio. I linguaggi dentro SQL. I dialeu SQL. U@lizzo di SQL SQL. A. Ferrari 1

Il linguaggio SQL. Evoluzione del linguaggio. I linguaggi dentro SQL. I dialeu SQL. U@lizzo di SQL SQL. A. Ferrari 1 Il linguaggio SQL Structured Query Language SQL è un linguaggio di interrogazione per database proge

Dettagli

Il Linguaggio SQL. Il Linguaggio SQL

Il Linguaggio SQL. Il Linguaggio SQL Il Linguaggio SQL 23 Il Linguaggio SQL SQL è l acronimo di Standard Query Language e identifica un linguaggio di interrogazione (gestione) per basi di dati relazionali. Le sue origini risalgono alla fine

Dettagli

Descrizione del linguaggio SQL Definizione del database. Giovanna Rosone 02-03/03/2010

Descrizione del linguaggio SQL Definizione del database. Giovanna Rosone 02-03/03/2010 Descrizione del linguaggio SQL Definizione del database Giovanna Rosone 02-03/03/2010 Database Il termine Database indica l insieme delle informazioni presenti in uno specifico sistema informativo. E composto

Dettagli

Normalizzazione. Definizione

Normalizzazione. Definizione Normalizzazione Definizione Le forme normali 2 Una forma normale è una proprietà di una base di dati relazionale che ne garantisce la qualità, cioè l'assenza di determinati difetti Quando una relazione

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

Indicare quale o quali delle seguenti affermazioni sono vere?

Indicare quale o quali delle seguenti affermazioni sono vere? Domanda 1 Indicare quale o quali delle seguenti affermazioni sono vere? L indipendenza dei dati permette di scrivere programmi senza conoscere le strutture fisiche dei dati L indipendenza dei dati permette

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

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

Il Domino Character Il domino CHARACTER permette di definire attributi che contengono un singolo carattere o stringhe di caratteri di lunghezza

Il Domino Character Il domino CHARACTER permette di definire attributi che contengono un singolo carattere o stringhe di caratteri di lunghezza Linguaggio SQL (1) Il linguaggio SQL, acronimo di Structured Query Language è un linguaggio per la definizione e la manipolazione dei dati, sviluppato originariamente presso il laboratorio IBM a San Jose

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

Le basi di dati. Base di dati. Modelli, schemi ed istanze DBMS. Architettura ANSI/SPARC: schemi

Le basi di dati. Base di dati. Modelli, schemi ed istanze DBMS. Architettura ANSI/SPARC: schemi Base di dati Le basi di dati Definizioni Modello relazionale e SQL E una collezione di dati utilizzata per rappresentare le informazioni di interesse in un sistema informativo I dati hanno vita più lunga

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

Prova Scritta di Basi di Dati

Prova Scritta di Basi di Dati Prova Scritta di Basi di Dati 4 Giugno 2007 COGNOME: NOME: MATRICOLA: Si prega di risolvere gli esercizi direttamente sui fogli del testo, negli spazi indicati. Usare il foglio protocollo solo per la brutta

Dettagli

ACCESS. Database: archivio elettronico, dotato di un programma di interfaccia che facilita la registrazione e la ricerca dei dati.

ACCESS. Database: archivio elettronico, dotato di un programma di interfaccia che facilita la registrazione e la ricerca dei dati. ACCESS Database: archivio elettronico, dotato di un programma di interfaccia che facilita la registrazione e la ricerca dei dati. Database Relazionale: tipo di database attualmente più diffuso grazie alla

Dettagli

Basi di Dati. S Q L Lezione 2

Basi di Dati. S Q L Lezione 2 Basi di Dati S Q L Lezione 2 Antonio Virdis a.virdis@iet.unipi.it Sommario Unire più tabelle Operazioni algebriche Ridenominazione Query annidate 2 Unire piu' relazioni Nella progettazione di un DB le

Dettagli

SQL. Definizione dei da6 in SQL. SQL: "storia" CREATE TABLE: esempio. CREATE TABLE: esempio

SQL. Definizione dei da6 in SQL. SQL: storia CREATE TABLE: esempio. CREATE TABLE: esempio SQL Atzeni, Ceri, Paraboschi, Torlone Basi di da6 Originariamente Structured Query Language, ora "nome proprio" Linguaggio con varie funzionalità: DDL Data Defini6on Language (insieme di comandi per la

Dettagli

Si considerino le seguenti specifiche relative alla realizzazione di un sistema informativo per la gestione di un sito di blog.

Si considerino le seguenti specifiche relative alla realizzazione di un sistema informativo per la gestione di un sito di blog. Compito Sistemi Informativi. Tempo concesso : 90 minuti 10 gennaio 2012 Nome: Cognome: Matricola: Crediti: [6] [9] Esercizio 1 (punti 6+2) Si considerino le seguenti specifiche relative alla realizzazione

Dettagli

Linguaggio SQL. Structured Query Language

Linguaggio SQL. Structured Query Language Linguaggio SQL Structured Query Language Creato negli anni 70 presso IBM Inizialmente solo linguaggio di interrogazione Ora linguaggio di riferimento per DB relazionali Standardizzato grazie al lavoro

Dettagli

Data base relazionale ed SQL. Modello relazionale dei data base e il linguaggio standard per la loro gestione

Data base relazionale ed SQL. Modello relazionale dei data base e il linguaggio standard per la loro gestione Data base relazionale ed SQL Modello relazionale dei data base e il linguaggio standard per la loro gestione Contenuti Modello relazionale Cenni sulla progettazione di un data base Normalizzazione delle

Dettagli

Modulo 2 Data Base - Modello Relazionale

Modulo 2 Data Base - Modello Relazionale Modulo 2 Data Base - Modello Relazionale Università degli Studi di Salerno Corso di Laurea in Scienze della comunicazione Informatica generale Docente: Angela Peduto A.A. 2004/2005 Modello Relazionale

Dettagli

Enrico Saviano http://enrico.saviano.org Appunti di Sistemi Web e Basi di Dati Prof. D'Acierno 1

Enrico Saviano http://enrico.saviano.org Appunti di Sistemi Web e Basi di Dati Prof. D'Acierno 1 Enrico Saviano http://enrico.saviano.org Appunti di Sistemi Web e Basi di Dati Prof. D'Acierno 1 Sistemi informativi, informazioni e dati Nello svolgimento di qualsiasi attività è essenziale la disponibilità

Dettagli