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

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

SQL: "storia" 31/05/2006 2

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

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

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

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

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

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

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

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

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

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

Viste come strumenti di programmazione

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

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

Basi di Dati Relazionali

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

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

Corso di Informatica (Basi di Dati)

Corso di Basi di Dati

Equivalenza di espressioni. Equivalenze. Equivalenze. Due espressioni sono equivalenti se: Atomizzazione delle selezioni σ F1 F2 (E) σ F1 (σ F2 (E))

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

Viste (relazioni derivate)

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

Il linguaggio SQL. Il linguaggio SQL

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL

Laboratorio di Basi di Dati

SQL. Dott.ssa Elisa Quintarelli

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

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

Dichiarazione degli schemi in SQL DDL 1

Laboratorio di Basi di Dati

4/16/07. Le Basi di Dati Relazionali. Concetti Fondamentali. Base di dati, tabella, ennupla, attributo, dominio. Valori nulli

Stringhe di caratteri

SQL. Lezione 1. Docente: Alberto Belussi

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

Basi di Dati. Sistemi per Basi di Dati Relazionali: Modello Logico. Concetti Fondamentali. Concetti Fondamentali

Laboratorio di Basi di Dati e Multimedia

Mirco Nanni ISTI CNR, Pisa. CdL in Lettere A.A. 2007/2008

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

Il linguaggio SQL: DDL di base

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

Fondamenti di Teoria delle Basi di Dati

Laboratorio di Basi di Dati Per Bioinformatica

Basi di Dati e Sistemi Informativi. Structured Query Language

Lezione 2. Modello relazionale: concetti e definizioni

SQL. SQL (Structured Query Language) è un linguaggio di interrogazione per basi di dati relazionali

Laboratorio di Basi di Dati e Multimedia

Algebra con valori nulli

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL: fondamenti. Il linguaggio SQL

Corso di Informatica

Linguaggi per basi di dati e SQL

Linguaggi per basi di dati. Linguaggi per basi di dati e SQL. Linguaggi di interrogazione per basi di dati relazionali. Linguaggi di interrogazione

SQL: Concetti Base -Prima Parte-

Basi di dati. IL MODELLO RELAZIONALE Figure ed esempi. 09/10/2017 Atzeni - Basi di dati - Modello relazionale, figure ed esempi

Basi di dati. SQL: concetti base

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

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, IL MODELLO RELAZIONALE

Modello Relazionale/1

ESERCITAZIONE: Fornitore-Fornisce-Articolo

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

Il linguaggio SQL. TUTORATO DIFONDAMENTI DIINFORMATICA

IL MODELLO RELAZIONALE. Patrizio Dazzi a.a

SQL. Storia e standard

Model o relazionale 1

Esempi di Progettazione SQL-DDL/1

Corso sul linguaggio SQL

Corso di. Basi di Dati I. 7. Esercitazioni in SQL: Definizione e manipolazione dei dati

Gestione e Analisi dei Dati. Lezione 2 Vincoli su attributo Selezioni semplici su una tabella

SQL. Alcune note sulla definizione dei dati

5 SQL : Definizione e manipolazione dei dati

Basi di Dati prof. Letizia Tanca

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

Definizione di domini

BASI di DATI. SQL: concetti fondamentali

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

Basi di dati - Laboratorio

SQL. SQL come Data Manipulation Language - Inserimento, cancellazione e aggiornamento di righe

Corso di. Basi di Dati I. 7. Esercitazioni in SQL: Definizione e manipolazione dei dati

Laboratorio di Sistemi Informativi

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

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

SQL Sintassi Dei Comandi

SQL. Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL. Definizione dei dati in SQL. SQL: "storia" Domini

Scopo. Informatica. Sistema informativo. Sistema informatico

Laboratorio di Basi di Dati

Corso di Basi di Dati A.A. 2015/2016

Parte IV Il linguaggio SQL

Linguaggio SQL: fondamenti D B M G

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

Basi di Dati. Concetti Fondamentali SQL-92 25/02/2004. Concetti Fondamentali. Introduzione. Interrogazioni. Creazione ed eliminazione di bd

