Linguaggio SQL. Structured Query Language

Похожие документы
Basi di dati Il linguaggio SQL

Basi di dati Il linguaggio SQL

SQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari:

Definizione di domini

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

SQL: concetti base SQL. Definizione dei dati in SQL. SQL: "storia"

Gestione delle tabelle

Linguaggio SQL: fondamenti D B M G. Gestione delle tabelle

SQL. Alcune note sulla definizione dei dati

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

Basi di dati SQL. Standardizzazione di SQL. Linguaggi di Interrogazione: SQL. Prof.Angela Bonifati

Laboratorio di Basi di Dati e Web

Domini elementari, 2. Basi di dati. Domini elementari, 4. Domini elementari, 3. Domini definiti dagli utenti. Domini elementari, 5

Corso sul linguaggio SQL

Corso di Informatica (Basi di Dati)

MAX, SUM, AVG, COUNT)

SQL Sintassi Dei Comandi

Basi di Dati: Corso di laboratorio

Laboratorio di Basi di Dati

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione

Corso Sistemi Informativi Avanzati. Programma 30 set Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende.

SQL (STRUCTURED QUERY LANGUAGE)

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

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

SQL - Tipi di dato Il linguaggio SQL

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. SQL - Tipi di dato. SQL - Tipi di dato numerici. SQL - Tipi di dato numerici

Basi di Dati Relazionali

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

User Tools: DataBase Manager

INDICI. Prevediamo di effettuare spesso interrogazioni simili alle seguenti:

IL LINGUAGGIO SQL IDENTIFICATORI E TIPI DI DATI COMANDI E ISTRUZIONI

Il linguaggio SQL: DDL di base

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:

Esercitazione 8 Mercoledì 21 gennaio 2015 (2 ore) DDL e progettazione

SQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS)

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

Basi di Dati Corso di Laura in Informatica Umanistica

Il linguaggio SQL: le basi

INFORMATICA PER L IMPRESA (Docente Prof. Alfredo Garro) ESERCIZIO 3

Archivi e Basi di Dati

Vincoli di Integrità Approccio dichiarativo alla loro implementazione

1. Schema concettuale della base di dati Lo schema concettuale (o statico) è uno dei due schemi del progetto concettuale di un sistema informativo.

Lezione V. Aula Multimediale - sabato 29/03/2008

SQL e ACCESS. Modello relazionale PROBLEMA ENTITA STUDENTE

SQL. DDL e vincoli. Basi di Dati 1 Esercitazione 4. Matteo Picozzi {picozzi@elet.polimi.it}


I comandi del linguaggio DDL (Data Definition Language): CREATE E ALTER

INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. INFORMATICA GENERALE Prof. Alberto Postiglione

Si formulino le seguenti interrogazioni tramite il linguaggio SQL:

SQL: Concetti Base -Prima Parte-

SQL. Linguaggio di interrogazione per basi di dati relazionali. Relazione = tabella con attributi (a 1, a 2,, a n ): Funzionalità principali di SQL:

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

Corso di Informatica Generale 1 IN1. Linguaggio SQL

DBMS (Data Base Management System)

Volumi di riferimento

Esame di Stato Istituto Tecnico Industriale Soluzione della Seconda Prova Indirizzo: INFORMATICA Tema: INFORMATICA Anno Scolastico:

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

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

Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 9 SETTEMBRE 2015 Tempo: 2h30m

Basi di Dati prof. Letizia Tanca

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica.

Query. Query (Interrogazioni) SQL SQL. Significato dell interrogazione. Sintassi

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

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati

Vincoli di integrità

Informatica per le discipline umanistiche 2 lezione 10

Basi di dati e Sistemi informativi aziendali

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

Giovanna Rosone 04/03/ /03/2010 SQL, Istruzioni per la modifica dello schema

Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 21 LUGLIO 2015 Tempo: 2h30m

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 6

SQL (STRUCTURED QUERY LANGUAGE)

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati

Il linguaggio SQL: query innestate

Linguaggio SQL Descriviamo la notazione usata nel seguito:

Il Modello Relazionale

Esprimere in algebra (ottimizzata), calcolo relazionale la seguente query:

Vincoli di Integrità

a.a. 2012/13 12 Novembre 2012 Preparazione al Test in itinere, Compito A 1. Modellare tramite uno schema entità- relazione la seguente base di dati:

Linguaggio SQL: fondamenti. Basi di dati. Elena Baralis Pag. 1. Linguaggio SQL: fondamenti. Sistemi informativi. Introduzione

BASE DI DATI: sicurezza. Informatica febbraio ASA

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

Correttezza. Esempi di TRC. AR è esprimibile tramite TRC. AR è esprimibile tramite TRC. AR è esprimibile tramite TRC

Corso sul linguaggio SQL

ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 2

Una metodologia di progettazione di applicazioni web centrate sui dati

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

Elena Baralis 2013 Politecnico di Torino 1

CAPITOLO 4 ESERCIZI SU SQL

MODELLO RELAZIONALE. cesarini-bdsi mod relazionale 1 MODELLO RELAZIONALE

Un DataBase SQL per la Henry Books

Introduzione a MySQL

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

Progettazione di Basi di Dati

SQL: definizione schema

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

Транскрипт:

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 di ISO (international standard organization) e ANSI (american national standard institute) Ne esistono varie versioni: SQL-89 SQL-92 (o SQL-2) SQL-99 (o SQL-3)

Esempio: creazione di tabelle Libri(titolo, autore, codice_isbn) Comando sql Nome tabella create table libri ( titolo char(30), autore char(15), codice_isbn char(13) primary key ) Domini degli attributi Vincolo

Sintassi del comando create table nome_tab ( nome_attributo Dominio [ValoreDiDefault] [Vincoli] {, nome_attributo Dominio [ValoreDiDefault] [Vincoli] } [AltriVincoli] ) [ ] indicano che l elemento è opzionale { } indica che l elemento può comparire un numero a piacere di volte In rosso i nomi a scelta dell utente In blu le parole chiave del comando SQL

Domini elementari Alcuni dei più usati domini elementari (predefiniti) che indicano i valori che un attributo può assumere e le operazioni che possono essere compiute su di esso sono: Per stringhe di caratteri: character {varying} (lunghezza) Per numeri interi: integer Per numeri con virgola: float Per le date: date

Esempi di numeri 0 integer 0.5 12 3 44.673 2 4 2.04 312 7 3012.81 float

Stringhe di caratteri character varying character abbreviazioni varchar Stringhe a lunghezza variabile Occorre indicare la lunghezza massima char Stringhe di lunghezza data Occorre indicare la lunghezza della stringa (Aspetti della PROGETTAZIONE FISICA) NB: se la lunghezza non è specificata verrà lasciato spazio per un singolo carattere

Vincoli intra-relazionali A ogni attributo possono essere associati dei vincoli default valore indica il valore che un attributo deve avere quando viene inserito un record che, in corrispondenza di quell attributo non ha assegnato alcun valore not null unique primary key i valori inseriti in quel campo devono essere diversi non nulli il valore può comparire una volta sola (superchiave) chiave primaria

Esempi create table libri ( titolo varchar(20) not null, autore varchar(15) default anonimo, ISBN varchar(13) not null, data_acquisto date, collocazione varchar(5) unique, primary key (ISBN) ) create table prodotti ( cod_barre varchar(15) not null, marca varchar(10), costo float default 0, data_acquisto date, scadenza date, primary key (cod_barre) )

Vincoli inter-relazionali Sono sostanzialmente vincoli di integrità referenziale, definiti tramite la definizione di chiavi esterne (foreign key) Studenti(matricola, nome, indirizzo, ) chiave Esami(studente, corso, voto, data) chiave esterna

Esempi: vincoli inter-relazionali In SQL si utilizza la parola chiave references oppure foreign key (+ attributi coinvolti) createtable prodotti ( cod_barre varchar(15) not null, marca varchar(10), costo float default create 0, table fornitura ( data_acquisto date, prodotto varchar(15) scadenza date, references prodotti(cod_barre), primary key (cod_barre) data date, ) costo integer, fornitore varchar(18) references fornitori(p_iva), primary key (prodotto,fornitore) )

Esempio più completo createtable situato_in ( nnn varchar(10) not null, ccc varchar(8) not null, nn1 varchar(8) not null, foreign key(nnn,ccc) references reparti(nome,collocazione), foreign key(nn1) references prodotti(nome), primary key(nnn,ccc,nn1) );

Eventi ed Azioni on delete update cascade set default set null no action foreign key (nome,ufficio) references persone(id, uff) on delete set null on update cascade

Interrogazione del DB SQL = linguaggio dichiarativo Si dice cosa si vuole ottenere e non come ottenerlo Select from where ListaAttr ListaTab Cond Struttura del comando di interrogazione target list clausola from clausola where (opzionale)

personale Select-1 nome cognome qualifica tel Andrea Rossi dirigente 338 Renzo Verdi segretario 331 Orestina Verdi segretario 331 Giulia Bianchi tecnico 332 Giulio Neri tecnico 332 Renzo Neri consulente 332 select cognome,qualifica from personale proiezione cognome Rossi Verdi Verdi Bianchi Neri Neri qualifica dirigente segretario segretario tecnico tecnico consulente

personale Select-2 nome cognome qualifica tel Andrea Rossi dirigente 338 Renzo Verdi segretario 331 Orestina Verdi segretario 331 Giulia Bianchi tecnico 332 Giulio Neri tecnico 332 Renzo Neri consulente 332 select * from personale where tel=331 selezione nome cognome qualifica tel Renzo Verdi segretario 331 Orestina Verdi segretario 331

Select-3 opere residenze Titolo Poesie Poesie Storia Italiano Autore Bianchi Rossi Rossi Verdi Nome Bianchi Rossi Verdi Residenza Verona Padova Genova select opere.titolo,opere.autore from opere,residenze where opere.autore = residenze.nome and residenze.residenza = Padova Titolo Poesie Autore Rossi

Join select * from Autori join Opere on (Autori.nome=Opere.autore) tabelle Attributi da correlare Autori(nome, data_nascita, genere) Opere(titolo, autore, anno, genere)