Sunteți pe pagina 1din 47

UNIDAD I Base de Datos Orientada a Objetos.

Semestre I 2014

Un poco de Historia.

Introduccin
Un sistema gestor de bases de datos (SGBD) consiste en una coleccin de datos interrelacionados y un conjunto de programas para acceder a dichos datos. La coleccin de datos, normalmente denominada base de datos, contiene informacin relevante para una empresa. El objetivo principal de un SGBD es proporcionar una forma de almacenar y recuperar la informacin de una base de datos de manera que sea tanto prctica como eficiente. Los sistemas de bases de datos se disean para gestionar grandes cantidades de informacin.
Fuente: Silberschatz (2002) Fundamentos de Base de Datos.
Apuntes Preparados por Ernesto Arce Pizarro 3

Introduccin
La gestin de los datos implica tanto la definicin de estructuras para almacenar la informacin como la provisin de mecanismos para la manipulacin de la informacin. Adems, los sistemas de bases de datos deben proporcionar la fiabilidad de la informacin almacenada, a pesar de las cadas del sistema o los intentos de acceso sin autorizacin. Si los datos van a ser compartidos entre diversos usuarios, el sistema debe evitar posibles Fuente : Silberschatz (2002) Fundamentos de Base de Datos. resultados anmalos.
Apuntes Preparados por Ernesto Arce Pizarro 4

Visin de los Datos


Un sistema de bases de datos es una coleccin de archivos interrelacionados y un conjunto de programas que permitan a los usuarios acceder y modificar estos archivos. Uno de los propsitos principales de un sistema de bases de datos es proporcionar a los usuarios una visin abstracta de los datos. Es decir, el sistema esconde ciertos detalles de cmo se almacenan y mantienen los datos.
Fuente: Silberschatz (2002) Fundamentos de Base de Datos.
Apuntes Preparados por Ernesto Arce Pizarro 5

Abstraccin
Una herramienta para combatir la complejidad. La abstraccin consiste en aislar un elemento de su contexto o del resto de los elementos que lo acompaan. En programacin, el trmino se refiere al nfasis en el "qu hace?" ms que en el "cmo lo hace?" (caracterstica de caja negra). El comn denominador en la evolucin de los lenguajes de programacin, desde los clsicos o imperativos hasta los orientados a objetos, ha sido el nivel de abstraccin del que cada uno de ellos hace uso.
Fuente: http://goo.gl/nqle7m. Consultado en marzo 2014.
Apuntes Preparados por Ernesto Arce Pizarro 6

Abstraccin

Fuente: Grady Booch. Anlisis y Diseo Orientado a Objetos con Aplicaciones


Apuntes Preparados por Ernesto Arce Pizarro 7

Abstraccin de Datos

Fuente: Silberschatz (2002) Fundamentos de Base de Datos.


Apuntes Preparados por Ernesto Arce Pizarro 8

Niveles
Nivel fsico:
El nivel ms bajo de abstraccin describe cmo se almacenan realmente los datos. En el nivel fsico se describen en detalle las estructuras de datos complejas de bajo nivel. Describe qu datos se almacenan en la base de datos y qu relaciones existen entre esos datos. La base de datos completa se describe as en trminos de un nmero pequeo de estructuras relativamente simples. Aunque la implementacin de estructuras simples en el nivel lgico puede involucrar estructuras complejas del nivel fsico, los usuarios del nivel lgico no necesitan preocuparse de esta complejidad. Los administradores de bases de datos, que deben decidir la informacin que se mantiene en la base de datos, usan el nivel lgico de abstraccin. El nivel ms alto de abstraccin describe slo parte de la base de datos completa. A pesar del uso de estructuras ms simples en el nivel lgico, queda algo de complejidad, debido a la variedad de informacin almacenada en una gran base de datos.
Fuente: Silberschatz (2002) Fundamentos de Base de Datos.
Apuntes Preparados por Ernesto Arce Pizarro 9

Nivel lgico:

Nivel de vistas:

Modelo de Datos
A database model is a type of data model that determines the logical structure of a database and fundamentally determines in which manner data can be stored, organized, and manipulated. Un modelo de datos es una coleccin de herramientas conceptuales para la descripcin de datos, relaciones entre datos, semntica de los datos y restricciones de consistencia.
Fuente: http://en.wikipedia.org/wiki/Database_model. Consultado en marzo 2014

Apuntes Preparados por Ernesto Arce Pizarro

10

Modelo de Datos

Fuente: http://en.wikipedia.org/wiki/Database_model. Consultado en marzo 2014


Apuntes Preparados por Ernesto Arce Pizarro

11

Modelo Entidad Relacin


El modelo de datos entidad-relacin (E-R) est basado en una percepcin del mundo real que consta de una coleccin de objetos bsicos, llamados entidades, y de relaciones entre estos objetos. Una entidad es una cosa u objeto en el mundo real que es distinguible de otros objetos. Las entidades se describen en una base de datos mediante un conjunto de atributos.
Fuente: Silberschatz (2002) Fundamentos de Base de Datos.
Apuntes Preparados por Ernesto Arce Pizarro 12

Modelo Entidad Relacin

Apuntes Preparados por Ernesto Arce Pizarro

13

Modelo Entidad Relacin


La estructura lgica general de una base de datos se puede expresar grficamente mediante un diagrama ER, que consta de los siguientes componentes (lenguaje notacional):
Rectngulos, que representan conjuntos de entidades. Elipses, que representan atributos. Rombos, que representan relaciones entre conjuntos de entidades. Lneas, que unen los atributos con los conjuntos de entidades y los conjuntos de entidades con las relaciones.
Fuente: Silberschatz (2002) Fundamentos de Base de Datos.
Apuntes Preparados por Ernesto Arce Pizarro 14

Modelo Relacional
El modelo relacional, para la gestin de una base de datos, es un modelo de datos basado en la lgica de predicados y en la teora de conjuntos. Su idea fundamental es el uso de relaciones. Estas podran considerarse en forma lgica como conjuntos de datos llamados tuplas. Si considera una relacin como si fuese una tabla que est compuesta por registros (cada fila de la tabla sera un registro o tupla), y columnas (tambin llamadas campos).
Fuente: http://goo.gl/vjiLNL. Consultado en marzo 2014.
Apuntes Preparados por Ernesto Arce Pizarro 15

Modelo Relacional
El modelo de datos relacional es el modelo de datos ms ampliamente usado, y una amplia mayora de sistemas de bases de datos actuales se basan en el modelo relacional. El modelo relacional se encuentra a un nivel de abstraccin inferior al modelo de datos E-R. Los diseos de bases de datos a menudo se realizan en el modelo E-R, y despus se traducen al modelo relacional.
Fuente: Silberschatz (2002) Fundamentos de Base de Datos.
Apuntes Preparados por Ernesto Arce Pizarro 16

MER Modelo Relacional

Fuente: Silberschatz (2002) Fundamentos deArce Base de Datos. Apuntes Preparados por Ernesto Pizarro

17

Modelo de Datos Orientado a Objetos


En una base de datos orientada a objetos, la informacin se representa mediante objetos como ocurre en la programacin orientada a objetos (POO). Cuando se integra las caractersticas de una base de datos con las de un lenguaje de programacin orientado a objetos, el resultado es un sistema gestor de base de datos orientada a objetos (ODBMS, object database management system). Un ODBMS hace que los objetos de la base de datos aparezcan como objetos de un lenguaje de programacin en uno o ms lenguajes de programacin a los que entregue soporte. Un ODBMS extiende los lenguajes con datos persistentes de forma transparente, control de concurrencia, recuperacin de datos, consultas asociativas y otras capacidades. Las bases de datos orientadas a objetos se disean para trabajar bien en conjuncin con lenguajes de programacin orientados a objetos como Java, C#, Visual Basic.NET y C++. Los ODBMS usan exactamente el mismo modelo que estos lenguajes de programacin.
Fuente: http://goo.gl/2c42Ot. Consultado en marzo 2014.
Apuntes Preparados por Ernesto Arce Pizarro 18

Lenguajes de Base de Datos


Un sistema de bases de datos proporciona un lenguaje de definicin de datos para especificar el esquema de la base de datos y un lenguaje de manipulacin de datos para expresar las consultas a la base de datos y las modificaciones. En la prctica, los lenguajes de definicin y manipulacin de datos no son dos lenguajes separados; en su lugar simplemente forman partes de un nico lenguaje de bases de datos, tal como SQL, ampliamente usado (Lenguajes imperativos vs lenguajes declarativos). Un esquema de base de datos se especifica mediante un conjunto de definiciones expresadas mediante un lenguaje especial llamado lenguaje de definicin de datos (LDD).
Fuente: Silberschatz (2002) Fundamentos de Base de Datos.
Apuntes Preparados por Ernesto Arce Pizarro 19

LDD

La ejecucin de la instruccin LDD anterior crea la tabla cuenta. Adems, actualiza un conjunto especial de tablas denominado diccionario de datos o directorio de datos. Un diccionario de datos contiene metadatos, es decir, datos acerca de los datos.
Fuente: Silberschatz (2002) Fundamentos de Base de Datos.
Apuntes Preparados por Ernesto Arce Pizarro 20

Lenguajes de Manipulacin de Datos La manipulacin de datos es:


La recuperacin (select) de informacin almacenada en la base de datos. La insercin (insert) de informacin nueva en la base de datos. El borrado (delete) de informacin de la base de datos. La modificacin (update) de informacin almacenada en la base de datos.
Apuntes Preparados por Ernesto Arce Pizarro 21

DDL y DML

Apuntes Preparados por Ernesto Arce Pizarro

22

Conceptos de las Bases de Datos de Objetos

Conceptos
Un antecedente: creciente uso de los lenguajes de programacin orientado a objetos. Un objeto tiene dos componentes: Variable y Objeto
Estado (valor) Comportamiento (operaciones)

Tipo de datos / Variable Clase / Objeto (estructura de datos compleja: TDA + Operaciones)
Apuntes Preparados por Ernesto Arce Pizarro 24

Conceptos
Las bases de datos orientadas a objetos (BDOO) son aquellas cuyo modelo de datos est orientado a objetos y almacenan y recuperan objetos en los que se almacena estado y comportamiento. Su origen se debe a que en los modelos clsicos de datos existen problemas para representar cierta informacin, puesto que aunque permiten representar gran cantidad de datos, las operaciones que se pueden realizar con ellos son bastante simples.
Apuntes Preparados por Ernesto Arce Pizarro 25

Conceptos
Base de datos orientada a objetos (BDOO): una coleccin persistente y compatible de objetos definida por un modelo de datos orientado a objetos. Modelo de datos orientado a objetos: un modelo de datos que captura la semntica de los objetos soportados en la programacin orientada a objetos. Sistema Gestor de Bases de Datos Orientadas a Objetos (SGBDOO): el gestor de una base de datos orientada a objetos.
Apuntes Preparados por Ernesto Arce Pizarro 26

Caractersticas de las BDOO


Objetos: cada entidad del mundo real se modela como un objeto. La forma de identificar objetos es mediante un identificador de objetos (OID, Object Identifier), nico para cada objeto. Generalmente este identificador no es accesible ni modificable para el usuario (modo de aumentar la integridad de entidades y la integridad referencial). Los OID son independientes del contenido. Es decir, si un objeto cambia los valores de atributos, sigue siendo el mismo objeto con el mismo OID. Si dos objetos tienen el mismo estado pero diferentes OID, son equivalentes pero tienen identidades diferentes.
Apuntes Preparados por Ernesto Arce Pizarro 27

Caractersticas de las BDOO


Encapsulamiento:
Cada objeto contiene y define procedimientos (mtodos) y la interfaz mediante la cual se puede acceder a l y otros objetos pueden manipularlo. La mayora de los SGBDOO permite el acceso directo a los atributos incluyendo operaciones definidas por el propio SGBDOO las cuales leen y modifican los atributos para evitar que el usuario tenga que implementar una cantidad considerable de mtodos cuyo nico propsito sea el de leer y escribir los atributos de un objeto.
Apuntes Preparados por Ernesto Arce Pizarro 28

Caractersticas de las BDOO


Jerarqua de Tipos y Herencia: los tipos de datos pueden especificarse utilizando una jerarqua de tipos, que permite los atributos y los mtodos de los tipos definidos previamente. Polimorfismo y sobrecarga del operador: los nombres de los mtodos y las operaciones se pueden sobrecargar para que puedan aplicarse a diferentes tipos de objetos con implementaciones distintas.
Apuntes Preparados por Ernesto Arce Pizarro 29

Elementos - Clase

Fuente: http://goo.gl/3NKnSQ. Consultado en marzo 2014.


Apuntes Preparados por Ernesto Arce Pizarro 30

Elementos - Herencia

Fuente: http://goo.gl/3NKnSQ. Consultado en marzo 2014.


Apuntes Preparados por Ernesto Arce Pizarro 31

Elementos - Polimorfismo

Fuente: http://goo.gl/JFheiE. Consultado en marzo 2014.


Apuntes Preparados por Ernesto Arce Pizarro 32

BDOO Los objetos en un LPOO slo existen durante la ejecucin del programa objetos transitorios. Las bases de datos orientado a objetos pueden extender la existencia de los objetos almacenndolos de manera permanente (objetos persistentes) Caractersticas claves: persistencia y comparticin.

Apuntes Preparados por Ernesto Arce Pizarro

33

BDOO El objetivo de las BDOO es mantener una correspondencia directa entre los objetos del mundo real y de la base de datos, de manera que los objetos no pierdan su integridad e identidad. Identidad de un objeto: los objetos tienen identidades nicas que son independientes de sus valores de atributo.
Apuntes Preparados por Ernesto Arce Pizarro 34

ODMG
ODMG es el acrnimo de Object Data Management Group. Se usa tanto para definir el grupo de personas y empresas encargadas de desarrollar el modelo de objetos para persistencia, as como para la definicin de dicho estndar. El modelo de objetos ODMG (Object Data Management Group) permite que los diseos OO y las implementaciones usando lenguajes OO sean portables entre los sistemas que lo soportan. El modelo de datos dispone de unas primitivas de modelado. Estas primitivas subyacen en la totalidad de los lenguajes orientados a objetos puros (Eifflel, Smalltalk, etc.) y en mayor o menor medida en los hbridos (Java, C++, etc.):
Apuntes Preparados por Ernesto Arce Pizarro 35

Estndar BDOO (ODMG-93 ) ODL (Lenguaje de Definicin de Objetos)


El lenguaje de definicin del objeto permite definir el modelo de datos. Es compatible con IDL, el lenguaje del OMG (Grupo de Administracin de Objetos). Permite la definicin de objetos complejos, de relacin entre esos objetos y de mtodos asociados a dichos objetos.
Fuente: Unidad III Modelo OO Sin autor.
Apuntes Preparados por Ernesto Arce Pizarro 36

Estndar BDOO (ODMG-93 ) OQL (Lenguaje de Consulta al Objeto)


El lenguaje de requerimientos permite consultar los objetos de estructuras complejas, de enviar mensajes a objetos, efectuar join y otras operaciones de tipo asociativo. Su sintaxis es del tipo SQL.
Fuente: Unidad III Modelo OO Sin autor.
Apuntes Preparados por Ernesto Arce Pizarro 37

Estndar BDOO (ODMG-93 ) Conexin va C++ y Smalltalk.

Esta interfaz ("bindings", enlazamientos), especifica como se debe hacer la programacin en C++ o Smalltalk de una aplicacin sobre una base de datos que ha sido declarada en ODL. La conexin es basada sobre la nocin de "puntero inteligente" que permite manejar los objetos persistentes como objetos ordinarios va punteros persistentes.
Fuente: Unidad III Modelo OO Sin autor.
Apuntes Preparados por Ernesto Arce Pizarro 38

ODL Declaraciones de Clase


Interface <name> { attributes: <type> <name>; relationships <range type> <name>; methods } Method example: float gpa(in: Student) raises (noGrades) Arbitrary function can compute the value of gpa, based on a student object given as input.

ODL Example
category name Product price

name

Person

Company name stockprice

address

ssn

ODL Declaraciones
Interface Product { attribute string name; attribute float price; attribute enum Categories {electronics, communications, sports } category Interface Company { attribute string name; attribute float stockprice;

Interface Person { attribute integer ssn; attribute string name; attribute Struct Address {string street, string city} address; }

ODL Ejemplo
category name Product madeBy buys Company name Person worksFor name address ssn stockprice price

ODL Declaraciones
Interface Product { attribute string name; attribute float price; attribute enum Categories {electronics, communications, sports } category; relationship <Company> madeBy; } Interface Person { attribute integer ssn; attribute string name; attribute Struct Address {string street, string city} address; relationship set <Product> buys; relationship set <Company> worksFor;}

Object Query Languaje OQL is the object-oriented query standard. It uses ODL as its schema definition language. Types in OQL are like ODLs. Set(Struct) and Bag(Struct) play the role of relations.
44

Path Expressions

1. If a is an attribute of C, then x.a is the value of that attribute. 2. If r is a relationship of C, then x.r is the value to which x is connected by r. Could be an object or a set of objects, depending on the type of r. 3. If m is a method of C, then x.m () is the result of applying m to x.
45

Let x be an object of class C.

Ejemplo de OQL

Fuente: http://goo.gl/e5BpWV. Consultado en marzo 2014


Apuntes Preparados por Ernesto Arce Pizarro

46

Fuentes de Informacin
http://viale.mx/herramienta-para-hacer-pruebas-y-ejercicios-de-sentenciassql-en-lnea/ http://www.sqlcourse.com/create.html

Apuntes Preparados por Ernesto Arce Pizarro

47

S-ar putea să vă placă și