You are here
Clave Foránea o referenciada PostgresSQL Programación 

Clave Foránea o referenciada PostgresSQL

Clave Foránea o referenciada PostgresSQL

Una clave foránea es simplemente un campo en una tabla que se corresponde con la clave primaria de otra tabla.

Por ejemplo: Si al ejemplo de la tabla ‘Libros’ le agregamos las editoriales de los libros cuyos campos son: código y  nombre; pudieramos decir que la tabla ‘Libros’ puede tener una clave foránea llamada ‘codEditorial’ para enlazar los libros con las editoriales. Gráficamente

sería así:

Clave Foránea o referenciada PostgresSQL

La sintaxis para definir una clave foránea es la siguiente:

CREATE TABLE nombre_tabla(

nombre_campo1 tipo_de_dato,…

nombre_campoN tipo_de_dato, primary key (nombre_campo),

foreign key(nombre_campo) references tabla (campo)

);

Por ejemplo: Tomando en cuenta la tabla ‘Libros’  con sus atributos y la tabla ‘Editorial’ con sus atributos, definiríamos en Postgres9.x la relación de la siguiente manera:

CREATE TABLE editorial(

CREATE TABLE libros(

idEditorial varchar(10),

codigo varchar(10),

nombre varchar(40),

titulo varchar(40),

primary key(idEditorial)

autor varchar(20),);

precio numeric(4,2),

codEditorial varchar(10),

primary key(codigo),

foreign   key   (codEditorial)   references   editorial

(idEditorial)

);

Las claves foráneas y las claves primarias deben ser del mismo tipo para poder enlazarse. En conclusión, una clave foránea es un campo  empleado para enlazar datos de 2 tablas.

Uso de la Acción CASCADE

Esta acción borra o actualiza automáticamente todas las referencias activas. Para borrar o actualizar los registros se requiere que la tabla que utilice esta acción cuente con claves foráneas. Por ejemplo:

CREATE TABLE libros(

codigo serial, titulo varchar(40), autor varchar(20), precio numeric(4,2), codEditorial serial, primary key(codigo),

foreign key (codEditorial) references editorial (idEditorial) ON UPDATE CASCADE ON DELETE CASCADE

);

¿Cómo identificar las claves foráneas?¿En qué tabla se define una clave foránea?

Para cada entidad del esquema se creará una tabla con tantos campos como atributos tenga la entidad. Un atributo será clave foránea cuando se requiera tener información asociada de otra tabla.

Cuando traducimos el modelo ER a tablas en Postgres9.1, las relaciones nos ayudarán a identificar donde debe ir un campo con clave foránea. Las relaciones son las siguientes:

Relación 1-1 se pueden reflejar incluyendo en una de las dos tablas un campo en el que  poder  colocar  la  clave  del  elemento  de  la  otra  tabla  con  el  que  se  está relacionado. Ese nuevo campo sería una clave foránea.

Relación 1-N se representan de forma muy parecida a como se ha explicado para las relaciones 1-1. La diferencia está en que ahora no es indiferente donde se coloque la clave foránea, esta debe estar obligatoriamente en la tabla de ‘uno’ (1); y además, para este caso si se permitirá que haya valores repetidos en dicho campo.

Para representar la Relación N-N en tablas lo que se hace es crear una nueva tabla solamente para la relación. Esta nueva tabla tendrá dos claves foráneas y su propia clave estará formada por la unión de las claves foráneas.

Funciones de agrupamiento

Son funciones que se utilizan para determinar estadísticas relacionas con un conjunto de valores. Dentro de las más utilizadas se pueden nombrar:

MAX (Valor máximo)

Devuelve el valor más alto de un campo seleccionado. La sintaxis es la siguiente: SELECT MAX(campo) FROM nombre_tabla;

MIN (Valor mínimo)

Devuelve el valor más pequeño de un campo seleccionado. La sintaxis es la siguiente: SELECT MIN(campo) FROM nombre_tabla;

SUM (Sumas o Totales)

Devuelve la suma de un conjunto de valores de un campo específico de la tabla. La sintaxis es la siguiente:

SELECT SUM(campo) FROM nombre_tabla;

COUNT

Devuelve el número de filas que cumplen con una consulta. La sintaxis es la siguiente:

SELECT COUNT(campo) FROM nombre_tabla;

AVG

Retorna el valor promedio de un campo especificado.

SELECT AVG (campo) FROM nombre_tabla;


Si quieres seguir aprendiendo con nosotros, puedes ingresar a nuestros

Cursos y Diplomados de Tecnología Web visita www.uneweb.edu.ve  para más información

Related posts