CREATETABLEnivel_formacion ( nivel varchar(40) NOT NULL, estado varchar(40) NOT NULL, PRIMARY KEY (nivel));CREATETABLEprograma ( codigo varchar(50) NOT NULL, versionvarchar(40) NOT NULL, nombre varchar(500) NOT NULL, sigla varchar(40) NOT NULL, estado varchar(40) NOT NULL, nivel varchar(40) NOT NULL, PRIMARY KEY (codigo, version));ALTERTABLE programa ADDCONSTRAINT fk_nifo_prog FOREIGN KEY (nivel) REFERENCES nivel_formacion (nivel);
Uno a mucho identificable
CREATETABLEtipo_documento ( sigla varchar(10) NOT NULL, nombre_documento varchar(100) NOT NULLUNIQUE, estado varchar(40) NOT NULL, CONSTRAINT pk_tipo_documento PRIMARY KEY (sigla));CREATETABLEcliente ( numero_documento varchar(50) NOT NULL, sigla varchar(10) NOT NULL, primer_nombre varchar(50) NOT NULL, segundo_nombre varchar(50), primer_apellido varchar(50) NOT NULL, segundo_apellido varchar(50), loginvarchar(50) NOT NULLUNIQUE, CONSTRAINT pk_cliente PRIMARY KEY (numero_documento, sigla));ALTERTABLE cliente ADDCONSTRAINT fk_tipo_documento FOREIGN KEY (sigla) REFERENCES tipo_documento (sigla);