Basi di dati. SQL: Caratteristiche evolute
|
|
|
- Roberto Stefani
- 9 anni fa
- Visualizzazioni
Transcript
1 Basi di dati SQL: Caratteristiche evolute
2 Vincoli di integrità generici: check Specifica di vincoli di ennupla (e anche vincoli più complessi, non sempre supportati) check ( Condizione ) 2
3 Check, esempio create table Impiegato ( Matricola integer primary key, Cognome character(20), Nome character(20), Sesso character not null check (sesso in ('M','F')), Stipendio integer check (Stipendio > 0), Superiore integer, check (Stipendio <= (select Stipendio from Impiegato J where Superiore = J.Matricola) ) ) La nidificazione nel check non è supportata da tutti i sistemi 3
4 Check, esempio 2 create table Impiegato ( Matricola character(6), Cognome character(20), Nome character(20), Sesso character not null check (sesso in ( M, F )) Stipendio integer, Ritenute integer, Netto integer, Superiore character(6), check (Netto = Stipendio - Ritenute ) ) ok 4
5 Check, esempio 3 insert into Impiegato values (1, 'Rossi', 'Mario', '', 100, 20, 80); insert into Impiegato values (2, 'Neri', 'Mario', 'M', 100, 10, 80); insert into Impiegato values (3, 'Rossini', 'Luca', 'M', 70, 20, 50); Non soddisfa il check sull attiributo sesso Non soddisfa il check sull attributo netto Soddisfa tutti i requisiti del check 5
6 Vincoli di integrità generici: asserzioni Specifica vincoli a livello di schema create assertion NomeAss check ( Condizione ) create assertion AlmenoUnImpiegato check (1 <= ( select count(*) from Impiegato )) La nidificazione nel check non è supportata da tutti i sistemi 6
7 Viste create view NomeVista [ ( ListaAttributi ) ] as SelectSQL [ with [ local cascaded ] check option ] create view ImpiegatiAmmin (Nome, Cognome, Stipendio) as select Nome, Cognome, Stipendio from Impiegato where Dipart = 'Amministrazione' and Stipendio > 10 7
8 Interrogazioni sulle viste Possono fare riferimento alle viste come se fossero relazioni di base select * from ImpiegatiAmmin equivale a (e viene eseguita come) select Nome, Cognome, Stipendio from Impiegato where Dipart = 'Amministrazione' and Stipendio > 10 8
9 Aggiornamenti sulle viste Ammessi (di solito) solo su viste definite a partire da una sola relazione Alcune verifiche possono essere imposte 9
10 Visite con modifiche: check option create view ImpiegatiAmminPoveri as select * from ImpiegatiAmmin where Stipendio < 50 with check option check option permette modifiche sulle viste, ma solo a condizione che la ennupla continui ad appartenere alla vista (non posso modificare lo stipendio portandolo a 60) 10
11 Esempio: operazione non consentita create view ImpiegatiAmminPoveri as select * from ImpiegatiAmmin where Stipendio < 50 with check option update ImpiegatiAmminPoveri set stipendio = 60 where nome = 'Paola' 11
12 Opzioni su viste: local e cascaded local (nel caso di viste su viste) specifica se il controllo sul fatto che le righe vengono aggiornate dalla vista debba essere effettuato solo all ultimo livello della vista cascaded (nel caso di viste su viste) specifica che l aggiornamento della vista debba essere propagato 12
13 Un interrogazione scorretta per lo standard SQL Estrarre il numero medio di uffici per ogni dipartimento Interrogazione scorretta select avg(count(distinct Ufficio)) from Impiegato group by Dipart L' interrogazione è scorretta in quanto la sintassi SQL non permette di combinare in cascata la valutazione di diversi operatori aggregati. 13
14 Un interrogazione corretta per lo standard SQL Estrarre il numero medio di uffici per ogni dipartimento Con vista create view DipartUffici(NomeDip,NroUffici) as select Dipart, count(distinct Ufficio) from Impiegato group by Dipart; select avg(nrouffici) from DipartUffici 14
15 Ancora sulle viste, soluzione scorretta Mostrare il Dipartimento che spende la somma massima in stipendi Soluzione scorretta su alcuni sistemi select Dipart from Impiegato group by Dipart having sum(stipendio) >= all (select sum(stipendio) from Impiegato group by Dipart) La nidificazione nell having non è ammessa in alcuni sistemi 15
16 Soluzione corretta con le viste create view BudgetStipendi(Dip,TotaleStipendi) as select Dipart, sum(stipendio) from Impiegato group by Dipart select Dip from BudgetStipendi where TotaleStipendi =(select max(totalestipendi) from BudgetStipendi) 16
17 Viste ricorsive (1) Per ogni persona, trovare tutti gli antenati, avendo Paternita (Padre, Figlio) Paternita Padre Sergio Luigi Luigi Franco Franco Figlio Franco Olga Filippo Andrea Aldo 17
18 Viste ricorsive (2) Serve la ricorsione; in Datalog: Discendenza (Antenato: p, Discendente: f) Paternita (Padre: p, Figlio: f) Discendenza (Antenato: a, Discendente: d) Paternita (Padre: a, Figlio: f), Discendenza (Antenato: f, Discendente: d) 18
19 Viste ricorsive in SQL:1999 with recursive Discendenza(Antenato,Discendente) AS ( select Padre, Figlio from Paternita union all select Antenato, Figlio from Discendenza, Paternita where Discendente = Padre) select * from Discendenza La clausola with definisce la vista Discendenza che viene costruita ricorsivamente a partire dalla tabella Paternita. 19
20 Esempio di interrogazione ricorsiva Estrarre i superiori diretti o indiretti dell'impiegato Mario Rossi with recursive Responsabile (Matr, Superiore) AS ( select Matr, Superiore from Impiegato union select Impiegato.Matr, Responsabile.Superiore from Impiegato, Responsabile where Impiegato.Superiore = Responsabile.Matr) select Nome, Cognome, Responsabile.Superiore from Impiegato join Responsabile on (Impiegato.Matr = Responsabile.Matr) where Nome = 'Mario' and Cognome = 'Rossi' 20
21 Funzioni scalari (1) Funzioni a livello di ennupla che restituiscono singoli valori Temporali current_date, ti estrae la data corrente extract(year from expression), estrae una porzione di data/ora da un espressione (month, day, hour, ecc) 21
22 Funzioni scalari (2) Manipolazione stringhe char_length, restituisce la lunghezza della stringa lower, converte la stringa in caratteri minuscoli Conversione Cast permette di convertire un valore in un dominio nella sua rappresentazione in un altro dominio; Condizionali 22
23 Funzioni condizionali: coalesce (1) La funzione coalesce ammette come argomento una sequenza di espressioni e restituisce il primo valore non nullo tra questi. Esempio: dato il seguente schema relazionale: Impiegato (matricola, dipartimento, cellulare, telefono fisso) Trovare un recapito telefonico valido per ogni impiegato dove, se presente usare cellulare, altrimenti il telefono fisso. Select matricola, coalesce (cellulare, telefono fisso) from impiegato 23
24 Funzioni condizionali: coalesce (2) La funzione coalesce può essere usata per convertire valori nulli in valori espliciti. Esempio: Estrarre i nomi, i cognomi ed i dipartimenti cui afferiscono gli impiegati, usando la stringa "Ignoto" nel caso in cui non si conosca il dipartimento. select Nome, Cognome, coalesce(dipart, 'Ignoto') from Impiegato 24
25 Funzioni condizionali: nullif La funzione nullif richiede due argomenti. Esamina il primo argomento (solitamente una colonna di una relazione) e lo confronta con il secondo (solitamente un valore costante). Se i due valori sono uguali restituisce il valore nullo, altrimenti restituisce il valore del primo argomento. Esempio: Estrarre i cognomi e i dipartimenti cui afferiscono gli Impiegati, restituendo il valore nullo per il dipartimento quando l'attributo Dipart possiede il valore "Ignoto" select Cognome, nullif(dipart, 'Ignoto') from Impiegato 25
26 Funzioni condizionali: case(1) La funzione case permette di specificare strutture condizionali, il cui risultato dipende dalla valutazione del contenuto delle tabelle. Viene utilizzata per fornire il tipo di logica if-then-else (se allora-altrimenti) al linguaggio SQL. 26
27 Funzioni condizionali: case(2) Esempio: dato il seguente schema relazionale: VEICOLO(Targa, Tipo, Anno, KWatt, Lunghezza, NAssi) Calcolare l'ammontare delle tasse di circolazione, in base al tipo di veicolo e con immatricolazione dopo il select Targa, case Tipo when 'Auto' then 2.58 * KWatt when 'Moto' then ( * KWatt) else null end as Tassa from Veicolo where Anno >
28 Controllo dell'accesso In SQL è possibile specificare chi (utente) e come (lettura, scrittura, ) può utilizzare la base di dati (o parte di essa) Oggetto dei privilegi (diritti di accesso) sono di solito le tabelle, ma anche altri tipi di risorse, quali singoli attributi, viste o domini Un utente predefinito _system (amministratore della base di dati) ha tutti i privilegi Il creatore di una risorsa ha tutti i privilegi su di essa 28
29 Privilegi Un privilegio è caratterizzato da: la risorsa cui si riferisce l'utente che concede il privilegio l'utente che riceve il privilegio l'azione che viene permessa la trasmissibilità del privilegio 29
30 Tipi di privilegi offerti da SQL insert: permette di inserire nuovi oggetti (ennuple) update: permette di modificare il contenuto delete: permette di eliminare oggetti select: permette di leggere la risorsa references: permette la definizione di vincoli di integrità referenziale verso la risorsa (può limitare la possibilità di modificare la risorsa) usage: permette l'utilizzo in una definizione (per esempio, di un dominio) 30
31 Concedere privilegi: grant Concessione di privilegi: grant < Privileges all privileges > on Resource to Users [ with grant option ] grant option specifica se il privilegio può essere trasmesso ad altri utenti grant select on Department to Stefano 31
32 Revocare privilegi: revoke Revoca di privilegi revoke Privileges on Resource from Users [ restrict cascade ] La revoca deve essere fatta dall utente che aveva concesso i previlegi restrict (di default) specifica che il comando non deve essere eseguito qualora la revoca dei privilegi all utente comporti qualche altra revoca (dovuta ad un precedente grant option) cascade invece forza l esecuzione del comando Attenzione alle reazioni a catena 32
33 Autorizzazioni, commenti La gestione delle autorizzazioni deve nascondere gli elementi cui un utente non può accedere, senza sospetti Esempio: La tabella Impiegati non esiste La tabella Impiegati esiste, ma l utente non è autorizzato L utente deve ricevere lo stesso messaggio 33
34 Autorizzazioni, commenti, 2 Come autorizzare un utente a vedere solo alcune ennuple di una relazione? Attraverso una vista: Definiamo la vista con una condizione di selezione Attribuiamo le autorizzazioni sulla vista, anziché sulla relazione di base 34
35 Autorizzazioni: RBAC(1) SQL-3 ha introdotto una novità nell'ambito del controllo dell'accesso proponendo un modello di controllo basato sui ruoli (Role-Based Access Control, RBAC). Il ruolo si comporta come una sorta di contenitore di privilegi, che vengono attribuiti ad esso tramite il comando grant. In ogni istante un utente dispone quindi dei privilegi che gli sono stati attribuiti direttamente e dei privilegi associati al ruolo che è stato esplicitamente attivato. 35
36 Autorizzazioni: RBAC(2) E possibile creare un ruolo tramite un opportuno comando create role NomeRuolo Per usufruire però dei privilegi è necessario che l'utente invochi un esplicito comando set role nomeruolo 36
37 Esempio RBAC concedere il privilegio CREATE TABLE ad un utente creando il ruolo di impiegato: Per prima cosa creo un ruolo impiegato : create role impiegato; Poi concedo i privilegi di create table al ruolo: grant create table to impiegato; Infine concedo il ruolo a un utente: grant impiegato to user1; Invece per revocare il privilegio a un determinato ruolo: revoke create table from impiegato; 37
38 Transazioni Insieme di operazioni da considerare indivisibile ("atomico"), corretto anche in presenza di concorrenza e con effetti definitivi Proprietà ("acide"): Atomicità Consistenza Isolamento Durabilità (persistenza) 38
39 Le transazioni sono atomiche La sequenza di operazioni sulla base di dati viene eseguita per intero o per niente: trasferimento di fondi da un conto A ad un conto B: o si fanno il prelevamento da A e il versamento su B o nessuno dei due 39
40 Le transazioni sono consistenti Al termine dell'esecuzione di una transazione, i vincoli di integrità debbono essere soddisfatti "Durante" l'esecuzione ci possono essere violazioni, ma se restano alla fine allora la transazione deve essere annullata per intero ("abortita") 40
41 Le transazioni sono isolate L'effetto di transazioni concorrenti deve essere coerente (ad esempio "equivalente" all'esecuzione separata) se due assegni emessi sullo stesso conto corrente vengono incassati contemporaneamente si deve evitare di trascurarne uno 41
42 I risultati delle transazioni sono durevoli La conclusione positiva di una transazione corrisponde ad un impegno (in inglese commit) a mantenere traccia del risultato in modo definitivo, anche in presenza di guasti (hardware e software) e di esecuzione concorrente 42
43 Transazioni in SQL Una transazione inizia al primo comando SQL dopo la "connessione" alla base di dati oppure alla conclusione di una precedente transazione (lo standard indica anche un comando start transaction, non obbligatorio, e quindi non previsto in molti sistemi) Conclusione di una transazione commit [work]: le operazioni specificate a partire dall'inizio della transazione vengono eseguite sulla base di dati rollback [work]: l'utente della base di dati può annullare gli effetti del lavoro svolto dalla transazione, indipendentemente dalla sua complessità Molti sistemi prevedono una modalità autocommit, in cui ogni operazione forma una transazione 43
44 Una transazione in SQL Trasferire dal conto al conto l'ammontare 10. start transaction (opzionale) update ContoCorrente set Saldo = Saldo 10 where NumeroConto = ; update ContoCorrente set Saldo = Saldo + 10 where NumeroConto = 42177; commit work; 44
Atzeni, 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
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 [email protected] Orario di ricevimento: mercoledì ore 10-12 2 Sommario (V parte) Aspetti avanzati della definizione dei dati
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
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,
Interrogazioni 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,
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
Interrogazioni 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)
Manuale 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,
SQL Sintassi Dei Comandi
SQL Sintassi Dei Comandi Di Roberto Aloi http://prof3ta.homeunix.org [email protected] Questo fascicolo è stato realizzato esclusivamente a fini divulgativi e per la libera consultazione. E' concessa la
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
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:
SQL: 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
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
Il linguaggio SQL: autorizzazioni
Il linguaggio SQL: autorizzazioni Sistemi Informativi T Versione elettronica: 04.6.SQL.autorizzazioni.pdf Autorità e privilegi Nei DBMS SQL ogni operazione deve essere autorizzata, ovvero l utente che
Basi di dati 8 settembre 2015 Esame Compito A Tempo a disposizione: due ore. Libri chiusi.
Basi di dati 8 settembre 2015 Esame Compito A Tempo a disposizione: due ore. Libri chiusi. Cognome: Nome: Matricola: Domanda 1 (15%) Considerare la base di dati relazionale contenente le seguenti relazioni:
Atzeni, 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
Caratteristiche dei linguaggi per Database
IL LINGUAGGIO Caratteristiche dei linguaggi per Database I linguaggi per basi di dati relazionali possiedono i comandi per: definizione del data base; manipolazione dei dati; associazione tra tabelle diverse;
Istruzioni DCL di SQL. Pag. 119 par.5
Istruzioni DCL di SQL Pag. 119 par.5 Comando: GRANT (Per concedere diritti su tabelle a nuovi o vecchi utenti) Dato un determinato DB è necessario predisporre e concedere i relativi diritti d accesso a
----------------------------------------------------------------------------
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
4/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
SQL non è solo un linguaggio di interrogazione (Query Language), ma. Un linguaggio per la definizione di basi di dati (Data-definition language (DDL))
SQL PER LA DEFINIZIONE DI BASI DI DATI 1 SQL non è solo un linguaggio di interrogazione (Query Language), ma Un linguaggio per la definizione di basi di dati (Data-definition language (DDL)) CREATE SCHEMA
SQL PER LA DEFINIZIONE DI BASI DI DATI
SQL PER LA DEFINIZIONE DI BASI DI DATI SQL non è solo un linguaggio di interrogazione (Query Language), ma Un linguaggio per la definizione di basi di dati (Data-definition language (DDL)) CREATE SCHEMA
Basi di dati attive. Paolo Atzeni Stefano Ceri. Basi di dati attive
Basi di dati attive Paolo Atzeni Stefano Ceri Basi di dati attive BD con componente per la gestione di regole Evento- Condizione-Azione (regole di produzione): eventi: normalmente modifiche della base
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
Linguaggio SQL seconda parte
Linguaggio SQL seconda parte A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright Istituto Italiano Edizioni Atlas Le condizioni di ricerca 2 Le condizioni di ricerca Usate nelle
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
SQL - Structured Query Language
SQL - Structured Query Language Lab 05 Alessandro Lori Università di Pisa 27 Aprile 2012 Riepilogo esercitazione precedente Operatori insiemistici (UNION, INTERSECT, EXCEPT) Riepilogo esercitazione precedente
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
Interrogare 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 è
Operatori 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
SQL 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
Esercizio 5.1. Soluzione:
Capitolo 5 Esercizio 5.1 Definire sulla tabella Impiegato il vincolo che il dipartimento Amministrazione abbia meno di 100 dipendenti, con uno stipendio medio superiore ai 40 mila. : check (100 >= ( select
Structured. 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
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)
2011 Politecnico di Torino 1
SQL per le applicazioni Esercitazione PHP e MySQL Svolgimento D B M G Passi di risoluzione creazione e popolamento della base di dati Creazione di un script SQL Passo 2 creazione di una query d interrogazione
Basi di Dati. Esercitazione 1: Interrogazioni in SQL. K. Donno - Interrogazioni in SQL
Basi di Dati Esercitazione 1: Interrogazioni in SQL DB di riferimento per esempi Consideriamo i seguenti schemi di una base di dati relazionale: PremioProduzione, DataAssunzione) Viene data la seguente
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,
Basi di Dati: Corso di laboratorio
Basi di Dati: Corso di laboratorio Lezioni 6 7 Raffaella Gentilini 1 / 46 Sommario 1 Subquery (o Interrogazioni Nidificate) Interrogazioni Annidate con Predicati di Confronto Interrogazioni Annidate con
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
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
Oracle Database 11g: Introduzione a SQL Release 2
Oracle University Contact Us: 800 672 253 Oracle Database 11g: Introduzione a SQL Release 2 Duration: 5 Days What you will learn In questo corso gli studenti apprenderanno i concetti dei database relazionali.
Interrogazioni 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
Elena Baralis 2007 Politecnico di Torino 1
Introduzione Istruzione INSERT Istruzione DELETE Istruzione UPDATE Linguaggio SQL: fondamenti 2 (1/3) Inserimento di tuple Cancellazione di tuple Modifica di tuple 4 (2/3) INSERT inserimento di nuove tuple
Basi di dati I 8 luglio 2016 Esame Compito A Tempo a disposizione: un ora e trenta minuti.
Basi di dati I 8 luglio 2016 Esame Compito A Tempo a disposizione: un ora e trenta minuti. Cognome: Nome: Matricola: Domanda 1 (20%) Considerare la base di dati relazionale contenente le seguenti relazioni:
ESERCIZI SQL. Esercizio 1
ESERCIZI SQL 2 Esercizio 1 3 Esercizio 1 4 Esercizio 1 Si specifichino le seguenti interrogazioni SQL sulla base di dati relazionale AZIENDA. Si mostri il risultato di ciascuna interrogazione. 1. Si restituisca
Laboratorio 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. [email protected] Università degli Studi di L Aquila Dipartimento di Informatica Technolabs S.p.A. R&D Department
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
OBIETTIVI DELL'ESERCITAZIONE
Laurea in Ingegneria Informatica - Università di Roma "La Sapienza" Corso di Basi di Dati - A.A. 2005/2006 Esercitazione su SQL Giuseppe De Giacomo Domenico Lembo OBIETTIVI DELL'ESERCITAZIONE Creare schema
Basi di dati: appello 14/07/06
Basi di dati: appello 14/07/06 Si consideri il seguente schema di base di dati che vuole tenere traccia dell attività di un agenzia che affitta appartamenti per vacanze nella città di Varazze. CLIENTE
Esercitazione: 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
Basi di Dati. S Q L Lezione 4
Basi di Dati S Q L Lezione 4 Antonio Virdis [email protected] Sommario Espressioni condizionali Query nella SELECT Raggruppamento di tuple Condizioni sui gruppi 2 Esercizio 6 (lezione 3) Indicare nome
Capitolo 4. Soluzione: Soluzione: Create domain STRING as character varying (256) default sconosciuto not null
Capitolo 4 Esercizio 4.1 Ordinare i seguenti domini in base al valore massimo rappresentable, supponendo che integer abbia una rappresentazione a 32 bit e smallint a 16 bit: numeric(12,4), decimal(10),
SQL 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
Basi di Dati CREAZIONE E POPOLAMENTO DI UNA BASE DI DATI
Basi di Dati CREAZIONE E POPOLAMENTO DI UNA BASE DI DATI La finalità di questa esercitazione è quella di creare, date delle specifiche progettuale, appositi script di creazione e popolamento di una base
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
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
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
Basi 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
Tipi di sottoquery SQL
Tipi di sottoquery SQL È possibile specificare subquery in numerose posizioni: Con le parole chiave IN e NOT IN. Con operatori di confronto. Con le parole chiave ANY, SOME e ALL. Con le parole chiave EXISTS
Basi di Dati: Corso di laboratorio
Basi di Dati: Corso di laboratorio Lezione 9 Raffaella Gentilini 1 / 41 Sommario 1 DBMS Attivi e Triggers 2 2 / 41 DBMS Attivi DBMS Attivi I DBMS tradizionale sono passivi: Eseguono delle operazioni solo
σ data 15/12/2013 data 20/12/2014
Dato lo schema: Basi di Dati Prof. Alfredo Pulvirenti A.A. 2014-2015 Prova in itinere 18 dicembre 2014 (A) EVENTO(id, titolo, data, categoria, costo_partecipazione, idcatering) ORGANIZZATORE(id,idevento)
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,
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
Basi di dati I 19 settembre 2016 Tempo a disposizione: un ora e 45 minuti.
Tempo a disposizione: un ora e 45 minuti. Cognome: Nome: Matricola: Domanda 1 (15%) Considerare la relazione Stipendi(Matricola,StipLordo,Tasse,Netto,OK) Spiegare (sinteticamente ma in modo chiaro) quali
SQL Avanzato. Interrogazioni e il valore NULL. Interrogazioni complesse, trigger, viste e modifiche dello schema. Giorgio Giacinto 2015
SQL Avanzato Interrogazioni complesse, trigger, viste e modifiche dello schema 2 Interrogazioni e il valore NULL Il valore NULL Logica a tre valori 3 Significato del valore NULL Valore sconosciuto Valore
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,
Basi di dati: appello 07/02/06
Basi di dati: appello 07/02/06 Si consideri il seguente schema di base di dati di una casa editrice: restauro (id_quadro, data, tipo intervento, c.f._restauratore, ora_inizio, ora _fine.) quadro (id, titolo,
Silvia Chiusano, Paolo Garza 1
Creazione di un trigger Sviluppo ed utilizzo dei trigger in Oracle Silvia Chiusano Paolo Garza CREATE TRIGGER nome_trigger modo evento [OR evento] ON tabella [REFERENCING referenza] [] [WHEN (predicato
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
Cap. 1-I 1 I sistemi informatici
Libro di testo A. Chianese,V. Moscato, A. Picariello, L. Sansone Basi di dati per la gestione dell informazione McGraw-Hill, 2007 Informazioni sul corso http://www.docenti.unina.it/lucio.sansone Ricevimento
Basi di Dati Corso di Laura in Informatica Umanistica
Basi di Dati Corso di Laura in Informatica Umanistica Appello del 26/07/2010 Parte 1: Algebra Relazionale e linguaggio SQL Docente: Giuseppe Amato Sia dato il seguente schema di base di dati per la gestione
Alessandra Raffaetà. Esercizio: Cinema
Lezione 8 S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali Alessandra Raffaetà Dipartimento di Informatica Università Ca Foscari Venezia Esercizio: Cinema
