SlideShare une entreprise Scribd logo
1  sur  40
Edwar Andrés Ruiz Medina
         @EdwarRuiz324

Andrés Felipe Montoya Ríos
      re.vu/AndresMontoya
             @montoya118
Conceptos básicos
   Clase: definiciones de las propiedades y
    comportamiento de un tipo de objeto concreto.
    La instanciación es la lectura de estas
    definiciones y la creación de un objeto a partir
    de ellas.

   Objeto: entidad provista de un conjunto de
    propiedades o atributos (datos) y de
    comportamiento o funcionalidad (métodos) los
    mismos que consecuentemente reaccionan a
    eventos. Se corresponde con los objetos reales
    del mundo que nos rodea, o a objetos internos
    del sistema (del programa). Es una instancia a
    una clase.
   Herencia simple: Una clase implanta el tipo de
    objeto. Una Subclase hereda propiedades de su clase
    padre, una subclase puede heredar la estructura y los
    métodos ó algunos de los métodos.

   Herencia múltiple. Cuando una clase hereda de mas
    de una superclase se tiene herencia múltiple.

   Método: Algoritmo asociado a un objeto (o a una
    clase de objetos), cuya ejecución se desencadena
    tras la recepción de un "mensaje". Desde el punto de
    vista del comportamiento, es lo que el objeto puede
    hacer. Un método puede producir un cambio en las
    propiedades del objeto, o la generación de un
    "evento" con un nuevo mensaje para otro objeto del
    sistema.
HAY VARIOS TIPOS DE MÉTODOS QUE SON
       COMUNES A LA MAYORÍA DE LAS CLASES:

   CONSTRUCTORES: Un constructor es un método que
    tiene el mismo nombre que la clase. Se ejecuta
    cuando se crea un objeto de una clase. Por lo tanto, un
    constructor contiene instrucciones para inicializar las
    variables de un objeto.

   DESTRUCTORES: Un destructor es un método que se
    utiliza para destruir un objeto.
     No todos los lenguajes orientados a objetos poseen
    destructores.

   ACCESORES: Un accesor es un método que devuelve
    el valor de un atributo privado de otro objeto. Así es
    como los objetos externos pueden acceder a los datos
    encapsulados.
   MUTADORES: Un mutador es un método que
    almacena un nuevo valor en un atributo.
     De este modo es como objetos externos pueden
    modificar los datos encapsulados.

   SOBRECARGA DE MÉTODOS: Una de las
    características de las clases es que pueden tener
    métodos sobrecargados, que son métodos que
    tienen el mismo nombre pero que necesitan distintos
    datos para operar.

   POLIMORFISMO: En general, las subclases
    heredan los métodos de sus superclases y los
    utilizan como si fueran suyos. Sin embargo, en
    algunas ocasiones no es posible escribir un método
    genérico que pueda ser usado por todas las
    subclases.
   Evento: Es un suceso en el sistema (tal como una
    interacción del usuario con la máquina, o un
    mensaje enviado por un objeto). El sistema
    maneja el evento enviando el mensaje adecuado
    al objeto pertinente. También se puede definir
    como evento, a la reacción que puede
    desencadenar un objeto, es decir la acción que
    genera.
Características asociadas al
POO
   Abstracción: consiste en captar las
    características esenciales de un objeto, así
    como su comportamiento.
     Ejemplo.
    ¿Qué características semejantes tienen
    todos los automóviles?
    Todos tendrán una marca, un modelo,
    número de chasis, peso, llantas, puertas,
    ventanas, etc. Y en cuanto a su
    comportamiento todos los automóviles
    podrán acelerar, frenar, retroceder, etc.
   Ocultamiento: Es la capacidad de
    ocultar los detalles internos del
    comportamiento de una Clase y exponer
    sólo los detalles que sean necesarios
    para el resto del sistema.
    El ocultamiento permite 2 cosas:
    restringir y controlar el uso de la Clase.
 Encapsulamiento: Consiste en unir en la
  Clase        las      características    y
  comportamientos, esto es, las variables y
  métodos. Es tener todo esto es una sola
  entidad.
 La utilidad del encapsulamiento va por la
  facilidad para manejar la complejidad, ya
  que tendremos a las Clases como cajas
  negras donde sólo se conoce el
  comportamiento pero no los detalles
  internos, y esto es conveniente porque nos
  interesará será conocer qué hace la Clase
  pero no será necesario saber cómo lo
  hace.
Los SGBDOO son creados gracias a la
  falta de capacidad semántica del
  modelo relacional con el propósito de
  atender nuevos tipos de aplicaciones.

  o   Diseño y fabricación en ingeniería
  o   Bases de datos graficas y de imágenes
  o   Bases de datos científicas
  o   Sistemas de información geográficas
  o   Bases de datos multimedia
  o   Accesos uniforme a sistemas de múltiples
      bases de datos
   Otro motivo para la creación de las
    bases de datos orientadas a objetos es
    el creciente uso de los lenguajes
    orientados a objetos para el desarrollo
    de aplicaciones.
Los objetos han entrado en el mundo de las
  bases de datos de formas:

   SGBD orientados a objetos puros: son SGBD
    basados completamente en el modelo
    orientado a objetos.

   SGBD híbridos u objeto–relacionales: son
    SGBD relacionales que permiten almacenar
    objetos en sus relaciones (tablas).
Relaciones
   Las bases de datos relacionales representan las
    relaciones mediante las claves ajenas.

   las bases de datos orientadas a objetos
    implementan sus relaciones incluyendo en cada
    objeto los identificadores de los objetos con los que
    se relaciona. Un identificador de objeto es un
    atributo interno que posee cada objeto. Ni los
    programadores, ni los usuarios que realizan
    consultas de forma interactiva, ven o manipulan
    estos      identificadores      directamente.     Los
    identificadores de los objetos los asigna el SGBD y
    es el único que los utiliza.
Integridad de las relaciones
   Para que las relaciones funcionen en una
    base de datos orientada a objetos pura, los
    identificadores de los objetos deben
    corresponderse en ambos extremos de la
    relación.

   La clase Aparejador tiene un atributo de tipo
    conjunto llamado supervisa. Del mismo modo,
    la clase Obra tiene un atributo llamado es
    supervisada. Para garantizar la integridad de
    esta relación, un SGBD orientado a objetos
    puro deberá permitir que el diseñador de la
    base de datos pueda especificar donde debe
    aparecer el identificador del objeto inverso
Ejemplo de relaciones
   relationship set<Obra> supervisa

   inverse Obra::es supervisada

   en la clase Aparejador y:

   relationshipAparejador es supervisada

   inverse Aparejador::supervisa
HERENCIA EN BDOO
En teoría, una base de datos orientada a
  objetos debe soportar dos tipos de
  herencia: la relación ―es un‖ y la relación
  ―extiende‖.

   La relación ―es un‖, también se conoce
    como generalización–especialización, crea
    una jerarquía donde las subclases son
    tipos específicos de las superclases.

   Con la relación ―extiende‖, sin embargo,
    una clase expande su superclase en lugar
    de estrecharla en un tipo más específico.
El modelo estándar ODMG
Un grupo de representantes de la industria de las bases
  de datos formaron el ODMG (ObjectDatabase
  Management Group) con el propósito de definir
  estándares para los SGBD orientados a objetos.
  Este grupo propuso un modelo estándar para la
  semántica de los objetos de una base de datos.

Los principales componentes de la arquitectura ODMG
  para un SGBD orientado a objetos son los
  siguientes:

   Modelo de objetos.
   Lenguaje de definición de objetos (ODL).
   Lenguaje de consulta de objetos (OQL).
   Conexión con los lenguajes C++, Smalltalk y Java.
MODELO DE OBJETOS
   El modelo de objetos ODMG permite que tanto los
    diseños, como las implementaciones, sean portables
    entre los sistemas que lo soportan. Dispone de las
    siguientes primitivas de modelado:

   Los componentes básicos de una base de datos
    orientada a objetos son los objetos y los literales:

   Un objeto es una instancia auto contenida de una
    entidad de interés del mundo real. Los objetos tienen
    algún tipo de identificador único.

   Un literal es un valor especifico, como ―Amparo‖ o
    36. Los literales no tienen identificadores.
Los objetos pueden ser transitorios o persistentes.

   Los objetos transitorios existen mientras vive el
    programa de aplicación que los ha creado.
    Estos objetos se usan tanto como
    almacenamiento temporal como para dar apoyo
    al programa de aplicación que se está
    ejecutando.

   Los objetos persistentes son aquellos que se
    almacenan en la base de datos.
Lenguaje de Definición de
Objetos (ODL)
 ODL es un lenguaje de especificación para
  definir tipos de objetos para sistemas
  compatibles con ODMG. ODL es el
  equivalente del DDL (lenguaje de
  definición de datos) de los SGBD
  tradicionales.
 Define los atributos y las relaciones entre
  tipos, y especifica la signatura de las
  operaciones.
Lenguaje de Consulta de Objetos
(OQL)
   OQL es un lenguaje declarativo del tipo de SQL que permite
    realizar consultas de modo eficiente sobre bases de datos
    orientadas a objetos.

   OQL no posee primitivas para modificar el estado de los
    objetos ya que las modificaciones se pueden realizar
    mediante los métodos que estos poseen.

   La sintaxis básica de OQL es una estructura
    SELECT...FROM...WHERE..., como en SQL.

   Por ejemplo, la siguiente expresión obtiene los nombres de
    los departamentos de la escuela de ‗Ingeniería‘:

    SELECT D. Nombre
    FROM d in departamentos
    WHERE D. Escuela = `Ingenieria';
Existen otras maneras de realizar consultas en las
  bases de datos orientadas a objetos que pueden
  llegar a resultar más sencillas que por intermedio
  del lenguaje OQL

   Basada en patrones: A la consulta se le da un
    objeto ‗patrón‘, al cual se le dan las mismas
    características (dar valor a sus atributos) de
    losobjetos que se están buscando. La consulta
    devuelve el conjunto de objetos que tienen dichas
    características.
   Basadas en API: A través métodos de clases
    especiales, se especifican de forma
    programática las restricciones que deben
    cumplir los datos a consultar.

   Consultas nativas: Se crean nuevas clases
    en las cuales se programan los condicionales
    que se usarán durante la consulta.
REGLAS DE ORO PARA QUE UNA BD SEA
               OO
CARACTERÍSTICAS DE BDOO
Se intenta definir un sistema de BDOO y describe las
  principales características en tres grupos:

   MANDATORIAS: son las que el Sistema debe
    satisfacer a orden de tener un sistema de BDOO

o   Extensibilidad.- Proporciona los tipos de datos como:
    Caracter, booleano, String, etc.
o    Concurrencia.- Permite que varios usuarios tengan
    acceso a una BD al mismo tiempo.
o   Recuperación.- Cuando se hace una transacción
    pero no se puede realizar y se regresa al mismo
    estado.
o    Facilidad de "Consultas a Modo".- Esto es que se
    tienen diferentes estándares.
   OPCIONAL: Son las que pueden ser añadidas
    para hacer el sistema mejor pero que no son
    mandatorias,

o   Herencia Múltiple: Tienen características de
    padres diferentes y proporcionan mecanismos
    para saber de 2 o más opciones cual
    conviene.

o   Distribución: Que se puede tener parte de una
    BD en un servidor y otra parte en otro.

o    Sistema de Representación: Forma en cómo
    se presentan los esquemas.
   ABIERTAS: Son los puntos donde el
    diseñador puede hacer un número de
    opciones y estas son el paradigma de la
    programación, la representación del
    sistema ó el tipo de sistema y su
    uniformidad.
Ventajas de los SGBDOO
    Mayor capacidad de modelado:
o   Un objeto permite encapsular tanto un estado como un
    comportamiento.
o   Un objeto puede almacenar todas las relaciones que tenga
    con otros objetos.
o   Los objetos pueden agruparse para formar objetos
    complejos (herencia).

    Aplicabilidad:
o   Se pueden construir nuevos tipos de datos a partir de los ya
    existentes
o   Agrupar propiedades comunes de diversas clases e
    incluirlas en una superclase, lo que reduce la redundancia.
o   Reusabilidad de clases, lo que repercute en una mayor
    facilidad de mantenimiento y un menor tiempo de desarrollo.
  Lenguaje de consulta más expresivo:
o El acceso navegacional desde un objeto al siguiente es la
  forma más común de acceso a datos en un SGBDOO.
  Mientras que SQL utiliza el acceso asociativo.
o El acceso navegacional es más adecuado para gestionar
  operaciones como los despieces, consultas recursivas,
  etc.

    Adecuación a las aplicaciones avanzadas de base de
    datos.
o   Hay muchas áreas en las que los SGBD tradicionales no
    han tenido excesivo éxito como el CAD, CASE, OIS,
    sistemas multimedia, etc. en los que las capacidades de
    modelado de los SGBDOO han hecho que esos sistemas
    sí resulten efectivos para este tipo de aplicaciones.

    Mayores prestaciones.
o   Los SGBDOO proporcionan mejoras significativas de
    rendimiento con respecto a los SGBD relacionales.
DESVENTAJAS DE LOS SGBDOO
   Carencia de un modelo de datos universal.
o   No hay ningún modelo de datos que esté
    universalmente aceptado para los SGBDOO y
    la mayoría de los modelos carecen una base
    teórica.
   Carencia de experiencia.
o   Todavía no se dispone del nivel de experiencia
    del que se dispone para los sistemas
    tradicionales.
   Carencia de estándares.
o   Existe una carencia de estándares general
    para los SGBDOO.
   Competencia. Con respecto a los SGBDR y los
    SGBDOR.
o   Estos productos tienen una experiencia de uso
    considerable. SQL es un estándar aprobado y ODBC es
    un estándar de facto. Además, el modelo relacional tiene
    una sólida base teórica y los productos relacionales
    disponen de muchas herramientas de soporte que sirven
    tanto para desarrolladores como para usuarios finales.

   La optimización de consultas compromete la
    encapsulación.
o   La optimización de consultas requiere una compresión de
    la implementación de los objetos, para poder acceder a la
    base de datos de manera eficiente. Sin embargo, esto
    compromete el concepto de encapsulación.

   El modelo de objetos aún no tiene una teoría
    matemática coherente que le sirva de base.
DIFERENCIA ENTRE EL MODELO
DE OBJETOS Y EL MODELO
RELACIONAL
SGBD Relacionales

   Los datos residen en la base de datos y los procesos se
    encuentran en las aplicaciones desarrolladas mediante el
    lenguaje de datos asociado al SGBD(SQL) inmerso en un
    lenguaje de programación.

   Desarrollo bajo Sistemas Relacionales:

o   Modelo conceptual de datos — modelo lógico

   Eficientes para aplicaciones tradicionales de negocios.
SGBD Orientados a objetos

   Gestionan objetos en los cuales están encapsulados
    los datos y las operaciones que actúan sobre ellos.

   Desarrollo bajo SGBDOO: un único modelo
    subyacente, implementado en el SGBBOO, al que
    pueden acceder directamente las aplicaciones.

   Intentan satisfacer necesidades de aplicaciones
    más complejas.

   Característica clave: poder que dan al diseñador de
    la base de datos tanto para especificar la estructura
    de los objetos complejos como las operaciones que
    se pueden aplicar a estos objetos.

Contenu connexe

Tendances

Tendances (20)

Metodologia orientada a objeto
Metodologia orientada a objetoMetodologia orientada a objeto
Metodologia orientada a objeto
 
Modelado Orientado a Objetos
Modelado Orientado a ObjetosModelado Orientado a Objetos
Modelado Orientado a Objetos
 
GESTION DE LA RED INTEGRADA
GESTION DE LA RED INTEGRADAGESTION DE LA RED INTEGRADA
GESTION DE LA RED INTEGRADA
 
Programación Orientada a Objetos (POO) y UML
Programación Orientada a Objetos (POO) y UMLProgramación Orientada a Objetos (POO) y UML
Programación Orientada a Objetos (POO) y UML
 
Ventajas y desventajas de las bdoo
Ventajas y desventajas de las bdooVentajas y desventajas de las bdoo
Ventajas y desventajas de las bdoo
 
Desarrollo Orientado a Objetos
Desarrollo Orientado a ObjetosDesarrollo Orientado a Objetos
Desarrollo Orientado a Objetos
 
Diagrama de contexto
Diagrama de contextoDiagrama de contexto
Diagrama de contexto
 
Cardinalidad
CardinalidadCardinalidad
Cardinalidad
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Diagrama de estado
Diagrama de estadoDiagrama de estado
Diagrama de estado
 
Mapa conceptual poo
Mapa conceptual pooMapa conceptual poo
Mapa conceptual poo
 
Diagramas de objetos
Diagramas de objetosDiagramas de objetos
Diagramas de objetos
 
Conceptos basicos de analisis y diseño
Conceptos basicos de analisis y diseñoConceptos basicos de analisis y diseño
Conceptos basicos de analisis y diseño
 
Gestión del Cambio del Software
Gestión del Cambio del SoftwareGestión del Cambio del Software
Gestión del Cambio del Software
 
Patrones de diseño, MVC
Patrones de diseño, MVCPatrones de diseño, MVC
Patrones de diseño, MVC
 
Introducción a UML
Introducción a UMLIntroducción a UML
Introducción a UML
 
Vistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de SoftwareVistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de Software
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Modelo del dominio
Modelo del dominioModelo del dominio
Modelo del dominio
 
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso RealesUnidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso Reales
 

Similaire à Base de Datos Orientada a Objetos

Metodología orientada a objetos
Metodología orientada a objetosMetodología orientada a objetos
Metodología orientada a objetosalcrrsc
 
Base de datos orientada a objetos vs base obje to relacion
Base de datos orientada a objetos vs base obje to relacionBase de datos orientada a objetos vs base obje to relacion
Base de datos orientada a objetos vs base obje to relacionAlfonso Triana
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosronnyme21
 
Programacion Orientada A Objetos
Programacion Orientada A ObjetosProgramacion Orientada A Objetos
Programacion Orientada A Objetosguest160f88
 
Programacion Orientada A Objetos
Programacion Orientada A ObjetosProgramacion Orientada A Objetos
Programacion Orientada A Objetosguest160f88
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetosAgapito26
 
Introduccion al paradigma de la programacion orientado a objetos original
Introduccion al paradigma de la programacion orientado a objetos originalIntroduccion al paradigma de la programacion orientado a objetos original
Introduccion al paradigma de la programacion orientado a objetos originalJose Angel Rodriguez
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetoslindacajaperuiz
 
Programacion orientada a objetos by Marcos Acosta
Programacion orientada a objetos by Marcos AcostaProgramacion orientada a objetos by Marcos Acosta
Programacion orientada a objetos by Marcos AcostaMarcos Acosta
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosalexmoncada21
 
Programación estructurada a objetos.pptm
Programación  estructurada  a objetos.pptmProgramación  estructurada  a objetos.pptm
Programación estructurada a objetos.pptmelvis mendieta
 
Universidad tecnológica de tehuacá modelos
Universidad tecnológica de tehuacá modelosUniversidad tecnológica de tehuacá modelos
Universidad tecnológica de tehuacá modelosVictor Dolores Marcos
 
[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con java[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con javaEudris Cabrera
 
Termino de programacion
Termino de programacionTermino de programacion
Termino de programacionJENNY GUAYLLA
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosjuliomancerotroya
 

Similaire à Base de Datos Orientada a Objetos (20)

B dtrabajo2
B dtrabajo2B dtrabajo2
B dtrabajo2
 
deber 4
deber 4deber 4
deber 4
 
Metodología orientada a objetos
Metodología orientada a objetosMetodología orientada a objetos
Metodología orientada a objetos
 
Base de datos orientada a objetos vs base obje to relacion
Base de datos orientada a objetos vs base obje to relacionBase de datos orientada a objetos vs base obje to relacion
Base de datos orientada a objetos vs base obje to relacion
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Programacion Orientada A Objetos
Programacion Orientada A ObjetosProgramacion Orientada A Objetos
Programacion Orientada A Objetos
 
Programacion Orientada A Objetos
Programacion Orientada A ObjetosProgramacion Orientada A Objetos
Programacion Orientada A Objetos
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 
Java
JavaJava
Java
 
Introduccion al paradigma de la programacion orientado a objetos original
Introduccion al paradigma de la programacion orientado a objetos originalIntroduccion al paradigma de la programacion orientado a objetos original
Introduccion al paradigma de la programacion orientado a objetos original
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Programacion orientada a objetos by Marcos Acosta
Programacion orientada a objetos by Marcos AcostaProgramacion orientada a objetos by Marcos Acosta
Programacion orientada a objetos by Marcos Acosta
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Programación estructurada a objetos.pptm
Programación  estructurada  a objetos.pptmProgramación  estructurada  a objetos.pptm
Programación estructurada a objetos.pptm
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Universidad tecnológica de tehuacá modelos
Universidad tecnológica de tehuacá modelosUniversidad tecnológica de tehuacá modelos
Universidad tecnológica de tehuacá modelos
 
[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con java[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con java
 
Trabajo bdoo
Trabajo bdooTrabajo bdoo
Trabajo bdoo
 
Termino de programacion
Termino de programacionTermino de programacion
Termino de programacion
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 

Plus de Andrés Felipe Montoya Ríos

Resolver Problemas Por Medio De La Ingeniería De Sistemas
Resolver Problemas Por Medio De La Ingeniería De SistemasResolver Problemas Por Medio De La Ingeniería De Sistemas
Resolver Problemas Por Medio De La Ingeniería De SistemasAndrés Felipe Montoya Ríos
 

Plus de Andrés Felipe Montoya Ríos (17)

Patron de Arquitectura Broker
Patron de Arquitectura BrokerPatron de Arquitectura Broker
Patron de Arquitectura Broker
 
La creatividad, ¿de quien depende?
La creatividad, ¿de quien depende?La creatividad, ¿de quien depende?
La creatividad, ¿de quien depende?
 
Seo Para Principiantes
Seo Para PrincipiantesSeo Para Principiantes
Seo Para Principiantes
 
Todo sobre HTML5
Todo sobre HTML5Todo sobre HTML5
Todo sobre HTML5
 
La Importancia De Aprender A Investigar
La Importancia De Aprender A InvestigarLa Importancia De Aprender A Investigar
La Importancia De Aprender A Investigar
 
Resolver Problemas Por Medio De La Ingeniería De Sistemas
Resolver Problemas Por Medio De La Ingeniería De SistemasResolver Problemas Por Medio De La Ingeniería De Sistemas
Resolver Problemas Por Medio De La Ingeniería De Sistemas
 
Articulo - El Futuro Tiene Nombre Y Es LTE
Articulo - El Futuro Tiene Nombre Y Es LTEArticulo - El Futuro Tiene Nombre Y Es LTE
Articulo - El Futuro Tiene Nombre Y Es LTE
 
Artículo - Simulador NS (Network Simulator)
Artículo - Simulador NS (Network Simulator)Artículo - Simulador NS (Network Simulator)
Artículo - Simulador NS (Network Simulator)
 
Telemedicina
TelemedicinaTelemedicina
Telemedicina
 
Planificador SSTF (shortest seek time first)
Planificador SSTF (shortest seek time first)Planificador SSTF (shortest seek time first)
Planificador SSTF (shortest seek time first)
 
Raid (redundant array of independent disks)
Raid (redundant array of independent disks)Raid (redundant array of independent disks)
Raid (redundant array of independent disks)
 
Estimación de Proyectos de Software
Estimación de Proyectos de SoftwareEstimación de Proyectos de Software
Estimación de Proyectos de Software
 
LTE (Long Term Evolution)
LTE (Long Term Evolution)LTE (Long Term Evolution)
LTE (Long Term Evolution)
 
Sistema de Posicionamiento Global
Sistema de Posicionamiento GlobalSistema de Posicionamiento Global
Sistema de Posicionamiento Global
 
NS 2 (network simulator)
NS 2 (network simulator)NS 2 (network simulator)
NS 2 (network simulator)
 
Diseño de Software
Diseño de SoftwareDiseño de Software
Diseño de Software
 
Cuarta Generación De Los Sistemas Operativos
Cuarta Generación De Los Sistemas OperativosCuarta Generación De Los Sistemas Operativos
Cuarta Generación De Los Sistemas Operativos
 

Dernier

Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 

Dernier (11)

Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 

Base de Datos Orientada a Objetos

  • 1. Edwar Andrés Ruiz Medina @EdwarRuiz324 Andrés Felipe Montoya Ríos re.vu/AndresMontoya @montoya118
  • 2.
  • 3. Conceptos básicos  Clase: definiciones de las propiedades y comportamiento de un tipo de objeto concreto. La instanciación es la lectura de estas definiciones y la creación de un objeto a partir de ellas.  Objeto: entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos) los mismos que consecuentemente reaccionan a eventos. Se corresponde con los objetos reales del mundo que nos rodea, o a objetos internos del sistema (del programa). Es una instancia a una clase.
  • 4. Herencia simple: Una clase implanta el tipo de objeto. Una Subclase hereda propiedades de su clase padre, una subclase puede heredar la estructura y los métodos ó algunos de los métodos.  Herencia múltiple. Cuando una clase hereda de mas de una superclase se tiene herencia múltiple.  Método: Algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecución se desencadena tras la recepción de un "mensaje". Desde el punto de vista del comportamiento, es lo que el objeto puede hacer. Un método puede producir un cambio en las propiedades del objeto, o la generación de un "evento" con un nuevo mensaje para otro objeto del sistema.
  • 5. HAY VARIOS TIPOS DE MÉTODOS QUE SON COMUNES A LA MAYORÍA DE LAS CLASES:  CONSTRUCTORES: Un constructor es un método que tiene el mismo nombre que la clase. Se ejecuta cuando se crea un objeto de una clase. Por lo tanto, un constructor contiene instrucciones para inicializar las variables de un objeto.  DESTRUCTORES: Un destructor es un método que se utiliza para destruir un objeto. No todos los lenguajes orientados a objetos poseen destructores.  ACCESORES: Un accesor es un método que devuelve el valor de un atributo privado de otro objeto. Así es como los objetos externos pueden acceder a los datos encapsulados.
  • 6. MUTADORES: Un mutador es un método que almacena un nuevo valor en un atributo. De este modo es como objetos externos pueden modificar los datos encapsulados.  SOBRECARGA DE MÉTODOS: Una de las características de las clases es que pueden tener métodos sobrecargados, que son métodos que tienen el mismo nombre pero que necesitan distintos datos para operar.  POLIMORFISMO: En general, las subclases heredan los métodos de sus superclases y los utilizan como si fueran suyos. Sin embargo, en algunas ocasiones no es posible escribir un método genérico que pueda ser usado por todas las subclases.
  • 7. Evento: Es un suceso en el sistema (tal como una interacción del usuario con la máquina, o un mensaje enviado por un objeto). El sistema maneja el evento enviando el mensaje adecuado al objeto pertinente. También se puede definir como evento, a la reacción que puede desencadenar un objeto, es decir la acción que genera.
  • 8. Características asociadas al POO  Abstracción: consiste en captar las características esenciales de un objeto, así como su comportamiento. Ejemplo. ¿Qué características semejantes tienen todos los automóviles? Todos tendrán una marca, un modelo, número de chasis, peso, llantas, puertas, ventanas, etc. Y en cuanto a su comportamiento todos los automóviles podrán acelerar, frenar, retroceder, etc.
  • 9. Ocultamiento: Es la capacidad de ocultar los detalles internos del comportamiento de una Clase y exponer sólo los detalles que sean necesarios para el resto del sistema. El ocultamiento permite 2 cosas: restringir y controlar el uso de la Clase.
  • 10.  Encapsulamiento: Consiste en unir en la Clase las características y comportamientos, esto es, las variables y métodos. Es tener todo esto es una sola entidad.  La utilidad del encapsulamiento va por la facilidad para manejar la complejidad, ya que tendremos a las Clases como cajas negras donde sólo se conoce el comportamiento pero no los detalles internos, y esto es conveniente porque nos interesará será conocer qué hace la Clase pero no será necesario saber cómo lo hace.
  • 11.
  • 12. Los SGBDOO son creados gracias a la falta de capacidad semántica del modelo relacional con el propósito de atender nuevos tipos de aplicaciones. o Diseño y fabricación en ingeniería o Bases de datos graficas y de imágenes o Bases de datos científicas o Sistemas de información geográficas o Bases de datos multimedia o Accesos uniforme a sistemas de múltiples bases de datos
  • 13. Otro motivo para la creación de las bases de datos orientadas a objetos es el creciente uso de los lenguajes orientados a objetos para el desarrollo de aplicaciones.
  • 14. Los objetos han entrado en el mundo de las bases de datos de formas:  SGBD orientados a objetos puros: son SGBD basados completamente en el modelo orientado a objetos.  SGBD híbridos u objeto–relacionales: son SGBD relacionales que permiten almacenar objetos en sus relaciones (tablas).
  • 15. Relaciones  Las bases de datos relacionales representan las relaciones mediante las claves ajenas.  las bases de datos orientadas a objetos implementan sus relaciones incluyendo en cada objeto los identificadores de los objetos con los que se relaciona. Un identificador de objeto es un atributo interno que posee cada objeto. Ni los programadores, ni los usuarios que realizan consultas de forma interactiva, ven o manipulan estos identificadores directamente. Los identificadores de los objetos los asigna el SGBD y es el único que los utiliza.
  • 16. Integridad de las relaciones  Para que las relaciones funcionen en una base de datos orientada a objetos pura, los identificadores de los objetos deben corresponderse en ambos extremos de la relación.  La clase Aparejador tiene un atributo de tipo conjunto llamado supervisa. Del mismo modo, la clase Obra tiene un atributo llamado es supervisada. Para garantizar la integridad de esta relación, un SGBD orientado a objetos puro deberá permitir que el diseñador de la base de datos pueda especificar donde debe aparecer el identificador del objeto inverso
  • 17. Ejemplo de relaciones  relationship set<Obra> supervisa   inverse Obra::es supervisada  en la clase Aparejador y:  relationshipAparejador es supervisada  inverse Aparejador::supervisa
  • 18. HERENCIA EN BDOO En teoría, una base de datos orientada a objetos debe soportar dos tipos de herencia: la relación ―es un‖ y la relación ―extiende‖.  La relación ―es un‖, también se conoce como generalización–especialización, crea una jerarquía donde las subclases son tipos específicos de las superclases.  Con la relación ―extiende‖, sin embargo, una clase expande su superclase en lugar de estrecharla en un tipo más específico.
  • 19. El modelo estándar ODMG Un grupo de representantes de la industria de las bases de datos formaron el ODMG (ObjectDatabase Management Group) con el propósito de definir estándares para los SGBD orientados a objetos. Este grupo propuso un modelo estándar para la semántica de los objetos de una base de datos. Los principales componentes de la arquitectura ODMG para un SGBD orientado a objetos son los siguientes:  Modelo de objetos.  Lenguaje de definición de objetos (ODL).  Lenguaje de consulta de objetos (OQL).  Conexión con los lenguajes C++, Smalltalk y Java.
  • 20. MODELO DE OBJETOS  El modelo de objetos ODMG permite que tanto los diseños, como las implementaciones, sean portables entre los sistemas que lo soportan. Dispone de las siguientes primitivas de modelado:  Los componentes básicos de una base de datos orientada a objetos son los objetos y los literales:  Un objeto es una instancia auto contenida de una entidad de interés del mundo real. Los objetos tienen algún tipo de identificador único.  Un literal es un valor especifico, como ―Amparo‖ o 36. Los literales no tienen identificadores.
  • 21. Los objetos pueden ser transitorios o persistentes.  Los objetos transitorios existen mientras vive el programa de aplicación que los ha creado. Estos objetos se usan tanto como almacenamiento temporal como para dar apoyo al programa de aplicación que se está ejecutando.  Los objetos persistentes son aquellos que se almacenan en la base de datos.
  • 22. Lenguaje de Definición de Objetos (ODL)  ODL es un lenguaje de especificación para definir tipos de objetos para sistemas compatibles con ODMG. ODL es el equivalente del DDL (lenguaje de definición de datos) de los SGBD tradicionales.  Define los atributos y las relaciones entre tipos, y especifica la signatura de las operaciones.
  • 23.
  • 24.
  • 25.
  • 26. Lenguaje de Consulta de Objetos (OQL)  OQL es un lenguaje declarativo del tipo de SQL que permite realizar consultas de modo eficiente sobre bases de datos orientadas a objetos.  OQL no posee primitivas para modificar el estado de los objetos ya que las modificaciones se pueden realizar mediante los métodos que estos poseen.  La sintaxis básica de OQL es una estructura SELECT...FROM...WHERE..., como en SQL.  Por ejemplo, la siguiente expresión obtiene los nombres de los departamentos de la escuela de ‗Ingeniería‘: SELECT D. Nombre FROM d in departamentos WHERE D. Escuela = `Ingenieria';
  • 27.
  • 28.
  • 29. Existen otras maneras de realizar consultas en las bases de datos orientadas a objetos que pueden llegar a resultar más sencillas que por intermedio del lenguaje OQL  Basada en patrones: A la consulta se le da un objeto ‗patrón‘, al cual se le dan las mismas características (dar valor a sus atributos) de losobjetos que se están buscando. La consulta devuelve el conjunto de objetos que tienen dichas características.
  • 30. Basadas en API: A través métodos de clases especiales, se especifican de forma programática las restricciones que deben cumplir los datos a consultar.  Consultas nativas: Se crean nuevas clases en las cuales se programan los condicionales que se usarán durante la consulta.
  • 31. REGLAS DE ORO PARA QUE UNA BD SEA OO
  • 32. CARACTERÍSTICAS DE BDOO Se intenta definir un sistema de BDOO y describe las principales características en tres grupos:  MANDATORIAS: son las que el Sistema debe satisfacer a orden de tener un sistema de BDOO o Extensibilidad.- Proporciona los tipos de datos como: Caracter, booleano, String, etc. o Concurrencia.- Permite que varios usuarios tengan acceso a una BD al mismo tiempo. o Recuperación.- Cuando se hace una transacción pero no se puede realizar y se regresa al mismo estado. o Facilidad de "Consultas a Modo".- Esto es que se tienen diferentes estándares.
  • 33. OPCIONAL: Son las que pueden ser añadidas para hacer el sistema mejor pero que no son mandatorias, o Herencia Múltiple: Tienen características de padres diferentes y proporcionan mecanismos para saber de 2 o más opciones cual conviene. o Distribución: Que se puede tener parte de una BD en un servidor y otra parte en otro. o Sistema de Representación: Forma en cómo se presentan los esquemas.
  • 34. ABIERTAS: Son los puntos donde el diseñador puede hacer un número de opciones y estas son el paradigma de la programación, la representación del sistema ó el tipo de sistema y su uniformidad.
  • 35. Ventajas de los SGBDOO  Mayor capacidad de modelado: o Un objeto permite encapsular tanto un estado como un comportamiento. o Un objeto puede almacenar todas las relaciones que tenga con otros objetos. o Los objetos pueden agruparse para formar objetos complejos (herencia).  Aplicabilidad: o Se pueden construir nuevos tipos de datos a partir de los ya existentes o Agrupar propiedades comunes de diversas clases e incluirlas en una superclase, lo que reduce la redundancia. o Reusabilidad de clases, lo que repercute en una mayor facilidad de mantenimiento y un menor tiempo de desarrollo.
  • 36.  Lenguaje de consulta más expresivo: o El acceso navegacional desde un objeto al siguiente es la forma más común de acceso a datos en un SGBDOO. Mientras que SQL utiliza el acceso asociativo. o El acceso navegacional es más adecuado para gestionar operaciones como los despieces, consultas recursivas, etc.  Adecuación a las aplicaciones avanzadas de base de datos. o Hay muchas áreas en las que los SGBD tradicionales no han tenido excesivo éxito como el CAD, CASE, OIS, sistemas multimedia, etc. en los que las capacidades de modelado de los SGBDOO han hecho que esos sistemas sí resulten efectivos para este tipo de aplicaciones.  Mayores prestaciones. o Los SGBDOO proporcionan mejoras significativas de rendimiento con respecto a los SGBD relacionales.
  • 37. DESVENTAJAS DE LOS SGBDOO  Carencia de un modelo de datos universal. o No hay ningún modelo de datos que esté universalmente aceptado para los SGBDOO y la mayoría de los modelos carecen una base teórica.  Carencia de experiencia. o Todavía no se dispone del nivel de experiencia del que se dispone para los sistemas tradicionales.  Carencia de estándares. o Existe una carencia de estándares general para los SGBDOO.
  • 38. Competencia. Con respecto a los SGBDR y los SGBDOR. o Estos productos tienen una experiencia de uso considerable. SQL es un estándar aprobado y ODBC es un estándar de facto. Además, el modelo relacional tiene una sólida base teórica y los productos relacionales disponen de muchas herramientas de soporte que sirven tanto para desarrolladores como para usuarios finales.  La optimización de consultas compromete la encapsulación. o La optimización de consultas requiere una compresión de la implementación de los objetos, para poder acceder a la base de datos de manera eficiente. Sin embargo, esto compromete el concepto de encapsulación.  El modelo de objetos aún no tiene una teoría matemática coherente que le sirva de base.
  • 39. DIFERENCIA ENTRE EL MODELO DE OBJETOS Y EL MODELO RELACIONAL SGBD Relacionales  Los datos residen en la base de datos y los procesos se encuentran en las aplicaciones desarrolladas mediante el lenguaje de datos asociado al SGBD(SQL) inmerso en un lenguaje de programación.  Desarrollo bajo Sistemas Relacionales: o Modelo conceptual de datos — modelo lógico  Eficientes para aplicaciones tradicionales de negocios.
  • 40. SGBD Orientados a objetos  Gestionan objetos en los cuales están encapsulados los datos y las operaciones que actúan sobre ellos.  Desarrollo bajo SGBDOO: un único modelo subyacente, implementado en el SGBBOO, al que pueden acceder directamente las aplicaciones.  Intentan satisfacer necesidades de aplicaciones más complejas.  Característica clave: poder que dan al diseñador de la base de datos tanto para especificar la estructura de los objetos complejos como las operaciones que se pueden aplicar a estos objetos.