E. Giunchiglia Basi di dati 1 (trasparenze basate su Atzeni, Ceri, Paraboschi, Torlone: Basi di dati, Capitolo 4) SQL SQL. Definizione dei dati in SQL

Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati

Transcript:

Basi di Dati Prof. Alfredo Cuzzocrea Università degli Studi di Trieste SQL-DDL Credits to: Prof. P. Atzeni UniRoma3 Prof. S. Ceri PoliMI Prof. S. Paraboschi UniBG Prof. R. Torlone UniRoma3

SQL originariamente "Structured Query Language", ora "nome proprio" linguaggio con varie funzionalità: contiene sia il DDL sia il DML ne esistono varie versioni vediamo gli aspetti essenziali, non i dettagli

SQL: "storia" prima proposta SEQUEL (1974); prime implementazioni in SQL/DS e Oracle (1981) dal 1983 ca. "standard di fatto" standard (1986, poi 1989 e infine 1992, 1999) recepito solo in parte (!!)

Definizione dei dati in SQL Istruzione CREATE TABLE: definisce uno schema di relazione e ne crea un istanza vuota specifica attributi, domini e vincoli

CREATE TABLE, esempio CREATE TABLE Impiegato( Matricola CHAR(6) PRIMARY KEY, Nome CHAR(20) NOT NULL, Cognome CHAR(20) NOT NULL, Dipart CHAR(15), Stipendio NUMERIC(9) DEFAULT 0, FOREIGN KEY(Dipart) REFERENCES Dipartimento(NomeDip), UNIQUE (Cognome,Nome) )

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

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

Definizione di domini Istruzione CREATE DOMAIN: definisce un dominio (semplice), utilizzabile in definizioni di relazioni, anche con vincoli e valori di default

CREATE DOMAIN, esempio CREATE DOMAIN Voto AS SMALLINT DEFAULT NULL CHECK ( value >=18 AND value <= 30 )

Vincoli intrarelazionali NOT NULL UNIQUE definisce chiavi PRIMARY KEY: chiave primaria (una sola, implica NOT NULL) CHECK, vedremo più avanti

UNIQUE e PRIMARY KEY due forme: nella definzione di un attributo, se forma da solo la chiave come elemento separato

CREATE TABLE, esempio CREATE TABLE Impiegato( Matricola CHAR(6) PRIMARY KEY, Nome CHAR(20) NOT NULL, Cognome CHAR(20) NOT NULL, Dipart CHAR(15), Stipendio NUMERIC(9) DEFAULT 0, FOREIGN KEY(Dipart) REFERENCES Dipartimento(NomeDip), UNIQUE (Cognome,Nome) )

PRIMARY KEY, alternative Matricola CHAR(6) PRIMARY KEY Matricola CHAR(6),, PRIMARY KEY (Matricola)

CREATE TABLE, esempio CREATE TABLE Impiegato( Matricola CHAR(6) PRIMARY KEY, Nome CHAR(20) NOT NULL, Cognome CHAR(20) NOT NULL, Dipart CHAR(15), Stipendio NUMERIC(9) DEFAULT 0, FOREIGN KEY(Dipart) REFERENCES Dipartimento(NomeDip), UNIQUE (Cognome,Nome) )

Chiavi su più attributi, attenzione Nome CHAR(20) NOT NULL, Cognome CHAR(20) NOT NULL, UNIQUE (Cognome,Nome), Nome Cognome CHAR(20) NOT NULL UNIQUE, CHAR(20) NOT NULL UNIQUE, Non è la stessa cosa!

Vincoli interrelazionali CHECK, vedremo più avanti 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

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

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

CREATE TABLE, esempio CREATE TABLE Infrazioni( Codice CHAR(6) NOT NULL 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) )

ALTER DOMAIN ALTER TABLE DROP DOMAIN DROP TABLE... Modifiche degli schemi

Definzione degli indici è rilevante dal punto di vista delle prestazioni ma è a livello fisico e non logico in passato era importante perché in alcuni sistemi era l'unico mezzo per definire chiavi CREATE INDEX

DDL, in pratica In molti sistemi si utilizzano strumenti diversi dal codice SQL per definire lo schema della base di dati