Ver Mensaje Individual
  #3 (permalink)  
Antiguo 13/01/2014, 11:47
alvarocabrales
 
Fecha de Ingreso: julio-2012
Ubicación: bucaramanga
Mensajes: 19
Antigüedad: 11 años, 9 meses
Puntos: 1
Respuesta: id´s autoincrementales

entiendo lo que quieres decir, yo conserve el tipo de dato serial para los campos id precisamente por mantener la naturaleza del campo y no declarar un id serial en una tabla y luego declarar ese mismo campo con otro tipo de dato en otra tabla por eso pregunto como lo hacen en mysql cuando declaran una llave foranea en la tabla B que obviamente es llave primaria en otra tabla A y además es AI y además esa tabla B ya tiene una llave primaria AI.

especifico lo que hago en postgresql donde la tabla equipos define como llaves foraneas los campos idubica y idprotocolo los cuales son llaves primarias en sus respectivas tablas. ¿ cual es la manera correcta de hacerlo en mysql? ya que esto en porsgresql funciona correctamente y permite relacionar las tablas si generar redundancia el cual es el objetivo del modelo E-R
Código SQL:
Ver original
  1. CREATE TABLE ubicacion
  2. (
  3.   idubica serial NOT NULL,
  4.   descripcion CHARACTER(200),
  5.   CONSTRAINT idubica_pk PRIMARY KEY (idubica)
  6.  
  7. );
  8.  
  9. CREATE TABLE protocolos
  10. (
  11. idprotocolo serial,
  12. nombrequipo CHARACTER (100),
  13. descripcion CHARACTER (3000),
  14. CONSTRAINT idprotocolo_pk PRIMARY KEY (idprotocolo)
  15.  
  16. );
  17.  
  18.  
  19. CREATE TABLE equipos
  20. (
  21.   idprotocolo serial,
  22.   responsablemanten CHARACTER(100),
  23.   idequipo serial,
  24.   num_inv CHARACTER(100) NOT NULL,
  25.   nom_eq CHARACTER(100),
  26.   modelo CHARACTER(100),
  27.   marca CHARACTER(100),
  28.   num_serie CHARACTER(100),
  29.   estado CHARACTER(100),
  30.   garantia CHARACTER(30),
  31.   idubica serial,
  32.   clasificacion CHARACTER(100),
  33.   corriente CHARACTER(100),
  34.   voltaje CHARACTER(100),
  35.   frecuencia CHARACTER(100),
  36.   potencia CHARACTER(100),
  37.   invima CHARACTER(100),
  38.   funcion_equipo CHARACTER(500),
  39.   preventivo CHARACTER(50),
  40.   tipo CHARACTER(100),
  41.   imagen CHARACTER(100),
  42.   CONSTRAINT num_inv_pk PRIMARY KEY (num_inv),
  43.   CONSTRAINT idprotocolo_fk FOREIGN KEY (idprotocolo) REFERENCES protocolos,
  44.   CONSTRAINT idubica_fk FOREIGN KEY (idubica) REFERENCES ubicacion
  45.   ON UPDATE CASCADE ON DELETE CASCADE
  46. );

Última edición por gnzsoloyo; 13/01/2014 a las 13:00