elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  llaves foraneas
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: llaves foraneas  (Leído 2,023 veces)
m@o_614


Desconectado Desconectado

Mensajes: 389


Ver Perfil
llaves foraneas
« en: 28 Marzo 2014, 23:43 pm »

Saludos, ya puede instalar bien el postgres y ahora estoy creando dos tablas, una con datos de un empleado y otra del departamento al que pertence

CREATE TABLE compania.empleado (
    codigo       INT,
    nombrep      VARCHAR(15)    NOT NULL,
    apellido     VARCHAR(15)    NOT NULL,
    sexo         CHAR           DEFAULT 'M',
    salario      DECIMAL(10,2),
    nd           INT            NOT NULL,

   CONSTRAINT pk_empleado PRIMARY KEY (codigo)
);

esta es la primer tabla, y la segunda es:

CREATE TABLE compania.departamento (
    numerod      INT            NOT NULL,
    nombred      VARCHAR(25)    NOT NULL,
    gerente      CHAR(9)        NOT NULL,

   CONSTRAINT pk_departamento PRIMARY KEY(numerod)
);

despues el ejercicio me dice que tengo que definir una llave foranea que apunte al departamento al que pertenece el empleado (nd) y hago lo siguiente:

ALTER TABLE compania.empleado ADD CONSTRAINT restriccion FOREIGN KEY(nd) REFERENCES compania.departamento(numerod);

no me marca error, pero no se si he hecho la llave correctamente, y antes de seguir agregandole cosas a las tablas quiero saber si esta mal

gracias


En línea

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: llaves foraneas
« Respuesta #1 en: 28 Marzo 2014, 23:54 pm »

Hola.

Lo haz hecho correctamente.

Si quieres comprobar haz un insert a la tabla de empleado.
Tomando en cuenta que debes ingresar un nd que sepas que no existe en la tabla departamento.

Por ejemplo.

Código
  1. INSERT INTO empleado(codigo, nombrep, apellido, sexo, salario, nd) VALUES(1, 'nombre', 'apellido', 'M', 12000.00, 1);

Debes tener algun tipo de error.

En mysql sería:

Código:
Cannot add or update a child row: a foreign key constraint fails

Que bonita es la integridad referencial  ::)


En línea

abc
m@o_614


Desconectado Desconectado

Mensajes: 389


Ver Perfil
Re: llaves foraneas
« Respuesta #2 en: 29 Marzo 2014, 00:56 am »

muchas gracias por tu respuestaDarhius, una ultima pregunta si yo quiero respaldar la base de datos que acabo de hacer en un archivo.txt, como lo hago?? que comando tengo que usar?
En línea

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: llaves foraneas
« Respuesta #3 en: 29 Marzo 2014, 07:28 am »

Utilizas consola o una interfaz?.
Bueno aun así no sé como hacerlo xD nunca he utilizado postgres, pero una GUI puede facilitarte esa tarea.

Saludos!
En línea

abc
Carloswaldo
Traductor
Moderador Global
***
Desconectado Desconectado

Mensajes: 4.741


Nos reservamos el derecho de ban.


Ver Perfil WWW
Re: llaves foraneas
« Respuesta #4 en: 31 Marzo 2014, 17:57 pm »

¿Instalaste también el PgAdminIII?

En ese caso puedes hacer clic derecho en la base de datos (hay una lista de bases de datos a la izquierda en la pantalla principal) y darle en "Backup"

También puedes ir de la forma tradicional y usar pg_dump, en mi caso está ubicado en "C:\Program Files\PostgreSQL\9.3\bin>", si no sabes como usarlo pues está pg_dump --help

Además te recomendaría no usar .txt como extensión sino .sql, es más descriptivo.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
problemas con claves foraneas
Bases de Datos
Aeros 6 3,336 Último mensaje 14 Julio 2010, 03:47 am
por Aeros
Problema con las claves foraneas (errno 150)
Bases de Datos
Proteus1989 1 1,525 Último mensaje 30 Diciembre 2012, 23:51 pm
por RevangelyonX
llaves foraneas y primarias
Bases de Datos
m@o_614 1 1,267 Último mensaje 2 Mayo 2013, 06:53 am
por Carloswaldo
duda con llaves foraneas
Bases de Datos
d91 1 907 Último mensaje 31 Agosto 2015, 21:35 pm
por Carloswaldo
PHP y MYSQL relacion de llaves foraneas con llave primaria avanzado..
PHP
ppfenix79 2 1,768 Último mensaje 10 Febrero 2016, 18:14 pm
por MinusFour
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines