practica herencia

Upload: nayelitelles

Post on 20-Feb-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/24/2019 Practica Herencia

    1/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), direccionvarchar(30));

    CREATE TABLE

    2.-A partir de esta definicin, creamos la tabla estudiante como derivada depersona:

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

  • 7/24/2019 Practica Herencia

    2/5

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

    5.- La consulta del contenido de la tabla estudiante mostrar, por supuesto, unsolo 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 elmodificador ONLY:

    PRUEBA =# SELECT *FROM ONLY persona;

    No muestra a las personas que son estudiantes por lo tanto no muestra nada almenos que tuviera otras personas que no fueran estudiantes.

    8.- No es posible borrar una tabla padre si no se borran primero las tablas hijo.

  • 7/24/2019 Practica Herencia

    3/5

    9.- En PostgreSQL, una alternativa para no utilizar los OID es crear una columnade tipo serial en la tabla padre, as ser heredada en la hija. El tipo serial defineuna secuencia de valores que se ir incrementando de forma automtica, y porlo 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 lafuncin nextval() tal como nos indica la informacin de la columna:

    PRUEBA =# \d persona

    11.- Al definir un tipo serial, hemos creado implcitamente una secuenciaindependiente de la tabla. Podemos consultar las secuencias de nuestra base dedatos mediante el comando \ds:

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

  • 7/24/2019 Practica Herencia

    4/5

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

    14.- Insertaremos en la tabla algunos registros de ejemplo, omitiendo el valor parala columna id:

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

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

  • 7/24/2019 Practica Herencia

    5/5