Estratto del documento

Sql: Structured Query Language

SQL è un linguaggio con varie funzionalità:

  • Contiene sia il DDL sia il DML;
  • Esistono varie versioni dell'SQL;
  • Vediamo gli aspetti essenziali, non i dettagli.

Storia

  • Prima proposta SEQUEL (IBM Research, 1974);
  • Prima implementazione in SQL/DS (IBM, 1981);
  • Dal 1983 ca., “standard di fatto”;
  • Standard (1986, poi 1989 e infine 1992) recepito in parte;
  • Standard SQL:2003 (SQL3) approvato recentemente.

Sql domini

Domini elementari (predefiniti) e domini definiti dall'utente (semplici, ma riutilizzabili).

Sql domini elementari

  • Carattere: singoli caratteri o stringhe, anche di lunghezza variabile
    • [ ] [ Lunghezza ] character varying ( )
    • [ NomeFamigliaCaratteri ] character set
  • Bit: singoli booleani o stringhe
    • [ ] [ Lunghezza ] bit varying ( )
  • Numerici, esatti e approssimati:
    • [( Precisione [ Scala ] ] numeric , )
    • integer [( Precisione )]
    • float double precision

Sql domini elementari, 2

  • Data, ora, intervalli:
    • date [( Precisione [ ] time )] with time zone
    • [( Precisione [ ] timestamp )] with time zone
    • UnitàDiTempo [ UnitàDiTempo ] interval to

Sql definizione di schemi

In un database non ci sono solo tabelle:

  • [NomeSchema] [ [authorization]
  • create schema autorizzazione]{elemento schema}
  • 'Elemento schema' può essere: dominio, tabella, indice, asserzione, vista, privilegio
  • 'Autorizzazione' è il nome dell'utente proprietario dello schema
  • Non è necessario definire tutto all'inizio

Sql definizione di tabelle

NomeTabella Dominio

  • create table (NomeAttributo [Default] [Vincoli]{, NomeAttributo Dominio [Default] [Vincoli] } AltriVincoli)
  • Default (utilizzabili anche nella create domain) < Valore > default | user | null

Sql esempio

create table Dipartimento( nome char(20) primary key, indirizzo char(50), città char(20))

Sql definizione di domini

  • Istruzione CREATE DOMAIN:
    • Definisce un dominio (semplice), utilizzabile in definizioni di relazioni
  • Sintassi NomeDominio Tipo
    • create domain as [ Default ] [ Vincoli ]
  • Esempio
    • create domain Voto as smallint default null check ( value >=18 and value <= 30 )

Sql vincoli intrarelazionali (su singoli attributi)

  • Not null permette di definire chiavi; sintassi:
  • Unique:
    • Per singoli attributi: dopo il dominio unique
    • Chiavi formate da più attributi: Attributo { Attributo } unique ( , )
  • Primary key: definizione della chiave primaria (una sola, implica sintassi, come per not null); unique vedremo più avanti
  • Check,

Sql vincoli intrarelazionali, esempi

Nome character(20) not null, Cognome character(20) not null, unique (Cognome, Nome)

È diverso da:

Nome character(20) not null unique, Cognome character(20) not null unique

Sql vincoli interrelazionali (chiave esterna)

  • References foreign key permettono di definire vincoli di integrità referenziale; sintassi:
    • Per singoli attributi: dopo il dominio references
    • Riferimenti su più attributi: Attributo { Attributo } foreign key( , ) references ...
  • È possibile associare politiche di reazione alla violazione dei vincoli (causate da modifiche sulla tabella esterna, cioè quella cui si fa riferimento)

Sql vincoli interrelazionali, esempio

create table Infrazioni(Codice character(6) primary key, Data date not null, Vigile integer not null references Vigile(Matricola), Provincia character(2), Numero character(6), foreign key (Provincia, Numero) references Automobili(Provincia, Numero))

Infrazioni è una tabella interna, e Vigile, Automobili sono esterne

Sql violazione dei vincoli

  • Per tutti i vincoli visti fino ad ora si assume che se violati a causa di un aggiornamento, il comando di aggiornamento venga rifiutato segnalando l'errore all'utente.
  • Per i vincoli di integrità referenziale, SQL permette di scegliere altre reazioni da adottare quando viene rilevata una violazione
  • La reazione è possibile solo per le operazioni sulla tabella esterna che si propagano secondo una certa politica verso la tabella interna
  • Le violazioni possibili sono causate da modifiche del valore dell'attributo riferito e dalla cancellazione di righe (es. modifiche dell'attributo e cancellazione di righe da
Anteprima
Vedrai una selezione di 15 pagine su 69
Gestione dati e archivi - SQL Pag. 1 Gestione dati e archivi - SQL Pag. 2
Anteprima di 15 pagg. su 69.
Scarica il documento per vederlo tutto.
Gestione dati e archivi - SQL Pag. 6
Anteprima di 15 pagg. su 69.
Scarica il documento per vederlo tutto.
Gestione dati e archivi - SQL Pag. 11
Anteprima di 15 pagg. su 69.
Scarica il documento per vederlo tutto.
Gestione dati e archivi - SQL Pag. 16
Anteprima di 15 pagg. su 69.
Scarica il documento per vederlo tutto.
Gestione dati e archivi - SQL Pag. 21
Anteprima di 15 pagg. su 69.
Scarica il documento per vederlo tutto.
Gestione dati e archivi - SQL Pag. 26
Anteprima di 15 pagg. su 69.
Scarica il documento per vederlo tutto.
Gestione dati e archivi - SQL Pag. 31
Anteprima di 15 pagg. su 69.
Scarica il documento per vederlo tutto.
Gestione dati e archivi - SQL Pag. 36
Anteprima di 15 pagg. su 69.
Scarica il documento per vederlo tutto.
Gestione dati e archivi - SQL Pag. 41
Anteprima di 15 pagg. su 69.
Scarica il documento per vederlo tutto.
Gestione dati e archivi - SQL Pag. 46
Anteprima di 15 pagg. su 69.
Scarica il documento per vederlo tutto.
Gestione dati e archivi - SQL Pag. 51
Anteprima di 15 pagg. su 69.
Scarica il documento per vederlo tutto.
Gestione dati e archivi - SQL Pag. 56
Anteprima di 15 pagg. su 69.
Scarica il documento per vederlo tutto.
Gestione dati e archivi - SQL Pag. 61
Anteprima di 15 pagg. su 69.
Scarica il documento per vederlo tutto.
Gestione dati e archivi - SQL Pag. 66
1 su 69
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Menzo di informazioni apprese con la frequenza delle lezioni di Gestione dati e archivi e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi dell' Insubria o del prof Gentile Claudio.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community