Respuesta: claves primaria y foranea Al final ha quedado así y no me da fallos por ningun sitio, solo me keda probrar la insercion de datos, borrarlos y probar bien las tablas por si hubiera algun error.
Si ves algo que se me puediera haber pasado, dimelo por favor.
Gracias.
CREATE DATABASE CURRICULUM;
USE CURRICULUM;
CREATE TABLE DATOSPERSONALES(IDPERSONA INT(4) PRIMARY KEY AUTO_INCREMENT,
NOMBRE VARCHAR(20),
APELLIDOS VARCHAR(40),
DNI VARCHAR(9),
TELEFONO VARCHAR(9),
MOVIL VARCHAR(9),
EMAIL VARCHAR(50),
DIRECCION VARCHAR(50),
POBLACION VARCHAR(30),
PROVINCIA VARCHAR(30),
CP VARCHAR(5),
CARNET VARCHAR(4),
VEHICULOPROPIO VARCHAR(2),
FOTO VARCHAR(100));
CREATE TABLE OTROSDATOS(IDOTROS INT(4) PRIMARY KEY AUTO_INCREMENT,
IDPERSONA INT(4),
DISPONIHORARIA VARCHAR(20),
DISPONIGEOG VARCHAR(20),
INCORPORACION VARCHAR(20),
OTROS VARCHAR(150),
FOREIGN KEY(IDPERSONA) REFERENCES DATOSPERSONALES(IDPERSONA) ON DELETE CASCADE ON UPDATE CASCADE);
CREATE TABLE FORMACIONINICIALCOMPLEMENTARIA(IDTITULO VARCHAR(50), PRIMARY KEY(IDTITULO));
CREATE TABLE FORMACIONCOMPLEMENTARIA(IDFORMACION INT(4) AUTO_INCREMENT,
IDPERSONA INTEGER,
IDTITULO VARCHAR(50),
HORAS VARCHAR(4),
ANIO VARCHAR(4),
ENTIDAD VARCHAR(50),
PRIMARY KEY(IDFORMACION,IDPERSONA),
FOREIGN KEY (IDTITULO) REFERENCES FORMACIONINICIALCOMPLEMENTARIA(IDTITULO) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (IDPERSONA) REFERENCES DATOSPERSONALES(IDPERSONA) ON DELETE CASCADE ON UPDATE CASCADE);
CREATE TABLE CONOCIMIENTOSINFORMATICOS(IDCONOCIMIENTOS VARCHAR (30),
IDPERSONA INT(4),
PRIMARY KEY(IDCONOCIMIENTOS),
FOREIGN KEY(IDPERSONA) REFERENCES DATOSPERSONALES(IDPERSONA)ON DELETE CASCADE ON UPDATE CASCADE);
CREATE TABLE FORMACIONINICIAL(ESPECIALIDAD VARCHAR (50),
PRIMARY KEY (ESPECIALIDAD));
CREATE TABLE FORMACIONACADEMICA ( IDFORMACION INT (4) NOT NULL AUTO_INCREMENT,
IDPERSONA INTEGER,
ESPECIALIDAD VARCHAR (50),
NIVEL VARCHAR (20),
ANIO VARCHAR (4),
CENTRO VARCHAR (30),
PRIMARY KEY (IDFORMACION, IDPERSONA),
FOREIGN KEY (IDPERSONA) REFERENCES DATOSPERSONALES (IDPERSONA)
ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (ESPECIALIDAD) REFERENCES FORMACIONINICIAL(ESPECIALIDAD)
ON DELETE CASCADE ON UPDATE CASCADE);
CREATE TABLE EXPERIENCIA (IDEXPERIENCIA INT(4) NOT NULL AUTO_INCREMENT,
IDPERSONA INTEGER,
CATEGORIA VARCHAR (30),
EMPRESA VARCHAR (30),
INICIO DATE,
FIN DATE,
DURACIONMESES VARCHAR (3),
FUNCIONES VARCHAR (100),
PRIMARY kEY (IDEXPERIENCIA, IDPERSONA),
FOREIGN KEY (IDPERSONA) REFERENCES DATOSPERSONALES(IDPERSONA) ON DELETE CASCADE
ON UPDATE CASCADE); |