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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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

En la tabla estudiante se <strong>de</strong>finen las columnas carrera, grupo y grado, pero al solicitar<br />

información <strong>de</strong> la estructura <strong>de</strong> la tabla observamos que también incluye<br />

las columnas <strong>de</strong>finidas en persona:<br />

<strong>de</strong>mo=# \d estudiante<br />

Table “estudiante”<br />

Column |Type | Modifiers<br />

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

nombre | character varying(30) |<br />

direccion | character varying(30) |<br />

carrera | character varying(50) |<br />

grupo | character(1) |<br />

grado | integer |<br />

En este caso, a la tabla persona la llamamos padre y a la tabla estudiante, hija.<br />

Cada registro <strong>de</strong> la tabla estudiante contiene 5 valores porque tiene 5 columnas:<br />

<strong>de</strong>mo=# insert into estudiante values (<br />

<strong>de</strong>mo(# ‘Juan’ ,<br />

<strong>de</strong>mo(# ‘Treboles 21’,<br />

<strong>de</strong>mo(# ‘Ingenieria en Computacion’,<br />

<strong>de</strong>mo(# ‘A’,<br />

<strong>de</strong>mo(# 3<br />

<strong>de</strong>mo(# );<br />

INSERT 24781 1<br />

La herencia no sólo permite que la tabla hija contenga las columnas <strong>de</strong><br />

la tabla padre, sino que establece una relación conceptual es-un.<br />

La consulta <strong>de</strong>l contenido <strong>de</strong> la tabla estudiante mostrará, por supuesto, un<br />

solo registro. Es <strong>de</strong>cir, no se heredan los <strong>datos</strong>, únicamente los campos (atributos)<br />

<strong>de</strong>l objeto:<br />

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

nombre |direccion |carrera |grupo | grado<br />

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

Juan | Treboles 21 | Ingenieria en Computacion | A | 3<br />

(1 row)

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

Saved successfully!

Ooh no, something went wrong!