Ver Mensaje Individual
  #4 (permalink)  
Antiguo 23/05/2013, 14:29
Avatar de HackID1
HackID1
 
Fecha de Ingreso: febrero-2013
Ubicación: En Update
Mensajes: 492
Antigüedad: 11 años, 10 meses
Puntos: 17
Respuesta: como poner primary y foreng key auna tabla

Las FK se ponen justo debajo de tu tabla que has creado, si no sabes bien, puedes empezar haciendo estas actividades de crear tablas y su UNION (relaciones) con un programa

llamado Power Designer..

Es muy bueno y Primero vas a descargarlo, creas las tablas con la relación (mira manuales es muy fácil) en el Modelo Conceptual,, una vez creado esto ya puedes hacer el Modelo Físico (que te muestra la relación con flechas) dependiendo de donde toma la FKey.
Luego de tener el Modelo Físico vas a la pestaña

DATABASE > Generate Database...

Esto te crea un fichero con todos los pasos. un ejemplo sería.

Código SQL:
Ver original
  1. CREATE TABLE provincias (
  2.     cod_provincia    CHAR(2)        NOT NULL,
  3.     nombre        VARCHAR2(50)    NOT NULL,
  4.     CONSTRAINT pk_provincias
  5.         PRIMARY KEY (cod_provincia)
  6. );
  7. CREATE TABLE municipios (
  8.     cod_provincia    CHAR(2)        NOT NULL,
  9.     cod_municipio    CHAR(3)        NOT NULL,
  10.     nombre        VARCHAR2(50)    NOT NULL,
  11.     CONSTRAINT pk_municipios
  12.         PRIMARY KEY (cod_provincia, cod_municipio)
  13. );
  14. CREATE TABLE clientes (
  15.     id_cliente    INTEGER        NOT NULL,
  16.     cod_provincia    CHAR(2)        NOT NULL,
  17.     cod_municipio    CHAR(2)        NOT NULL,
  18.     cif        CHAR(10)    NOT NULL,
  19.     apellidos    VARCHAR2(40)    NOT NULL,
  20.     nombre        VARCHAR2(40)    NOT NULL,
  21.     direccion    VARCHAR2(40)    NOT NULL,
  22.     cp        CHAR(5)        NOT NULL,
  23.     CONSTRAINT pk_clientes
  24.         PRIMARY KEY (id_cliente)
  25. );
  26. CREATE TABLE compras (
  27.     id_compra    INTEGER        NOT NULL,
  28.     id_cliente    INTEGER        NOT NULL,
  29.     fecha        DATE        NOT NULL,
  30.     CONSTRAINT pk_compras
  31.         PRIMARY KEY (id_compra)
  32. );
  33. CREATE TABLE detalles_compra (
  34.     id_compra    INTEGER        NOT NULL,
  35.     id_articulo    INTEGER        NOT NULL,
  36.     cantidad        INTEGER        NOT NULL,
  37.     CONSTRAINT pk_detalles_compra
  38.         PRIMARY KEY (id_compra, id_articulo)
  39. );
  40. CREATE TABLE articulos (
  41.     id_articulo    INTEGER        NOT NULL,
  42.     cod_familia    CHAR(2)        NOT NULL,
  43.     cod_subfamilia    CHAR(3)        NOT NULL,
  44.     nombre        VARCHAR2(50)    NOT NULL,
  45.     descripcion    VARCHAR2(50)    NOT NULL,
  46.     precio        NUMBER(12,2)    NOT NULL,
  47.     CONSTRAINT pk_articulos
  48.         PRIMARY KEY (id_articulo)
  49. );
  50. CREATE TABLE subfamilias (
  51.     cod_familia    CHAR(2)        NOT NULL,
  52.     cod_subfamilia    CHAR(3)        NOT NULL,
  53.     nombre        VARCHAR2(50)    NOT NULL,
  54.     CONSTRAINT pk_subfamilias
  55.         PRIMARY KEY (cod_familia, cod_subfamilia)
  56. );
  57. CREATE TABLE familias (
  58.     cod_familia    CHAR(2)        NOT NULL,
  59.     nombre        VARCHAR2(50)    NOT NULL,
  60.     CONSTRAINT pk_familias
  61.         PRIMARY KEY (cod_familia)
  62. );
  63. ALTER TABLE municipios    ADD (
  64.     CONSTRAINT fk_municipios_provincias
  65.         FOREIGN KEY (cod_provincia)
  66.         REFERENCES provincias (cod_provincia)
  67. );
  68. ALTER TABLE clientes    ADD (
  69.     CONSTRAINT fk_clientes_municipios
  70.         FOREIGN KEY (cod_provincia, cod_municipio)
  71.         REFERENCES municipios (cod_provincia, cod_municipio)
  72. );
  73. ALTER TABLE compras ADD (
  74.     CONSTRAINT fk_compras_clientes
  75.         FOREIGN KEY (id_cliente)
  76.         REFERENCES clientes (id_cliente)
  77. );
  78. ALTER TABLE detalles_compra ADD (
  79.     CONSTRAINT fk_detallescompra_compras
  80.         FOREIGN KEY (id_compra)
  81.         REFERENCES compras (id_compra),
  82.     CONSTRAINT fk_detallescompra_articulos
  83.         FOREIGN KEY (id_articulo)
  84.         REFERENCES articulos (id_articulo)
  85.        
  86. );
  87. ALTER TABLE articulos ADD (
  88.     CONSTRAINT fk_articulos_subfamilias
  89.         FOREIGN KEY (cod_familia, cod_subfamilia)
  90.         REFERENCES subfamilias (cod_familia, cod_subfamilia)
  91. );

Saludos!... Hay estan las FK y PK de cada tabla.
__________________
Puntuar +1 es buena forma de dar las gracias. :P
Your Time is limited, so don't waste it living someone else´s life.
Por: HackID1