/* \i 'H:\\Linguaggi_1\\PostgreSQL\\Prove0_DominiEChiaviVuote.sql' */


/* PROVA INSERIMENTI SU TABELLE CHE:
~ CONTENGONO ATTRIBUTI APPATENENTI A DOMINI VUOTI;
~ NON HANNO UNA CHIAVE PRIMARIA.
*/

DROP DATABASE IF EXISTS prove0; /* Cancellazione della versione precedente del db */

CREATE DATABASE prove0; /* Creazione del db */

/* Connessione al db */
\c prove0

/* Creazione dei domini */
CREATE DOMAIN Voto AS INTEGER CHECK (VALUE >= 30 AND VALUE <= 18); /* Il dominio $Voto e` un insieme vuoto. Pero`, l'interprete Sql ignora questa anomalia. */

/* Creazione della tabella T1 */
CREATE TABLE T1 (
    IdeT1 INTEGER,
    Vo Voto
);

/* Inserimento di tuple e loro visualizzazione */
INSERT INTO T1(IdeT1, Vo) VALUES (1, 24); /* ERRORE: Il valore 24 dell'attributo $Vo e` esterno al dominio (vuoto) di Voto. */

SELECT * FROM T1;

/* Creazione della tabella T2 */
CREATE TABLE T2 (
    IdeT2 INTEGER /* La tabella T2 non ha una chiave. Pero`, l'interprete Sql ignora questa anomalia. */
);

/* Inserimento di tuple e loro visualizzazione */
INSERT INTO T2(IdeT2) VALUES (1);
INSERT INTO T2(IdeT2) VALUES (1); /* La tabella T2 contiene due riche uguali. Pero`, l'interprete Sql ignora questa anomalia. */

SELECT * FROM T2;
