![]() |
Duda acerca de las keys
Buenas tardes, alguien sabría decirme que diferencia hay entra la clave primaria y la foreign key ???
Gracias... |
La primary key (clave primaria, principal) es un valor que identifica inequivocamente un registro, normalmente se usa un número AutoIncrementable que jamás se repite.
La Foreign key (clave ajena, clave foránea) es un valor que hace referencia a la clave principal... me explico con un ejemplo: Tienes la tabla CLIENTES con los datos personales, y allí creas la clave primaria, un código que se autoincrementa cuando se da de alta un nuevo cliente. Ahora en la tabla facturas quieres identificar a qué cliente pertenece esa factura, añades un campo codigo que será clave ajena, es decir, en ese campo guardas el código que tiene ese cliente en la tabla CLIENTES. Por supuesto debes permitir que la clave ajena pueda tener valores duplicados, ya que un mismo cliente puede tener varias facturas, por tanto, el código del cliente se repetirá en varios registros en la tabla FACTURAS. Saludos. |
Gracias
Gracias por la ayuda:)
|
Sigue sin funcionar
buenas de nuevo; he hecho lo que me habeis dicho y no funciona:
las claves estän definidas como sigue: En tabla1: NUMERO es Clave primaria e índice UNIQUE En tabla2 NUMERO es clave foranea(a NUMERO en tabla1) e índice NO UNIQUE y al hacer lo que me decís sigo con el error mencionado al principio. La idea era hacer dos tablas relacionadas maestro-detalle de forma que un factura maestra por ej.1000, tenga un detalle con varias lineas de esa factura 1000. Sin enrrollarme, una simple factura. Si me podéis ayudar un poco más... Gracias |
Cita:
Hasta Luego - |
Es ciertome equivoque
Lo paso a Error Firebird que es el mensaje al que me refería
Perdón...:( |
La franja horaria es GMT +2. Ahora son las 07:35:59. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi