Los tipos estructurados se pueden declarar y usar como en el
siguiente ejemplo:
create type Editorial as(nombre varchar(20),sucursal
varchar(20))
create type Libro as (título varchar(20),
array-autores varchar(20) array [10], fecha-pub date,
editorial Editorial, lista-palabras-clave setof(varchar(20)))
create table libros of
type Libro
La primera instrucción define el tipo Editorial, que tiene dos componentes: un nombre y una sucursal. La segunda instrucción define el tipo Libro, que contiene título, array-autores, que es un array de autores, una fecha de publicación, una editorial (de tipo Editorial) y un conjunto de palabras clave. Los tipos ilustrados se denomina tipos estructurados.
Finalmente, se crea la tabla libros que contiene tuplas del
tipo Libro. El array permite registrar el orden de los nombres de
autores. Los tipos estructurados permiten la
representación directa de atributos compuestos de los diagramas E-R. También se
pueden usar tipos fila en SQL para definir atributos compuestos. Por
ejemplo, se podría haber definido un atributo editorial1 como
editorial1
row (nombre varchar(20),
sucursal varchar(29))
en lugar de crear un tipo con nombre Editorial.Por supuesto se pueden crear tablas sin crear un tipo intermedio
para la tabla. Por ejemplo, la tabla libros se podría también definir
como:
create
table libros
(título
varchar(20), array-autores varchar(20) array [10],
fecha-pub date, editorial Editorial, lista-palabras-clave
setof(varchar(20)))
Con esta declaración no hay un tipo explícito para las filas de la tabla.
Con esta declaración no hay un tipo explícito para las filas de la tabla.
Un tipo
estructurado puede tener métodos definidos sobre él. Los métodos se
declaran como parte de la definición de tipos de un tipo estructurado.
create type Empleado as (nombre varchar(20),sueldo
integer)
method incrementar(porcentaje integer)
El cuerpo del método se crea separadamente:
create
method incrementar(porcentaje integer) for
Empleado
begin
set selft.sueldo = self.sueldo + (self.sueldo*
porcentaje)/100
end
La
variable self se refiere al ejemplar del tipo estructurado sobre el que
se invoca el método. El cuerpo del método puede contener instrucciones
procedimentales.
Referencias
Silberschatz,
A. (2002). Fundamentos de Bases de Datos. Madrid: McGrauHill, Pag 213-214.
Este comentario ha sido eliminado por el autor.
ResponderBorrar