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



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

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

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL

SQL-DDL. Basi di Dati. Prof. Alfredo Cuzzocrea Università degli Studi di Trieste

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

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

Basi di Dati Relazionali

Corso di Informatica (Basi di Dati)

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

Corso sul linguaggio SQL

Basi di Dati e Sistemi Informativi. Structured Query Language

Definizione di domini

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

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

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

SQL. Definizione dei da6 in SQL. SQL: "storia" CREATE TABLE: esempio. CREATE TABLE: esempio

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

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

SQL: "storia" 31/05/2006 2

SQL: Concetti Base -Prima Parte-

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

SQL - Tipi di dato Il linguaggio SQL

Il linguaggio SQL: DDL di base

Basi di Dati: Corso di laboratorio

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

Laboratorio di Basi di Dati e Web

Basi di Dati prof. Letizia Tanca

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:

Laboratorio di Basi di Dati

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

Basi di Dati. Programmazione e gestione di sistemi telematici

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

Linguaggio SQL. Structured Query Language

SQL. Storia e standard

SQL. Alcune note sulla definizione dei dati

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

Basi di dati. SQL: Amministrazione e Viste. Prof.ssa Rosalba Giugno Dott. Aurelio Giudice

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

Corso di Laurea in Ingegneria Informatica Fondamenti di Informatica II Modulo Basi di dati a.a

SQL Matteo Magnani, Danilo Montesi Università di Bologna SQL. Linguaggio di interrogazione per basi di dati relazionali

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

SQL Sintassi Dei Comandi

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

Corso sul linguaggio SQL

Appunti dalle lezioni. Sistemi informativi e basi di dati. Il modello relazionale. SQL come DCL Utilizzo di un DBMS Reale.

Corso di Laurea in Ingegneria Informatica Fondamenti di Informatica II Modulo Basi di dati a.a

Basi di Dati Corso di Laura in Informatica Umanistica

Il Modello Relazionale

Basi di Dati: Corso di laboratorio

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

Corso di Laboratorio di Basi di Dati

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

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

SQL (STRUCTURED QUERY LANGUAGE)

Il linguaggio SQL: le basi

SQL e ACCESS. Modello relazionale PROBLEMA ENTITA STUDENTE

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

SQL. SQL: una visione panoramica. SQL: "storia" Definizione dei dati

Vincoli di Integrità Approccio dichiarativo alla loro implementazione

SQL (STRUCTURED QUERY LANGUAGE)

Dichiarazione degli schemi in SQL DDL 1

Corso di Basi di Dati

Archivi e Basi di Dati

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

SQL. Storia un po piu in dettaglio. SQL: "storia" Tre livelli per SQL-2. Standard, dialetti, mercato

Elena Baralis 2013 Politecnico di Torino 1

Vincoli di integrità

Viste come strumenti di programmazione

Basi di dati Il linguaggio SQL

Basi di dati Il linguaggio SQL

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

Basi di dati. SQL: concetti base

Linguaggio SQL Descriviamo la notazione usata nel seguito:

Tipi numerici esatti Valori interi o con parte decimale di lunghezza prefissata

BASE DI DATI: sicurezza. Informatica febbraio ASA

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

N ORE LEZIONI FRONTALI: STUDIO INDIVIDUALE ( ) N ORE ESERCITAZIONI/LABORATORIO: STUDIO INDIVIDUALE ( )

Vincoli di Integrità


Corso di Informatica Generale 1 IN1. Linguaggio SQL

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

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:

Stringhe di caratteri

Laboratorio di Basi di Dati Introduzione a SQL

Informatica (Basi di Dati)

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

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

Informatica (Basi di Dati)

SQL. Dott.ssa Elisa Quintarelli

Principi di Progettazione del Software a.a Il linguaggio SQL. Prof. Luca Mainetti Università del Salento

Principi di Progettazione del Software a.a Il linguaggio SQL. Linguaggi per DBMS

DBMS (Data Base Management System)

IL LINGUAGGIO SQL IDENTIFICATORI E TIPI DI DATI COMANDI E ISTRUZIONI

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

Laboratorio di Basi di Dati

Il linguaggio SQL. Il linguaggio SQL

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL

Volumi di riferimento

Transcript:

1 SQL Laboratorio di Basi di Dati a.a. 2002/2003 dott.ssa Francesca A. Lisi lisi@di.uniba.it Orario di ricevimento: mercoledì ore 10-12

2 Cos'è SQL? Linguaggio di riferimento per le basi di dati relazionali acronimo di Structured Query Language comprende sia un DDL che un DML un po' di storia prima proposta SEQUEL (1974); prime implementazioni in SQL/DS e Oracle (1981) dal 1983 ca. "standard de facto" dei linguaggi per basi di dati relazionali ANSI-ISO standard (1986, 1989, 1992, 1999) recepito solo in parte (!!)

3 Pre-requisiti ed obiettivi Linguaggi per basi di dati Modello relazionale dei dati Esperienze di programmazione Operatività in tempi ridotti Approfondimenti in itinere

