SISTEMAS DE BASES DE DATOS BASADOS EN OBJETOS

Save this PDF as:
 WORD  PNG  TXT  JPG

Tamaño: px
Comenzar la demostración a partir de la página:

Download "SISTEMAS DE BASES DE DATOS BASADOS EN OBJETOS"

Transcripción

1 Sistemas de Información (Tercer Curso) Enxeñeria Técnica en Informática de Sistemas Escola Técnica Superior de Enxeñería Universidade de Santiago de Compostela SISTEMAS DE BASES DE DATOS BASADOS EN OBJETOS José Ramón Ríos Viqueira SISTEMAS DE BASES DE DATOS BASADOS EN OBJETOS Persistencia LENGUAJE DE PROGRAMACIÓN ORIENTADOS A OBJETOS BASES DE DATOS ORIENTADAS A OBJETOS Orientación a Objetos BASES DE DATOS RELACIONALES BASES DE DATOS OBJETO-RELACIONALES 2

2 Sistemas de Información (Tercer Curso) Enxeñeria Técnica en Informática de Sistemas Escola Técnica Superior de Enxeñería Universidade de Santiago de Compostela SISTEMAS DE BASES DE DATOS ORIENTADOS A OBJETOS José Ramón Ríos Viqueira Índice MOTIVACIÓN ORIENTACIÓN A OBJETOS: CONCEPTOS DISCUSIÓN 4

3 MOTIVACIÓN Aplicaciones tradicionales de las BD Aplicaciones de gestión convencionales Nominas, contabilidad, etc. Uso de registros de longitud fija y reducida Campos de cada registro cortos, de longitud fija y tipo alfanumérico Tipos sin estructura Se cumple la primera forma normal Nuevas aplicaciones de las BD Mejoras en el hardware Integración de nuevos tipos de información en la BD Ejemplos Diseño asistido por ordenador (CAD) Sistemas de Información Geográfica (GIS) Sistemas de información Multimedia (MM) Ingeniería del software asistida por ordenador (CASE) Almacenamiento y recuperación de documentos 5 MOTIVACIÓN Ejemplo (Gestión de rectángulos) rectangulos id 1 2 x1 1 3 y1 1 2 x2 5 7 y SELECT id FROM rectangulos WHERE (x1>=0 and x1<=2 and y1<=0 and y1<=2) OR (x2>=0 and x2<=2 and y2<=0 and y2<=2) OR (x1>=0 and x1<=2 and y2<=0 and y2<=2) OR (x2>=0 and x2<=2 and y1<=0 and y1<=2) OR (x1<=0 and x2>=2 and y1<=0 and y2>=2) OR (x1<=0 and x2>=2 and y1>=0 and y1<=2) OR (x1>=0 and x1<=2 and y1<=0 and y2>=2) OR (x2>=0 and x2<=2 and y1<=0 and y2>=2) OR (x1<=0 and x2>=2 and y2>=0 and y2<=2) SELECT id FROM rectangulos WHERE x1<=2 and y1<=2 and x2>=0 and y2>=0 + eficiente 6

4 MOTIVACIÓN Ejemplo (Gestión de rectángulos) Podrá el optimizador generar la segunda consulta a partir de la primera? Con la tecnología actual, NO! Además, los árboles B, no son los más eficientes para este tipo de problema Problemas Necesidades de información simples se traducen en expresiones SQL demasiado complejas La eficiencia en la ejecución de esas consultas es muy baja Solución Incorporar en el SGBD características presentes en lenguajes O.O. Diferencia entre lenguajes de programación y gestores de BD Las aplicaciones se escriben para solucionar un problema específico Una base de datos se diseña para resolver un conjunto de problemas, alguno de los cuales ni se conoce en el momento del diseño. 7 Índice MOTIVACIÓN ORIENTACIÓN A OBJETOS: CONCEPTOS DISCUSIÓN 8

5 ORIENTACIÓN A OBJETOS: CONCEPTOS Objeto Que es un objeto? Un objeto es cualquier cosa!! Entidad del modelo Entidad / Relación Objetos mutables e inmutables Inmutables (incorporados): reales, enteros, etc. Mutables (definidos por usuario): empleados, departamentos, etc. Estructura de los objetos Conjunto de atributos: De tipo: Inmutable, referencia a mutable; listas, arrays, colecciones, etc. de cualquiera de ellos Conjunto de operaciones y métodos Encapsulamiento Estructura interna no es visible. Acceso a atributos a través de las operaciones públicas Implica independencia física de datos Sistemas reales: Propiedades privadas, públicas y protegidas 9 ORIENTACIÓN A OBJETOS: CONCEPTOS Identidad En el modelo relacional: Identidad definida por el usuario (clave) Modelo O.O.: Cada objeto mutable tiene un identificador (OID). El OID se puede usar como un puntero al objeto. El usuario no tiene que preocuparse de generar los ids. Clases de objetos Agrupan objetos con la misma estructura Cada objeto es una instancia de una clase Diferencia entre clase y tipo de datos. Una clase incluye: Variable de tipo conjunto con todas sus instancias Un método constructor para crear instancias nuevas. 10

6 ORIENTACIÓN A OBJETOS: CONCEPTOS Herencia Jerarquías de especialización/generalización Superclases y subclases Atributos y operaciones comunes localizados en la superclase. Subclases heredan estas propiedades comunes Herencia estructural y de comportamiento Se consigue reutilización de código y polimorfismo. Herencia múltiple Grafos Acíclicos Dirigidos (GAD) en lugar de árboles Problema: Heredar la misma propiedad de varias superclases. Colecciones de objetos Se utilizan referencias a los objetos (OIDs) para incluirlos en colecciones. Permiten la creación de Jerarquías y GADs de agregados Esto permite examinar los datos desde diferentes niveles de detalle 11 ORIENTACIÓN A OBJETOS: CONCEPTOS Lenguajes Orientados a Objetos Incorporación de conceptos de O.O. en bases de datos Incorporación sólo en las herramientas de análisis y diseño Uso de un lenguaje O.O. para modelar E/R extendido UML Transformación de los conceptos de O.O. al modelo relacional Incorporación en el lenguaje de la base de datos Extensión del lenguaje de un SGBD Bases de datos Objeto-relacionales Lenguajes de programación O.O. extendidos para trabajar con bases de datos Lenguajes de programación O.O. persistentes 12

7 Índice MOTIVACIÓN ORIENTACIÓN A OBJETOS: CONCEPTOS Lenguajes de programación persistentes Sistemas C++ persistentes DISCUSIÓN 13 Lenguajes de programación persistentes Introducción Los objetos en un lenguaje de programación no persisten tras la ejecución de una aplicación 1. Datos persistentes en lenguajes de programación almacenados en archivos 2. Almacenar datos persistentes en un SGBD Incorporar SQL en el lenguaje de programación SQL embebido y librerías de acceso a datos 3. Lenguajes de programación persistentes Incorporar constructores en un lenguaje O.O. convencional para dotarlo de la posibilidad de hacer persistentes sus objetos ODMG (Object Data Management Group) 14

