SQL Sintassi Dei Comandi



Похожие документы
Documentazione SQL. Argomento Sintassi Note Definizione schema create schema [NomeSchema] [[authorization] Autorizzazione] {DefElementoSchema}

Definizione di domini

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

Gestione delle tabelle

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

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

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

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


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

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

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

SQL. Storia e standard

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

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

Basi di Dati prof. Letizia Tanca

Corso sul linguaggio SQL

Corrado Aaron Visaggio 1. Esercizio

Linguaggio SQL Descriviamo la notazione usata nel seguito:

Laboratorio di Basi di Dati

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

SQL. Alcune note sulla definizione dei dati

Corso di Informatica (Basi di Dati)

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

Laboratorio di Basi di Dati e Web

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: Corso di laboratorio

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

SQL: Concetti Base -Prima Parte-

Basi di Dati Relazionali

Linguaggio SQL. Structured Query Language

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

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

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

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

DUE GRUPPI DI COMANDI

SQL (STRUCTURED QUERY LANGUAGE)

Il linguaggio SQL: DDL di base

SQL (STRUCTURED QUERY LANGUAGE)

SQL non è solo un linguaggio di interrogazione (Query Language), ma. Un linguaggio per la definizione di basi di dati (Data-definition language (DDL))

IL LINGUAGGIO SQL IDENTIFICATORI E TIPI DI DATI COMANDI E ISTRUZIONI

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

SQL PER LA DEFINIZIONE DI BASI DI DATI

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

SQL. (Structured Query Language) Eugenio Di Sciascio

Domini elementari in SQL

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

Capitolo 4. Soluzione: Soluzione: Create domain STRING as character varying (256) default sconosciuto not null

Laboratorio di Basi di Dati Introduzione a SQL

Vincoli di Integrità Approccio dichiarativo alla loro implementazione

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

Volumi di riferimento

Vincoli di Integrità

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

SQL Manuale introduttivo

SQL e ACCESS. Modello relazionale PROBLEMA ENTITA STUDENTE

********************* MODIFICA STRUTTURA DI UNA TABELLA (inserimento di un nuovo campo) ALTER TABLE Personale ADD Nascita date;

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

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

SQL-DML/3. Basi di Dati. Prof. Alfredo Cuzzocrea Università degli Studi di Trieste

Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2

Istruzioni DML di SQL

Basi di dati e Sistemi informativi aziendali

DBMS (Data Base Management System)

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

INDICI. Prevediamo di effettuare spesso interrogazioni simili alle seguenti:

Il linguaggio SQL. Massimo Paolucci DIST Università di Genova. SQL: Structured Query Language

Il linguaggio SQL: le basi

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

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

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

Appunti di MySql. Evoluzione di un tutorial di base di mysql, scritto da Etel Sverdlov.

SQL -DDL. FONDISTA(Nome, Nazione, Età) GAREGGIA(NomeFondista, NomeGara, Piazzamento) GARA(Nome, Luogo, Nazione, Lunghezza)

PROGRAMMA DI CLASSE 5AI

2104 volume III Programmazione

16. IL LINGUAGGIO SQL

Il Modello Relazionale

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

Corso sul linguaggio SQL

User Tools: DataBase Manager

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:

Транскрипт:

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 riproduzione anche completa di esso e la sua modifica, a patto di conservare l'intestazione e tale nota. L'autore non si assume alcuna responsabilità su eventuali errori presenti in questa e nelle pagine seguenti.

Nota Importante Questo NON è un manuale di SQL, ma una semplice raccolta delle principali istruzioni relative al linguaggio, di cui vengono mostrati sintassi e significato. Il fascicolo non è dunque volto all'insegnamento del linguaggio stesso, di cui il lettore deve essere pienamente cosciente, ma al diventare un buon supporto per il programmatore SQL, sia esso neofita o esperto. Legenda < > (Parentesi angolari) => Isolano un termine della sintassi [ ] (Parentesi quadre) => Il termine è opzionale, ovvero può non comparire o comparire una sola volta { } (Parentesi graffe) => Il termine può non comparire o comparire un numero arbitrario di volte (Barra verticale) => Deve essere scelto uno tra i termini separati dalle barre; un elenco di termini in alternativa sarà racchiuso tra parentesi angolari termini in corsivo => Indicano le variabili 2

