postgresql - tutorial - Claves principales y externas en pgAdmin
postgresql wikipedia (4)
El siguiente SQL funcionará
SELECT
tc.constraint_name, tc.table_name, kcu.column_name,
ccu.table_name AS foreign_table_name,
ccu.column_name AS foreign_column_name
FROM
information_schema.table_constraints AS tc
JOIN information_schema.key_column_usage AS kcu
ON tc.constraint_name = kcu.constraint_name
JOIN information_schema.constraint_column_usage AS ccu
ON ccu.constraint_name = tc.constraint_name
WHERE constraint_type = ''PRIMARY KEY'' AND tc.table_name=''table_name'';
Me preguntaba si algunos podrían darme una explicación sobre cómo asignar claves principales y externas en pgAdmin.
No puedo encontrar ninguna información en línea.
Por ejemplo ... Tengo una tabla de estudiantes con todos sus detalles (dirección, dob y etc.). Voy a agregar un student_number a la tabla y convertirlo en una clave principal.
Solo quiero saber cómo hago eso usando pgAdmin? Y si es amable, explíqueme proporcione más información sobre el uso de las claves primarias en postgreSQL (y pgAdmin). El mismo caso con las claves externas.
En Pgadmin3,
- Vaya a la tabla a la que desee agregar PK o FK y haga clic con el botón derecho y seleccione Propiedades.
- Ve a la pestaña de restricciones.
- Elija la clave principal o la clave externa en la lista desplegable que se encuentra junto al botón Agregar.
- Y luego haz clic en el botón Agregar.
- Ir a la pestaña de columnas
- Elija el nombre de columna en la lista desplegable, que desea agregar.
- Haga clic en el botón Agregar.
Haga clic en el botón Ok.
Espero que sea útil para ti!
No existe ninguna opción en pgAdmin para agregar una columna a una tabla existente y convertirla en la clave principal al mismo tiempo, porque esto es casi imposible.
Una columna de clave principal debe contener valores únicos no nulos. Al agregar una columna a una tabla existente, contiene valores NULOS. Por lo tanto, debe ingresar valores únicos antes de poder agregar una restricción UNIQUE
o PRIMARY KEY
.
Sin embargo, hay una excepción a esa regla: si agrega una columna en serial
, los valores únicos se insertan automáticamente. En este caso, también puede definirla PRIMARY KEY de inmediato:
ALTER TABLE student ADD COLUMN student_number serial PRIMARY KEY;
Esto funciona en PostgreSQL 9.1. No estoy seguro de que lo haga en versiones anteriores, también.
pgAdmin no incorpora este caso especial para columnas en serial
en el cuadro de diálogo "Nueva columna ..." en este momento (versión 1.14).
Sí, hay una forma de agregar claves principales y externas en pgAdmin.
Probado en pgAdmin III Ver.1.16.1 (Windows 7)
- Seleccione la tabla que desea
- Ctrl + Alt + Intro o clic con el botón derecho / Propiedades
- Seleccione la pestaña "Restricciones"
- En el lado inferior izquierdo del formulario, verá la opción "Clave principal"
- Haga clic en agregar
- Seleccione la pestaña "Columnas"
- Seleccione la columna que desea como clave
- Haga clic en agregar
Y estás todo listo.
Puedes llenar más cosas si quieres, pero ahora sabes cómo llegar.