Postgresql Orientado Aobjetos
• PostgreSQL ofrece como característica particular la herencia entre tablas, que permite definir una tabla que herede de otra previamente definida,
• Retomemos la tablapersona definida como sigue: • create table persona (nombre varchar (30), direccion varchar (30));
• A partir de esta definición, creamos la tabla estudiante como derivada depersona:
• create tableestudiante (demo(# carrera varchar(50),demo(# grupo char,demo(# grado intdemo(# ) inherits ( persona ); CREATE
insercion
• Cada registro de la tabla estudiante contiene 5 valores porque tiene 5columnas: • demo=# insert into estudiante values (demo(# ‘Juan’ ,demo(# ‘Treboles 21’,demo(# ‘Ingenieria en Computacion’,demo(# ‘A’, demo(# 3 demo(# ); INSERT 24781 1
consulta
• La consulta delcontenido de la tabla estudiante mostrará, por supuesto, un solo registro. Es decir, no se heredan los datos, únicamente los campos (atributos) del objeto: • select * from estudiante;
oid
• seutilizan internamente por PostgreSQL como claves principales para varias tablas del sistema. • no se agregan a las tablas creadas por el usuario, a menos CON OIDS se especifica cuando se crea la tabla, oel default_with_oids variable de configuración está habilitada.
• Tipo oid representa un identificador de objeto. También hay tipos de alias • varias oid : regproc , regprocedure , regop er ,regoperator , regclass y regty
• permiten búsqueda simplificada de los valores OID para los objetos. Por ejemplo, para examinar los pg_attribute filas relacionadas con una tabla mitabla , se podríaescribir • SELECT * FROM pg_attribute DONDE attrelid = 'mitabla' :: regclass;
Ejemplo de la utilización de OID para enlazar dos tablas
• Retomamos la tabla persona y construimos una nueva tabla paraalmacenar los teléfonos. demo=# create table telefono ( demo(# tipo char(10), demo(# numero varchar(16), demo(# propietario oid demo(# ); CREATE
Objeto-relacional
• . La mejor manera de pensar...
Regístrate para leer el documento completo.