Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   llaves primaria (https://www.clubdelphi.com/foros/showthread.php?t=66039)

bothy 29-01-2010 05:22:28

llaves primaria
 
Tengo una base de datos en firebird Ibexpert..
quisiera saber como se crean las llaves primarias y las foraneas . como
son los pasos para crearlas..

Ñuño Martínez 29-01-2010 10:05:51

Holap. Una corrección: en castellano (o español, que en este caso es lo mismo ;)) al primary key se le llama clave primaria, no llave.

Respecto a cómo crear una clave primaria, si utilizamos SQL puro sería tal que así:
Código SQL [-]
CREATE TABLE `mi_tabla` (
  id INTEGER NOT NULL,
  blabla VARCHAR,
  PRIMARY KEY (id)
);

Para crear una clave foránea (o externa) en otra tabla que se relacionase anterior, podemos escribir:

Código SQL [-]
CREATE TABLE `otra_tabla` (
  id INTEGER NOT NULL,
  blabla VARCHAR,
  mi_tabla_id INTEGER NOT NULL,
  PRIMARY KEY (id),
  FOREIGN KEY (mi_tabla_id) REFERENCES mi_tabla(id)
);

Nunca he utilizado Firebird, así que no estoy seguro de que funcione este código "tal cual". Cada gestor tiene sus detalles y manías, pero si no te funciona dilo y te presentamos alternativas.

marcoszorrilla 29-01-2010 11:12:20

Otro ejemplo:
Código:

Create Table LinAmortiza(
Id Integer Not Null,
SbCuenta Varchar(7) Not Null,
Annee Varchar(4) Not Null,
Importe DM_Euro,
Observa Varchar(60));


Alter Table LinAmortiza Add constraint Pk_LinAmortiza_Id  PRIMARY KEY (Id);
Create Index ID_LinAmortiza_SbCuenta  On LinAmortiza(SbCuenta);
Create Index Id_LinAmortiza_sbCuenta_annee On LinAmortiza(Sbcuenta, Annee);
Alter Table LinAmortiza Add Foreign Key(SbCuenta) References Amortiza(SbCuenta);

Un Saludo.

guillotmarc 29-01-2010 11:45:48

Y puesto que dices que usas IBExpert, también lo puedes hacer a golpe de ratón.

Para ello tienes que abrir la tabla en cuestión, en la ventana de la tabla tienes varias pestañas (por defecto te encuentras en la primera : Fields).

Si te cambias a la segunda pestaña : Constraints, pueds quitar y cambiar la clave primaria.

En la tercera pestaña : Indices, puedes quitar y añadir indices.

Saludos.

bothy 29-01-2010 19:47:14

Listo ya logre crearlas
 
Grasias guillotmarc a golpe de raton las pude crear asi se me iso mas facil
muchas grasias .......


La franja horaria es GMT +2. Ahora son las 10:10:01.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi