Please enable JavaScript.
Coggle requires JavaScript to display documents.
Bases de Datos Relacionales Orientadas a Objetos (Tipos de Referencia (El…
Bases de Datos Relacionales Orientadas a Objetos
Relaciones anidadas
El modelo relacional anidado es una extensión del modelo relacional en la que los dominios pueden ser atómicos o de relación
El valor de las tuplas de los atributos pueden ser una relación, y las relaciones pueden guardarse en otras relaciones
Los objetos complejos pueden representarse mediante una única tupla de las relaciones anidadas
Tipos Complejos
Tipos de colección y tipos de objetos de gran tamaño
Tipos estructurados
Permiten representar
Identidad de las entidades
Atributos multivalorados
Generalización
Especialización
Herencia
Herencia de Tipos
Los métodos de un tipo estructurado se heredan por sus subtipos al igual que los atributos
Un subtipo puede redefinir el efecto de un método declarando de nuevo el métodos, usando "overriding method" en lugar del "method" en la declaración del método
Herencia de tablas
Los tipos de las subtablas deben ser subtipos del tipo de la tabla padre
Cada tupla presente en las subtablas también está implícitamente en la tabla padre
Si una consulta usa la tabla padre, encontrará no solo las tuplas insertadas directamente en la tabla, sino también las tuplas insertadas en sus subtablas
Requisitos de consistencia para las subtablas
Cada tupla de la supertabla puede corresponder a lo sumo con una tupla de cada una de sus subtablas inmediatas
Tiene una restricción adicional que establece que todas las tuplas que se correspondan se deben derivar de una tupla
Formas de guardado de las subtablas
Cada tabla almacena la clave primaria y los atributos definidos localmente
Cada tabla almacena todos los atributos heredados y definidos localmente
Solapamiento de subtablas
Para que cada entidad tenga exactamente un tipo más específico habría que crea un subtipo para cada combinación posible de los supertipos
Un mejor enfoque es permitir que un objeto tenga varios tipos, sin que tenga un tipo más específico
Tipos de Referencia
El atributo de un tipo puede ser una referencia a un objeto de un tipo especificado
Para inicializar un atributo referencia es necesario obtener el identificador de la tupla a la que va a hacer referencia
Se puede obtener el valor del identificador de una tupla mediante una consulta
La definición de tabla debe especificar que la referencia es derivada y aún debe especificar un nombre de atributo autorreferencial
Consultas con Tipos Complejos
Expresiones de la ruta
Una expresión como «director–>nombre» se denomina
una expresión de ruta
Atributos de tipo colección
Una expresión que evalúe a una colección puede aparecer en cualquier lugar en que aparezca un nombre de relación, tal como la cláusula "from"
Anidamiento y desanidamiento
La transformación de una relación anidada en una forma con menos (o sin) atributos de tipo relación se denomina desanidamiento
El proceso inverso de transformar una relación 1FN en una relación anidada se denomina anidamiento
Funciones y Procedimientos
SQL
Las funciones son particularmente útiles con tipos de datos especializados tales como las imágenes y los objetos geométricos
Los métodos se pueden ver como funciones asociadas a tipos estructurados, Tienen un primer parámetro implícito denominado "self", que establece el valor del tipo estructurado sobre el que se invoca el método
Los procedimientos se pueden invocar desde un procedimiento SQL o desde SQL incorporado con la instrucción "call"
Permite que más de una procedimiento tenga el mismo nombre mientas que el número de los argumentos de estos procedimientos sea diferente
También permite que más de una función tenga el mismo nombre, siempre que las funciones con el mismo nombre tengan un número diferente de argumentos o que las que tengan el mismo número difieran al menos en el tipo de un argumento
Rutinas externas del lenguaje
Permite definir funciones en un lenguaje de programación tal como C o C++
Las funciones definidas así pueden ser más eficientes que las definidas en SQL
Los procedimientos externos del lenguaje necesitan manejar valores nulos y excepciones
Las funciones definidas en un lenguaje de programación y compiladas fuera del sistema de bases de datos se pueden cargar y ejecutar con el código del sistema de bases de datos
Constructoras procedimentales
La parte que maneja estas constructoras se denomina Módulo de Almacenamiento Persistente
Una instrucción compuesta es de la forma begin ... end, y puede contener varias instucciones SQL entre begin y end