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

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

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 Laboratorio di Basi di Dati a.a. 2002/2003

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

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. SQL: una visione panoramica. SQL: "storia" Definizione dei dati

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

Viste come strumenti di programmazione

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

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

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

Basi di Dati Relazionali

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

Corso di Basi di Dati

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

Corso di Informatica (Basi di Dati)

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

Viste (relazioni derivate)

Laboratorio di Basi di Dati

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

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:

Stringhe di caratteri

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

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

SQL. Lezione 1. Docente: Alberto Belussi

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

Corso di Informatica

Fondamenti di Teoria delle Basi di Dati

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

Il linguaggio SQL: DDL di base

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

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

Algebra con valori nulli

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

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

Laboratorio di Basi di Dati Per Bioinformatica

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

Basi di Dati e Sistemi Informativi. Structured Query Language

Lezione 2. Modello relazionale: concetti e definizioni

Laboratorio di Basi di Dati e Multimedia

Model o relazionale 1

SQL: Concetti Base -Prima Parte-

Basi di dati. SQL: concetti base

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

ESERCITAZIONE: Fornitore-Fornisce-Articolo

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

IL MODELLO RELAZIONALE. Patrizio Dazzi a.a

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

Il linguaggio SQL. TUTORATO DIFONDAMENTI DIINFORMATICA

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

Corso sul linguaggio SQL

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

SQL. Storia e standard

BASI di DATI. SQL: concetti fondamentali

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

SQL. Alcune note sulla definizione dei dati

5 SQL : Definizione e manipolazione dei dati

Scopo. Informatica. Sistema informativo. Sistema informatico

Basi di Dati prof. Letizia Tanca

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

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

Definizione di domini

SQL - Tipi di dato Il linguaggio SQL

Basi di dati - Laboratorio

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

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

FONDAMENTI DI INFORMATICA 1

Basi di dati IL MODELLO RELAZIONALE

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

Sistemi di Elaborazione delle Informazioni

Linguaggio SQL: fondamenti D B M G

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

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

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

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

Laboratorio di Sistemi Informativi

Basi di Dati. Dettagli e Approfondimenti

Elena Baralis 2007 Politecnico di Torino 1

Basi di Dati SQL-92. Concetti Fondamentali

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

Transcript:

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

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 Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone 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 3987 3295 9345 7543 Cognome Nome Rossi Luca Neri Piero Neri Mario Mori Gino

Infrazioni Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone 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 39548K TO E39548 PR 839548 Cognome Nome Rossi Mario Rossi Mario Neri 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