jueves, 28 de abril de 2011

LLAVES COMPUESTAS

LLAVES PRIMARIAS COMPUESTAS 

La llave primaria compuesta se utiliza para poder identificar en forma única las lineas de las tablas una por una,esta puede ser parte de un registro real o ser un campo artificial.

Esta también puede consistir en uno o mas campos en una tabla,cuando se utilizan múltiples campos como clave primaria se les denomina claves compuestas,estas pueden especificarse cuando se crea la tabla de la siguiente manera: 
  • (Utilizando CREATE TABLE) o cambiando la estructura existente de la tabla (Utilizando ALTER TABLE) 
Antes de utilizar el comando de ALTER TABLE para poder agregar una clave primaria compuesta se necesita de que el campo este definido como "NOT NULL" en si "NULL" no puede aceptarse como un valor para este campo,estas claves compuestas pueden ser simples,formadas por un solo campo o compuestas por mas de un campo.

EJEMPLO CLASE 

CREATE TABLE  TADM_DET_PAGO
(
NUM_PAGO TINYINT
NOT NULL,
ITEM NUMERIC (2)
NOT NULL,
ID_CONCEPTO NUMERIC(2)
NOT NULL,
VALOR_PAGADO NUMERIC (10)
NULL,
ID_FORMA_PAGO  TINYINT
NOT NULL
)


TABLA DE ESTUDIANTES

CREATE TABLE estudiantes (id_estudiante INT NULL PRIMARY KEY,
apellidos_nombres VARCHAR(30)
);

TABLA PAGOS:

CREATE TABLE pagos(id_pago INT NULL PRIMARY KEY,
id_concepto VARCHAR(30),
 FOREIGN KEY (id_concepto) REFERENCES conceptos(id_concepto),
valor_total_pagado INT NULL,
id_estudiante INT NULL 
);

CREATE TABLE det_pago (
id_pago INT NULL,
valor_pagado INT NULL,
item TINYINT,
 FOREIGN KEY (id_pago) REFERENCES pagos(id_pago)
);

  •  LLAVE  DE LA TABLA DET_PAGO


ALTER TABLE det_pago
ADD CONSTRAINT PK_DET_PAGO
PRIMARY KEY
(id_pago, ITEM);






2 comentarios: