Implementación de Base de Datos
Implementación de Base de Datos
Profesora Integrantes:
Ing. Tibayde Garcia Jhosman Pino C.I:27.878.809
Inf 02 - TIII
Introducción.
Desde la realización del primer modelo de datos, pasando por la administración del
sistema gestor, hasta llegar al desarrollo de la aplicación, los conceptos y la tecnología
asociados a las Bases de Datos son muchos y muy diversos. Sin embargo, es imprescindible
conocer los aspectos claves de cada uno de estos temas para tener éxito en cualquier
proyecto que implique trabajar con bases de datos.
Objeto Relacional: El término Base de Datos Objeto Relacional (BDOR) se usa para
describir una base de datos que ha evolucionado desde el modelo relacional hacia otra más
amplia que incorpora conceptos del paradigma orientado a objetos. Por tanto, un Sistema de
Gestión Objeto-Relacional (SGBDOR) contiene ambas tecnologías: relacional y de objetos.
Una idea básica de las BDOR es que el usuario pueda crear sus propios tipos de datos,
para ser utilizados en aquella tecnología que permita la implementación de tipos de datos
predefinidos. Además, las BDOR permiten crear métodos para esos tipos de datos. Con
ello, este tipo de SGBD hace posible la creación de funciones miembro usando tipos de
datos definidos por el usuario, lo que proporciona flexibilidad y seguridad.
Los SGBDOR gestionan tipos de datos complejos con un esfuerzo mínimo y albergan
parte de la aplicación en el servidor de base de datos. Permiten almacenar datos complejos
de una aplicación dentro de la BDOR sin necesidad de forzar los tipos de datos
tradicionales. Son compatibles en sentido ascendente con las bases de datos relacionales
tradicionales, tan familiares a multitud de usuarios. Es decir, se pueden pasar las
aplicaciones sobre bases de datos relacionales al nuevo modelo sin tener que rescribirlas.
Adicionalmente, se pueden ir adaptando las aplicaciones y bases de datos para que utilicen
las funciones orientadas a objetos.
Una base de datos orientada a objetos es una base de datos que incorpora todos los
conceptos importantes del paradigma de objetos, algunas características que podemos
mencionar:
Herencia: Propiedad a través de la cual los objetos heredan comportamiento dentro de una
jerarquía de clases.
Polimorfismo: Propiedad de una operación mediante la cual puede ser aplicada a distintos
tipos de objetos.
En una base de datos objeto relacional los dominios de dicha base de datos ya no son
sólo atómicos, por esta razón no cumplen la 1FN debido a que las tuplas también pueden
ser una relación, que llevará a la creación de una relación de relaciones, es así que no se
puede aplicar el concepto de normalización. Esto porque ni siquiera se puede aplicar la
primera forma normal y como consecuencia ni la segunda, ni tercera.
De este modo, se genera la posibilidad de guardar objetos más complejos en una sola
tabla con referencias a otras relaciones, con lo que se acerca más al paradigma de
programación orientada a objetos.
Una de las herramientas que podemos citar para el manejo de estas bases de datos
objeto-relacional es la siguiente:
Oracle también proporciona mecanismos para asociar métodos a tipos, y constructores para
diseñar tipos de datos multivaluados (colecciones) y tablas anidadas.
Base de Datos Activas: El paradigma de bases de datos activas planteado por Morgenstern
en 1983, describe la noción de una base de datos activa, como una metáfora de su
comportamiento, el cual se concentra en la dinámica de la interacción con los usuarios
unido a la inteligencia de la base de datos.
Las Bases de Datos Activas son formas inteligentes de base de datos, ellas eliminan la
necesidad de muchos de los subsistemas de aplicación que se requieren actualmente para
traer bases de datos pasivas hasta estándares razonables de operación. Una Base de Datos
Activa confía en un conjunto de reglas predefinidas, que pueden incorporar disparadores,
condiciones y acciones. De esta manera es posible definir una Base de Datos Activa con las
reglas que permiten que asuma el control de funciones tales como restricciones de
integridad, vistas, seguridad. El modelo que se viene utilizando para especificar bases de
datos activas es el modelo evento–condición–acción:
El evento (o eventos): Un evento se concibe como una pareja {<Tipo de evento>, <Toc>},
donde el tipo de evento es la descripción o especificación del evento a detectar y toc
(tiempo de ocurrencia) corresponde al punto en el tiempo cuando ocurre dicho tipo de
evento. Pueden ser operaciones de consulta o actualización que se aplican explícitamente
sobre la base de datos. También pueden ser eventos temporales (por ejemplo, que sea una
determinada hora del día) u otro tipo de eventos externos (definidos por el usuario).
La condición: Una condición puede ser un predicado sobre los parámetros del evento que
disparó la regla, puede ser una consulta sobre la base de datos (si retorna filas la condición
se cumple), o el llamado a un procedimiento o método que debe retornar verdadero o falso
o una combinación de los anteriores. La condición no debe modificar la base de datos ni
causar efectos colaterales. Si no se especifica condición, la acción se ejecutaría cuando
suceda el evento. Si se especifica condición, la acción se ejecutaría sólo si la condición es
evaluada en verdadero.
La acción: La acción puede realizar consultas o modificaciones sobre la base de datos,
cancelar transacciones, o llamar uno o más procedimientos o métodos arbitrarios. Debido a
que la acción puede realizar modificaciones sobre la base de datos, ésta puede ocasionar la
ocurrencia de nuevos eventos y por tanto provocar el disparo en cascada de nuevas reglas.
No es difícil diseñar reglas activas de modo individual, una vez se han identificado
claramente el evento, la condición y la acción. Sin embargo, entender el comportamiento
colectivo de las reglas activas es más complejo ya que su interacción suele ser sutil. Por
este motivo, el problema principal en el diseño de las bases de datos activas está en
entender el comportamiento de conjuntos complejos de reglas. Las propiedades principales
de estas reglas son terminación, confluencia e idéntico comportamiento observable.
Las aplicaciones clásicas de las reglas activas son internas a la base de datos: el gestor de
reglas activas trabaja como un subsistema del SGBD implementando algunas de sus
funciones. En este caso, los disparadores son generados por el sistema y no son visibles por
parte de los usuarios. La característica típica de las aplicaciones internas es la posibilidad
de dar una especificación declarativa de las funciones, a partir de la que derivar las reglas
activas. Ejemplos de ello son el mantenimiento dela integridad referencial (FOREIGN
KEY) y el mantenimiento de restricciones de integridad (CHECK). Por ejemplo, cuando
una clave ajena es compuesta, la regla de integridad referencial dice lo siguiente: “si en una
relación hay alguna clave ajena, sus valores deben coincidir con valores de la clave
primaria ala que hace referencia, o bien, deben ser completamente nulos.” En Oracle es el
propio sistema quien se encarga de hacer respetar la primera parte de esta regla, una vez
que el usuario ha definido las claves ajenas:
Sin embargo, la segunda parte de la regla se debe hacer respetar mediante una restricción:
Debe ser una expresión booleana que se pueda evaluar usando los valores de la fila
que se inserta o que se actualiza;
No puede contener sub-consultas;
No puede incluir las funciones SYSDATE, UID, USER, USERENV;
Base de Datos Deductivas: Los Sistemas de Bases de Datos Deductivas, llamados también
de Sistemas de Bases de Conocimiento, generalizan los sistemas tradicionales de bases de
datos, particularmente los sistemas relacionales. Una base de datos deductiva se compone
de dos tipos de información: hechos y reglas. Los hechos representan la información
almacenada explícitamente y constituyen la parte extensional de la base de datos; las reglas
deductivas permiten derivar información a partir del conjunto de hechos y constituyen la
parte intencional de la base de datos. La incorporación de un lenguaje de reglas que permite
definir información implícita, aumenta la capacidad expresiva de estos sistemas, pero al
mismo tiempo agrava los problemas de manipulación, ya existentes en los sistemas
clásicos: actualización de la base de datos, comprobación de la integridad, evaluación de
consultas, etc. En la solución de estos problemas, la lógica, y más concretamente la
programación lógica, ha ocupado un lugar importante, proporcionando una base para la
representación del conocimiento (semántica declarativa) y una base para su procesamiento
(semántica procedural). Una característica de las BDD compartida con las bases de datos
relacionales es la propiedad de ser declarativos. Esto significa que permite al usuario hacer
una consulta o actualización diciendo específicamente lo que quieren, en vez de como
realizar la operación.
La sentencia SQL para crear un disparador tiene la sintaxis que se muestra a continuación:
| OLD_TABLE [ AS ] nombre_old_table
| NEW_TABLE [ AS ] nombre_new_table } ]
[ WHEN ( condición ) ]
Temporales: Es una base de datos que soporta algunos aspectos de tiempo, no contando el
tiempo definido por el usuario. Mantiene información histórica.
Difusas: Las bases de datos difusas nacen de unir la teoría de bases de datos,
principalmente del modelo relacional con la teoría de conjuntos difusos, para permitir,
básicamente dos objetivos:
Las BDD declarativas son sumamente intuitivas para el usuario y le permite abstraerse
de los problemas de programación inherentes a otros métodos. Este modelo suele usarse
para bases de conocimiento que no son más que BDD con mecanismos de consulta en lo
que el trabajo de extracción de información a partir de los datos recae en realidad sobre el
ordenador en lugar de sobre el usuario. Entre las BDD declarativas podemos citar
fundamentalmente dos de las deductivas y las funcionales. Ambas extienden paradigmas o
métodos de programación a las bases de datos de manera que ambos programas y BDD
puedan cooperar más eficientemente en la resolución del problema.
Por integración se entiende generalmente el proceso de unión entre dos o más partes para
formar una sola unidad. Extendiendo esta definición al mundo de la tecnología, podría
decirse que la integración hace referencia a la posibilidad de hacer que dos o más sistemas
o aplicaciones se comuniquen, compartiendo entre ellos la información suficiente para que
esto suceda. También se puede ver cómo la inclusión de aplicaciones aparentemente
separadas para constituir un sistema homogéneo.
Las plataformas para la Integración de información ayudan a resolver de forma eficiente los
principales retos que plantea la interoperabilidad entre sistemas:
Entidad: Es aquel objeto, real o abstracto, acerca del cual se desea almacenar información
en la base de datos. La estructura genérica de un conjunto de entidades con las mismas
características se denomina tipo de entidad.
Existen dos clases de entidades: regulares, que tienen existencia por sí mismas, y débiles
cuya existencia depende de otra entidad. Las entidades deben cumplir las siguientes tres
reglas:
La relación puede ser regular, si asocia tipos de entidad regulares, o débil, si asocia un tipo
de entidad débil con un tipo de entidad regular. Dentro de las relaciones débiles se
distinguen la dependencia en existencia y la dependencia en identificación.
Dependencia en Existencia: cuando las ocurrencias de un tipo de entidad débil no pueden
existir sin la ocurrencia de la entidad regular de la que dependen.
Relaciones 1:1: Cada ocurrencia de una entidad se relaciona con una y sólo una
ocurrencia de la otra entidad.
Relaciones 1: N: Cada ocurrencia de una entidad puede estar relacionada con cero,
una o varias ocurrencias de la otra entidad.
Relaciones M: N: Cada ocurrencia de una entidad puede estar relacionada con cero,
una o varias ocurrencias de la otra entidad y cada ocurrencia de la otra entidad
puede corresponder a cero, una o varias ocurrencias de la primera.
Cardinalidad: representa la participación en la relación de cada una de las
entidades afectadas, es decir, el número máximo y mínimo de ocurrencias de un tipo
de entidad que pueden estar interrelacionadas con una ocurrencia de otro tipo de
entidad. La cardinalidad máxima coincide con el tipo de correspondencia.
Univaluado, atributo que sólo puede tomar un valor para todas y cada una de las
ocurrencias del tipo de entidad al que pertenece.
Obligatorio, atributo que tiene que tomar al menos un valor para todas y cada una de
las ocurrencias del tipo de entidad al que pertenece.
Bases de Datos Especiales: Una base de datos espacial es capaz de modelar, almacenar y
consultar tanto datos estándar no espaciales (o alfanuméricos) como datos espaciales. En la
práctica, los primeros siempre están conectados con los segundos, por lo que una base de
datos que manejara solamente información espacial específica sería insuficiente para hacer
un modelaje correcto.
Bases de Datos de Imágenes: Cuando un campo se define como Imagen (Base de datos)
utiliza imágenes almacenadas en el servidor. Las imágenes se almacenan en la base de
datos como texto.
Conclusión
En este trabajo hemos determinado que, con la introducción de los Sistemas de Gestión
de Bases de Datos basados en reglas, la interpretación y adaptación del Mundo Real, puede
ser interpretado de manera fácil y eficaz, dado las reglas constituyen la más sencilla de las
metodologías utilizadas para este fin.
Así mismo concluimos que con las investigaciones realizadas sobre la relación entre la
teoría de las bases de datos y la lógica se ha dado lugar a las bases de datos deductivas, las
cuales permiten derivar nueva información a partir de la ya introducida explícitamente por
el usuario. Esta función deductiva se realiza mediante la adecuada explotación de ciertas
reglas de conocimiento relativas al dominio de la aplicación, utilizando para ello técnicas
de programación lógica y de inteligencia artificial. Sin embargo, el campo de las bases de
datos deductivas, tan prometedor hace pocos hace pocos años, no ha eclosionado todavía.