📂
2252819-Trimestre-2
  • 2252819-Trimestre-2
  • git
    • comandos
      • capitulo 2.2
      • capitulo 2.3
      • capitulo 2.5
      • capitulo 2.6
      • capitulo 3.1
      • capitulo 3.2
      • finales
  • Linux
    • comandos-linux
  • Base de datos
    • Bases de datos
      • Diseño de bases de datos
      • Modelo Entidad Relación
      • Tipos de Entidades
      • Tipos de llaves
      • Relaciones
        • Uno a uno
        • Uno a Mucho
        • Muchos a Muchos
      • Normalización de base de datos
Con tecnología de GitBook
En esta página
  • Uno a muchos NO identificable
  • Uno a mucho identificable
  • Uno a mucho recursiva no identificable
  • Uno a mucho recursiva identificable

¿Te fue útil?

  1. Base de datos
  2. Bases de datos
  3. Relaciones

Uno a Mucho

AnteriorUno a unoSiguienteMuchos a Muchos

Última actualización hace 4 años

¿Te fue útil?

Uno a muchos NO identificable

CREATE TABLE nivel_formacion (
  nivel  varchar(40) NOT NULL, 
  estado varchar(40) NOT NULL, 
  PRIMARY KEY (nivel));


CREATE TABLE programa (
  codigo  varchar(50) NOT NULL, 
  version varchar(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));
ALTER TABLE programa ADD CONSTRAINT fk_nifo_prog FOREIGN KEY (nivel) REFERENCES nivel_formacion (nivel);

Uno a mucho identificable

CREATE TABLE tipo_documento (
  sigla            varchar(10) NOT NULL, 
  nombre_documento varchar(100) NOT NULL UNIQUE, 
  estado           varchar(40) NOT NULL, 
  CONSTRAINT pk_tipo_documento 
    PRIMARY KEY (sigla));
	
	CREATE TABLE cliente (
  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), 
  login            varchar(50) NOT NULL UNIQUE, 
  CONSTRAINT pk_cliente 
    PRIMARY KEY (numero_documento, 
  sigla));
	ALTER TABLE cliente ADD CONSTRAINT fk_tipo_documento FOREIGN KEY (sigla) REFERENCES tipo_documento (sigla);

Uno a mucho recursiva no identificable

CREATE TABLE categoria (
  numero_categoria SERIAL NOT NULL, 
  categoria_padre  int4 NOT NULL, 
  nombre_categoria varchar(100) NOT NULL, 
  PRIMARY KEY (numero_categoria));
ALTER TABLE categoria ADD CONSTRAINT fk_categoria FOREIGN KEY (categoria_padre) REFERENCES categoria (numero_categoria):

Uno a mucho recursiva identificable

No EXISTE no se puede hacer, genera problemas en el motor