4 Testi consigliati Basi di dati - Modelli e linguaggi di interrogazione di P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone edito da McGraw-Hill, 2002 Guida ad SQL di P.J. Pratt edito da Apogeo, 2001 Dispense a cura del docente www.di.uniba.it/ lisi/courses/basi-dati/ biblioteca (I piano Dipartimento di Informatica)

5 Sommario (I parte) Definizione dei dati in SQL I domini elementari Definizione di domini Definizione di tabelle Vincoli intrarelazionali ed interrelazionali Riferimenti cap. 4, in particolare 4.1, di Atzeni et al. capp. 1-2 di Pratt

6 Domini elementari Carattere: singoli caratteri o stringhe, anche di lunghezza variabile Bit: singoli booleani o stringhe Numerici, esatti e approssimati Data, ora, intervalli di tempo Introdotti in SQL:1999: Boolean BLOB, CLOB (binary/character large object): per grandi immagini e testi

7 Definizione di domini Istruzione CREATE DOMAIN: definisce un dominio (semplice), utilizzabile in definizioni di relazioni, anche con vincoli e valori di default CREATE DOMAIN Voto AS SMALLINT DEFAULT NULL CHECK ( value>=18 AND value<=30 )

8 Definizione di tabelle Istruzione CREATE TABLE: definisce uno schema di relazione e ne crea un istanza vuota specifica attributi, domini e vincoli Dipartimento(Nome, Indirizzo, Sede) CREATE TABLE Dipartimento( Nome CHAR(20) PRIMARY KEY, Indirizzo CHAR(50), Sede CHAR(20), )

9 Modifiche degli schemi Istruzione ALTER: consente di modificare dominii e schemi di tabelle ALTER TABLE Dipartimento ADD COLUMN NroUff NUMERIC(4) Istruzione DROP: consente di rimuovere componenti dello schema

10 Vincoli intrarelazionali NOT NULL UNIQUE definisce le chiavi di una relazione PRIMARY KEY definisce la chiave primaria di una relazione (implica NOT NULL) CHECK esprime vincoli di integrità (ne parleremo più avanti) Impiegato (Matricola, Nome, Cognome, Dip, Stipendio)

11 Definizione di chiavi interne CREATE TABLE Impiegato( Matricola CHAR(6) PRIMARY KEY, Nome CHAR(20) NOT NULL, Cognome CHAR(20) NOT NULL, Dip CHAR(15), Stipendio NUMERIC(9) DEFAULT 0, FOREIGN KEY(Dip) REFERENCES Dipartimento(Nome), UNIQUE (Cognome,Nome) )

12 Definizione di chiavi interne (II) Matricola CHAR(6) PRIMARY KEY Matricola CHAR(6),, PRIMARY KEY (Matricola) Sono equivalenti!

13 Definizione di chiavi interne (III) Nome CHAR(20) NOT NULL, Cognome CHAR(20) NOT NULL, UNIQUE (Cognome,Nome), Nome CHAR(20) NOT NULL UNIQUE, Cognome CHAR(20) NOT NULL UNIQUE, Non sono equivalenti!

14 Vincoli interrelazionali REFERENCES e FOREIGN KEY permettono di definire vincoli di integrità referenziale di nuovo due sintassi per singoli attributi su più attributi E' possibile definire politiche di reazione alla violazione dell integrità referenziale CHECK, vedremo più avanti

Infrazioni 15 Codice Data Vigile Prov Numero 34321 1/2/95 3987 MI 39548K 53524 4/3/95 3295 TO E39548 64521 5/4/96 3295 PR 839548 73321 5/2/98 9345 PR 839548 Vigili Matricola 3987 3295 9345 7543 Cognome Rossi Neri Neri Mori Nome Luca Piero Mario Gino

Infrazioni 16 Codice Data Vigile Prov Numero 34321 1/2/95 3987 MI 39548K 53524 4/3/95 3295 TO E39548 64521 5/4/96 3295 PR 839548 73321 5/2/98 9345 PR 839548 Auto Prov Numero Cognome Nome MI 39548K Rossi Mario TO E39548 Rossi Mario PR 839548 Neri Luca

17 Definizione di chiavi esterne CREATE TABLE Infrazioni( Codice CHAR(6) PRIMARY KEY, Data DATE NOT NULL, Vigile INTEGER NOT NULL REFERENCES Vigili(Matricola), Provincia CHAR(2), Numero CHAR(6), FOREIGN KEY(Provincia, Numero) REFERENCES Auto(Provincia, Numero) )

18 Esercizi Dare le definizioni SQL delle relazioni Rappresentanti(CodRappr, Cognome, Nome, Via, Citta, Provincia, TotProvvigioni,PercentProvv) Clienti (CodCliente, Cognome, Nome, Via, Citta, Provincia, Saldo, Fido, CodRappr) Ordini (NroOrdine, Data, CodCliente) DettOrdini (NroOrdine, NroArt, Qta, Prezzo) Articoli(NroArt, Descrizione, Giacenza, Categoria, PrezzoUnitario) dimensionando opportunamente gli attributi ed indicando i vincoli sia intrarelazionali che interrelazionali Esercizi 4.1-4.6 da Atzeni et al., pagg. 159-160