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
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.
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:
Cannot add or update a child row: a foreign key constraint fails
Que bonita es la integridad referencial ::)
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?
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!
¿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.