El código es siguiente:
Código SQL:
Gracias de antemano Ver original
DROP TABLE traficos; CREATE TABLE traficos( oid_traficos INTEGER NOT NULL, direccion VARCHAR2(50), telefono INTEGER, email VARCHAR2(40), oid_examenespracticos INTEGER, PRIMARY KEY (oid_traficos), FOREIGN KEY (oid_examenespracticos) REFERENCES examenespracticos ); DROP TABLE examinadores; CREATE TABLE examinadores( oid_examinadores INTEGER NOT NULL, fechaexamen DATE, nombre VARCHAR2(30), apellidos VARCHAR2(30), oid_examenespracticos INTEGER, oid_traficos INTEGER, dni VARCHAR2(9), PRIMARY KEY (oid_examinadores), FOREIGN KEY (oid_examenespracticos) REFERENCES examenespracticos, FOREIGN KEY (oid_traficos) REFERENCES traficos ); DROP TABLE examenespracticos; CREATE TABLE examenespracticos( oid_examenespracticos INTEGER NOT NULL, fechapractico DATE, oid_alumnos INTEGER, oid_examinadores INTEGER, PRIMARY KEY (oid_examenespracticos), FOREIGN KEY (oid_alumnos) REFERENCES alumnos, FOREIGN KEY (oid_examinadores) REFERENCES examinadores ); DROP TABLE examenesteoricos; CREATE TABLE examenesteoricos( oid_examenesteoricos INTEGER NOT NULL, nota BOOLEAN, fechateorico DATE, oid_alumnos INTEGER, PRIMARY KEY (oid_examenesteoricos), FOREIGN KEY (oid_alumnos) REFERENCES alumnos ); DROP TABLE profesores; CREATE TABLE profesores( oid_profesores INTEGER NOT NULL, telefono INTEGER, email VARCHAR2(30), oid_autoescuela INTEGER, oid_clasespracticas INTEGER, oid_clasesteoricas INTEGER, oid_personas INTEGER, PRIMARY KEY (oid_profesores), FOREIGN KEY (oid_autoescuelas) REFERENCES autoescuelas, FOREIGN KEY (oid_clasespracticas) REFERENCES clasespracticas, FOREIGN KEY (oid_clasesteoricas) REFERENCES clasesteoricas, FOREIGN KEY (oid_personas) REFERENCES personas ); DROP TABLE clasesteoricas; CREATE TABLE clasesteoricas( oid_clasesteoricas INTEGER NOT NULL, oid_autoescuelas INTEGER, calificacion BOOLEAN, PRIMARY KEY (oid_clasesteoricas), FOREIGN KEY (oid_autoescuelas) REFERENCES autoescuelas ); DROP TABLE clasespracticas; CREATE TABLE clasespracticas( oid_clasespracticas INTEGER NOT NULL, fechaclase DATE, calificacion BOOLEAN, PRIMARY KEY (oid_clasespracticas) ); DROP TABLE alumnos; CREATE TABLE alumnos( oid_alumnos INTEGER, direccion VARCHAR2(50), telefono INTEGER, email VARCHAR2(30), fechaNacimiento DATE, tasas_pagadas BOOLEAN, oferta VARCHAR2(30), oid_persona INTEGER, oid_clasesteoricas INTEGER, oid_clasespracticas INTEGER, oid_examenespracticos INTEGER, PRIMARY KEY (oid_alumnos), FOREIGN KEY (oid_personas) REFERENCES personas, FOREIGN KEY (oid_clasesteoricas) REFERENCES clasesteoricas, FOREIGN KEY (oid_clasespracticas) REFERENCES clasespracticas, FOREIGN KEY (oid_examenespracticos) REFERENCES examenespracticos ); DROP TABLE personas; CREATE TABLE personas( oid_personas INTEGER NOT NULL, dni VARCHAR2(9), nombre VARCHAR2(30), apellidos VARCHAR2(30), PRIMARY KEY (oid_personas) ); DROP TABLE autoescuelas; CREATE TABLE autoescuelas( oid_autoescuelas INTEGER NOT NULL, nombre VARCHAR2(30), numeroalumnos INTEGER, telefono INTEGER, email VARCHAR2(30), PRIMARY KEY (oid_autoescuelas) ); DROP TABLE matriculas; CREATE TABLE matriculas( oid_matriculas INTEGER NOT NULL, fechamatricula DATE, /*precio NUMBER(*,2),*/ oid_alumnos INTEGER, oid_autoescuelas INTEGER, PRIMARY KEY (oid_matriculas), FOREIGN KEY(oid_alumnos) REFERENCES alumnos, FOREIGN KEY(oid_autoescuelas) REFERENCES autoescuelas );