06.09.2014 Views

Bases de datos: Software libre - Universitat Oberta de Catalunya

Bases de datos: Software libre - Universitat Oberta de Catalunya

Bases de datos: Software libre - Universitat Oberta de Catalunya

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

© FUOC • 71Z799014MO 30 <strong>Bases</strong> <strong>de</strong> <strong>datos</strong> en PostgreSQL<br />

El número con el que respon<strong>de</strong> el comando insert se refiere al OID <strong>de</strong>l registro<br />

insertado.<br />

Este aspecto se explicará en <strong>de</strong>talle<br />

más a<strong>de</strong>lante.<br />

Las consultas se realizan con la sentencia SQL select. En este caso solicitamos<br />

que nos muestre todas las columnas <strong>de</strong> los registros en la tabla persona:<br />

<strong>de</strong>mo=# select * from persona;<br />

nombre<br />

|direccion<br />

-----------------------+------------<br />

Alejandro Magno | Babilonia<br />

Fe<strong>de</strong>rico García Lorca | Granada 65<br />

(2 rows)<br />

<strong>de</strong>mo=#<br />

Las tablas creadas en PostgreSQL incluyen, por <strong>de</strong>fecto, varias columnas ocultas<br />

que almacenan información acerca <strong>de</strong>l i<strong>de</strong>ntificador <strong>de</strong> transacción en que<br />

pue<strong>de</strong>n estar implicadas, la localización física <strong>de</strong>l registro <strong>de</strong>ntro <strong>de</strong> la tabla<br />

(para localizarla muy rápidamente) y, los más importantes, el OID y el TABLE-<br />

OID. Estas últimas columnas están <strong>de</strong>finidas con un tipo <strong>de</strong> <strong>datos</strong> especial llamado<br />

i<strong>de</strong>ntificador <strong>de</strong> objeto (OID) que se implementa como un entero<br />

positivo <strong>de</strong> 32 bits. Cuando se inserta un nuevo registro en una tabla se le asigna<br />

un número consecutivo como OID, y el TABLEOID <strong>de</strong> la tabla que le correspon<strong>de</strong>.<br />

En la programación orientada a objetos, el concepto <strong>de</strong> OID es <strong>de</strong> vital<br />

importancia, ya que se refiere a la i<strong>de</strong>ntidad propia <strong>de</strong>l objeto, lo que lo<br />

diferencia <strong>de</strong> los <strong>de</strong>más objetos.<br />

Para observar las columnas ocultas, <strong>de</strong>bemos hacer referencia a ellas específicamente<br />

en el comando select:<br />

<strong>de</strong>mo=# select oid, tableoid, * from persona;<br />

oid |tableoid |nombre |direccion<br />

-------+----------+-----------------------+------------<br />

17242 | 17240 | Alejandro Magno | Babilonia<br />

17243 | 17240 | Fe<strong>de</strong>rico García Lorca | Granada 65<br />

(2 rows)<br />

<strong>de</strong>mo=#<br />

Estas columnas se implementan para servir <strong>de</strong> i<strong>de</strong>ntificadores en la realización<br />

<strong>de</strong> enlaces <strong>de</strong>s<strong>de</strong> otras tablas.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!