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 45 <strong>Bases</strong> <strong>de</strong> <strong>datos</strong> en PostgreSQL<br />

Nombre Tamaño Otros nombres Comentario<br />

bigint 8 bytes int8<br />

numeric(p,e) 11 + (p/2) ‘p’ es la precisión, ‘e’ es la escala<br />

real 4 bytes float, float4<br />

double precision 8 bytes float8<br />

serial<br />

No es un tipo, es un entero<br />

auto-incrementable<br />

Serial<br />

La <strong>de</strong>claración serial es un caso especial, ya que no se trata <strong>de</strong> un nuevo tipo. Cuando se<br />

utiliza como nombre <strong>de</strong> tipo <strong>de</strong> una columna, ésta tomará automáticamente valores consecutivos<br />

en cada nuevo registro.<br />

Ejemplo <strong>de</strong> una tabla que <strong>de</strong>fine la columna folio como tipo serial.<br />

create table Factura(<br />

folio serial,<br />

cliente varchar(30),<br />

monto real<br />

);<br />

PostgreSQL respon<strong>de</strong>ría esta instrucción con dos mensajes:<br />

• En el primero avisa que se ha creado una secuencia <strong>de</strong> nombre factura_folio_seq:<br />

NOTICE: CREATE TABLE will create implicit sequence ‘factura_folio_seq’ for SERIAL column ‘<br />

• En el segundo avisa <strong>de</strong> la creación <strong>de</strong> un índice único en la tabla utilizando la columna<br />

folio:<br />

NOTICE: CREATE TABLE / UNIQUE will create implicit in<strong>de</strong>x ‘factura_folio_key’ for table ‘factura’<br />

CREATE<br />

Si se <strong>de</strong>claran varias columnas con serial en una tabla, se creará una secuencia y un índice<br />

para cada una <strong>de</strong> ellas.<br />

4.7.3. Operadores numéricos<br />

PostgreSQL ofrece un conjunto pre<strong>de</strong>finido <strong>de</strong> operadores numéricos, que presentamos<br />

en la siguiente tabla:<br />

Símbolo<br />

Operador<br />

+ Adición<br />

- Substracción<br />

* Multiplicación<br />

/ División<br />

% Módulo<br />

^ Exponenciación<br />

|/ Raíz cuadrada<br />

Ejemplo<br />

select |/ 9;<br />

select 43 % 5;<br />

select !! 7;<br />

select 7!;

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

Saved successfully!

Ooh no, something went wrong!