Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/12/2011, 17:19
eybel
 
Fecha de Ingreso: marzo-2007
Mensajes: 782
Antigüedad: 17 años, 8 meses
Puntos: 16
que pasa en estos casos? foreign key , join tables

Queria saber que pasa en estos casos:

Asi cree la tabla:
Código PHP:
CREATE TABLE `zip_code` (
  `
idint(11unsigned NOT NULL auto_increment,
  `
zip_codevarchar(5collate utf8_bin NOT NULL,
  `
cityvarchar(50collate utf8_bin default NULL,
  `
countyvarchar(50collate utf8_bin default NULL,
  `
state_namevarchar(50collate utf8_bin default NULL,
  `
state_prefixvarchar(2collate utf8_bin default NULL,
  `
area_codevarchar(3collate utf8_bin default NULL,
  `
time_zonevarchar(50collate utf8_bin default NULL,
  `
latfloat NOT NULL,
  `
lonfloat NOT NULL,
  
PRIMARY KEY  (`id`),
  
KEY `zip_code` (`zip_code`)

DESCRIBE ZIP_CODES:

Código PHP:
id               int(11unsigned PK
zip_code         varchar
(5)
city             varchar(50)
county           varchar(50)
state_name       varchar(50)
state_prefix     varchar(2)
area_code        varchar(3)
time_zone        varchar(50)
lat              float
lon              float 

Tengo otra tabla de usuarios que tiene un campo zip_code . Mi pregunta es para hacer este querie, como junto las tablas necesito foreign key o con algun JOIN nada mas??

Código PHP:
SELECT nombrezip_code from userszip_code where zipcode=77777 and users.zip_code zip_code.zip_code ASC LIMIT 0,20
Ahi tengo un join, pero no se si necesito crear un FOREIGN KEY del campo zip_code de la tabla "zip_code" al "zip_code" de la tabla de usuarios.

Y mi segunda duda, necesito crear un INDEX en zip_code de la tabla zip_code para que la busqueda sea mas rapida o ya esta implenetado al poner "KEY(zip_code)..." ??

Porque ese codigo al crear la tabla me pone PRIMARY KEY(id) y KEY(zip_code). Este ultimo que tipo de KEY se refiere? index?

Este codigo lo saque de otro tutorial para localizacion de usuarios por ZIPCODES pero el querie lo estoy armando yo.

gracias