Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/10/2010, 17:12
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: relacion 1:N con entidad debil

Este tema ya lo tratamos en otro post, y te dije cuál era el problema y la respuesta (Respuesta: ayuda en la creacion de una tabla m:n)
¿Cuál es el problema? ¿Qué duda te cabe?
Se trata simplemente de definir una PK compuesta por dos campos, todos los cuales se definen como NOT NULL. Eso no representa ningún problema.
En tu caso la definición simplemente quedaría:
Código MySQL:
Ver original
  1. CREATE TABLE calle (
  2. nombre_calle VARCHAR(9) NOT NULL,
  3. calle_codigo_poblacion SMALLINT(9) NOT NULL,
  4. largo VARCHAR(20) NOT NULL,
  5. ancho VARCHAR(20) NOT NULL,
  6. edificios SMALLINT(9) NOT NULL,
  7. poblacion_codigo_poblacion SMALLINT(9) NOT NULL,
  8. CONSTRAINT pk_nombre_calle PRIMARY KEY (nombre_calle, calle_codigo_poblacion),
  9. CONSTRAINT fk_poblacion_codigo_poblacion
  10. FOREIGN KEY (poblacion_codigo_poblacion)
  11. REFERENCES poblacion(codigo_poblacion)
  12. )ENGINE=INNODB CHARACTER SET utf8 COLLATE utf8_bin;

La única condición que posee esto es que la tabla POBLACIÓN debe existir antes de crear estea. Nada más.

¿Alguna duda?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)