8 Lenguajes de programación persistentes Diferencia entre lenguajes con SQL incorporado y lenguajes de programación persistentes Con SQL: Diferentes tipos de dato entre el lenguaje anfitrión y el SQL. Transformación es responsabilidad del programador. Aparecen errores no detectados y se necesita mucho código Persistentes: Persistencia de objetos totalmente integrada en el lenguaje. Los cambios de formato son transparentes al programador. Programador no necesita conocer SQL ni preocuparse de la transformación de objetos a relaciones Con SQL: El programador recibe los datos del SGBD y es su responsabilidad gestionarlos en memoria. Debe de preocuparse de mantener la coherencia entre la copia en memoria y la copia en la BD Persistentes: El programador no necesita escribir código para buscar datos en memoria ni para guardarlos en disco. 15 Lenguajes de programación persistentes Enfoques para conseguir persistencia de objetos Por clases: Nueva sintaxis que permita declarar que una clase es persistente. Todos los objetos de esa clase serán creados como persistentes. Poco flexible. A veces interesa que algunos objetos de una clase sean persistentes y otros no Por creación: Se extiende la sintaxis de creación de objetos para permitir la creación de objetos persistente Por marcas: Todos los objetos se crean igual. Los objetos persistentes se marcan como tales después de su creación Por referencia: Uno o varios objetos se declaran como persistentes de forma explicita (por alguno de los procedimientos anteriores). Los objetos a los que se haga referencia desde uno de los objetos anteriores, serán persistentes también. Ventaja: Forma sencilla de declarar como persistente una estructura compleja. 16

9 Lenguajes de programación persistentes Necesidad de identificadores persistentes Para conseguir la persistencia de objetos, se necesita un método de generación de identificadores (OIDs) persistentes En muchos lenguajes de programación, el OID es un puntero a la ubicación en memoria del objeto (C++) En lenguajes O.O. con persistencia se necesitan identificadores que persistan entre ejecuciones de programas y también a reorganizaciones estructurales de datos. OIDs implementados como punteros persistentes a los objetos. Estos punteros permanecen inalterados después de la ejecución de los programas y después de ciertas reorganizaciones de los datos Se utilizan de igual forma que los punteros internos de la memoria 17 Lenguajes de programación persistentes Almacenamiento y acceso a objetos persistentes Guardar por separado los valores de los atributos de cada objeto El código de cada método puede guardarse como parte del esquema de la clase En algunos sistemas este código se almacena por separado Evitar el tener que integrar un compilador Formas de acceder a los objetos Dar un nombre distinto a cada objeto (eficaz sólo si hay pocos objetos) Exponer los OIDs de los objetos Guardar las colecciones de objetos y permitir que los programas iteren sobres ellas para buscar los objetos deseados Una colección es un objeto (conjuntos, bolsas, listas, arrays, etc.) Una clase e un caso especial de colección Combinación de las tres formas de acceso (mayoría de sistemas) Dar nombres a clases, otras colecciones y objetos especiales Usar OIDs para acceder al resto de los objetos 18

10 Índice MOTIVACIÓN ORIENTACIÓN A OBJETOS: CONCEPTOS Lenguajes de programación persistentes Sistemas C++ persistentes DISCUSIÓN 19 Sistemas C++ Persistentes Características generales Cambios mínimos en la sintaxis de C++ Facilita el uso del sistema Facilita la implementación Ejemplo Definición de una clase "Persistent_Object" Clases persistentes han de ser subclases de "Persisten_Object" Se redefinen algunos operadores para adaptarlos a la persistencia de objetos (Sobrecarga) Ejemplos: "", New, etc. Ejemplos de BDOO basadas en C++ persistente O2, OBJECTSTORE, VERSANT, OBJECTIVITY Estándar ODMG ODL (Object Definition Language) OML (Object Manipulation Language) OQL (Object Query Language) 20

