Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL IDENTIFICATORI di tabelle e attributi: stringhe di lunghezza max 18 caratteri, composte da.

Slides:



Advertisements
Presentazioni simili
Interrogazioni Semplici Le operazioni di interrogazione vengono specificate per mezzo dellistruzione select select ListaAttributi from ListaTabelle [where.
Advertisements

TIPI STANDARD DI SQL BOOLEAN Valori: vero, falso CHAR(n)
Structured Query Language
SQL applicato a SQL Server
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità C1 Il linguaggio SQL.
Structured Query Language (SQL) Presentazione 13.1 Informatica Generale (Prof. Luca A. Ludovico)
1 Comandi per la manipolazione dei dati. 2 Tipi di comandi INSERT UPDATE DELETE COMANDI COMANDI 2.
Sistemi per il recupero delle informazioni
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
1 SQL come linguaggio di definizione di dati Eugenio Di Sciascio.
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
Basi di Dati prof. A. Longheu
SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Massimo Mancino MODULO DIDATTICO - Ambienti.
Progettazione ER Un database universitario contiene informazioni riguardanti i professori (identificati dal codice fiscale) e informazioni relative ai.
SQL.
SQL Structured Query Language
19/01/2014 Viste. 19/01/2014 Viste Le Viste Logiche o Viste o View possono essere definite come delle tabelle virtuali, i cui dati sono riaggregazioni.
Archivio Cé necessità di immagazzinare in modo permanente grandi quantità di dati. Esempio: anagrafe dei cittadini di un comune.
Corso di Informatica (Basi di Dati)
1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) SQL: Data Manipulation Language (DML) Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi,
Laboratorio di Basi di Dati Introduzione ad Access 2ª Parte.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999
Basi di dati Università Degli Studi Parthenope di Napoli
SQL: Lezione 7 Nataliya Rassadko
SQL Per la modifica di basi di dati
SQL Per la definizione di basi di dati SQL per definire ed amministrare Ogni utente puo definire una base di dati di cui diventa lamministratore potendo.
Equivalenza di espressioni
Duplicati Lalgebra relazionale non ammette duplicati, SQL li ammette. Quindi select Città from Persona where Cognome= Rossi estrae una lista di città in.
Vincoli di integrità generici Con i costrutti visti sinora, non è sempre possibile definire tutti i possibili vincoli di integrità. Per questo esiste listruzione.
SQL SQL (pronunciato anche come l’inglese sequel) è l’acronimo di Structured Query Language (linguaggio di interrogazione strutturato) E’ un linguaggio.
Manipolazione dei dati I comandi SQL che permettono di modificare il contenuto di una base di dati sono insertdeleteupdate insert ha la seguente sintassi:
SELECT STATEMENT Clausola WHERE permette di limitare il numero di record da estrarre SELECT */ [DISTINCT] colonna/ espressione [alias],… FROM table [WHERE.
Viste. Cosè una vista? è possibile creare un subset logico di dati o una combinazione di dati una vista è una tabella logica basata su una tabella o su.
Creazione e manipolazione tabelle. TABELLE una tabella può essere creata in qualsiasi momento,anche quando gli utenti stanno usando il database la struttura.
SQL basato su ANSI (American National Standards Institute) – standard SQL SQL – Structured Query Language è un linguaggio dichiarativo e permette di comunicare.
Basi di dati Claudia Raibulet
MODELLO LOGICO DEI DATI
Corso di Basi di Dati Il Linguaggio SQL Home page del corso:
sql: esempi di linguaggio sql nell'implementazione mysql
1 Il Linguaggio SQL Il Linguaggio SQL Prof. Lorenzo Vita, Ing. Luigi Testa.
Basi di Dati e Sistemi Informativi
Basi di Dati e Sistemi Informativi Il Linguaggio SQL Home page del corso:
SQL.
BIOINFO3 - Lezione 51 INSERIMENTO DEI DATI Visto come si creano le tabelle (sinora tristemente vuote), cominciamo ad occuparci di come riempirle con dei.
LINGUAGGIO S Q L breve presentazione curata da Aldo Pappalepore
Informatica II – Basi di Dati (07/08) – Parte 2 Gianluca Torta Dipartimento di Informatica dell’Università di Torino
SQL (IV) Data Definition Language/ Data Manipulation Language.
Il Linguaggio SQL. Le interrogazioni in SQL (continua…) La parte di SQL dedicata alla formulazione di interrogazioni fa parte del DML. SQL esprime le.
SQL, esempi 30/10/2014Basi di dati SQL1. 30/10/2014Basi di dati SQL2 CREATE TABLE, esempi CREATE TABLE corsi( codice numeric NOT NULL PRIMARY KEY, titolo.
Algebra relazionale (III). Esempi di Interrogazioni: 3 Trovare matricola e nome dei capi i cui impiegati guadagnano tutti più di Tutti gli impiegati?
1 Basi di Dati S tructured Q uery L anguage Appunti Matteo Longhi.
Il linguaggio SQL.
SQL (III) Data Definition Language/ Data Manipulation Language.
MySQL Database Management System
Database Elaborato da: Claudio Ciavarella & Marco Salvati.
1 Vincoli Ci sono i vincoli predefiniti ( unique, primary key, not null, foreign key … ) In SQL2 si ha anche check check Condizione Serve per dare condizioni.
Interrogazioni Le interrogazioni in SQL sono formulate in modo dichiarativo specificando cioè cosa si vuole ottenere e non come lo si vuole ottenere. L’interrogazione.
Vincoli Interrelazionali Per i vincoli visti l’inserimento di un valore che li viola viene semplicemente impedito. In caso di vincoli di integrità referenziale,
Vincoli interrelazionali
Basi di dati I Prof.ssa Rosalba Giugno Prof. Alfredo Pulvirenti SQL: Amministrazione e Viste.
Lezione 6 - SQL. Linguaggi per DB Per interagire con le basi di dati occorre un linguaggio Linguaggio SQL (Structured Query Language), linguaggio standardizzato.
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015 UdA 1A Database Progettazione Fisica G IORGIO P ORCU
Funzionalità del DBMS relazionale l Funzioni per –definizione della base di dati –inserimento / rimozione /aggiornamento di informazioni deve soddisfare.
Approfondimenti SQL.
Basi di Dati e Sistemi Informativi Esercitazione: Il Linguaggio SQL (DDL+DML) Home page del corso:
Linguaggio SQL prima parte Linguaggio SQL prima parte A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright © Istituto Italiano.
Linguaggio SQL. Linguaggi per database La diffusione del modello relazionale ha favorito l’uso prevalente di linguaggi non procedurali: in questo modo.
Il linguaggio SQL (Structured Query Language) è il linguaggio standard per creare, manipolare e interrogare database relazionali. SQL non è case-sensitive:
Esercizi SQL Group by. CREATE TABLE dipendente (codDip CHAR(8) NOT NULL UNIQUE PRIMARY KEY, cognome CHAR(60) NOT NULL, nome CHAR(60) NOT NULL, stipendio.
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Transcript della presentazione:

Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL IDENTIFICATORI di tabelle e attributi: stringhe di lunghezza max 18 caratteri, composte da maiuscole e minuscole, il primo carattere alfabetico, lunico carattere speciale _ Per accedere ad un attributo di una tabella: Nometabella.nomeattributo Esempio: Studente.Cognome, indica lattributo Cognome della tabella Studente Gli operatori aritmetici: +, -, *, / Gli operatori relazionali:, =, =, <> Gli operatori logici: AND, OR, NOT

Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL TIPI DI DATI STANDARD Integer, Int Integer (p), Int(p) Smallint Real Character (n), char (n), char Date e Time Float, Float (p) Decimal (p,d), Dec (p,d)

Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL TIPI DI DATI DEFINTI DALLUTENTE Create domain consente di dichiarare tipi di dati definiti dallutente, utili per la gestione di alcuni particolari vincoli di integrità. Si usa con la CHECK Esempio Create domain (TSpecializzazione) AS Char(14) Check (values in (biennio, informatica, …) Si crea il tipo, meglio dominio, chiamato TSpecializzazione al quale sono associati 5 diversi valori, gli unici ammessi

Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL Creare una tabella e i vincoli di integrità CREATE TABLE nome tabella ( Attributo n1 tipo Attributo n2 tipo ……………….. ………………. );

Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL VINCOLI Vincolo per un singolo attributo, danno restrizioni sui valori dellattributo NOT NULL DEFAULT valore attributo (ad esempio: FLAG BIT DEFAULTO 0) CHECK condizione

Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL La CHECK può avere delle specifiche: Attributo IN (n1, n2, …) Attributo BETWEEN val1 AND val2 Attributo NOT BETWEEN val1 AND val2 Attributo LIKE espressione; lespressione può contenere i caratteri jolly % e _ Ad esempio la like può essere: %xyz, tutte la parole che terminano per xyz xyz%, tutte le parole che iniziano per xyz %xyz%, tutte le parole che contengono xyz _xyz, tutte le parole di 4 caratteri che terminano per xyz

Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL Un esempio CREATE TABLE AZIENDA ( COD CHAR (6) NOT NULL NOMEPRES CHAR (20) NOT NULL FATTURATO INT(9) DEFAULT NUMERODIP INT (5) CHECK (NUMERODIP BETWEEN 5 AND 200) );

Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL I vincoli di ennupla danno limiti sui valori di più attributi; si possono impostare: PRIMARY KEY, indica le colonne che costituiscono la chiave primaria UNIQUE, dice che le colonne indicate costituiscono una chiave candidata, non una chiave primaria CHECK, specifica un vincolo che riguarda il valore di più attributi

Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL Un esempio CREATE TABLE PIPPO ( COD CHAR (4) PRIMARY KEY COGNOME CHAR (20) NOT NULL NOME CHAR (20) NOT NULL STIPENDIO_LORDO … NOT NULL STIPENDIO_NETTO …. NOT NULL TRATTENUTE … NOT NULL UNIQUE (COGNOME, NOME) CHECK (STIPEDIO_NETTO = STIPENDIO_LORDO – TRATTENUTE) );

Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL I vincoli di integrità referenziale si dichiarano con: FOREIGN KEY (attributo1, attributo2, …) REFERENCES nome tabella (attributo1, attributo2, …) Quando la chiave esterna è costituita da una sola colonna si può anche omettere (attributo1, attributo2, …) Qui cè il problema di dire cosa deve accadere quando si manipola una colonna/riga della tabella origine alle corrispondenti colonne/righe della tabella a cui è collegata

Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL ON DELETE, permette di dire cosa fare quando si cancella ON UPDATE, permette di dire cosa fare quando si modifica Le possibilità sono: NO ACTION CASCADE SET NULL Un esempio … FOREIGN KEY (Matricola) REFERENCES Studenti (Matricola), ON DELETE SET NULL, ON UPDATE CASCADE

Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL Modifica della struttura di una tabella ALTER TABLE, si usa con: ADD nome colonna, tipo [BEFORE nome colonna] per aggiungere una colonna ad una tabella, la BEFORE serve per specificare eventualmente dove inserirla DROP COLUMN nome colonna per cancellare una colonna MODIFY nome colonna per modificare la struttura di una colonna

Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL Per eliminare una tabella: DROP La DROP può avere delle clausole per gestire le tabelle collegate: RESTRICT, che non fa cancellare la tabella quando questa è collegata ad altre CASCADE, cancellazione in cascata di tutte le tabelle collegate SET NULL, abblenca i valori delle chiavi interessate

Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL Comandi Data Manipolation Language INSERT INTO nome tabella VALUES (…) UPDATE Personale SET Livello = 6 WHERE Matricola = A09 DELETE FROM Personale WHERE Matricola = A45

Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL La SELECT Si utilizza per le interrogazioni. SELECT … FROM …. Dopo la select vengono elencati gli attributi che voglio siano visualizzati, l* fa vedere tutte le colonne Il risultato di una select è una tabella Select Cognome, Nome From Studente Select * From Studente

Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL Quando specifico le colonne in realtà faccio una PROIEZIONE sulla tabella. La select ha anche la clausola WHERE seguita da una condizione che estrapola le tuple dalla tabella. Select * FROM Studente WHERE Classe = IV A Select Cognome, Nome From Studente WHERE Classe = IVA La WHERE fa la RESTRIZIONE su un atabella

Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL La Select ha due predicati: ALL e DISTINCT La ALL indica la richiesta di ottenere come risultato dellinterrogazione tute le righe che soddisfano la/le condizione/i; è impostata di default La DISTINCT fa in modo che le righe duplicate non vengono visualizzate tutte, ma una. Spesso si possono intestare le colonne con la AS SELECT DISTINCT Prov AS Provincia FROM Personale

Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL Funzioni di aggregazione COUNT, fa il conteggio SELECT COUNT (*) FROM Personale Restituisce il numero di righe della tabella Personale SELECT COUNT (Livello) FROM Personale Restituisce il numero delle righe della tabella Personale per cui Livello non è vuoto

Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL SUM, restituisce la somma SELECT SUM (Stipendio) FROM Personale WHERE Livello = 5 Fa la somma degli stipendi di tutto il personale di livello 5 AVG, restituisce la media SELECT AVG (Stipendio) FROM Personale WHERE Livello = 5 Fa la media degli stipendi di tutto il personale di livello 5

Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL Le funzioni MIN e MAX restituiscono rispettivamente il massimo e il mino di colonne