Diferencia entre revisiones de «Base de datos objeto-relacional»

Contenido eliminado Contenido añadido
Sin resumen de edición
Etiquetas: Edición desde móvil Edición vía web móvil
Semibot (discusión · contribs.)
m Bot: reemplazando etiqueta source desaconsejada
Línea 23:
 
; Ejemplo
:<sourcesyntaxhighlight lang="sql">CREATE TYPE Persona (nombre VARCHAR(20), direccion VARCHAR(20))</sourcesyntaxhighlight>
Con esto se necesita definir varios tipos de personas:<br />
:<sourcesyntaxhighlight lang="sql">CREATE TYPE Estudiante UNDER Persona (curso VARCHAR(20), departamento VARCHAR(20));</sourcesyntaxhighlight>
:<sourcesyntaxhighlight lang="sql">CREATE TYPE Profesor UNDER Persona (sueldo INTEGER, departamento VARCHAR(20)) ;</sourcesyntaxhighlight>
 
=== Herencia de tablas ===
Línea 34:
 
; Ejemplo
:<sourcesyntaxhighlight lang="sql">CREATE TABLE estudiantes OF Estudiante UNDER persona;</sourcesyntaxhighlight>
 
== Funciones ==
Línea 43:
 
; Ejemplo
<sourcesyntaxhighlight lang="sql">
CREATE FUNCTION contar_hijos(RUT varchar(12)) return integer
BEGIN DECLARE cuenta integer;
SELECT COUNT(hijo) INTO cuenta FROM hijos WHERE usuario.RUT = RUT
RETURN cuenta;
END</sourcesyntaxhighlight>
 
Esta función se ocupa del siguiente modo:
 
:<sourcesyntaxhighlight lang="sql">
SELECT nombres FROM usuario WHERE contar_hijos (Rut) > 0;
</syntaxhighlight>
</source>
 
También se permite el polimorfismo, que quiere decir que pueden existir métodos con el mismo nombre, pero con distinta cantidad de argumentos.