Domini Elementari Vengono qui elencati i principali domini che SQL mette a disposizione del programmatore, per la definizione dei domini da associare agli attributi dello schema. DOMINIO SINTASSI ADDIZIONALE char [var]char [(dimensione_stringa)] [char set Nome_Famiglia_Caratteri] bit [var]bit [(dimensione_stringa)] numeric [(precisione-numero_di_cifre_significative[scala-cifre_decimali] )] 1 decimal [(precisione-numero_di_cifre_significative[scala-cifre_decimali] )] 2 integer - smallint - float [(precisione-cifre_mantissa)] real - date 3 - time 4 time [(precisione)][with time zone_differenza_h, m_oralocale_orauniversale] timefault timestamp [(precisione_cifre_per_le_frazioni_di_secondo 5 )][with time zone] interval interval prima_unità_di_tempo [(precisione)] [to ultima_unità_di_tempo [(precisione)]] TABELLE: DOMINI: Definizione Degli Schemi create table nome_tabella (nome_attributo dominio [valore_di_default] [vincoli] {, nome_attributo dominio [valore_di_default] [vincoli]} altri_vincoli ) create domain nome_dominio as tipo_di_dato [valore_di_default] [vincolo] Specifica Dei Valori Di Default default < generico_valore user null > 1 La precisione, indicante il numero di cifre significative, rappresenta un valore esatto; la scala indica il numero di cifre dopo la virgola. 2 La precisione rappresenta un requisito minimo. 3 Nel formato year-month-day. 4 Nel formato hour-minute-second. 5 Default = 6. 3

Vincoli Intrarelazionali not null La variabile non può assumere il valore NULL unique Non possono coesistere più istanze (righe) con lo stesso valore per tale variabile primary key Tali attributi costituiscono la chiave primaria (not null viene sottointeso) Vincoli Interrelazionali references nome_tabella_esterna(nome_attributo) Per coinvolgere un solo attributo foreign key nome_tabella_esterna(nome_attributo) Posto alla fine, per coinvolgere più attributi Reazioni Alla Cancellazione / Modifica cascade Il nuovo valore passa a tutte le altre tabelle set null Al posto del valore modificato si inserisce NULL set default Al posto del valore modificato si inserisce il valore di default no action La modifica non viene accettata SINTASSI: on < delete update > < cascade set null set default no action > 4

Esempio Riepilogativo create table IMPIEGATO ( matricola char(6) primary key, nome char(20) not null, cognome char(20) not null, dipart char(15) references DIPARTIMENTO (nomedip), stipendio numeric(9) default 0, unique (cognome,nome), foreign key (nome,cognome) references ANAGRAFICA (nome,cognome) on delete set null on update cascade, ) Modifica Degli Schemi alter domain nome_dominio <set default valore_di_default drop default add constraint def_vincolo drop constraint nome_vincolo > alter table nome_tabella < alter column nome_attributo <set default nuovo_default drop default> add constraint def_vincolo drop constraint nome_vincolo add column def_attributo drop column nome_attributo > drop < schema domain table view assertion > nome_elemento [restrict -- non si eliminano oggetti non vuoti -- cascade -- tutti gli elementi eliminati --] select lista_attributi_o_espressioni from lista_tabelle [ where condizioni_semplici ] [ group by lista_attributi_di_raggruppamento ] [ having condizioni_aggregate ] [ order by lista_attributi_di_ordinamento] Unioni, Intersezioni, Differenze select_sql {< union intersect except > [all -- per non eliminare i duplicati -- ] select_sql} 5

Manipolazione Dei Dati In Sql INSERIMENTO: insert into nome_tabella [lista_attributi] < values (lista_valori) selectsql > CANCELLAZIONE: MODIFICA: delete from nome_tabella [where condizione] update nome_tabella set attributo = < espressione selectsql null default > {, attributo = < espressione selectsql null default >} [where condizione] Vincoli Di Integrità Generici check (condizione) Asserzioni (Vincoli associati all intero schema) create assertion nome_asserzione check (condizione) drop assertion nome_asserzione set constraints [nome_vincolo] immediate referred Dove: immediate = vincolo verificato subito referred = vincolo verificato alla fine di un certo numero di operazioni Viste create view nome_vista [(lista attributi)] as selectsql [ with [ local cascaded ] check option 6

Controllo Dell'Accesso (Risorse e privilegi) PRIVILEGI: INSERT (tabelle e viste) UPDATE (tabelle, viste e attributi) DELETE (tabelle e viste) SELECT (tabelle, viste e attributi) REFERENCES (tabelle e specifici attributi) Potrebbe limitare le possibiltà di modifica per la risorsa USAGE (risorse come i domini) N.B.: DROP e ALTER non possono essere concessi come privilegi (utilizzo riservato al creatore) COMANDO GRANT: grant privilegi all privileges on risorsa to utenti [with grant option] COMANDO REVOKE: revoke privileg (anche grant option) all privileges on risorsa from utenti [ restrict cascade] Note Sull'Autore Per dubbi o consigli, o per la segnalazione di errori, per favore, scrivere a: prof3ta@email.it 7