11 ODL Sistemas C++ Persistentes Sucursal * Cuenta Persona Cliente class Persona : public Persistent_Object { public: String nombre; String direccion; ; class Cliente : public Persona { public: int edad; int id_cliente; Set<Ref<Cuenta>> cuentas inverse Cuenta::titulares; ; * * class Sucursal : public Persistent_Object { public: String nombre; String direccion; Set<Ref<Cuenta>> cuentas inverse Cuenta::sucursal; ; class Cuenta : public Persistent_Object { private: int saldo; public: int numero; Set<Ref<Cliente>> titulares inverse Cliente::cuentas; Ref<Sucursal> sucursal inverse Sucursal::cuentas; int calcular_saldo(); int actualizar_saldo(int delta); ; 21 ODL Sistemas C++ Persistentes Clases persistentes: Todas las clases cuyos objetos pueden ser persistentes aparecen en la jerarquía como descendientes de "Persistent_Object" Punteros persistentes: Los tipos de dato puntero a objetos de una determinada clase "*nombre_clase" se sustituyen por un tipo plantilla "Ref<nombre_clase>" de punteros persistentes. Tipos plantilla: Toman como parámetros otros tipos de dato. Colecciones persistentes: Los tipos de dato conjunto, multiconjunto, listas, arrays, etc. se sustituyen por sus respectivos tipos persistentes. Por ejemplo: Set<nombre_clase>. Se usan tipos plantilla para definirlos. Integridad referencial: Palabra clave "inverse". Resumen: Clases Persisten_Object, Ref, Set, etc. definidas en una biblioteca de persistencia. Extensión mínima del lenguaje: palabra clave inverse 22

12 OML Sistemas C++ Persistentes Inserción de objetos int nueva_cuenta(string nombre, string direccion, int edad){ Database *bd; Transaction trans; Ref<Cuenta> cuenta; Ref<Cliente> cliente; bd = Database::open("banco"); trans.begin(); cuenta = New(bd) Cuenta; cliente = New(bd) Cliente; cliente->nombre = nombre; cliente->direccion = direccion; cliente->edad = edad; cuenta->titulares.insert_element(cliente);... trans.commit(); 23 Sistemas C++ Persistentes OML Inserción de objetos Nuevas clases: Database, Transaction, Session, Conection, etc. Creación de nuevos objetos: Operador "New(bd) nombre_clase" crea un objeto persistente nuevo del tipo indicado y lo almacena en la base de datos a la que se refiere la variable bd. Punteros persistentes: Operador -> redefinido para punteros persistentes. Colecciones persistentes: nombre_coleccion.insert_element(obj), inserta un objeto en una colección persistente 24

13 OML Acceso a los objetos Sistemas C++ Persistentes Uso de variables estáticas en las clases class Cliente : public Persona {... static Set<Ref<<Cliente>> todos_los_clientes... Cliente::todos_los_clientes.insert_element(cliente); int visualizar_clientes_por_edad(int edad){ Database *bd; Transaction trans; Iterator<Ref<Cliente>> iter; Ref<Cliente> p; bd = Database::open("banco"); trans.begin(); iter = Cliente::todos_los_clientes.create_iterator(); While (iter.next(p)){ if (p->edad < edad) visualizar_cliente(p); En la declaración de la clase ODL Siempre que se cree un cliente nuevo Puede incluirse en el constructor Se usan iteradores 25 OML Acceso a los objetos Sistemas C++ Persistentes Uso de nombres de colecciones y de objetos int nueva_sucursal(string nombre, string direccion){ Database *bd; Transaction trans; Ref<Sucursal> sucursal; bd = Database::open("banco"); trans.begin(); sucursal = New(bd) Sucursal; sucursal->nombre = nombre; sucursal->direccion = direccion; bd->set_object_name(sucursal, nombre);... trans.commit(); Asigna un nombre en la base de datos a la sucursal creada 26

14 OML Acceso a los objetos Sistemas C++ Persistentes Uso de nombres de colecciones y de objetos nueva_sucursal("nueva1", "Calle nueva 3, bancopoli"); Ejemplo: visualiza los clientes con edad < 35 de las cuentas de la sucursal nueva1 Database *bd; Transaction trans; Ref<Sucursal> nueva1; Iterator<Ref<Cliente>> itercli; Iterator<Ref<Cuenta>> itercuen; Ref<Cliente> pcli; Ref<Cuenta> pcuen; bd = Database::open("banco"); trans.begin(); nueva1 = bd->look_up_object("nueva1"); itercuen = nueva1.cuentas.create_iterator(); While (itercuen.next(pcuen)){ itercli = pcuen->titulares.create_iterator(); While (itercli.next(pcli)){ if (pcli->edad < 35) visualizar_cliente(pcli); Obtiene la sucursal a partir de su nombre 27 OQL Sistemas C++ Persistentes Lenguaje declarativo (parecido a SQL) El resultado no tiene porque ser un conjunto de objetos Da soporte a la independencia física de datos Internamente se pueden declarar índices de acceso Permite la incorporación de optimización de consultas 28

15 Índice MOTIVACIÓN ORIENTACIÓN A OBJETOS: CONCEPTOS Lenguajes de programación persistentes Sistemas C++ persistentes DISCUSIÓN 29 JDO Define interfaces y clases que permiten a los programadores almacenar las instancias de los objetos de aplicación en memoria persistente. Objetivos Proporcionar una visión Java de la información persistente de las aplicaciones Permitir la conexión de distintas implementaciones de almacenes de persistencia sin afectar al código de la aplicación Aplicación Interfaces JDO Implementación JDO Implementación JDO SGBD Archivos Implementación de referencia: 30

16 Definición de clases Código Java normal public class Direccion{ private String calle; private int numero; private String localidad; public Direccion (String calle, int numero, String localidad) { this.calle = calle; this.numero = numero; this.localidad = localidad public tostring(){ return calle+", "+numero+", "+localidad; Clases persistentes declaradas como "Persistence Capable" en la implementación JDO Persona public class Persona { private String nombre; private String apellidos; private int edad; private Direccion dir; Direccion public Persona(String nombre, String apellidos, int edad){ this.nombre = nombre; this.apellidos = apellidos; this.edad = edad; public setdir(direccion dir){ this.dir = dir; public getdir(){return dir public tostring(){ return nombre+" "+apellidos+" ("+edad+")"; 31 Almacenar objetos en memoria persistente Depende de la Properties props = new Properties(); implementación... // Establecer las propiedades para obtener la factoría de gestores de persistencia PersistenceManagerFactory pmf = JDOHelper.getPersistenceManagerFactory(properties); PersistenceManager pm = pmf.getpersistencemanager(); try { pm.currenttransaction.begin(); Persona p = new Persona("Julio", "Hernandez", 23); Direccion d = new Direccion("Torre blanca", 32, "Estopolis"); persona.setdir(d); pm.makepersistent(p); pm.currenttransaction.commint(); Object oid = pm.getobjectid(persona); String textoid = oid.tostring(); finally{ if (pm.currenttransaction().isactive()) pm.currenttransaction().rollback(); if (!pm.isclosed()) pm.close(); La Dirección se hace persistente por referencia Identificador persistente del objeto Identificador persistente del objeto en formato texto 32

17 Acceso a los objetos persistentes Acceso a través del OID persistente del objeto Properties props = new Properties();... // Establecer las propiedades para obtener la factoría de gestores de persistencia PersistenceManagerFactory pmf = JDOHelper.getPersistenceManagerFactory(properties); PersistenceManager pm = pmf.getpersistencemanager(); Object oid = pm.newobjectidinstance(persona.class, textoid); Persona p = (Persona) pm.getobjectbyid(oid, true); System.out.println(p.toString()); refrescar la caché pm.close(); El uso de Oids en formato de texto permite pasarlos como parámetro en aplicaciones web. 33 Acceso a los objetos persistentes Acceso a todas las instancias persistentes de una clase Properties props = new Properties();... // Establecer las propiedades para obtener la factoría de gestores de persistencia PersistenceManagerFactory pmf = JDOHelper.getPersistenceManagerFactory(properties); PersistenceManager pm = pmf.getpersistencemanager(); Extent ext = pm.getextent(persona.class, false); java.util.iterator itr = ext.iterator(); try { while (itr.hasnext()) { Persona p = (Persona) itr.next(); System.out.println(p.getDir().toString()); finally { ext.close(itr); pm.close(); recuperar también las subclases 34

18 Acceso a los objetos persistentes Acceso mediante consultas en JDO Query Language (JDOQL) Properties props = new Properties();... // Establecer las propiedades para obtener la factoría de gestores de persistencia PersistenceManagerFactory pmf = JDOHelper.getPersistenceManagerFactory(properties); PersistenceManager pm = pmf.getpersistencemanager(); Extent ext = pm.getextent(persona.class, false); Query consulta = pm.newquery(persona.class, ext, "this.edad >= 18"); consulta.setordering("nombre ascending"); Collection resultado = (Collection) consulta.execute(); try { Iterator itr = resultado.iterator(); while (itr.hasnext()) System.out.println(itr.next().toString()); finally { consulta.close(resultado); pm.close(); 35 Modificación de objetos persistentes try{ pm.currenttransaction().begin(); Persona p = (Persona) pm.getobjectbyid(oid, true); Direccion d = New Direccion("Rue de la paz", 34, "lotocopolis"); p.setdir(d); pm.currenttransaction().commit(); finally{ if (pm.currenttransaction().isactive()) pm.currenttransaction().rollback(); if (!pm.isclosed()) pm.close(); 36

19 Borrado de objetos persistentes try{ pm.currenttransaction().begin(); Persona p = (Persona) pm.getobjectbyid(oid, true); pm.deletepersistent(p); pm.currenttransaction().commit(); finally{ if (pm.currenttransaction().isactive()) pm.currenttransaction().rollback(); if (!pm.isclosed()) pm.close(); la dirección se borrará en cascada En la implementación debe existir un recolector de basura encargado de liberar el espacio de objetos no referenciados 37 Índice MOTIVACIÓN ORIENTACIÓN A OBJETOS: CONCEPTOS DISCUSIÓN 38

20 DISCUSIÓN Lenguaje de consulta de propósito general Procedimental (C++, Java, etc.) + complejo + coste, + errores Más difícil o imposible incorporar técnicas de optimización Declarativo (OQL, JDOQL) Los atributos deben de ser públicos Se pierde la encapsulación y la independencia física de datos Que pasa si sustituimos un array por una lista? Clases derivadas: Proyección en algunos atributos de una clase Clase resultado? OID? Que métodos se aplican? Join de dos clases OQL: El resultado no siempre es una clase Modelo no es cerrado JDOQL: Lenguaje de consulta limitado (sólo filtros) Vistas: Normalmente no se permiten. Acceso a datos a través de caminos (Paths) Modelo jerárquico? 39 DISCUSIÓN Declaración de restricciones de integridad No se pueden codificar en un lenguaje declarativo Inserción de código de validación en los métodos Problemas El cuando se ejecuta la comprobación lo determina el usuario y no el sistema Se puede estar seguro de que siempre que se acceda al dato, desde cualquier método (codificado o por codificar), se va a efectuar la validación? Si la restricción cambia Cuántos métodos deben modificarse? Hay un catálogo de restricciones? Se ejecutarán durante operaciones atípicas carga masiva de datos etc. 40

21 Relaciones entre objetos DISCUSIÓN Se modelan mediante punteros 1:1, puntero de un objeto a otro (a veces en una sola dirección) 1:N, en un lado puntero, en el otro lado colección de punteros M:N, colecciones de punteros en ambos lados Relaciones ternarias? Vuelta al modelo en red? Integridad referencial Validación de punteros (JDO). Declarar que una referencia es la inversa de otra (OQL) Borrados y modificaciones automáticas En muchos casos se asumen borrados en CASCADA Jerarquías, recolector de basura. No se permite al usuario controlar el comportamiento. 41 DISCUSIÓN Un lenguaje de programación O.O. persistente, es realmente un SGBD? Un SGBD relacional se proporciona listo para ser usado Sistema gestor de datos de propósito general Un SGBD Orientado a Objetos puede verse como un conjunto de herramientas que permiten a un programador definir un almacén de datos para una aplicación en concreto Definir clases con métodos (código) adaptado a una aplicación concreta Se da poca importancia a: Compartir datos entre aplicaciones Independencia física de datos Lenguajes de consulta declarativos y de propósito general Vistas e independencia lógica de datos etc. 42

BASE DE DATOS: ENFOQUE ORIENTADO A OBJETOS. Dámaso López Aragón

BASE DE DATOS: ENFOQUE ORIENTADO A OBJETOS. Dámaso López Aragón BASE DE DATOS: ENFOQUE ORIENTADO A OBJETOS Dámaso López Aragón Introducción En la actualidad, la orientación a objetos es una nueva forma de comprender los problemas y modelar el negocio de una empresa,

Más detalles

Java Inicial (20 horas)

Java Inicial (20 horas) Java Inicial (20 horas) 1 Temario 1. Programación Orientada a Objetos 2. Introducción y Sintaxis Java 3. Sentencias Control Flujo 4. POO en Java 5. Relaciones entre Objetos 6. Polimorfismo, abstracción

Más detalles

PROGRAMACIÓ DIDÁCTICA: Secuanciación, Temporalización y Unidades Didácticas

PROGRAMACIÓ DIDÁCTICA: Secuanciación, Temporalización y Unidades Didácticas Departamento de Informática PROGRAMACIÓN DIDÁCTICA Curso 11-12 1 CONSEJERÍA DE EDUCACIÓN I.E.S. NERVIÓN Departamento de Informática CICLO FORMATIVO: TÉCNICO SUPERIOR EN DESARROLLO DE APLICACIONES MULTIPLATAFORMA.

Más detalles

Curso de Java POO: Programación orientada a objetos

Curso de Java POO: Programación orientada a objetos Curso de Java POO: Programación orientada a objetos Luis Guerra Velasco Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Introducción a la POO 2 Herencia y polimorfismo 3 Empaquetado de proyectos

Más detalles

ELEMENTOS DE BASES DE DATOS. Bases de Datos + Orientación a Objetos. Clase 23:

ELEMENTOS DE BASES DE DATOS. Bases de Datos + Orientación a Objetos. Clase 23: Dpto. Ciencias e Ingeniería de la Computación Universidad Nacional del Sur ELEMENTOS DE BASES DE DATOS Segundo Cuatrimestre 2015 Clase 23: Bases de Datos + Orientación a Objetos Mg. María Mercedes Vitturini

Más detalles

Estructura de Bases de datos. Leonardo Víquez Acuña

Estructura de Bases de datos. Leonardo Víquez Acuña Estructura de Bases de datos Leonardo Víquez Acuña Lenguajes de Bases de Datos Un sistema de bases de datos proporciona Un lenguaje de definición de datos para especificar el esquema de la base de datos

Más detalles

Programación Orientada a Objetos con Java

Programación Orientada a Objetos con Java Programación Orientada a Objetos con Java M.C. Jorge Eduardo Ibarra Esquer jorgeeie@uabc.mx Sobrecarga de métodos Java permite la definición de dos o más métodos que tengan el mismo nombre, dentro de la

Más detalles

BANCO DE PREGUNTAS PARA EVALUACIÓN DE CONOCIMIENTOS DEL CONCURSO DE MÉRITOS Y OPOSICIÓN EXPERTO EN DESARROLLO DE SISTEMAS 1

BANCO DE PREGUNTAS PARA EVALUACIÓN DE CONOCIMIENTOS DEL CONCURSO DE MÉRITOS Y OPOSICIÓN EXPERTO EN DESARROLLO DE SISTEMAS 1 BANCO DE PREGUNTAS PARA EVALUACIÓN DE CONOCIMIENTOS DEL CONCURSO DE MÉRITOS Y OPOSICIÓN EXPERTO EN DESARROLLO DE SISTEMAS 1 1. Cuáles de los siguientes enunciados son declaraciones válidas? 2. Cuál de

Más detalles

Diagrama de Clases. Diagrama de Clases

Diagrama de Clases. Diagrama de Clases Diagrama de Clases 1 Diagrama de Clases El propósito de este diagrama es el de representar los objetos fundamentales del sistema, es decir los que percibe el usuario y con los que espera tratar para completar

Más detalles

Una base de datos es una colección de información ordenada e interrelacionada que es de importancia para una empresa.

Una base de datos es una colección de información ordenada e interrelacionada que es de importancia para una empresa. BASES DE DATOS Una base de datos es una colección de información ordenada e interrelacionada que es de importancia para una empresa. La creación de una base de datos debe ser realizada cuidadosamente procurando

Más detalles

Unidad didáctica 2: Metodologías de desarrollo de Bases de Datos. Unidad didáctica 1: Fase de análisis de requisitos Modelo E/R

Unidad didáctica 2: Metodologías de desarrollo de Bases de Datos. Unidad didáctica 1: Fase de análisis de requisitos Modelo E/R índice Módulo A Unidad didáctica 1: Introducción a las Bases de Datos Unidad didáctica 2: Metodologías de desarrollo de Bases de Datos 3 19 Módulo B Unidad didáctica 1: Fase de análisis de requisitos Modelo

Más detalles

Programación en Java. Programación en OO

Programación en Java. Programación en OO Programación en OO Lección 4:Programación en OO 1. Herencia 2. Modificadores de Acceso 3. Interfaces Herencia Es la acción en la que una clase obtiene los métodos y propiedades definidos en otra clase,

Más detalles

Introducción a la programación orientada a objetos

Introducción a la programación orientada a objetos Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases 3. El tipo Struct 4. Diferencias entre Class y Struct 5. Pilares de la Programación

Más detalles

Introducción. Herencia y Polimorfismo. Ejemplos (I) Ejemplos (II) Control de Acceso. Herencia

Introducción. Herencia y Polimorfismo. Ejemplos (I) Ejemplos (II) Control de Acceso. Herencia Introducción Herencia y Polimorfismo Se pueden definir jerarquías de clases, con clases generales que definen el comportamiento común a unos objetos y clases específicas que sólo añaden o redefinen el

Más detalles

Repaso de las características más importantes de la programación Java y su adaptación a Android

Repaso de las características más importantes de la programación Java y su adaptación a Android Repaso de las características más importantes de la programación Java y su adaptación a Android 1. Entorno de programación en java 2. Variables y tipos de datos 3. Operaciones y operadores 4. Clases y

Más detalles

Bases de Datos 3º Informática de Sistemas

Bases de Datos 3º Informática de Sistemas TEMA 2.- EL SISTEMA GESTOR DE BASES DE DATOS. Concepto y Funciones del SGBD. Lenguajes de los SGBD. Niveles de Abstracción. Arquitectura ANSI/SPARC. Componentes del SGBD. 1. Concepto y Funciones del SGBD.

Más detalles

Lenguajes de Programación Curso 04-05. Práctica 4. Herencia. Utilización de interfaces y clases abstractas. 1. Interfaces 1. 2. Clases abstractas 2

Lenguajes de Programación Curso 04-05. Práctica 4. Herencia. Utilización de interfaces y clases abstractas. 1. Interfaces 1. 2. Clases abstractas 2 Objetivos Herencia. Utilización de interfaces y clases abstractas. Índice 1. Interfaces 1 2. Clases abstractas 2 3. Collections Framework 3 3.1. Collection........................................... 3

Más detalles

ELEMENTO I INTRODUCCION A LOS SISTEMAS DE BASES DE DATOS

ELEMENTO I INTRODUCCION A LOS SISTEMAS DE BASES DE DATOS Base de Datos ELEMENTO I INTRODUCCION A LOS SISTEMAS DE BASES DE DATOS Una base de datos es un conjunto de elementos de datos que se describe a sí mismo, con relaciones entre esos elementos, que presenta

Más detalles

Un comité de la organización ANSI (American National Standards Institute) aborda la problemática del almacenamiento de datos para su procesamiento en

Un comité de la organización ANSI (American National Standards Institute) aborda la problemática del almacenamiento de datos para su procesamiento en 15/05/2012 1 Un comité de la organización ANSI (American National Standards Institute) aborda la problemática del almacenamiento de datos para su procesamiento en aplicaciones informáticas en 1975. 2 Como

Más detalles

Introducción a Bases de Datos

Introducción a Bases de Datos de a M. -Tastets Universidad de Concepción,Chile www.inf.udec.cl\ andrea andrea@udec.cl II Semestre - 2007 y del s: Sistemas de y del s: de y del s: Objetivos de la Unidad Dar a conocer las características,

Más detalles

Arquitectura de Aplicaciones

Arquitectura de Aplicaciones 1 Capítulo 13: Arquitectura de aplicaciones. - Sommerville Contenidos del capítulo 13.1 Sistemas de procesamiento de datos 13.2 Sistemas de procesamiento de transacciones 13.3 Sistemas de procesamiento

Más detalles

BASES DE DATOS TEMA 1. INTRODUCCION

BASES DE DATOS TEMA 1. INTRODUCCION Contenidos generales BASES DE DATOS TEMA 1. INTRODUCCION Bases de datos, Sistemas de gestión de bases de datos y Sistemas de bases de datos Bases de datos vs. Sistemas de archivos Objetivos de los Sistemas

Más detalles

Introducción a las bases de datos

Introducción a las bases de datos Introducción a las bases de datos Juan Ignacio Rodríguez de León Abstract Aplicaciones de los sistemas de bases de datos. Sistemas de bases de datos frente a sistemas de archivos. Visión de los datos.

Más detalles

PHP y MySQL. Inicio: - Herencia - Palabra clave Final - Polimorfismo - Type Hinting - Abstracción de clases

PHP y MySQL. Inicio: - Herencia - Palabra clave Final - Polimorfismo - Type Hinting - Abstracción de clases PHP y MySQL Inicio: - Herencia - Palabra clave Final - Polimorfismo - Type Hinting - Abstracción de clases Herencia de Objetos La herencia permite crear muchas clases que son similares entre si, sin tener

Más detalles

CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA

CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA PROGRAMACIÓN DIDACTICA ANUAL Parte específica del módulo: 0485. Programación Departamento de Familia Profesional de Informática Curso: 2014-15

Más detalles

2.6.2.- Aplicaciones de las vistas. 2.6.1.- Concepto de vista. 2.6.3.- Vistas en SQL. 2.6.3.- Vistas en SQL.

2.6.2.- Aplicaciones de las vistas. 2.6.1.- Concepto de vista. 2.6.3.- Vistas en SQL. 2.6.3.- Vistas en SQL. 2.6.1.- Concepto de vista. Una vista es una tabla derivada de otras tablas (básicas o virtuales). Una vista se caracteriza porque: Se considera que forma parte del esquema externo. Una vista es una tabla

Más detalles

ATLAS MANUAL DE USUARIO SERVICIO DE AUDITORIA

ATLAS MANUAL DE USUARIO SERVICIO DE AUDITORIA ATLAS MANUAL DE USUARIO SERVICIO DE AUDITORIA Versión 1.3 Área de Aplicaciones Especiales y Arquitectura de Software Hoja de Control Título Documento de Referencia Responsable Manual de Usuario Servicio

Más detalles

INTRODUCCION. entidades. Modelo lógico de la base de datos. Matricula. carne. codigo_curso. año semestre nota. propiedades

INTRODUCCION. entidades. Modelo lógico de la base de datos. Matricula. carne. codigo_curso. año semestre nota. propiedades INTRODUCCION Uno de los objetivos del curso es modelar a través de un diagrama las estructuras lógicas requeridas para almacenar los datos y resolver las consultas del sistema información que requiera

Más detalles

DEPARTAMENTO: Informática. MATERIA: Programación. NIVEL: 1º Desarrollo de Aplicaciones Multiplataforma

DEPARTAMENTO: Informática. MATERIA: Programación. NIVEL: 1º Desarrollo de Aplicaciones Multiplataforma DEPARTAMENTO: Informática MATERIA: Programación NIVEL: 1º Desarrollo de Aplicaciones Multiplataforma 1. Objetivos. Competencias Profesionales, Personales y Sociales 1.1 Objetivos del ciclo formativo La

Más detalles

UNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA DE SISTEMAS

UNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA DE SISTEMAS UNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA DE SISTEMAS CURSO: JAVA BASICO PROFESOR: EMERSON CASTAÑEDA SANABRIA TEMA: Programación Orientada a Objetos OBJETIVOS: Familiarizarse con la Programación

Más detalles

Definición de clases: Herencia, polimorfismo, ligadura dinámica

Definición de clases: Herencia, polimorfismo, ligadura dinámica Tema 7 Definición de clases: Herencia, polimorfismo, ligadura dinámica Con alguna frecuencia es necesario definir clases de objetos entre las cuales hay elementos comunes. En una aplicación en la cual

Más detalles

Tema 1. Conceptos básicos

Tema 1. Conceptos básicos Conceptos básicos Sistema de Gestión de Bases de Datos, SGBD (DBMS, Database Management System): software diseñado específicamente para el mantenimiento y la explotación de grandes conjuntos de datos 1

Más detalles

Ingeniería en Sistemas Computacionales

Ingeniería en Sistemas Computacionales INSTITUTO TECNOLÓGICO SUPERIOR DE LA MONTAÑA EXTENSIÓN ILIATENCO Ingeniería en Sistemas Computacionales MATERIA: FUNDAMENTOS DE BASES DE DATOS DOCENTE: ING. ADRIÁN NAVA SÁNCHEZ PRESENTA: JULIO CESAR DAMIÁN

Más detalles

Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle

Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Contenido Tipos de herencia Herencia y niveles de visibilidad Herencia y creación Redefinición de métodos Conversión

Más detalles

CARACTERÍSTICAS DE LOS SGBDOO CARACTERÍSTICAS DE LOS SGBDOO CARACTERÍSTICAS DE LOS SGBDOO CARACTERÍSTICAS DE LOS SGBDOO CARACTERÍSTICAS DE LOS SGBDOO

CARACTERÍSTICAS DE LOS SGBDOO CARACTERÍSTICAS DE LOS SGBDOO CARACTERÍSTICAS DE LOS SGBDOO CARACTERÍSTICAS DE LOS SGBDOO CARACTERÍSTICAS DE LOS SGBDOO BASES DE DATOS ORIENTADAS A INTRODUCCIÓN INTRODUCCIÓN.. MODELO DE DATOS ORIENTADO A. COMPLEJOS.. ODL. LENGUAJE DE CONSULTA DE OQL. DISEÑO CONCEPTUAL DE BD DE. ESTÁNDAR CORBA PARA. BD ORIENTADAS A 1 BD

Más detalles

UNIVERSIDAD NACIONAL DE INGENIERÍA CENTRO DE EXTENSIÓN Y PROYECCIÓN SOCIAL

UNIVERSIDAD NACIONAL DE INGENIERÍA CENTRO DE EXTENSIÓN Y PROYECCIÓN SOCIAL UNIVERSIDAD NACIONAL DE INGENIERÍA CURSO DE JAVA CERTIFICA ORGANIZA Mayor Información: informes@uni.edu.pe Telf. : 481-6693 /381-3854 Visite Nuestra Web http://www.ceps.uni.edu..pe OBJETIVOS GENERALES

Más detalles

Clases. Java: Clases y Objetos. Clases. Clases. Modificadores de clase. Definición de una clase. Cada objeto es un ejemplar de una clase

Clases. Java: Clases y Objetos. Clases. Clases. Modificadores de clase. Definición de una clase. Cada objeto es un ejemplar de una clase Java: Clases y Objetos Clases La unidad fundamental de programación en Java es la clase Un programa Java está formado por un conjunto de clases Una clase es una plantilla que describe un conjunto de objetos

Más detalles

DBMS (Data Base Management System) Un Sistema de Gestión de Base de Datos, consiste en una colección de datos interrelacionados y un conjunto de

DBMS (Data Base Management System) Un Sistema de Gestión de Base de Datos, consiste en una colección de datos interrelacionados y un conjunto de Unidad 1 DBMS (Data Base Management System) Un Sistema de Gestión de Base de Datos, consiste en una colección de datos interrelacionados y un conjunto de programas para acceder a esos datos. El objetivo

Más detalles

Repaso de Conceptos Básicos de Bases de Datos

Repaso de Conceptos Básicos de Bases de Datos escuela técnica superior de ingeniería informática Repaso de Conceptos Básicos de Bases de Datos Departamento de Lenguajes Grupo de Ingeniería del Software Septiembre 2004 Definición Una base de datos

Más detalles

www.aprendoencasa.com Curso Introducción JAVA Pág.: 1

www.aprendoencasa.com Curso Introducción JAVA Pág.: 1 www.aprendoencasa.com Curso Introducción JAVA Pág.: 1 Introducción Java es un lenguaje basado en la programación orientada a objetos (POO), este tipo de programación va más allá del tipo de programación

Más detalles

Programación Avanzada para Sistemas de Telecomunicación. Objetos y clases. J.C. Cruellas. Objetos y clases

Programación Avanzada para Sistemas de Telecomunicación. Objetos y clases. J.C. Cruellas. Objetos y clases Programación Avanzada para Sistemas de Telecomunicación Objetos y clases Juan Carlos Cruellas cruellas@ac.upc.es Objetos y clases Concepto de objeto. Concepto de clase. Clases, objetos y programas. Clases

Más detalles

Programación Orientada a Objetos en Java

Programación Orientada a Objetos en Java Programación Orientada a Objetos en Java Curso 2006-2007 Tema 4 Herencia y Polimorfismo Gonzalo Méndez Pozo Dpto. de Ingeniería de Software e Inteligencia Artificial Universidad Complutense de Madrid Herencia

Más detalles

class Nombre_Clase extends Nombre_SuperClase { cuerpo de la clase extendida }

class Nombre_Clase extends Nombre_SuperClase { cuerpo de la clase extendida } REUTILIZACIÓN DE CLASES:MODELO DE HERENCIA EN JAVA Java soporta herencia simple pero no múltiple. Lo hace mediante el mecanismo de extensión de clase. A partir de él, una subclase se extiende (hereda)

Más detalles

Prácticas de Programación

Prácticas de Programación Prácticas de Programación Tema 1. Introducción al análisis y diseño de programas Tema 2. Clases y objetos Tema 4. Tratamiento de errores Tema 5. Aspectos avanzados de los tipos de datos Tema 6. Modularidad

Más detalles

Capítulo 12: Indexación y asociación

Capítulo 12: Indexación y asociación Capítulo 12: Indexación y asociación Conceptos básicos Índices ordenados Archivos de índice de árbol B+ Archivos de índice de árbol B Asociación estática Asociación dinámica Comparación entre indexación

Más detalles

Componentes de Integración entre Plataformas Información Detallada

Componentes de Integración entre Plataformas Información Detallada Componentes de Integración entre Plataformas Información Detallada Active Directory Integration Integración con el Directorio Activo Active Directory es el servicio de directorio para Windows 2000 Server.

Más detalles

SQL (Structured Query Language)

SQL (Structured Query Language) SQL (Structured Query Language) El lenguaje de consulta estructurado o SQL (por sus siglas en inglés Structured Query Language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite

Más detalles

Tema 11 Bases de datos. Fundamentos de Informática

Tema 11 Bases de datos. Fundamentos de Informática Tema 11 Bases de datos Fundamentos de Informática Índice Evolución Tipos de modelos de datos y SGBD El modelo relacional y el Diseño de una Base de Datos Operaciones básicas: consulta, inserción y borrado.

Más detalles

LENGUAJES DE CONSULTA ORIENTADOS A OBJETOS

LENGUAJES DE CONSULTA ORIENTADOS A OBJETOS LENGUAJES DE CONSULTA ORIENTADOS A OBJETOS Los lenguajes de consulta constituyen una funcionalidad importante de los SGBDOO. El usuario puede recuperar los datos especificando simplemente las condiciones

Más detalles

Tema 1. Introducción a los TAD

Tema 1. Introducción a los TAD Tema 1. Introducción a los TAD Objetivos En este tema nos ocupamos inicialmente del concepto de abstracción, dedicando la mayor atención a la abstracción de datos, estudiando aspectos relacionados con

Más detalles

Programación Orientada a Objetos Analista Programador Universitario Plan 2008 Año 2010

Programación Orientada a Objetos Analista Programador Universitario Plan 2008 Año 2010 INTRODUCCION Los objetos usados en aplicaciones JAVA mantienen su estado y comportamiento mientras la aplicación se halle en ejecución. Generalmente se necesita mantener el estado y comportamiento de los

Más detalles

2.2.- Paradigmas de la POO

2.2.- Paradigmas de la POO 2.2.- Paradigmas de la POO Los principios propios de la orientación a objetos son: 2.2.1.- Abstracción de Datos 2.2.2.- Encapsulamiento 2.2.3.- Ocultamiento 2.2.4.- Herencia 2.2.5.- Polimorfismo Cualquier

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez Encapsulamiento: Control de Acceso Clases en Java (1) UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO En Java se organizan las clases en paquetes

Más detalles

EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011

EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011 EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011 1. (0,75 PUNTOS) Identificad a continuación las sentencias que son ciertas, descartando

Más detalles

Programación páginas web. Servidor (PHP)

Programación páginas web. Servidor (PHP) Programación páginas web. Servidor (PHP) Curso de desarrollo de aplicaciones web. Para ello se estudia la programación de la parte servidor con la tecnología PHP y el servidor de bases de datos MySQL.

Más detalles

ESCUELA DE INGENIERÍA DE SISTEMAS DEPARTAMENTO DE COMPUTACIÓN PROGRAMACIÓN 2 PRÁCTICA DE LABORATORIO 7 Herencia y Composición en POO

ESCUELA DE INGENIERÍA DE SISTEMAS DEPARTAMENTO DE COMPUTACIÓN PROGRAMACIÓN 2 PRÁCTICA DE LABORATORIO 7 Herencia y Composición en POO ESCUELA DE INGENIERÍA DE SISTEMAS DEPARTAMENTO DE COMPUTACIÓN PROGRAMACIÓN 2 PRÁCTICA DE LABORATORIO 7 Herencia y Composición en POO Contenido Introducción... 1 Concepto de la Herencia... 2 Relación de

Más detalles

Bases de Datos OO y Objeto. Bases de Datos Avanzadas Curso 2010/2011

Bases de Datos OO y Objeto. Bases de Datos Avanzadas Curso 2010/2011 Bases de Datos OO y Objeto Relacionales l Bases de Datos Avanzadas Curso 2010/2011 Sergio Ilarri Artigas Repaso de OO Es tu mascota orientada a objetos? Conceptos básicos de OO (I) Objetos complejos Un

Más detalles

Capitulo III. Diseño del Sistema.

Capitulo III. Diseño del Sistema. Capitulo III. Diseño del Sistema. Para el desarrollo del sistema en la presente tesis se utilizo el paradigma orientado a objetos utilizando el lenguaje Java en su versión 1.2. Por medio de este lenguaje

Más detalles

- Bases de Datos - - Diseño Físico - Luis D. García

- Bases de Datos - - Diseño Físico - Luis D. García - Diseño Físico - Luis D. García Abril de 2006 Introducción El diseño de una base de datos está compuesto por tres etapas, el Diseño Conceptual, en el cual se descubren la semántica de los datos, definiendo

Más detalles

Introducción al lenguaje JAVA

Introducción al lenguaje JAVA Universidad Autónoma de Tlaxcala Introducción al lenguaje JAVA M.C.. José Juan Hernández ndez Mora Segunda Sesión 1. Arreglos 2. Matrices 3. Clases en Java 4. Clases de Usuario en Java 5. Objetos definidos

Más detalles

Programación páginas web JavaScript y PHP

Programación páginas web JavaScript y PHP Programación páginas web JavaScript y PHP Curso de desarrollo de aplicaciones web. Para ello se estudia la programación de la parte cliente con JavaScript y la programación de la parte servidor con la

Más detalles

INTRODUCCION A LOS SGBD

INTRODUCCION A LOS SGBD Parte Primera: INTRODUCCION A LOS SGBD Sistemas de Gestión de Bases de Datos Tabla Tabla Type Fila Tabla Type Fila Tabla text Fila Type Fila Fila text Type Fila Tabla Tabla Fila text Fila text Fila Fila

Más detalles

LABORATORIO 10. ADMINISTRACIÓN DE COPIAS DE SEGURIDAD EN SQL SERVER

LABORATORIO 10. ADMINISTRACIÓN DE COPIAS DE SEGURIDAD EN SQL SERVER LABORATORIO 10. ADMINISTRACIÓN DE COPIAS DE SEGURIDAD EN SQL SERVER GUÍA DE LABORATORIO Nº 1O Actividad de Proyecto No. 12: ESTABLECER PLANES DE RESGUARDO, RESTAURACION Y CONTINGENCIA. Estructura de contenidos.

Más detalles

Patrones de diseño. Sesión 1: Introducción y patrones básicos. Especialista Universitario Java Enterprise

Patrones de diseño. Sesión 1: Introducción y patrones básicos. Especialista Universitario Java Enterprise Sesión 1: Introducción y patrones básicos Titulo Módulo 2006-2007 Depto. Ciencia de la Computación e IA Titulo sesión-1 En el desarrollo de aplicaciones J2EE ( y no J2EE!) se presentan una y otra vez los

Más detalles

Diagramas de Clase en UML 1.1

Diagramas de Clase en UML 1.1 Diagramas de Clase en UML. Francisco José García Peñalvo Licenciado en Informática. Profesor del Área de Lenguajes y Sistemas Informáticos de la Universidad de Burgos. fgarcia@.ubu.es Carlos Pardo Aguilar

Más detalles

BASES DE DATOS TEMA 1

BASES DE DATOS TEMA 1 BASES DE DATOS TEMA 1 Contenido 1. Qué es una base de datos? 2. Un ejemplo 3. Personas que interactúan con la base de datos 4. Inconvenientes de los sistemas de ficheros 5. Modelos de datos 6. Lenguajes

Más detalles

Diplomado Java. Descripción. Objetivo. A quien está dirigido. Requisitos. Beneficios

Diplomado Java. Descripción. Objetivo. A quien está dirigido. Requisitos. Beneficios Diplomado Java Descripción El lenguaje de programación Java es uno de los más utilizados hoy en día. Su potencia, simplicidad, funcionalidad y capacidad hacen que este lenguaje sea una de las herramientas

Más detalles

Sistemas Multimedia Distribuidos. Juan A. Sigüenza Departamento de Ingeniería Informática UAM

Sistemas Multimedia Distribuidos. Juan A. Sigüenza Departamento de Ingeniería Informática UAM Sistemas Multimedia Distribuidos Juan A. Sigüenza Departamento de Ingeniería Informática UAM Componentes de un Sistema Multimedia Distribuido Software de aplicación Almacenamiento de Documentos Almacenamiento

Más detalles

Unidad 1. Introducción a los conceptos de Bases de Datos

Unidad 1. Introducción a los conceptos de Bases de Datos Unidad 1 Introducción a los conceptos de Bases de Datos 1.1 Definición de Base de Datos Dato: Conjunto de caracteres con algún significado, pueden ser numéricos, alfabéticos, o alfanuméricos. Información:

Más detalles

SISTEMAS DE GESTIÓN DE BASE DE DATOS SGBD / DBMS

SISTEMAS DE GESTIÓN DE BASE DE DATOS SGBD / DBMS Universidad de Carabobo Facultad Experimental de Ciencias y Tecnología Departamento de Computación Unidad Académica Base de Datos SISTEMAS DE GESTIÓN DE BASE DE DATOS SGBD / DBMS Integrantes: Fidel Gil

Más detalles

abacformacio@abacformacio.com

abacformacio@abacformacio.com Programación de páginas web con PHP Curso de desarrollo de aplicaciones web. Para ello se estudia la programación de la parte cliente con JavaScript y la programación de la parte servidor con la tecnología

Más detalles

Programación orientada a objetos

Programación orientada a objetos Repaso Programación orientada a objetos Curso INEM. Programación en Java Santiago Muelas Pascual smuelas@fi.upm.es! Clase! Objeto! Atributo o variable de instancia! Método! Instanciar/crear un objeto!

Más detalles

Generación de código para Hibernate desde modelos UML

Generación de código para Hibernate desde modelos UML Generación de código para Hibernate desde modelos UML Alejandro Nogueiro Mariscal Ingeniería Técnica en Informática de Sistemas, Universidad de Cádiz 24 de Septiembre 2012 1 / 35 Índice 1 Motivación y

Más detalles

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA UNED Centro Asociado de Cádiz RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA 1. OBJETOS Cualquier elemento del programa es un objeto. Un programa es un conjunto de objetos que se comunican entre sí

Más detalles

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS AUTORÍA JOSEFA PÉREZ DOMÍNGUEZ TEMÁTICA NUEVAS TECNOLOGIAS ETAPA CICLOS FORMATIVOS DE GRADO SUPERIOR DE INFORMÁTICA Resumen En esta publicación se

Más detalles

BASES DE DATOS, MODELOS DE DATOS Y DBMS

BASES DE DATOS, MODELOS DE DATOS Y DBMS BASES DE DATOS, MODELOS DE DATOS Y DBMS Maestría en Bioinformática Marzo 2010 Bases de Datos Algunas definiciones: Bases de Datos y DBMS Procesos y Actores Involucrados Por qué usar DBMSs? Cuándo no usar

Más detalles

Ejercicios - Persistencia en Android: ficheros y SQLite

Ejercicios - Persistencia en Android: ficheros y SQLite Ejercicios - Persistencia en Android: ficheros y SQLite Índice 1 Uso de ficheros (0.5 puntos)...2 2 Persistencia con ficheros (0.5 puntos)...3 3 Base de datos: SQLiteOpenHelper (0.5 puntos)... 3 4 Base

Más detalles

MODULO DE PROGRAMACION JAVA Nivel Básico-Intermedio

MODULO DE PROGRAMACION JAVA Nivel Básico-Intermedio MODULO DE PROGRAMACION JAVA Nivel Básico-Intermedio Objetivo general: Introducir al participante en los conceptos y herramientas más importantes del lenguaje javo para la programación de objetos. Duración

Más detalles

1. Introducción. 1.1. Información y datos. 1.2. Ficheros vs. Bases de datos

1. Introducción. 1.1. Información y datos. 1.2. Ficheros vs. Bases de datos 1. Introducción 1.1. Información y datos 1.2. Ficheros vs. Bases de datos 1.3. Sistemas gestores de bases de datos 1.4. Visión de los datos 1.5. Esquema de la BD y ejemplares de la BD 1.6. Modelos de datos

Más detalles

Curso de Python Inicial

Curso de Python Inicial Logo IAA-CSIC Curso organizado por el Gabinete de Formación del CSIC Curso de Python Inicial Clases Contenidos 1. Paradigmas de la Programación 2. Programación Orientada a objetos 3. Clases 4. Objetos

Más detalles

Herencia e Interfaces

Herencia e Interfaces Herencia Introducción En C# cualquier dato es un objeto porque todos los tipos derivan implícitamente de este tipo, y heredan los métodos y campos definidos en dicha clase. Cada nuevo tipo tiene todo lo

Más detalles

Desarrollo del software imposible si las tareas tuviesen que expresarse en código máquina. Lenguajes de más alto nivel: comprensibles, manejables y

Desarrollo del software imposible si las tareas tuviesen que expresarse en código máquina. Lenguajes de más alto nivel: comprensibles, manejables y 1. Paradigmas de programación Desarrollo del software imposible si las tareas tuviesen que expresarse en código máquina. Lenguajes de más alto nivel: comprensibles, manejables y automáticamente convertibles

Más detalles

CURSO DE ADO EXPRESS/DATASNAP

CURSO DE ADO EXPRESS/DATASNAP CURSO DE ADO EXPRESS/DATASNAP EN DELPHI 7 RESUMEN DE EJERCICIOS Serie A 0 Creación de la base de datos 1 El API de ADO 2 Cadenas de conexión y propiedades 3 Tipos de cursores 4 Recuperación asíncrona 5

Más detalles

ADMINISTRACIÓN DE BASE DE DATOS

ADMINISTRACIÓN DE BASE DE DATOS SQL SERVER T-SQL QUERY s es ADMINISTRADOR GRÁFICO SGBD Elementos objetos Tablas Procedimientos Triggers Funciones Usuarios Permiso Roles Contraseñas Programas DTS (Data Transfer System) Exportación e Importación

Más detalles

Acceso a bases de datos MySQL con PHP

Acceso a bases de datos MySQL con PHP GESTIÓN Y ADMINISTRACIÓN WEB Acceso a bases de datos MySQL con PHP Ing. CIP Fabián Silva Alvarado fsilvasys@hotmail.com DEFINICIÓN DE BASE DE DATOS Base de Datos es un conjunto de datos relacionados entre

Más detalles

Analizar, diseñar, desarrollar e implementar soluciones orientadas a objetos utilizando encapsulamiento, herencia, polimorfismo y archivos.

Analizar, diseñar, desarrollar e implementar soluciones orientadas a objetos utilizando encapsulamiento, herencia, polimorfismo y archivos. Nombre de la asignatura: Programación Orientada a Objetos Créditos: 2-3- 5 Aportación al perfil Desarrollar, implementar y administrar software de sistemas o de aplicación que cumpla con los estándares

Más detalles

CURSO DE SQL SERVER 2005

CURSO DE SQL SERVER 2005 CURSO DE SQL SERVER 2005 Una vez finalizado el curso, el alumno estará preparado para: Instalar y configurar SQL Server 2005. Comprender los conceptos más importantes del diseño de bases de datos. Crear

Más detalles

Diseño orientado a los objetos

Diseño orientado a los objetos Diseño orientado a los objetos El Diseño Orientado a los Objetos (DOO) crea una representación del problema del mundo real y la hace corresponder con el ámbito de la solución, que es el software. A diferencia

Más detalles

Uso de las herramientas de consulta de Transact-SQL

Uso de las herramientas de consulta de Transact-SQL Uso de las herramientas de consulta de Transact-SQL Contenido Introducción 1 Analizador de consultas SQL 2 Uso de la herramienta Examinador de objetos en el Analizador de consultas SQL 3 Uso de plantillas

Más detalles

SÍLABO. : Obligatorio : Ingeniería de Sistemas : IS0704. : VII Ciclo : 03 Teoría y 02 Práctica : 04 : Lenguaje de Programación II

SÍLABO. : Obligatorio : Ingeniería de Sistemas : IS0704. : VII Ciclo : 03 Teoría y 02 Práctica : 04 : Lenguaje de Programación II SÍLABO I. DATOS GENERALES 1.1. Nombre de la Asignatura 1.2. Carácter 1.3. Carrera Profesional 1.4. Código 1.5. Semestre Académico : 2014-I 1.6. Ciclo Académico 1.7. Horas de Clases 1.8. Créditos 1.9. Pre

Más detalles

Generación de código a partir de UML

Generación de código a partir de UML Generación de código a partir de UML Ingeniería del Software Curso 2006/2007 Índice De la etapa de diseño al código De la etapa de implementación al código Generación de código: Herramientas Flujo de trabajo

Más detalles

Java en 2 horas. Rodrigo Santamaría

Java en 2 horas. Rodrigo Santamaría + Java en 2 horas Rodrigo Santamaría + Generalidades 2 Desarrollado por Sun en 1995 Hereda mucha de la sintaxis de C (1972) Fuertemente tipado y orientado a objetos Aplicaciones compiladas a bytecode Gestión

Más detalles

GLOSARIO DE TÉRMINOS

GLOSARIO DE TÉRMINOS MINISTERIO DE EDUCACIÓN, CULTURA Y DEPORTE SECRETARÍA DE ESTADO DE EDUCACIÓN, FORMACIÓN PROFESIONAL Y UNIVERSIDADES DIRECCIÓN GENERAL DE FORMACIÓN PROFESIONAL INSTITUTO NACIONAL DE LAS CUALIFICACIONES

Más detalles

Diseño de Bases de Datos Bases de Datos Documentales Grao en Información e Documentación Curso 2013/2014

Diseño de Bases de Datos Bases de Datos Documentales Grao en Información e Documentación Curso 2013/2014 Bases de Datos Documentales Curso 2013/2014 Miguel Ángel Rodríguez Luaces Laboratorio de Bases de Datos Universidade da Coruña El proceso de diseño El último día... Los problemas de no utilizar un SGBD:

Más detalles

GESTIÓN DE REDES PARTE III

GESTIÓN DE REDES PARTE III PARTE III Arquitectura de Gestión OSI 3.1 Introducción La gestión de red OSI, pensada inicialmente para la gestión de las propias redes OSI, debe su implantación práctica al ser adoptada por los estándares

Más detalles

Capítulo III. Análisis y diseño.

Capítulo III. Análisis y diseño. Capítulo III. Análisis y diseño. 3.1 Análisis. El análisis es el intermediario entre los requisitos del sistema y el diseño, esta sección definiremos el análisis con una serie de modelos técnicos del sistema,

Más detalles

SISTEMAS DE ARCHIVOS DISTRIBUIDOS

SISTEMAS DE ARCHIVOS DISTRIBUIDOS SISTEMAS DE ARCHIVOS DISTRIBUIDOS Tema # VII Sistemas de operación II Abril-Julio 2008 Yudith Cardinale Introducción Requisitos Aspectos de Diseño Servicios de archivos Servicios de directorios Módulo

Más detalles

Migración de datos automática a partir de la información de los esquemas conceptuales 1

Migración de datos automática a partir de la información de los esquemas conceptuales 1 Migración de datos automática a partir de la información de los esquemas conceptuales 1 J.Pérez 1, J.A.Carsí 1, I.Ramos 1, V.Anaya 1, J.Silva 1, Departamento de Sistemas Informáticos y Computación Universidad

Más detalles

GUIA PROGRAMACIÓN ORIENTADA A OBJETOS

GUIA PROGRAMACIÓN ORIENTADA A OBJETOS GUIA PROGRAMACIÓN ORIENTADA A OBJETOS 1. Por qué la P.O.O? R= A medida que se van desarrollando los lenguajes, se va desarrollando también la posibilidad de resolver problemas más complejos. En la evolución

Más detalles

CONTENIDO. Programación orientada a objetos - POO. Clases. Constructores y destructores. Definiciones. Entrada y salida

CONTENIDO. Programación orientada a objetos - POO. Clases. Constructores y destructores. Definiciones. Entrada y salida INFORMÁTICA II 1 CONTENIDO 2 1 Programación orientada a objetos - POO 2 Clases 3 Constructores y destructores 4 Definiciones 5 Entrada y salida PROGRAMACIÓN ORIENTADA A OBJETOS Los lenguajes de programación

Más detalles