Salve ragazzi,
Ho un piccolo problema.
Allora devo creare uno schema e-r avendo a disposizione questo codice sql:
CREATE TABLE Libro (
isbn integer PRIMARY KEY,
titolo varchar(150) NOT NULL,
id_ed integer NOT NULL,
anno integer NOT NULL,
prezzo numeric(6,2) NOT NULL CHECK(prezzo > 0),
num_pag integer NOT NULL CHECK(num_pag > 0),
FOREIGN KEY (id_ed) REFERENCES Editore(ID)
);
CREATE TABLE Acquisto (
id integer PRIMARY KEY,
id_cl integer NOT NULL,
isbn integer NOT NULL,
FOREIGN KEY (id_cl) REFERENCES Cliente(id),
FOREIGN KEY(isbn) REFERENCES Libro(isbn)
);
CREATE TABLE Cliente (
id integer PRIMARY KEY,
nome varchar(100) NOT NULL,
cognome varchar(100) NOT NULL,
anno_nascita integer CHECK (anno_nascita >= 1880),
residenza varchar(100) NOT NULL
);
Ovviamente esistono altre tabelle ma il mio problema è su queste due.
Allora sono nell atroce dubbio se Acquisto sia un ENTITA' oppure una semplice relazione.
All'inizio pensavo ad una relazione ma non capisco perchè esiste un codice univoco che ID dentro acquisto che mi porta a pensare che sia un antità autonoma e i due campi "isbn" e "id_cl" sono messi come chiavi esterne..
Posso aggiungere che so anche che ogni acquisto possiede un codice unico e che un acquisto puo possedere solo un cliente e un oggetto comprato.
Cosa ne pensate voi è un entità o una semplice relazione che collega CLIENTE con LIBRO??
grazie a tutti!!!
Ho un piccolo problema.
Allora devo creare uno schema e-r avendo a disposizione questo codice sql:
CREATE TABLE Libro (
isbn integer PRIMARY KEY,
titolo varchar(150) NOT NULL,
id_ed integer NOT NULL,
anno integer NOT NULL,
prezzo numeric(6,2) NOT NULL CHECK(prezzo > 0),
num_pag integer NOT NULL CHECK(num_pag > 0),
FOREIGN KEY (id_ed) REFERENCES Editore(ID)
);
CREATE TABLE Acquisto (
id integer PRIMARY KEY,
id_cl integer NOT NULL,
isbn integer NOT NULL,
FOREIGN KEY (id_cl) REFERENCES Cliente(id),
FOREIGN KEY(isbn) REFERENCES Libro(isbn)
);
CREATE TABLE Cliente (
id integer PRIMARY KEY,
nome varchar(100) NOT NULL,
cognome varchar(100) NOT NULL,
anno_nascita integer CHECK (anno_nascita >= 1880),
residenza varchar(100) NOT NULL
);
Ovviamente esistono altre tabelle ma il mio problema è su queste due.
Allora sono nell atroce dubbio se Acquisto sia un ENTITA' oppure una semplice relazione.
All'inizio pensavo ad una relazione ma non capisco perchè esiste un codice univoco che ID dentro acquisto che mi porta a pensare che sia un antità autonoma e i due campi "isbn" e "id_cl" sono messi come chiavi esterne..
Posso aggiungere che so anche che ogni acquisto possiede un codice unico e che un acquisto puo possedere solo un cliente e un oggetto comprato.
Cosa ne pensate voi è un entità o una semplice relazione che collega CLIENTE con LIBRO??
grazie a tutti!!!