Ciao, devo creare la seguente tabella in mysql:
PROFESSORI(CodP, Nome, Cognome, DataNascita, NumCel*)
CORSI(CodCorso, Titolo, NumCrediti, DataAttivazione)
CONSULENZE(CodP, CodCorso, Data, OraInizio, OraFine*)
Ho fatto cosi:
Secondo voi è corretto? Perchè ho dei dubbi su Consulenzecodice:SET storage_engine=InnoDB; SET FOREIGN_KEY_CHECKS=1; CREATE DATABASE IF NOT EXISTS Docenti; USE Docenti; DROP TABLE IF EXISTS Professori; DROP TABLE IF EXISTS Corsi; DROP TABLE IF EXISTS Consulenze; CREATE TABLE IF NOT EXISTS Professori ( CodP VARCHAR(15) UNIQUE NOT NULL, Nome VARCHAR(255) NOT NULL, Cognome VARCHAR(255) NOT NULL, DataNascita DATE NOT NULL, NumCel VARCHAR(255) NULL, PRIMARY KEY (CodP)); CREATE TABLE IF NOT EXISTS Corsi ( CodCorso VARCHAR(15) UNIQUE NOT NULL, Titolo VARCHAR(255) NOT NULL, NumCrediti SMALLINT NOT NULL, DataAttivazione DATE NOT NULL, PRIMARY KEY (CodCorso) ); CREATE TABLE IF NOT EXISTS Consulenze ( CodP VARCHAR(15) NOT NULL, CodCorso VARCHAR(15) NOT NULL, Data DATE NOT NULL, OraInizio TIME NOT NULL, OraFine TIME NULL, PRIMARY KEY (CodP, CodCorso, Data, OraInizio), FOREIGN KEY (CodP) REFERENCES Professori (CodP) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY (CodCorso) REFERENCES Corsi (CodCorso) ON DELETE CASCADE ON UPDATE CASCADE);
Grazie

Rispondi quotando