SQL. Storia un po piu in dettaglio. SQL: "storia" Tre livelli per SQL-2. Standard, dialetti, mercato
|
|
- Giuditta Franco
- 6 anni fa
- Visualizzazioni
Transcript
1 Trasparenze rielaborate da Atzeni, Ceri, Paraboschi, Torlone Basi di dati: modelli e linguaggi di programmazione McGraw-Hill, 2003 Capitolo 4: SQL-1, prima parte 11/03/2005 SQL Structured Query Language è un linguaggio con varie funzionalità: contiene sia il Data Definition Language sia il Data Manipulation Language ne esistono varie versioni vediamo gli aspetti essenziali, non i dettagli 2 SQL: "storia" prima proposta SEQUEL (1974); prime implementazioni in SQL/DS e Oracle (1981) dal 1983 ca. "standard di fatto" Nuovi standard (1986, poi 1989 e infine 1992, 1999) recepiti in parte 3 Storia un po piu in dettaglio 1986 prevalementemente linguaggio di interrogazione 1989 aggiunta della integrita referenziale 1992 (SQL-2) molto piu ricca, cui faremo riferimento nel seguito 1999 (SQL-3) compatibile con SQL-2 + trigger (regole attive), nuovi tipi, supporto modelli a oggetti. In realta anche SQL-2 non e stato recepito completamente 4 Tre livelli per SQL-2 Entry SQL, corregge imprecisioni di SQL 1989 Intermediate SQL, nucleo adottato dal mercato Full SQL, funzioni avanzate che si stanno via via adottando Standard, dialetti, mercato In realta ogni sistema commerciale adotta un suo dialetto, con diverse intepretazioni semantiche per stesse funzionalita Questoe un problema: Gli standard richiedono accordi tra produttori, e con i grandi utenti Standard a posteriori, costosi per quelli che perdono E lento il processo di standardizzazione 5 6 1
2 Introduzione informale alla sintassi di SQL Una istruzione SQL e un insieme di termini, composti tramie regole sintattiche in cui: TERMINI DEL LINGUAGGIO sono maiuscoli termini variabili sono in minuscolo [termine] indicano termine opzionale puo comparire o meno {termine} il termine contenuto puo non comparire o essere ripetuto un numero arbitrario di volte Alcune volte daremo esempi, non sintassi Attenzione: convenzioni un po diverse sul libro! Esempio di sintassi di istruzione SQL Termine del linguaggio SELECT ListaAttributi FROM ListaTabelle [WHERE Condizione] Termine variabile Puo comparire o meno 7 8 SQL Data Definition Language Definizione di schemi, tabelle, domini in SQL 9 10 Ci servono istruzioni per descrivere i seguenti aspetti di uno schema relazionale Schema (Schema) Vincoli Relazione (Table) Dominio di Attributo (Domain) Schemi
3 Definizione di schemi CREATE SCHEMA nomeschema [AUTHORIZATION nomeutenteproprietario] AUTHORIZATION definisce il proprietario dello schema, colui che lo ha definito Relazioni (Table) E seguita dalle definizioni delle tabelle, domini, vincoli interschema. Non e necessario che siano specificati tutti insieme alla CREATE SCHEMA, si possono aggiungere con il comando ALTER e togliere con la DROP Definizione delle Tabelle in SQL Istruzione CREATE TABLE: definisce uno schema di relazione e ne crea un istanza vuota, cioe senza ennuple specifica attributi, domini e vincoli CREATE TABLE, esempio CREATE TABLE Impiegato( Matricola CHAR(6) PRIMARY KEY, Nome CHAR(20) NOT NULL, Cognome CHAR(20) NOT NULL, Dipart CHAR(15), Stipendio NUMERIC(9) DEFAULT 0, FOREIGN KEY(Dipart) REFERENCES Dipartimento(NomeDip), UNIQUE (Cognome,Nome) ) Attributi (Domini) Vincoli Domini (o data types) Domini di attributi (Domain) Domini elementari (predefiniti) Domini definiti dall'utente (semplici, ma riutilizzabili)
4 Domini elementari CHARACTER (n): singoli caratteri o stringhe di n caratteri, anche di lunghezza variabile (VARCHAR(n)) Es. CHARACTER (20) Es. VARCHAR (30) BIT (n): singoli booleani o stringhe di booleani Usato nei flag, attributi che specificano se la generica nupla rispetta o meno una o piu proprieta Es BIT (2) per rappresentare se una persona e donna o uomo, lavoratore o nonlavoratore Domini numerici, data e ora Numerici, esatti e approssimati Numerici esatti Interi INTEGER, SMALLINT Decimali DECIMAL (i,j) o NUMERIC(i,j) dove i e la precisione, numero di cifre significative j e la scala, numero di cifre dopo la virgola Es. DECIMAL (5,1) > 3453, Continua Domini introdotti in SQL-2 Numerici approssimati (per grandezze fisiche) FLOAT, DOUBLE PRECISION, REAL Mantissa + esponente, come in altri linguaggi Data e ora Date, strutturata in YEAR, MONTH, DAY Time, strutturato in HOUR, MINUTE, SECOND TIMESTAMP, tutti i campi. BOOLEAN, con dominio 0,1 Per rappresentare singoli valori booleani, restrizione di Bit Bit per stringhe di booleani BLOB, CLOB: oggetti (costituiti da binari, Blob o caratteri, Clob) di grandi dimensioni. Memorizzati e trattati diversamente dagli altri valori Usati per informazioni non strutturate (testi) o multimediali (immagini, video) Domini semplici e domini definiti dall utente I domini si possono definire esplicitamente LNAME VARCHAR(15), SEX CHAR, In alternativa si puo dichiarare a parte un dominio e poi citare il nome. La dichiarazione si puo fare con la istruzione CREATE DOMAIN. Domini definiti dall utente Istruzione CREATE DOMAIN: definisce un dominio (semplice), utilizzabile in definizioni di relazioni, anche con vincoli e valori di default CREATE DOMAIN nomedominio AS tipodidato [valore di default] [vincolo] Es. CREATE DOMAIN LNAME_TYPE AS CHAR(9) E poi LNAME LNAME_TYPE
5 Domini definiti dall utente Istruzione CREATE DOMAIN: definisce un dominio (semplice), utilizzabile in definizioni di relazioni, anche con vincoli e valori di default CREATE DOMAIN nomedominio AS tipodidato [valore di default] {vincolo} L insieme dei costrutti di SQL e molto piu limitato di quellitipicideilinguaggiprogrammativi. Es. Non e possibile definire array Questa scelta anche perche e intrinseco al modello relazionale che gli attributi abbiano domini elementari CREATE DOMAIN, esempio CREATE DOMAIN Voto AS SMALLINT DEFAULT NULL CHECK (value >=18 AND value <= 30) Il comando crea flessibilita rispetto al solo utilizzo dei domini elementari. Se cambia qualche caratteristica di un dominio definito dall utente, basta modificarla nella definizione ed e propagata a tutti i riferimenti Es. Se cambia la convenzione sui voti Valore di DEFAULT CREATE TABLE, esempio Es. DEFAULT 0 Se non e specificato, nella definizione si assume NULL come default. Significato: quando in una operazione di inserimento il valore di un attributo non e specificato, si assume il valore di default. 27 CREATE TABLE Impiegato( Matricola CHAR(6) PRIMARY KEY, Nome CHAR(20) NOT NULL, Cognome CHAR(20) NOT NULL, Dipart CHAR(15), Stipendio NUMERIC(9) DEFAULT 0, FOREIGN KEY(Dipart) REFERENCES Dipartimento(NomeDip), UNIQUE (Cognome,Nome) ) 28 Vincoli Cosa e un vincolo E una proprieta sempre valida per le tuple di una o piu relazioni
6 Tipi di vincoli Intrarelazionali proprieta valida all interno di una relazione Interrelazionali proprieta relativa a piu relazioni Vincoli intrarelazionali Vincoli intrarelazionali Vincolo NOT NULL 1. NOT NULL 2. UNIQUE definisce chiavi 3. PRIMARY KEY: chiave primaria (una sola) 4. CHECK, permette di definire sia vincoli intra che inter relazionali, vedremo più avanti Indica che il valore nullo non e ammesso per quel dominio Regola: Quando in un inserimento non e specificato il valore, allora il valore di default deve essere non nullo Vincolo UNIQUE Si applica a uno (A) o un insieme di attributi (I) Impone che i valori dell attributo A o dell insieme I siano una chiave, cioe che tuple diverse abbiano valori diversi su A o I. Fa eccezione il valore nullo, che si assume sempre diverso nelle diverse occorrenze Due forme: nella definizione di un attributo, se forma da solo la chiave Es. Cognome CHAR(20) UNIQUE come elemento separato, se definito su piu attributi Es. Nome CHAR(20) NOT NULL, Cognome CHAR(20) NOT NULL, UNIQUE (Cognome,Nome) Chiavi su più attributi, attenzione Nome CHAR(20) NOT NULL, Cognome CHAR(20) NOT NULL, UNIQUE (Cognome,Nome), Nome CHAR(20) NOT NULL UNIQUE, Cognome CHAR(20) NOT NULL UNIQUE, Non è la stessa cosa!
7 CREATE TABLE, esempio CREATE TABLE Impiegato( Matricola CHAR(6) PRIMARY KEY, Nome CHAR(20) NOT NULL, Cognome CHAR(20) NOT NULL, Dipart CHAR(15), Stipendio NUMERIC(9) DEFAULT 0, FOREIGN KEY(Dipart) REFERENCES Dipartimento(NomeDip), UNIQUE (Cognome,Nome) ) 37 Clausola PRIMARY KEY Serve per specificare la chiave primaria Puo essere usata una sola volta Due forme (come per unique) per un attributo o piu attributi Gli attributi della chiave primaria non possono assumere valori nulli Matricola CHAR(6) PRIMARY KEY Matricola CHAR(6),, PRIMARY KEY (Matricola) 38 CREATE TABLE, esempio CREATE TABLE Impiegato( Matricola CHAR(6) PRIMARY KEY, Nome CHAR(20) NOT NULL, Cognome CHAR(20) NOT NULL, Dipart CHAR(15), Stipendio NUMERIC(9) DEFAULT 0, FOREIGN KEY(Dipart) REFERENCES Dipartimento(NomeDip), UNIQUE (Cognome,Nome) ) 39 Vincoli interrelazionali 40 Vincoli interrelazionali Vincoli di integrita referenziale (IR) REFERENCES e FOREIGN KEY CHECK, vedremo più avanti VincolidiIR Creano un legame tra i valori di n attributi della tabella corrente (detta interna) e i valori di n attributi di una seconda tabella (detta esterna o master, cioe principale) che tipicamente ne costituiscono una chiave di nuovo due sintassi (come in precedenza) per singoli attributi su più attributi E' possibile definire politiche di reazione alla violazione
8 Infrazioni (tabella interna) Codice Data Vigile Prov Numero /2/95 4/3/95 5/4/96 5/2/ MI TO PR PR 39548K E Infrazioni (interna) Codice Data 1/2/95 4/3/95 5/4/96 5/2/98 Vigile Prov Numero MI 39548K TO E39548 PR PR Vigili (esterna o master) Matricola Cognome 3987 Rossi 3295 Neri 9345 Neri 7543 Mori Nome Luca Piero Mario Gino 43 Auto (esterna o master) Prov Numero Cognome MI TO PR 39548K E Rossi Rossi Neri Nome Mario Mario Luca 44 CREATE TABLE, esempio con le due sintassi CREATE TABLE Infrazioni( Codice CHAR(6) NOT NULL PRIMARY KEY, Data DATE NOT NULL, Vigile INTEGER NOT NULL REFERENCES Vigili(Matricola), Provincia CHAR(2), Numero CHAR(6), FOREIGN KEY(Provincia, Numero) REFERENCES Auto(Provincia, Numero) ) Politiche di reazione alle violazioni o referential triggered action Cause di violazione: 1. Si opera sulla tabella interna (TI) inserimento di tupla nella TI modifica di valore di attributo nella TI In entrambi i casi il comando non viene eseguito 2. Si opera sulla tabella esterna/master (TE) Quattro politiche possibili (vedi ) Motivo della asimmetria: la TE e la tabella master Politiche per comando su TE: modifica/cancellazione 1. Cascade: Modifica valore modificato anche nella TI Cancellazione la cancellazione viene propagata alla TI 2. Set null: NULL nella TI 3. Set default: default nella TI 4. No action: rifiutata Politiche per comando su TE: modifica/cancellazione Le due politiche possono essere differenti per modifica/cancellazione Es. DipartCHARACTER (15) REFERENCES Dipartimento (NomeDip) ON DELETE SET NULL ON UPDATE CASCADE
9 Modifiche degli schemi: ALTER Istruzioni SQL di modifica di schema ALTER DOMAIN, modifica domini (default, vincoli) ALTER TABLE, modifica tabelle. Attenzione: Quando si definisce un nuovo vincolo, deve essere soddisafatto dai dati presenti, altrimenti viene rifiutato Modifiche degli schemi: DROP In pratica DROP DOMAIN, cancellazione del dominio (attributo) DROP TABLE, cancellazione della tabella Due opzioni: RESTRICT, un oggetto (dominio, tabella) non e rimosso se non e vuoto CASCADE, viene rimosso l oggetto e tutto cio che e coinvolto nella definizione dell oggetto In molti sistemi si utilizzano strumenti diversi dal codice SQL per definire lo schema della base di dati Es. Form in Access SQL, operazioni sui dati Data Manipulation Language: operazioni sui dati interrogazione: SELECT modifica: INSERT, DELETE, UPDATE
10 Operazioni di interrogazione L operazione SELECT Due forme per la SELECT SQL interrogazioni SELECT non nidificata: usata in interrogazioni semplici SELECT nidificata: usata in interrogazioni complesse Al contrario dell algebra relazionale, SQL e un linguaggio dichiarativo: specificacosasivuole, non come lo si vuole. E l ottimizzatore del DBMS che sceglie la implementazione ottima dal punto di vista dei costi Poiche tuttavia esistono molte espressioni diverse per la stessa interrogazione in SQL, occorre privilegiare nella scelta non la efficienza ma la leggibilita e comprensibilita Istruzione SELECT: sintassi Interrogazioni semplici: istruzione SELECT non nidificata SELECT ListaAttributi FROM ListaTabelle [WHERE Condizione] Lista attributi e la "target list, lista obiettivo, che si vuole riprodurre come esito della interrogazione clausolafrom clausolawhere
11 Istruzione SELECT: semantica SELECT ListaAttributi FROM ListaTabelle [WHERE Condizione] Seleziona tra le righe del prodotto cartesiano delle tabelle citate nella FROM, quelle che soddisfano le condizioni presenti nella WHERE, e di esse ne rappresenta solo gli attributi nella target list Un primo insieme di esercizi Maternità Legami Logici Chiavi Paternità Madre Luisa Luisa Anna Anna Maria Maria Padre Sergio Figlio Maria Olga Filippo Figlio Olga Filippo Persone Nome Età Reddito Maria Anna Filippo Olga Sergio Luisa Maternità Madre Figlio Luisa Maria Paternità Luisa Anna Anna Maria Maria Olga Filippo Padre Figlio Sergio Olga Filippo Persone Nome Età Reddito Maria 55 Anna 50 Filippo Olga 30 Sergio 85 Luisa Trova a mente: - I figli di Luisa - Le nonne - I genitori di Olga -I genitori con piu di un figlio 64 Selezione e proiezione Nome e reddito delle persone con meno di trenta anni PROJ Nome, Reddito (SEL Eta<30 (Persone)) select nome, reddito from persone where eta < 30 Maternità Madre Figlio Luisa Maria Luisa Anna Olga Anna Filippo Maria Maria Paternità Padre Figlio Sergio Olga Filippo Persone Nome Età Reddito Maria Anna Filippo Olga Sergio Luisa Persone Nome Reddito Età Reddito Filippo Maria Anna Filippo Olga Sergio Luisa
12 Ridenominazione SELECT, abbreviazioni Si possono fare ridenominazioni su attributi e relazioni con la clausola AS select nome, reddito from persone where eta < 30 Esempio: Impiegato as I Si puo anche omettere AS Esempio: ImpiegatoI Puo scriversi, per ragioni di leggibilita, come select nome, reddito from persone as personegiovani where eta < Selezione, senza proiezione SELECT, abbreviazioni Nome, età e reddito delle persone con meno di trenta anni SEL Eta<30 (Persone) select * from persone where eta < 30 select * from persone where eta < 30 E EQUIVALENTE A select nome, età, reddito from persone where eta < Proiezione, senza selezione SELECT, abbreviazioni Nome e reddito di tutte le persone R(A,B) PROJ Nome, Reddito (Persone) select nome, reddito from persone select * from R equivale a select X.A as A, X.B as B from R X where true
13 Espressioni nella target list Maria Anna Filippo Olga Sergio Luisa Trova il reddito di, e lo divide per due, trovando quindi il reddito semestrale Select Reddito/2 as redditosemestrale from Persone where Nome = ' Condizione complessa Trova tutti gli attributi delle persone per le quali il reddito e >25 e l eta e compresa tra 30 e 60 select * from persone where reddito > 25 and (eta >= 30 and eta <= 60) Maternità Madre Figlio Persone Luisa Maria Nome Età Reddito Luisa Anna Olga Anna Filippo Maria Maria Anna Maria Filippo Paternità Padre Figlio Sergio Olga Olga Sergio Filippo Luisa Condizione LIKE Gestione dei valori nulli Seleziona stringhe di caratteri - indica carattere arbitrario % indica stringa con un numero arbitrario di caratteri Esempio: Le persone che hanno un nome che inizia per 'A' e ha una 'd' come terza lettera select * from persone where nome like 'A_d%' 75 Stesso significato dell algebra relazionale Impiegati Matricola Cognome Filiale Età Rossi Neri Milano Roma Bruni Neri Milano NULL Bruni Milano NULL Gli impiegati la cui età è o potrebbe essere maggiore di 40 SEL Età > 40 OR Età IS NULL (Impiegati) 76 Gli impiegati la cui età è o potrebbe essere maggiore di 40 SEL Età > 40 OR Età IS NULL (Impiegati) select * from impiegati where eta > 40 or eta is null Ricordiamo ancora il significato della SELECT SELECT ListaAttributi FROM ListaTabelle [WHERE Condizione] Seleziona tra le righe del prodotto cartesiano delle tabelle citate nella FROM, quelle che soddisfano le condizioni presenti nella WHERE, e di esse ne rappresenta solo gli attributi nella target list
14 Relazione tra SQL e algebra relazionale Date due schemi relazionali R1(A1,A2), R2(A3,A4) Select A1, A4 From R1, R2 Where A2 = A3 prodotto cartesiano (FROM) selezione (WHERE) proiezione (SELECT) SQL e algebra relazionale R1(A1,A2) R2(A3,A4) Select A1, A4 From R1, R2 Where A2 = A3 PROJ A1,A4 (SEL A2=A3 (R1 PROD CART R2)) Clausola PUNTO (.) Esempio Vi puo essere ambiguita nel riferire un attributo attraverso il nome, es. quando piu tabelle hanno lo stesso attributo Es. R1(A1, A2), R2 (A2, A3) In questi casi occorre usare la notazione nometabella.nomeattributo Schema Impiegato (Nome, Cognome, Citta, Dipartimento, Ufficio) Dipartimento (Nome, Citta ) Seleziona Nome (degli impiegati), Cognome, Citta (del dipartimento) degli impiegati Dove sono gli attributi nello schema? Esempio Esempio Schema Impiegato (Nome, Cognome, Citta, Dipartimento, Ufficio) Dipartimento (Nome, Citta ) Schema Impiegato (Nome, Cognome, Citta, Dipartimento, Ufficio) Dipartimento (Nome, Citta ) Seleziona Nome (degli impiegati), Cognome, Citta (del dipartimento) degli impiegati Vogliamo trovare Nome, Cognome e Citta del Dipartimento di tutti gli impiegati
15 Esempio Utilita delle ridenominazioni Schema Impiegato (Nome, Cognome, Citta, Dipartimento, Ufficio, Dipartimento (Nome, Citta ) Per Dipartimento Select I.Nome, Non Cognome, e necessario D.Citta usare la clausola. From Impiegato as I, Dipartimento as D Where Dipartimento = D.Nome Possono essere necessarie ridenominazioni nella selezione nella target list Select I.Nome, Cognome, D.Citta From Impiegato as I, Dipartimento as D Where Dipartimento = D.Nome select X.A1 AS B1,... from R1 X, R2 Y, R1 Z where X.A2 = Y.A3 AND Utilita delle ridenominazioni Ridenominazioni e variabili Schema R1(A1,A2), R2 (A3,A4) REN B1,B2 A1,A4 ( PROJ A1,A4 (SEL A2 = A3 AND A4 = C1 ( R1 JOIN R2 JOIN REN C1,C2 A1,A2 (R1)))) Si puo tradurre in select X.A1 AS B1, Y.A4 AS B2 from R1 X, R2 Y, R1 Z where X.A2 = Y.A3 AND Y.A4 = Z.A1 In effetti una ridenominazione svolge in SQL il ruolo che le variabili svolgono nei linguaggi programmativi. Es.... From Impiegato I1, Impiegato I2... E come se fossero create due versioni diverse della stessa tabella Impiegato Per questa ragione useremo nel seguito per le ridenominazioni anche il termine variabili Gestione duplicati in SQL In SQL, al contrario dell algebra relzionale, la tabella finale mantiene eventuali tuple distinte duplicate. Quindi per eliminarle, occorre utilizzare la clausola DISTINC cognome e filiale di tutti gli impiegati Matricola Cognome Filiale Stipendio 7309 Neri Napoli Neri Milano Rossi Roma Rossi Roma 64 PROJ Cognome, Filiale (Impiegati)
16 select cognome, filiale from impiegati Cognome Neri Neri Rossi Rossi Filiale Napoli Milano Roma Roma Cognome Neri Neri Rossi select distinct cognome, filiale from impiegati Filiale Napoli Milano Roma 91 Maternità Paternità Madre Luisa Luisa Anna Anna Maria Maria Padre Sergio Figlio Maria Olga Filippo Figlio Olga Filippo Persone Nome Età Reddito Maria Anna Filippo Olga Sergio Luisa Selezione, proiezione e join I padri di persone che guadagnano più di venti mila PROJ Padre (Paternita JOIN Figlio =Nome SEL Reddito>20 (persone)) Maternità Madre Figlio Persone Luisa Maria Nome Età Reddito Luisa Anna Olga Anna Filippo Maria Maria Anna Maria Filippo Paternità Padre Figlio Sergio Olga Olga Sergio Filippo Luisa Selezione, proiezione e join I padri di persone che guadagnano più di venti mila select distinct padre from persone, paternita where figlio = nome and reddito > 20 Risultato Maternità Madre Figlio Persone Luisa Maria Nome Età Reddito Luisa Anna Olga Anna Filippo Maria Maria Anna Maria Filippo Paternità Padre Figlio Sergio Olga Olga Sergio Filippo Luisa Join naturale Padre e madre di ogni persona Algebra: Paternita JOIN Maternita SQL select Paternita.figlio, padre, madre from Maternita, Paternita where Paternita.figlio = Maternita.figlio Maternità Madre Figlio Persone Luisa Maria Nome Età Reddito Luisa Anna Olga Anna Filippo Maria Maria Anna Maria Filippo Paternità Padre Figlio Sergio Olga Olga Sergio Filippo Luisa Le persone che guadagnano più dei rispettivi padri; mostrare nome, reddito e reddito del padre PROJ Nome, Reddito, RP (SEL Reddito>RP (REN NP,EP,RP Nome,Eta,Reddito (Persone) JOIN NP=Padre (paternita JOIN Figlio =Nome persone))) Maternità Madre Figlio Luisa Maria Luisa Anna Olga Anna Filippo Maria Maria Paternità Padre Figlio Sergio Olga Filippo Persone Nome Età Reddito Maria Anna Filippo Olga Sergio Luisa
17 Le persone che guadagnano più dei rispettivi padri; mostrare nome, reddito e reddito del padre select f.nome, f.reddito, p.reddito from persone p, paternita, persone f wherep.nome= padre and figlio = f.nome and f.reddito > p.reddito Maternità Madre Figlio Luisa Maria Luisa Anna Olga Anna Filippo Maria Maria Paternità Padre Figlio Sergio Olga Filippo Persone Nome Età Reddito Maria Anna Filippo Olga Sergio Luisa SELECT, con ridenominazione del risultato select figlio, f.reddito as reddito, p.reddito as redditopadre from persone p, paternita, persone f where p.nome = padre and figlio = f.nome and f.reddito > p.reddito 98 17
Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2
Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2 Vincoli di integrita 2 Cosa e un vincolo di integrita E una proprieta sempre valida
DettagliAtzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 : SQL SQL originariamente "Structured Query Language", ora "nome proprio" linguaggio con varie funzionalità: contiene sia il DDL sia
DettagliSQL. SQL: una visione panoramica. SQL: "storia" Definizione dei dati
SQL SQL: una visione panoramica I lucidi presentati sono liberamente ispirati al contenuto del Capitolo 4 del libro Atzeni, Ceri, Paraboschi, Torlone Basi di dati - McGraw-Hill, 1999 Structured Query Language
DettagliSQL: 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,
DettagliSQL. 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. 2015/2016 http://www.di.uniba.it/~lisi/courses/basi-dati/bd2015-16.htm dott.ssa Francesca A. Lisi francesca.lisi@uniba.it
DettagliBasi di dati. SQL: concetti base
Basi di dati SQL: concetti base SQL originariamente "Structured Query Language", ora "nome proprio" linguaggio con varie funzionalità: contiene sia il DDL sia il DML ne esistono varie versioni vediamo
DettagliSQL. 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. 2017/2018 http://www.di.uniba.it/~lisi/courses/basi-dati/bd2017-18.htm Prof.ssa Francesca A. Lisi francesca.lisi@uniba.it
DettagliStructured Query Language
IL LINGUAGGIO SQL Structured Query Language Contiene sia il DDL sia il DML, quindi consente di: Definire e creare il database Effettuare l inserimento, la cancellazione, l aggiornamento dei record di un
DettagliSQL. 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
DettagliAtzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 : SQL Operatori aggregati Nelle espressioni della target list possiamo avere anche espressioni che calcolano valori a partire da insiemi
DettagliLaboratorio di Basi di Dati
Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 2 Vincoli di integrità Proprietà che devono essere soddisfatte da ogni istanza della base di dati. Il soddisfacimento è definito rispetto al
DettagliAtzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL. Definizione dei dati in SQL. SQL: "storia" Domini. CREATE TABLE, esempio
SQL Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 4: SQL 24/09/2002 originariamente "Structured Query Language", ora "nome proprio" linguaggio con varie funzionalità: contiene
DettagliCorso 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.
DettagliSQL 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
DettagliBasi 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
DettagliPrincipi di Progettazione del Software a.a Il linguaggio SQL. Prof. Luca Mainetti Università del Salento
Principi di Progettazione del Software a.a. 2016-2017 Prof. Università del Salento Linguaggi per DBMS Il modello relazionale definisce i concetti generali ed i vincoli per modellare e strutturare i dati
DettagliSQL. SQL: "storia. Sviluppato nella metà degli anni settanta (1974) presso il laboratorio di ricerca IBM di S.Josè. Dal 1983 ca. "standard di fatto"
SQL SQL: "storia Sviluppato nella metà degli anni settanta (194) presso il laboratorio di ricerca IBM di S.Josè Dal 1983 ca. "standard di fatto" E il linguaggio di riferimento per l interrogazione di DBMS
DettagliSQL. 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
DettagliDichiarazione 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
DettagliSQL 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
DettagliBasi di Dati. Programmazione e gestione di sistemi telematici
Basi di Dati. Programmazione e gestione di sistemi telematici Coordinatore: Prof. Paolo Nesi Docenti: Prof. Paolo Nesi Dr.sa Michela Paolucci Dr. Emanuele Bellini SQL SQL = Structured Query Language Linguaggio
DettagliQuery. Query (Interrogazioni) SQL SQL. Significato dell interrogazione. Sintassi
Informatica della Facoltà di Lingue e Letterature dell Università degli Studi di Torino. Qualsiasi altro Query (Interrogazioni) SQL Materiale aggiuntivo per il corso di laurea in Lingue e Culture per il
DettagliElena Baralis 2007 Politecnico di Torino 1
Linguaggio SQL: fondamenti Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati Creazione di una tabella (1/3) Si utilizza
DettagliBasi 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
DettagliSQL. Argomenti della lezione. Join esplicito. Interrogazioni complesse in SQL join esplicito outer join operatori aggregati interrogazioni nidificate
Argomenti della lezione SQL Interrogazioni complesse in SQL join esplicito outer join operatori aggregati interrogazioni nidificate Maternità Paternità Madre Figlio Olga Filippo Sergio Olga Filippo Persone
DettagliOperatori aggregati: COUNT
Operatori aggregati: COUNT Il numero di figli di select count(*) as NumFigliDi where Padre = '' Paternità Padre Sergio Figlio Olga Filippo Andrea Aldo l operatore aggregato (count) viene applicato al risultato
DettagliSQL: 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
DettagliBasi di dati. SQL: concetti base
Basi di dati SQL: concetti base SQL originariamente "Structured Query Language", ora "nome proprio" linguaggio con varie funzionalità: contiene sia il DDL sia il DML ne esistono varie versioni vediamo
DettagliCorso 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
DettagliSQL. 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. 2015/2016 http://www.di.uniba.it/~lisi/courses/basi-dati/bd2015-16.htm dott.ssa Francesca A. Lisi francesca.lisi@uniba.it
DettagliTrasparenze rielaborate da Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999 Capitolo 4: SQL-2, seconda parte.
Trasparenze rielaborate da Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999 Capitolo 4: SQL-2, seconda parte 11/03/2005 Maternità Legami logici Paternità Madre Luisa Luisa Anna Anna Padre
DettagliDefinizione 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
DettagliUno dei principali motivi del successo delle basi di dati: è diventato uno standard
SQL [1] Concetti essenziali di SQL 2 Il linguaggio SQL Uno dei principali motivi del successo delle basi di dati: è diventato uno standard Fornisce un interfaccia dichiarativa di alto livello, permettendo
DettagliParte III. L algebra relazionale
Parte III L algebra relazionale asi di dati - prof. Silvio Salza - a.a. 2014-2015 III - 1 Linguaggi di interrogazione Dichiarativi: specificano le proprietà del risultato ("che cosa") Procedurali: specificano
DettagliLaboratorio di Basi di Dati Per Bioinformatica
Laboratorio di Basi di Dati Per Bioinformatica Laurea in Bioinformatica - A.A. 2010/11 Docente: Carlo Combi Email: carlo.combi@univr.it Lezione 1 SQL Structured Query Language SQL è stato definito nel
DettagliGestione e Analisi dei Dati. Lezione 2 Vincoli su attributo Selezioni semplici su una tabella
Gestione e Analisi dei Dati Lezione 2 Vincoli su attributo Selezioni semplici su una tabella Vincoli sui Dati Regole del dominio di interesse Unicità di codici di corso e matricole Un codice deve corrispondere
DettagliSQL. 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
DettagliDDL 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
DettagliBasi 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
DettagliBasi 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:
DettagliIntroduzione Basi di Dati. Orazio Battaglia
Introduzione Basi di Dati Orazio Battaglia Introduzione basi di dati Ogni organizzazione è dotata di un sistema informativo che organizza e gestisce le informazioni necessarie per perseguire gli scopi
DettagliDomini 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
DettagliAtzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 : SQL Operazioni di aggiornamento operazioni di inserimento: insert eliminazione: delete modifica: update di una o più ennuple di una
DettagliIdoneita Informatica. Sistemi per la gestione di basi di Dati
Idoneita Informatica Sistemi per la gestione di basi di Dati Prof. Mauro Gaspari mauro.gaspari@unibo.it Rielaborazione delle slide del Dott. Matteo Magnani e del Dott. Nicola Dragoni 1 Sistema Informativo
DettagliLinguaggio 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
DettagliSQL. Metodologie informatiche per le discipline umanistiche. SQL Database. SQL = Structured Query Language Linguaggio di Interrogazione Strutturato
Metodologie informatiche per le discipline umanistiche SQL Database Coordinatore: Docenti: Prof. Paolo Nesi Prof. Paolo Nesi http://www.dsi.unifi.it/~nesi Dr. Emanuele Bellini ebellini@dsi.unifi.it 1 SQL
DettagliSQL. 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
DettagliIl linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL: fondamenti. Il linguaggio SQL
: fondamenti Linguaggio per gestire le basi di dati relazionali Structured Query Language SQL possiede istruzioni per definire lo schema di una base di dati relazionale leggere e scrivere i dati definire
DettagliLaboratorio 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
DettagliSQL. SQL (Structured Query Language) è un linguaggio di interrogazione per basi di dati relazionali
SQL SQL (Structured Query Language) è un linguaggio di interrogazione per basi di dati relazionali Contiene funzionalità anche di Data Definition Language (DDL) e di Data Manipulation Language (DML) DDL:
DettagliCorso di Basi di Dati
Corso di Laurea in Ingegneria Gestionale Sapienza Università di Roma Corso di Basi di Dati A.A. 2016/2017 4 SQL : Structured Query Language Tiziana Catarci Ultimo aggiornamento : 22/02/2016 SQL : Structured
DettagliLaboratorio di Basi di Dati
Laboratorio di Basi di Dati Esercitazione PostgreSQL Dopo aver lanciato il client grafico pgadmin III di PostgreSQL svolgere le operazioni descritte nel seguito, tenendo presenti i suggerimenti forniti
DettagliSQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013)
SQL quick reference piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013) I tipi dei dati di SQL sono: delimitatori delle costanti: TEXT(n) stringa di caratteri
Dettagli4/16/07. Le Basi di Dati Relazionali. Concetti Fondamentali. Base di dati, tabella, ennupla, attributo, dominio. Valori nulli
Base di dati, tabella, ennupla, attributo, dominio Le Basi di Dati Relazionali Concetti Fondamentali Valori nulli Vincoli di chiave, di ennupla, di riferimento 2 Modello logico dei DBMS (Data Base Management
DettagliLinguaggio 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
DettagliStructured. Language. Basi di Dati. Introduzione. DDL: Data Definition Language. Tipi di dato. Query. Modifica dei Dati
Basi di Dati Matteo Longhi Structured Query Language Introduzione Standard creato nel 1976 da IBM Aggiornato (versione 2 nel 1992 (ANSI X3.135 e ISO 9075 Consente di: DDL: definire la struttura del DB
DettagliGestione 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
DettagliCorso 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
DettagliBasi di Dati: Corso di laboratorio
Basi di Dati: Corso di laboratorio Lezione 3 Raffaella Gentilini 1 / 52 Sommario 1 Il DML di SQL: Interrogazione di una BD 2 / 52 Data Manipulation Language (DML) Istruzioni del DML Le istruzioni del DML
DettagliInterrogazioni nidificate
Interrogazioni nidificate Nella clausola where si possono utilizzare valori prodotti da altre istruzioni select utilizzando any (qualsiasi) o all (tutti) insieme agli operatori di confronto Trovare nome,
DettagliSQL 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
DettagliBasi 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
Dettagli5 SQL : Definizione e manipolazione dei dati
Corso di Laurea in Ingegneria Gestionale SAPIENZA Università di Roma Esercitazioni del corso di Basi di Dati Prof.ssa Catarci e Prof.ssa Scannapieco Anno Accademico 2010/2011 Andrea Marrella Ultimo aggiornamento
DettagliCorso di Basi di Dati
Corso di Basi di Dati Il Linguaggio SQL Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/ Il Linguaggio SQL SQL (Structured Query Language) è il linguaggio di riferimento per le basi di dati
DettagliEsercitazione: Interrogazioni SQL
Laurea in Ingegneria Informatica SAPIENZA Università di Roma Insegnamento di Basi di Dati Esercitazione: Interrogazioni SQL Domenico Fabio Savo 1 Sommario 1. Creazione del database utilizzato per l esercitazione
DettagliSQL 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
DettagliSQL - Sottointerrogazioni correlate
SQL - Sottointerrogazioni correlate negli esempi visti ogni subquery viene eseguita una volta per tutte ed il valore (o insieme di valori) è usato nella clausola WHERE della query esterna è possibile definire
DettagliCorso di Informatica
Corso di Informatica Modulo T2 D1.2 Selezione e proiezione 1 Prerequisiti Elementi di teoria degli insiemi Composizione di operazioni 2 1 Introduzione Oltre alle operazioni insiemistiche, può capitare
DettagliSQL - 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
DettagliIl 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
DettagliSQL aspetti essenziali
SQL aspetti essenziali Sommario 2 Definizioni di dati e tipi di dato in SQL Specifica di vincoli in SQL Interrogazioni di base in SQL Istruzioni INSERT, DELETE, e UPDATE Funzionalità aggiuntive SQL 3 SQL
DettagliESERCITAZIONE: Fornitore-Fornisce-Articolo
ESERCITAZIONE: Fornitore--Articolo PROGETTAZIONE CONCETTUALE Sia dato il diagramma ER rappresentativo di una certa realtà di interesse Cognome CodF Nome DataN CodA Descrizione Prezzo Fornitore N N E Fornito
DettagliAtzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, IL MODELLO RELAZIONALE
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 : IL MODELLO RELAZIONALE I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare relazionale Più recente (e
DettagliLaboratorio 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
DettagliStoria. 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:
DettagliSQL: DDL, VI, Aggiornamenti e Viste
SQL: DDL, VI, Aggiornamenti e Viste 1 SQL è più di un semplice linguaggio di interrogazione v Linguaggio di definizione dati (Data-definition language, DDL): Crea/distrugge/modifica relazioni e viste Definisce
DettagliProgettazione concettuale usando il modello Entità-Relazione (ER)
Progettazione concettuale usando il modello Entità-Relazione (ER) 1 Introduzione alla progettazione delle basi di dati Progettazione concettuale (in questa fase si usa il modello ER) Quali sono le entità
DettagliCorso di Basi di Dati
Corso di Laurea in Ingegneria Gestionale Sapienza - Università di Roma Corso di Basi di Dati A.A. 2016/2017 7 SQL : Check, Asserzioni,Viste Tiziana Catarci Ultimo aggiornamento : 22/02/2017 Costrutti Avanzati
DettagliDr. C. d'amat. SQL: cenni storici
SQL Dr. C. d'amat SQL: cenni storici 1973: presso il laboratorio di ricerca IBM di San Josè (California) viene sviluppato il sistema relazionale System/R. Si decide di utilizzare un linguaggio dichiarativo
DettagliBasi di Dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL
Basi di Dati Il Linguaggio SQL Il Linguaggio SQL SQL (Structured Query Language) è di fatto lo standard tra i linguaggi per la gestione di basi di dati relazionali è un linguaggio dichiarativo (non-procedurale),
DettagliSQL: Structured Query Language. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma
SQL: Structured Query Language 1 SQL:Componenti Principali Data Manipulation Language (DML): interrogazioni, inserimenti, cancellazioni, modifiche Data Definition Language (DDL): creazione, cancellazione
DettagliLinguaggio 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;
DettagliIl 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,
DettagliBasi di dati. Linguaggio SQL: fondamenti - Introduzione. Elena Baralis 2007 Politecnico di Torino 1 D B M G 2 D B M G D B M G 4 D B M G 6
Linguaggio SQL: fondamenti Sistemi informativi Istruzione : fondamenti Interrogazioni nidificate Operatori insiemistici Istruzioni di aggiornamento Gestione delle tabelle 2 al linguaggio SQL Istruzioni
DettagliLABORATORIO 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
DettagliBasi di Dati. 3. Il Linguaggio SQL. Basi di Dati - A.A. 2003/2004 - Diego Calvanese 3. SQL - 1. Diego Calvanese SQL SQL-92
Università di Roma La Sapienza Laurea in Ingegneria Informatica Basi di Dati Anno Accademico 2003/2004 Canale M-Z Diego Calvanese Dipartimento di Informatica e Sistemistica Antonio Ruberti Università di
Dettagli3 SQL : Interrogazioni
Corso di Laurea in Ingegneria Gestionale SAPIENZA Università di Roma Esercitazioni del corso di Basi di Dati Prof.ssa Catarci e Prof.ssa Scannapieco Anno Accademico 2010/2011 Andrea Marrella Ultimo aggiornamento
DettagliModello Relazionale. Esempio (Relazione) A x B. Introduzione. Relazione: definizione. I fattori del successo. Relazione
Introduzione Modello Relazionale Concetti e definizioni 1 Modello proposto nel 1970 da E.F. Codd A relational model for large shared data banks Communications of the ACM Vol. 13, n. 6, pagg. 377-387 Prime
DettagliManuale SQL. Manuale SQL - 1 -
Manuale SQL - 1 - Istruzioni DDL Creazione di una tabella : CREATE TABLE Il comando CREATE TABLE consente di definire una tabella del database specificandone le colonne, con il tipo di dati ad esse associate,
DettagliInterrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor
Interrogare una base di dati: algebra relazionale e SQL Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor Contesto didattico Il seguente materiale didattico è
DettagliInterrogazioni con ANY e ALL. Operatori ANY e ALL. Interrogazioni con ANY e ALL. Interrogazioni con ANY e ALL. Interrogazioni con ANY e ALL
Interrogazioni con ANY e ALL Operatori ANY e ALL Sintassi: WHERE Attributo OperatoreConfronto [ANY ALL] (SelectAttributoSingolo) ANY: la riga soddisfa la condizione se risulta vero il confronto con almeno
DettagliLaboratorio di Basi di Dati Esercizio 8.4/9.1
Laboratorio di Basi di Dati Esercizio 8.4/9.1 Pierluigi Pierini Technolabs S.p.a. Pierluigi.Pierini@technolabs.it Università degli Studi di L Aquila Dipartimento di Informatica Technolabs S.p.A. R&D Department
DettagliInterrogazioni nidificate
Interrogazioni nidificate Trovare nome, cognome e matricola degli studenti che non hanno fatto esami select Matricola,Nome,Cognome from studenti where matricola all (select studente group by studente)
DettagliAtzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, ALGEBRA E CALCOLO RELAZIONALE
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 : ALGEBRA E CALCOLO RELAZIONALE Esempi Impiegati Matricola Nome Età Stipendio 7309 Rossi 34 45 5998 Bianchi 37 38 9553 Neri 42 35 5698
DettagliInterrogazioni in SQL
Interrogazioni in SQL Corso di Basi di Dati 4 dicembre 2013 1 Interrogazioni sullo schema aziendale 1. Ottenere i nomi dei dipartimenti dislocati in piú sedi. 2. Ottenere il numero di supervisori. 3. Produrre
DettagliBasi 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
DettagliSQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi:
SQL e linguaggi di programmazione L interazione con l ambiente SQL può avvenire in 3 modi: in modo interattivo col server attraverso interfacce o linguaggi ad hoc legati a particolari DBMS attraverso i
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
DettagliLinguaggio 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
DettagliLinguaggio SQL. Prof. Giuseppe Tandoi
Caratteristiche generali SQL è uno strumento per organizzare gestire recuperare dati memorizzati in DataBase organizzati su base Relazionale. Caratteristiche generali SQL è l'acronimo di Structured Query
Dettagli