Sie sind auf Seite 1von 5

Taller de Administracin de Bases de Datos

Prctica: Herencia

Seguir los pasos de manera consecutiva

1.- Retomemos la tabla persona definida como sigue:


PRUEBA=# create table persona(nombre varchar(30), direccion
varchar(30));
CREATE TABLE
2.- A partir de esta definicin, creamos la tabla estudiante como derivada de
persona:

3.- En la tabla estudiante se definen las columnas carrera, grupo y grado, pero al
solicitar informacin de la estructura de la tabla observamos que tambin incluye
las columnas definidas en persona:

4.- Cada registro de la tabla estudiante contiene 5 valores porque tiene 5


columnas:

5.- La consulta del contenido de la tabla estudiante mostrar, por supuesto, un


solo registro. Es decir, no se heredan los datos, nicamente los campos (atributos)
del objeto:

6.- Adems, la consulta de la tabla persona mostrar un nuevo registro:

7.- Para consultar slo a las personas que no son estudiantes, podemos utilizar el
modificador ONLY:
PRUEBA =# SELECT *FROM ONLY persona;

No muestra a las personas que son estudiantes por lo tanto no muestra nada al
menos que tuviera otras personas que no fueran estudiantes.
8.- No es posible borrar una tabla padre si no se borran primero las tablas hijo.

9.- En PostgreSQL, una alternativa para no utilizar los OID es crear una columna
de tipo serial en la tabla padre, as ser heredada en la hija. El tipo serial define
una secuencia de valores que se ir incrementando de forma automtica, y por
lo tanto constituye una buena forma de crear claves primarias.
Nota: Para poder aplicar este paso se debe eliminar la tabla persona y estudiante.

10.- La columna id se define como un entero y se incrementar utilizando la


funcin nextval() tal como nos indica la informacin de la columna:
PRUEBA =# \d persona

11.- Al definir un tipo serial, hemos creado implcitamente una secuencia


independiente de la tabla. Podemos consultar las secuencias de nuestra base de
datos mediante el comando \ds:

12.- Creamos nuevamente la tabla estudiante heredando de persona:

13.- El estudiante heredar la columna id y se incrementar utilizando la misma


secuencia:

14.- Insertaremos en la tabla algunos registros de ejemplo, omitiendo el valor para


la columna id:

15.- La tabla estudiante contendr un solo registro, pero su identificador es el


nmero 3.

16.- Todos los registros de persona siguen una misma secuencia sin importar si
son padres o hijos:

Das könnte Ihnen auch gefallen