BASES DE DATOS AVANZADAS Tema 3, parte b. Univ. Cantabria Fac. de Ciencias

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

Download "BASES DE DATOS AVANZADAS Tema 3, parte b. Univ. Cantabria Fac. de Ciencias"

Transcripción

1 BASES DE DATOS AVANZADAS Tema 3, parte b Modelo de Objetos Objetos Puro Univ. Cantabria Fac. de Ciencias Francisco Ruiz, Marta Zorrilla

2 Objetivos Presentar la tecnología de bases de datos OO. Conocer el estándar ODMG 3.0. Mostrar las diferencias con respecto a la tecnología OR. Matisse: un ejemplo de SGBD-OO 3a.2

3 Contenido Bases de Datos Orientadas a Objetos Puras ODMG 3.0 Modelo de Objetos ODL OQL SGBD Objeto-Relacionales vs Orientados a Objetos 3a.3

4 Bibliografía Básica Piattini et al. (2006): Tecnología y Diseño de Bases de Datos. Cap. 19. Connolly y Begg (2005): Sistemas de Bases de Datos. Caps. 27. Complementaria Elmasri y Navathe (2007): Fundamentos de Sistemas de Bases de Datos. Caps a.4

5 Introducción SGBD-R Modelo de datos sencillo. Arquitectura en 3 niveles (programas y datos separados) Bases teóricas sólidas: Relaciones n-arias R D1x D2 x... x Dn. Soporte matemático: álgebra y cálculo relacional. Dependencias funcionales (semántica de la relación). Tecnología madura: Optimización de consultas Indexación Administración de la concurrencia y de transacciones (ACID). Seguridad en el funcionamiento: recuperación. Lenguaje estándar SQL ( SQL 2003) 3a.5

6 Introducción Pero... sólo adecuados para aplicaciones tradicionales de BD. En la actualidad, hay nuevas necesidades: gestión sistemas multimedia, sistemas de información médica o sistemas GIS que requieren manipular información más compleja. Problemas: 1) Convertir objetos y relaciones al modelo relacional supone descomponer los objetos en gran número de tablas errores, y por otra parte gran número de joins para su recuperación rendimiento Solución: SGBD relacionales de objetos 2) Otro problema es que los modelos de datos y las estructuras de datos de los lenguajes de programación está desacoplados Solución: SGBDOO y lenguajes OO siguen el mismo paradigma. Datos + comportamiento. Lenguaje OQL. 3a.6

7 BD Orientadas a Objetos Puras Reglas de oro: MANIFIESTO DE LOS SGBD-OO ATKINSON et al. (1989) 1. Objetos complejos: Construcción de objetos complejos aplicando constructores sobre objetos básicos (set, tuple, list, array, ). 2. Identidad de objetos: cada objeto se identifica por su OID, independiente del valor de sus atributos. 3. Encapsulación: los programadores solo tienen acceso a la interfaz de los métodos, los datos e implementación están ocultos. 4. Tipos o clases: el esquema de BDOO incluye un conjunto de tipos o de clases, no es imprescindible que el sistema mantenga la extensión del tipo. 5. Herencia de tipos o clases (jerarquías). 6. Vinculación dinámica (sobrecarga de métodos). 7. LMD computacionalmente completo 8. Extensibilidad de tipos de datos 3a.7

8 BD Orientadas a Objetos Puras Reglas de oro: 9. Persistencia: MANIFIESTO DE LOS SGBD-OO ATKINSON et al. (1989) Los datos deben mantenerse cuando la aplicación que los generó haya finalizado 10. Gestión de BD grandes. Disponer de mecanismos que proporcionen una clara independencia lógica y física. 11. Usuarios concurrentes 12. Recuperación ante fallos software o hardware 13. Facilidad de consulta ad hoc, de alto nivel (razonablemente declarativo), eficiente e independiente de la aplicación. No necesariamente un lenguaje de programación, podría ser un explorador gráfico. 3a.8

9 BD Orientadas a Objetos Puras MANIFIESTO DE LOS SGBD-OO ATKINSON et al. (1989) No menciona nada acerca de: Mecanismos de seguridad Mecanismos de integridad Vistas Lenguaje de consultas declarativo 3a.9

10 SGBDOO (Parsaye et al., 1989) Un SGBDOO es un SGBD que soporta un modelo basado en el paradigma orientado a objetos. Almacena objetos y su esquema (persistencia) Lenguaje de consulta de alto nivel con capacidades de optimización Por ser gestor: incluye mecanismos para optimizar el acceso (indexación y clustering), el control de concurrencia, seguridad y gestión de usuarios, facilidad de consulta y recuperación ante fallos. Por ser OO: características de identidad, encapsulación, herencia, polimorfismo y control de tipos class myclass2 { int a; class myclass { public: int a; void set_a (int num); public: int get_a (); void set_a (int num); }; int get_a (); }; SGBDOO 3a.10

11 BD Orientadas a Objetos Puras Estrategias para el desarrollo de SGBD-OO Ampliar un lenguaje de programación OO existente con capacidades de BD (caso de GemStone). Proporcionar bibliotecas de clases con las capacidades tradicionales de las bases de datos (persistencia, transacciones, concurrencia, ) Ontos, ObjectStore y Versant Incrustar estructuras de un lenguaje de BD orientado a objetos en un lenguaje host tradicional. Caso de O2, que extiende el C. Ampliar un lenguaje de BD con capacidades OO, caso del SQL 2003 y Object SQL (OQL, propuesto por ODMG) Desarrollar un lenguaje/modelo de datos desde cero. Nadie 3a.11

12 BD Orientadas a Objetos Puras : Identidad Una parte clave de la definición de un objeto es su identidad única. En un SGBD-OO a cada objeto se le asigna un Identificador de Objeto (OID) cuando es creado. El OID es Generado por el sistema. Único para cada objeto y único en el sistema. Mecanismo equivalente a la integridad de entidades. Invariante, es decir, no cambia a lo largo de la vida del objeto. No será utilizado por ningún otro objeto, incluso después de que el objeto sea eliminado. Independiente del estado (valores de los atributos). Dos objetos pueden tener el mismo estado pero no el mismo OID. Invisible para el usuario (idealmente, no se suele cumplir). En los modelos relacionales el OID es por valor de la clave, en OO es la dirección de memoria que ocupa en el proceso, como éste es menor que el espacio físico pues se habla de OID lógicas (independiente del estado y de la ubicación) y físicas. El trabajar con OID, es más eficiente (ocupan menos espacio), rápido e independientes del contenido 3a.12

13 BD Orientadas a Objetos Puras Los SGBDR tienen un modelo en dos niveles: páginas en memoria y en disco Los SGBDOO proporcionan la ilusión de un único nivel, tratando de utilizar la misma representación en memoria que en disco Transformación de OID a punteros de memoria y viceversa. Existen varias estrategias La persistencia, los objetos sobrevivan después de que termine el programa que los creó. Diferentes estrategias 3a.13

14 Modelo 2 niveles BDR vs 1 nivel BDOO Tabla de objetos residentes 3a.14

15 BD Orientadas a Objetos Puras: persistencia Mecanismos para implementar la persistencia en SGBDOO: Puntos de comprobación (checkpoint). El sistema copia todo o parte del espacio de direcciones de trabajo a disco. Prob. el punto de control solo lo puede leer el prog. que lo creó Serialización. Copiar a disco el cierre de una estructura de datos. Prob. no preserva la identidad del objeto Paginación explícita. El programador indica de forma explícita los objetos que quiere que se graben en disco de forma obligatoria e inmediata por el sistema. Persistencia Ortogonal (el mecanismo de persistencia se integre dentro del lenguaje de programación de aplicaciones), basada en tres principios Independencia: la persistencia de un objeto es independiente de cómo el programa lo manipula y al contrario. Ortogonalidad respecto a los tipos: Todos los objetos deben poder ser persistentes sin depender de su tipo (persistente o transitorio). Transitividad: La manera de identificar y proveer persistencia no depende de los tipos de datos del lenguaje. 3a.15

16 BD Orientadas a Objetos Puras Ventajas: Capacidades de modelado enriquecidas Extensibilidad Eliminación del desajuste de impedancia Lenguaje de consulta más expresivo Soporte para la evolución de esquemas Soporte para transacciones de larga duración Apto para aplicaciones de BD avanzadas Rendimiento mejorado Desventajas: Falta de un Modelo de Datos universal Falta de experiencia Falta de estándares Competencia La optimización de consultas hace peligrar la encapsulación Bloqueos a nivel de objeto pueden perjudicar el rendimiento Complejidad Sin soporte para vistas Sin soporte para seguridad 3a.17

17 BD Orientadas a Objetos Puras: ventajas Capacidades de modelado enriquecidas: el modelo OO permite que el mundo real sea modelado mejor. El objeto, que encapsula el estado y el comportamiento, es una manera más natural y real de representar objetos del mundo real. Extensibilidad: permiten que se puedan definir nuevos tipos a partir de los tipos existentes. Eliminación del desajuste de impedancia: Una sola interfaz entre el LMD y el lenguaje de programación. Esto elimina mucha de las ineficiencias que ocurrían al querer corresponder un lenguaje declarativo como SQL y un lenguaje de programación como C. Lenguaje de consulta más expresivo: el acceso navegacional es más adecuado para manejar consultas recursivas, etc Sin embargo, se argumenta que la mayoría del los SGBDOO están ligados a un lenguaje de prog., que en general no es demasiado fácil de usar para los usuarios finales. Por ello el estándar ODMG especifica un lenguaje declarativo basado en una versión OO de SQL. Soporte para la evolución de esquemas: El estrecho acoplamiento entre aplicaciones y datos permite que la evolución de esquemas sea más viable. La generalización y la herencia permiten que los esquemas estén mejor estructurados, que sean más intuitivos, y que capturen más la semántica de la aplicación. 3a.18

18 BD Orientadas a Objetos Puras: ventajas Soporte para transacciones de larga duración: los SGBD actuales obligan la serializabilidad de transacciones concurrentes, para mantener la consistencia. Eso no es útil para transacciones de larga duración, por ello algunos SGBDOO usan otros protocolos para manejar transacciones de larga duración (bloqueos de jerarquías de objetos). Apto para aplicaciones de BD avanzadas: La capacidades de modelado enriquecida en los SGBDOO, hacen que sean adecuados para aplicaciones como CAD, CASE, multimedia, OIS, etc. Rendimiento mejorado: existen varios estudios que manifiestan la mejora en rendimiento con respecto a los SGBDR. Aunque algunos argumentan que tienen mejor rendimiento para aplicaciones más adecuadas a la OO, pero que en aplicaciones tradicionales de SGBD (OLTP) son mejores los SGBDR. 3a.19

19 BD Orientadas a Objetos Puras: desventajas Falta de un Modelo de Datos universal: no existe un modelo de datos universal y la mayoría carece de fundamentos teóricos. Aunque ODMG ha propuesto un modelo de objetos que se ha convertido en el estándar de facto en los SGBDO Falta de experiencia: en comparación con los SGBDR el uso de los SGBOO es todavía limitado. Por ello, no se tiene demasiada experiencia en ellos. Falta de estándares: como no existe un modelo de datos estándar, tampoco existe un lenguaje de consulta estándar. Aunque ODMG ha propuesto un lenguaje de consultas OO, que se ha convertido en de facto. Competencia: los SGBR y los SGBDOR están más difundidos y existen muchas más herramientas desarrolladas para ayudar a los usuarios finales. La optimización de consultas hace peligrar la encapsulación: la optimización de consultas requiere un entendimiento de la implementación subyacente para acceder a la BD eficientemente, eso puede comprometer el concepto de encapsulación. Bloqueos a nivel de objeto pueden perjudicar el rendimiento: muchos SGBDOO usan el bloqueo como la base de los protocolos de concurrencia. Sin embargo, si el bloqueo se aplica a nivel de objeto, el bloqueo de una jerarquía de herencia puede ser problemática, como así también su rendimiento. Complejidad: la gran funcionalidad que proveen los SGBDOO, hace que sean más complejos, y esto lleva a productos más difíciles de usar y más caros. Sin soporte para vistas y restricciones declarativas: dependen de los métodos definidos Sin soporte para seguridad: actualmente los SGBDOO no proporcionan mecanismos adecuados de seguridad, no pueden conceder derechos de acceso a objetos o clases por usuario 3a.20

20 ODMG 3.0 Object Database Management Group: Grupo de desarrollo de SGBD orientados a objetos, ligado a OMG (Object Management Group): Object Design, Sun Microsystems, ONTOS, O2, Technology / Ardent Soft., Objectivity, Versant, Gemstone, Computer Associates, ObjectStore, InterSystems CACHE, etc. Creado a mediados de 1991, a propuesta de Catell, para definir los estándares de las BD orientadas a objetos Asegurar una portabilidad sobre los diferentes productos de estas compañías Normalizar el modelo de datos a objetos y los lenguajes Aparición de The ODMG-93 Standard. Revisiones ODMG 95, 97, 99 (ODMG Java). De Facto Object Model Object Data Definition Language (ODL) Object Query Language (OQL) Interfaces con C++, Smalltalk, Java 3a.21

21 ODMG 3.0 Propuesta de Arquitectura Operativa DECLARACIONES EN ODL O PL ODL CÓDIGO FUENTE DE LA APLICACIÓN EN PL Preprocesador de declaración Compilador PL metadatos BD Runtime SGBDOO CÓDIGO BINARIO APLICACIÓN Enlazador APLICACIÓN EN EJECUCIÓN 3a.22

22 ODMG 3.0 Modelo de Objetos Resumen de Características Los primitivas básicas de modelado son los objetos y los literales. Sólo los objetos tienen OID. Objetos y literales están organizados en tipos. Todos los objetos y literales de un mismo tipo tienen un comportamiento y estado común. Un tipo también es un objeto en sí mismo. Un objeto es una instancia de su tipo. El comportamiento está definido por un conjunto de operaciones que se pueden realizar sobre o por el objeto. Las operaciones pueden tener una lista de parámetros de E/S tipados y pueden retornar un resultado tipado. 3a.23

23 ODMG 3.0 Modelo de Objetos Resumen de Características El estado está definido por los valores que el objeto toma para un conjunto de propiedades. Una propiedad puede ser: Un atributo del objeto. Una interrelación entre el objeto y otro u otros objetos. Los valores de las propiedades suelen cambiar con el tiempo. Un Sistema de Gestión de Datos Objeto (SGDO / ODMS) almacena objetos de forma que pueden compartirse por usuarios y aplicaciones. Un SGDO está basado en un esquema que está definido en el Lenguaje de Definición de Objetos (ODL). Un SGDO contiene instancias de los tipos definidos por su esquema. 3a.24

24 ODMG 3.0 Modelo de Objetos objetos y literales La primitiva fundamental es el objeto: En ODMG todo son objetos Distingue entre objetos mutables e inmutables (literales). Los literales son objetos cuyo valor es constante. Pueden tener estructura compleja. No tienen OID. No pueden ser referenciados de forma individual, sino que siempre se manejan dentro de objetos. Un objeto está descrito por cuatro características: Estructura. Atómicos, Colecciones, Estructurados Identificador. Único para la BD. Nombre. También permite identificar al objeto en la BD. Tiempo de vida (lifetime). Transitorio / Persistente. 3a.25

25 ODMG 3.0 Modelo de Objetos - tipos Los objetos se clasifican en tipos: Todos los objetos de un mismo tipo tienen unas propiedades y un comportamiento común: Comportamiento: conjunto de operaciones que se pueden ejecutar sobre un objeto. Estado: valores que toman sus propiedades (atributos y relaciones). Un tipo tiene una especificación externa y una o más implementaciones. La especificación externa es una descripción abstracta, independiente de la implementación, de los aspectos visibles del tipo: propiedades, operaciones y excepciones. La implementación define los aspectos internos: la implementación de las operaciones y algunos otros detalles. 3a.26

26 ODMG 3.0 Modelo de Objetos interfaces y clases En ODMG hay dos maneras de especificar tipos de objetos: Un interfaz es una especificación que describe sólo el comportamiento abstracto de un tipo de objeto (usando signaturas de operaciones). Los interfaces pueden ser heredados por otros interfaces y clases. Aunque una interfaz pueda incluir propiedades, estas no pueden ser heredadas a partir de la interfaz. Un interfaz no es instanciable (como las clases abstractas). Se usan para especificar operaciones abstractas. Una clase es una especificación que define el comportamiento abstracto y el estado abstracto de un tipo de objeto. Son instanciables. La herencia simple se especifica mediante extends La herencia múltiple no se permite mediante extends, se puede mediante herencia de comportamiento. Extent define la extensión (conjunto de todas las instancias). Key permite establecer la clave para identificar las instancias. 3a.27

27 ODMG 3.0 Modelo de Objetos interfaces y clases Especificación de tipos Comportamiento abstracto Estado abstracto interfaz clase literal 3a.28

28 ODMG 3.0 Modelo de Objetos herencia Se puede hacer herencia del comportamiento o del estado: Relación ISA (:), define la herencia simple o múltiple de comportamiento entre tipos de objetos (interfaces o clases). También denominada generalización Relación EXTENDS (extend), define la herencia simple de estado entre tipos de objetos (clases, no literales). Se hereda tanto el comportamiento como las propiedades. 3a.29

29 ODMG 3.0 Modelo de Objetos supertipos y subtipos En función de lo anterior, los tipos de objetos pueden organizarse formando jerarquías de supertipos y subtipos, de forma que: Un subtipo hereda propiedades (estado) y operaciones (comportamiento) del supertipo. Un subtipo puede añadir propiedades (estado) y operaciones (comportamiento) propias. Un subtipo puede redefinir propiedades (estado) y operaciones (comportamiento) del supertipo. Sobrecarga. Se soporta herencia múltiple (sólo en comportamiento, sólo en operaciones). 3a.30

30 ODMG 3.0 Modelo de Objetos Tipos predefinidos: colecciones Colecciones Número variable de elementos. Los elementos pueden ser objetos o literales. Todos los elementos son del mismo tipo. Tipos de colecciones: LIST<t>: colección ordenada de elementos de tipo t. SET<t>: colección desordenada de elementos de tipo t que no admite duplicados. BAG<t>: colección desordenada de elementos de tipo t que admite duplicados. ARRAY<t>: vector de una dimensión y de longitud variable de elementos de tipo t. DICTIONARY<t,v>: secuencia desordenada de pares <clave, valor> sin claves duplicadas. 3a.31

31 ODMG 3.0 Modelo de Objetos Tipos predefinidos: estructuras Estructuras Número fijo de elementos. Pueden ser de distinto tipo. Tipos de estructuras: DATE. Fecha INTERVAL. Intervalo de tiempo TIME. Hora TIMESTAMP. Fecha y hora 3a.32

32 ODMG 3.0 Modelo de Objetos Tipos predefinidos: literales Tipos de literales: Literales atómicos: LONG, SHORT, UNSIGNED LONG, UNSIGNED SHORT, FLOAT, DOUBLE, BOOLEAN, OCTET, CHAR, STRING, ENUM Literales colecciones: SET, BAG, LIST, ARRAY, DICTIONARY Literales estructuras: DATE, INTERVAL, TIME, TIMESTAMP Literales NULL 3a.33

33 Modelo de objetos: Interfaz ODL para los tipos de objetos definidos por el usuario Nombre del objeto creado por el usuario 3a.34

34 Modelo de objetos: Excepciones: El modelo soporta rutinas para el tratamiento de errores Metadatos: El modelo define un meta-data pero muchos gestores existentes no tratan a los metadatos como objetos en sí mismos Transacciones: El modelo soporta el concepto de transacción como secuencia lineal de tareas que se ejecutan dentro de una hebra de control La concurrencia está basada en bloqueos (pesimista) No soporta transacciones distribuidas Base de datos: Área de almacenamiento para objetos persistentes de un conjunto de tipos determinado. Cada BD es una instancia de tipo Database con operaciones open(), close(), lookup() para buscar un objeto. Módulos: Agrupan información relacionada (símil a schemas) 3a.35

35 ODMG 3.0 ODL Object Definition Language Lenguaje para definir las especificaciones de los tipos de objetos para SGDO. Equivale al DDL en sistemas relacionales. Su principal objetivo es facilitar la portabilidad de esquemas. Define los atributos e interrelaciones de los tipos y especifica la signatura de las operaciones. No es computacionalmente completo: no incluye la implementación de las operaciones, que se deja para lenguajes de programación OO como C++ o Java. La sintaxis está basada en el IDL (Interface Definition Language) de CORBA. Es extensible (nuevas funcionalidades, optimizaciones físicas). 3a.36

36 Ejemplo E/R phones 3a.37

37 Ejemplo UML Movie title year length filmtype {color, blackandwhite} 0..N 1..1 name address Studio President name address float lengthinhours() void starnames (out Set<String>); void othermovies ( in Star, out Set<Movie>) MurderMystery weapon Cartoon name address 1..N 0..N 0..N 1..N name Addr {street, city} Phones(set) Star void enrolled_in (in Star s, Movie m) void drop_enrolled_in (in Star s, Movie m) CartoonMurderMystery adultsonly 3a.38

38 ODMG: Classes Una clase se especifica por : - los atributos (abstractos). - las relaciones con otros tipos de objetos - las operaciones class Movie { attribute string title; attribute integer year; attribute integer length; attribute enum Film {color, blackandwhite} filmtype; } ; class Star { attribute string name; attribute struct Addr {string street, string city} address; attribute set <string> phone; } ;

39 ODMG: Types Atributos Tipo estructurado es un tipo con un número fijo de elementos que pueden ser de diferente tipo. Tipos atómicos: integer, float, character, string, boolean and enumerations; Tipos predefinidos: date, time, interval, timestamp Colección: conjunto de elementos del mismo tipo (set, bag, list, array, dictionary, table). Pueden ser de tipo básico o estructurado. Relaciones El tipo de una relación (relationship) es o bien una interfaz (clase) o una colección de interfaz.

40 ODMG: Relationship Un objeto puede relacionarse con otros objetos a través de relationship Relaciones binarias y bi-direccionales 1-1, 1-N, N-M Establecer inverse para conexión bidireccional en ambas interfaces. En ODL no se puede expresar la integridad referencial Relaciones n-arias: se crean las relaciones binarias necesarias para su implementación class Movie { attribute string title; attribute integer year; attribute integer length; attribute enum Film {color, blackandwhite} filmtype; relationship Set <Star> stars inverse Star::starredIn; } ; class Star { attribute string name; attribute Struct Addr {string street, string city} address; attribute set <string> phone; relationship set <Movie> starredin inverse Movie::stars; } ; N:M

41 ODMG: Relationship (2) class Star { attribute string name; attribute Struct Addr {string street, string city} address; attribute set <string> phone; relationship Set <Movie> starredin inverse Movie::stars; } ; class Movie { attribute string title; attribute integer year; attribute integer length; attribute Enum Film {color, blackandwhite} filmtype; relationship Set <Star> stars inverse Star::starredIn; relationship Studio ownedby inverse Studio::owns; } ; class Studio { attribute string name; attribute string address; 1:N relationship Set <Movie> owns inverse Movie::ownedBy; relationship President haspres inverse President::isPresOf; } ; class President { attribute string name; relationship Studio ispresof inverse Studio::hasPres; } 1:1

42 ODMG: Keys class Star (key (name)) { attribute string name; attribute Struct Addr {string street, string city} address; attribute set <string> phone; relationship Set <Movie> starredin inverse Movie::stars; } ; class Movie (key (title, year)) { attribute string title; attribute integer year; attribute integer length; attribute Enum Film {color, blackandwhite} filmtype; relationship Set <Star> stars inverse Star::starredIn; relationship Studio ownedby inverse Studio::owns; } ; class Studio (keys(name),(address)) { attribute string name; attribute string address; relationship Set <Movie> owns inverse Movie::ownedBy; relationship President haspres inverse President::isPresOf; } ; class President (key(name)) { attribute string name; relationship Studio ispresof inverse Studio::hasPres; } Atributo o conjunto de atributos que identifica unívocamente cada objeto de un tipo. Similar al key del relacional, previene la duplicidad pero admite nulos.

43 ODMG: Keys (2) class Studio (keys(name),(address)) { attribute string name; attribute string address; relationship Set <Movie> owns inverse Movie::ownedBy; relationship President haspres inverse President::isPresOf; relationship Set <Crew> crewsof inverse Crew::partOf; } ; class Crew (key(number,partof)) { attribute string number; relationship Studio partof inverse Studio::crewsOf; } Establecer keys para entidades débiles No puede haber dos trabajadores con el mismo número que trabajen para el mismo estudio

44 ODMG: Subclasses Las subclases heredan los atributos de su superclase. class Movie (key (title, year)) { attribute string title; attribute integer year; attribute integer length; attribute Enum Film {color, blackandwhite} filmtype; relationship Set <Star> stars inverse Star::starredIn; relationship Studio ownedby inverse Studio::owns; } ; class Cartoon extends Movie { relationship Set<Star> voices inverse Star::speaksIn; } class Star { attribute string name; attribute Struct Addr {string street, string city} address; relationship Set <Movie> starredin inverse Movie::stars; relationship Set<Cartoon> speaksin inverse Cartoon::voices } ;

45 ODMG: Subclasses (2) class Movie (key (title, year)) { attribute string title; attribute integer year; attribute integer length; attribute Enum Film {color, blackandwhite} filmtype; relationship Set <Star> stars inverse Star::starredIn; relationship Studio ownedby inverse Studio::owns; } ; class Cartoon extends Movie { relationship Set<Star> voices inverse Star::speaksIn; } class MurderMystery extends Movie { attribute string weapon; }; class CartoonMurderMystery extends Cartoon : MurderMystery { attribute integer adultsonly;}

46 ODMG: Methods En ODL un método es una función asociada a una clase Los métodos se declaran mediante el concepto de signature que no es más que el nombre de dicho método junto con los tipos de sus argumentos de entrada y el tipo de salida. El código de un método no forma parte de la declaración y se supone que se escribirá en el lenguaje de implementación La sintaxis de la declaración es similar a la de funciones en C con dos importantes añadidos: 1. Los parámetros de la función se pueden especificar como in, out, inout según sea de entrada, salida o de entrada/salida. 2. Las funciones pueden manejar excepciones que son respuestas especiales. Una excepción indica habitualmente una condición anormal que a su vez se tratará mediante otro método. En ODL una declaración de función puede ser seguida por la palabra raises, seguida por una lista de una o más excepciones que la función puede tratar. 3a.47

47 ODMG: Methods (2) class Movie { attribute string title; attribute integer year; attribute integer length; attribute Enum Film {color, blackandwhite} filmtype; relationship Set <Star> stars inverse Star::starredIn; relationship Studio ownedby inverse Studio::owns; float lengthinhours() raises (nolengthfound); void starnames (out Set<String>); void othermovies ( in Star, out Set<Movie>) raises (nosuchstar); } ; 3a.48

48 ODMG: Extents Cuando se define una clase se hace necesario diferenciar su definición, del conjunto de objetos que existe de esa clase en la base de datos. En ODL, esta distinción se realiza de forma explícita dando a la clase y a su extent distintos nombres. En general la clase recibe el nombre en singular y el extent en plural. class Movie (extent Movies key (title, year)) { attribute string title; attribute integer year; attribute integer length; attribute Enum Film {color, blackandwhite} filmtype; relationship Set <Star> stars inverse Star::starredIn; relationship Studio ownedby inverse Studio::owns; } ; 3a.49

49 ODMG: Interfaces Las interfaces son básicamente definiciones de clases que no tienen extent asociados (es decir, sin objetos). Son útiles si se necesitan mantener en la base de datos varios conjuntos de objetos que tienen el mismo tipo (interfaz) pero pertenecen a distinta clase. interface Business ( ) { string gettaxpayerid( ); void settaxpayerid( ); integer calctotalincome( );} class Person ( ) { } class Company: Business ( ) { } class SelfEmployedPerson extends Person: Business ( ) { } 3a.50

50 ODMG 3.0 OQL Object Query Language Provee acceso declarativo a una BD de objetos mediante una sintaxis similar a SQL. No provee operadores de modificación explícitos porque esta funcionalidad se deja para las operaciones definidas sobre los objetos. Puede ser usado como un lenguaje autónomo o embebido dentro de otros lenguajes (C++, Smalltalk, Java). Desde OQL se pueden invocar operaciones escritas en estos lenguajes. Permite acceso tanto asociativo como navegacional: Una consulta asociativa devuelve una colección de objetos. Una consulta navegacional accede a objetos individuales y las interrelaciones entre objetos sirven para navegar entre objetos. 3a.51

51 ODMG 3.0 OQL El formato del SELECT es similar al de SQL: SELECT [DISTINCT] <expresión> FROM <lista from> [WHERE <expresión> ] [GROUP BY <atributo1:expresión1,...>] [HAVING <predicado>] [ORDER BY <expresión>] Donde <lista from> ::= { <nombre de variable> IN <expresión> <nombre de variable> IN <expresión>, <lista from> <expresión> AS <nombre de variable> <expresión> AS <nombre de variable>, <lista from> } 3a.52

52 ODMG 3.0 OQL - ejemplo PERSONA atributo nombre atributo fech_nac atributo salario operacion edad EMPLEADO operacion antigüedad subordinados 3a.53

53 ODMG 3.0 OQL - ejemplo select distinct x.edad from x in personas where x.nombre= Ana Edades de todas las personas llamadas Ana? Devuelve un literal del tipo set <integer> Edad y salario de todas las personas llamadas Ana? select distinct struct (a:x.edad, s:x.salario) from x in personas where x.nombre= Ana Devuelve un literal del tipo set <struct (a:integer, s:integer)> 3a.54

54 ODMG 3.0 OQL - ejemplo Nombre de cada empleado y sus subordinados que tienen un salario mayor de 3000? select distinct struct (a:x.nombre, smp: (select y from y in x.subordinados where y.salario>300000) from x in empleados Devuelve un literal del tipo set <struct (nombre:string, smp:bag<empleado>)> 3a.55

55 ODMG 3.0 OQL - ejemplo Utilización del select dentro de la cláusula from: select struct (a:x.edad, s:x.salario) from x in (select y from y in empleados where y.antigüedad=10) Edad y salario de todos los empleados con justo 10 años de antigüedad? Devuelve un literal del tipo bag <struct (a:integer, s:integer)> Efecto del uso de DISTINCT: SELECT > bag (con repetición) SELECT DISTINCT > set (sin repetición) 3a.56

56 ODMG 3.0 OQL creación de objetos Creación de Objetos: Objetos mutables: Para crear un objeto con identificador se debe utilizar un tipo constructor. Persona (nombre: María, fech_nac: 11/2/69, salario:1000) Si no se inicializa alguna de sus propiedades, se les asignará automáticamente un valor por defecto. Literales (objetos inmutables): Para construir un objeto sin identificador se utiliza el constructor struct. STRUCT (a:10, b: María ) 3a.57

57 ODMG 3.0 OQL creación de objetos También es posible crear objetos mutables (no literales) formados por el resultado de una consulta. type bolsaint: bag<integer>; type estado attributes a: integer b: salario end_type; type estados: bag<estado>; bolsaint (select distinct x.edad from x in personas where nombre= Pedro ) Devuelve un objeto mutable de tipo bolsaint estados (select estado (a:x.edad, b:x.salario) from x in personas where nombre= Pedro ) Devuelve un objeto mutable de tipo estados 3a.58

58 ODMG 3.0 OQL definición de vistas Es posible dar nombre al resultado de una consulta y utilizarlo en otras consultas posteriores. define juanes as select distinct x from x in persona where x.nombre= Juan ; select distinct x.salario from x in juanes; Conjunto de personas llamadas Juan? Salarios de las personas llamadas Juan? 3a.59

59 ODMG 3.0 OQL operaciones OPERADORES DE ACCCESO: Ejemplo:. / -> (aplicados a un atributo, una operación o una relación) FIRST / LAST (primero / último elemento de una lista o un vector) personas.nombre personas->nombre juan.subordinado.nombre juan->subordinado->nombre juan.edad juan->edad nombre de todas las personas nombre de los subordinados de Juan edad de juan 3a.60

60 ODMG 3.0 OQL operaciones EXPRESIONES CON COLECCIONES: COUNT, SUM, MIN, MAX, AVG (funciones de agrupamiento) GROUP...IN...BY...WHERE SORT...IN...BY FOR...ALL...IN EXIST...IN IN SELECT...FROM...WHERE Ejemplos: COUNT(personas) FOR ALL e IN empleados:e.salario>3000 EXPRESIONES ARITMÉTICAS: +, -, *, /, - (unario), MOD, ABS Ejemplo: COUNT(personas) COUNT(empleados) 3a.61

61 ODMG 3.0 OQL operaciones OPERADORES DE COMPARACIÓN: =,!=, <, <=, >, >= OPERADORES LÓGICOS: NOT, AND, OR Ejemplo: NOT(true) EXPRESIONES SOBRE COLECCIONES: INTERSEC, UNION, EXCEPT Ejemplo: bag(2,2,3,3,3) EXCEPT bag(2,3,3,3) el resultado es bag(2) 3a.62

62 ODMG 3.0 OQL operaciones Se pueden hacer combinaciones (joins) de forma parecida a SQL: Select p from Persons p, Flowers f where p.nombre = f.nombre; Conjunto de personas que tienen nombre de flor? Conversores de Tipos: LISTTOSET, ELEMENT, FLATTEN Ejemplo: define juan as element( select distinct x from x in empleado where x.nombre= Juan ); 3a.63

63 SGBD Objeto-Relacionales vs OO Comparativa de los Modelos del ODMG y el SQL MODELO OMG MODELO ODMG MODELO OMG MODELO OMG MODELO SQL:1999 MODELO SQL:1999 MODELO ODMG 3a.64

64 SGBD Objeto-Relacionales vs OO Principal Inconveniente Práctico del ODMG LOS PRINCIPALES PROBLEMAS Y DEFICIENCIAS EN EL LENGUAJE DE BASES DE DATOS DEL ODMG SE DEBEN AL HECHO DE QUE NO INCLUYE LAS FACILIDADES DEL SQL (A PESAR DEL HECHO DE QUE EL MODELO DE DATOS DEL ODMG ESTÁ BASADO EN EL MODELO BÁSICO DEL OMG, QUE SÍ INCLUYE TOTALMENTE EL MODELO RELACIONAL) Kim (1994) 3a.65

65 SGBD Objeto-Relacionales vs OO Comparativa modelado de datos Característica Objeto-Relacional (SQL) Orientado a Objetos Puro (ODMG) Identidad de objetos (OID) Soportada mediante el tipo REF Soportada Encapsulación Soportada a través de UDTs Soportada pero se rompe para las consultas Herencia Soportada (jerarquías separadas Soportada para los UDTs y tablas) Polimorfismo Soportada Soportada Objetos complejos Soportada mediante UDTs Soportada Interrelaciones Soporte completo con restricciones de integridad referencial definidas por usuario Soportada (por ejemplo, usando bibliotecas de clases) 3a.66

66 SGBD Objeto-Relacionales vs OO Comparativa acceso a los datos Característica Creación y acceso a datos persistentes Facilidad de consulta ad hoc Objeto-Relacional (SQL) Soportada pero no de forma transparente Orientado a Objetos Puro (ODMG) Soportada, pero el grado transparencia depende del producto concreto SÍ, soportada completamente Soportada a través de ODMG Navegación SÍ (mediante tipo REF) SÍ, soportada completamente Restricciones de integridad Evolución de Esquemas SÍ, soportada completamente NO soportadas Soporte limitado Soportado, pero el grado de soporte depende del producto concreto 3a.67

67 SGBD Objeto-Relacionales vs OO Comparativa compartición de datos Característica Transacciones ACID Recuperación Modelos de transacciones avanzados Seguridad, integridad y vistas Objeto-Relacional (SQL) SÍ, soportada completamente SÍ Orientado a Objetos Puro (ODMG) SÍ, soportada completamente SÍ, pero el grado de soporte depende del producto concreto NO SÍ, pero el grado de soporte depende del producto concreto SÍ, soportada completamente SÍ, pero con limitaciones 3a.68

68 ODMG 3.0 ODL Ejercicio Uno a uno Course: name, number, semester Section: number Salary: base,overtime, bonus Employee: id, name, salary Professor: rank {full, associate, assistant} Student-if: student-id, name, dorm_address {college, room_number} uno a muchos muchos a muchos has_prerequisites SALARY ISA extends is_prerequisite_for COURSE has_sections EMPLOYEE STUDENT-IF TA PROFESSOR is_section_of assists teaches takes STUDENT is_taken_by SECTION has_ta is_taught_by 3a.69

69 Matisse: ejemplo de SGBD-OO Matisse, de ADB Inc., es un SGBDOO con soporte para C, C++, Eiffel y Java Está especialmente orientado a grandes bases de datos con una rica estructura semántica, y puede manipular objetos muy grandes como imágenes películas y sonidos Aunque admite los conceptos básicos de la orientación a objetos, tales como la herencia múltiple, Matisse se abstiene de imponer demasiadas restricciones como lo referente al modelo de datos y sirve en su lugar como un potente motor de base de datos orientadas a objetos. 3a.75

70 Matisse: ejemplo de SGBD-OO Algunas de las ventajas principales: Una técnica de representación original que hace posible fragmentar un objeto, especialmente un objeto grande, en varios discos, para optimizar así el tiempo de acceso. Una ubicación optimizada de los objetos en los discos. Un mecanismo automático de duplicación que proporciona una solución software a los fallos de tolerancia del hardware: los objetos (en lugar de los discos en sí) se pueden duplicar espectacularmente en varios discos, con recuperación automática en caso de fallo del disco. Un mecanismo de versiones de objetos incorporado. Soporte para las transacciones. Soporte para una arquitectura cliente-servidor en la cual un servidor central gestiona los datos para un número posiblemente elevado de clientes, que mantienen una reserva de objetos a los que se haya accedido recientemente. 3a.76

71 Matisse: modelo de objetos Importa ficheros.odl a una BD 3a.77

72 Matisse: objects.odl interface PostalAddress : persistent { attribute String Nullable City; attribute String<16> Nullable PostalCode; }; interface Person : persistent { attribute String firstname; attribute String lastname; attribute String Nullable comment; attribute Integer Nullable age; attribute Date Nullable birthdate; attribute Integer dependents = 0; attribute Image Nullable photo = NULL; relationship PostalAddress Address [0,1]; }; interface Employee : Person : persistent { attribute Date hiredate; attribute Numeric salary; }; Nota: Ver ejemplo.rar para clases en java y programa que gestiona estas clases 3a.78

Modelos de datos. Marta E. Zorrilla Pantaleón Universidad de Cantabria

Modelos de datos. Marta E. Zorrilla Pantaleón Universidad de Cantabria Modelos de datos Marta E. Zorrilla Pantaleón Universidad de Cantabria Modelo de datos. Definición Conjunto de herramientas conceptuales para describir la representación de la información en términos de

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

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

Resumen. El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl

Resumen. El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl Resumen demandas de almacenamiento y procesamiento de datos. Es el conjunto de estas dos capacidades

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

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

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

Consultas con combinaciones

Consultas con combinaciones UNIDAD 1.- PARTE 2 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES Xochitl Clemente Parra Armando Méndez Morales Consultas con combinaciones Usando combinaciones (joins), se pueden

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

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

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

TEMA 5. Otras arquitecturas distribuidas II. Objetos distribuidos y CORBA

TEMA 5. Otras arquitecturas distribuidas II. Objetos distribuidos y CORBA TEMA 5. Otras arquitecturas distribuidas II. Objetos distribuidos y CORBA II. Objetos distribuidos y CORBA 1. Objetos Distribuidos 2. CORBA 1. Características 2. Modelo de trabajo 3. ORB 4. Arquitectura

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

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

Capítulo 1: Introducción a los Sistemas de Gestión de Bases de Datos (SGBD)

Capítulo 1: Introducción a los Sistemas de Gestión de Bases de Datos (SGBD) Capítulo 1: Introducción a los Sistemas de Gestión de Bases de Datos (SGBD) Fernando Cano Espinosa Universidad de Oviedo. Departamento de Informática fcano@uniovi.es Produced with L A T E X seminar style

Más detalles

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS 4 ARQUITECTURA DE DISTRIBUCIÓN DE DATOS Contenido: Arquitectura de Distribución de Datos 4.1. Transparencia 4.1.1 Transparencia de Localización 4.1.2 Transparencia de Fragmentación 4.1.3 Transparencia

Más detalles

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos 2.1. Principios básicos del Modelado de Objetos UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos Hoy en día muchos de los procesos que intervienen en un negocio o empresa y que resuelven

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

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

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

BASES DE DATOS OFIMÁTICAS

BASES DE DATOS OFIMÁTICAS BASES DE DATOS OFIMÁTICAS Qué es una Bases de Datos Ofimática?. En el entorno de trabajo de cualquier tipo de oficina ha sido habitual tener un archivo con gran parte de la información necesaria para el

Más detalles

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo. GLOSARIO Actor: Un actor es un usuario del sistema. Esto incluye usuarios humanos y otros sistemas computacionales. Un actor usa un Caso de Uso para ejecutar una porción de trabajo de valor para el negocio.

Más detalles

Procedimientos para agrupar y resumir datos

Procedimientos para agrupar y resumir datos Procedimientos para agrupar y resumir datos Contenido Introducción Presentación de los primeros n valores Uso de funciones de agregado 4 Fundamentos de GROUP BY 8 Generación de valores de agregado dentro

Más detalles

Introducción a los sistemas de bases de datos

Introducción a los sistemas de bases de datos Introducción a los sistemas de bases de datos Bases de datos II: Tema 1 Bases de Datos II: Esther de Ves / Vicente Cerverón - Tema 1 1 Estructura del tema Qué es un sistema SGBD? Por qué utilizar un SGBD?

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

La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la

La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la Servicios web Introducción Un servicio web es un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones. Distintas aplicaciones de software desarrolladas en lenguajes

Más detalles

Metadatos en Plataformas ECM

Metadatos en Plataformas ECM Metadatos en Plataformas ECM understanding documents Ofrece tu sistema soporte para tipos documentales en bases de datos? Por qué debería importarte? Marzo, 2013 Basado en: Manejo de metadatos en plataformas

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

Patrones para persistencia (I) Ingeniería del Software II

Patrones para persistencia (I) Ingeniería del Software II Patrones para persistencia (I) Ingeniería del Software II 1 Patrones para la construcción del esquema relacional En todos los ejemplos realizaremos transformaciones del siguiente diagrama de clases: Figura

Más detalles

1.1.- Objetivos de los sistemas de bases de datos 1.2.- Administración de los datos y administración de bases de datos 1.3.- Niveles de Arquitectura

1.1.- Objetivos de los sistemas de bases de datos 1.2.- Administración de los datos y administración de bases de datos 1.3.- Niveles de Arquitectura 1. Conceptos Generales 2. Modelo Entidad / Relación 3. Modelo Relacional 4. Integridad de datos relacional 5. Diseño de bases de datos relacionales 6. Lenguaje de consulta estructurado (SQL) 1.1.- Objetivos

Más detalles

Elementos requeridos para crearlos (ejemplo: el compilador)

Elementos requeridos para crearlos (ejemplo: el compilador) Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción

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

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

Base de datos relacional

Base de datos relacional Base de datos relacional Una base de datos relacional es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para modelar problemas reales y administrar

Más detalles

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 8. Elementos Básicos

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 8. Elementos Básicos FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA Tema 8. Elementos Básicos 1.- Ejemplo Introductorio. 2.- Dominios. 3.- Relaciones. 4.- Bases de Datos Relacionales. (Capítulo 11 del Date) EJEMPLO

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

BASE DE DATOS QUÉ ES UNA BASE DE DATOS?

BASE DE DATOS QUÉ ES UNA BASE DE DATOS? BASE DE DATOS BASE DE DATOS QUÉ ES UNA BASE DE DATOS? Una base de datos se puede definir como un conjunto de información relacionada que se encuentra agrupada ó estructurada. Actualmente la mayoría de

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

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

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

Capítulo 5. Cliente-Servidor.

Capítulo 5. Cliente-Servidor. Capítulo 5. Cliente-Servidor. 5.1 Introducción En este capítulo hablaremos acerca de la arquitectura Cliente-Servidor, ya que para nuestra aplicación utilizamos ésta arquitectura al convertir en un servidor

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

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

Introducción a los Tipos Abstractos de Datos

Introducción a los Tipos Abstractos de Datos Página 1 de 8 Introducción a los Tipos Abstractos de Datos Introducción: Concepto de abstracción Abstracción funcional y abstracción de datos Construcción de tipos abstractos de datos Especificación de

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

Registro (record): es la unidad básica de acceso y manipulación de la base de datos.

Registro (record): es la unidad básica de acceso y manipulación de la base de datos. UNIDAD II 1. Modelos de Bases de Datos. Modelo de Red. Representan las entidades en forma de nodos de un grafo y las asociaciones o interrelaciones entre estas, mediante los arcos que unen a dichos nodos.

Más detalles

.NET y J2EE VALORACIÓN Y COMPARACIÓN DE LOS ELEMENTOS DE LAS DOS PLATAFORMAS. Definiciones...2 C# y Java...3 Similitudes...4 Ventajas...

.NET y J2EE VALORACIÓN Y COMPARACIÓN DE LOS ELEMENTOS DE LAS DOS PLATAFORMAS. Definiciones...2 C# y Java...3 Similitudes...4 Ventajas... .NET y J2EE VALORACIÓN Y COMPARACIÓN DE LOS ELEMENTOS DE LAS DOS PLATAFORMAS Definiciones...2 C# y Java.....3 Similitudes...4 Ventajas...4 Definiciones Sobre J2EE J2EE (Java 2 Platform Enterprise Edition)

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

A.1. Definiciones de datos en SQL

A.1. Definiciones de datos en SQL A.1. Definiciones de datos en SQL Las Sentencias del lenguaje de definición de datos (DDL) que posee SQL operan en base a tablas. Las Principales sentencias DDL son las siguientes: CREATE TABLE DROP TABLE

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

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

Procesadores de lenguaje Tema 5 Comprobación de tipos

Procesadores de lenguaje Tema 5 Comprobación de tipos Procesadores de lenguaje Tema 5 Comprobación de tipos Departamento de Ciencias de la Computación Universidad de Alcalá Resumen Sistemas de tipos. Expresiones de tipo. Equivalencia de tipos. Sobrecarga,

Más detalles

Bases de Datos 2. Teórico

Bases de Datos 2. Teórico Bases de Datos 2 Teórico Structured Query Language (SQL) Características de SQL Standard Opera sobre conjuntos de tuplas: incluso para las operaciones de inserción, borrado y actualización. No elimina

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

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas. El primer paso en el diseño de una base de datos es la producción del esquema conceptual. Normalmente, se construyen varios esquemas conceptuales, cada uno para representar las distintas visiones que los

Más detalles

Un nombre de usuario de 30 caracteres o menos, sin caracteres especiales y que inicie con una letra.

Un nombre de usuario de 30 caracteres o menos, sin caracteres especiales y que inicie con una letra. Unidad IV: Seguridad 4.1 Tipos de usuario El objetivo de la creación de usuarios es establecer una cuenta segura y útil, que tenga los privilegios adecuados y los valores por defecto apropiados Para acceder

Más detalles

abacformacio@abacformacio.com 1

abacformacio@abacformacio.com 1 Cu Oracle 10gg Estudia el servidor de bases de datos Oracle 10g desde el punto de vista de un diseñador y programador de bases de datos, prestando atención a los objetos que puede crear, como tablas, consultas

Más detalles

M III ABSTRACCIÓN Y CLASIFICACIÓN

M III ABSTRACCIÓN Y CLASIFICACIÓN M III ABSTRACCIÓN Y CLASIFICACIÓN COMPLEJIDAD Y ABSTRACCIÓN La abstracción en el desarrollo del programario En todo el proceso de abstracción siempre hay una parte de la situación o del problema que se

Más detalles

Oracle 12c DISEÑO Y PROGRAMACIÓN

Oracle 12c DISEÑO Y PROGRAMACIÓN Oracle 12c Se estudia el servidor de bases de datos empresarial Oracle 12c, centrándose especialmente en el punto de vista de un diseñador o programador de bases de datos, pero explicando también cómo

Más detalles

Arquitectura de sistema de alta disponibilidad

Arquitectura de sistema de alta disponibilidad Mysql Introducción MySQL Cluster esta diseñado para tener una arquitectura distribuida de nodos sin punto único de fallo. MySQL Cluster consiste en 3 tipos de nodos: 1. Nodos de almacenamiento, son los

Más detalles

ESPECIALISTA EN BASE DE DATOS

ESPECIALISTA EN BASE DE DATOS ESPECIALISTA EN BASE DE DATOS EXPERTO ANALISIS Y DISEÑO DE BASE DE DATOS EN MANEJAR BASES DE ACCESS COMPLETO DATOS MYSQL Requisito: Manejo Windows POSTGRESQL DURACION: 3 MESES DE L-V SQL SERVER Cliente-Administración

Más detalles

Clases y Objetos. Informática II Ingeniería Electrónica

Clases y Objetos. Informática II Ingeniería Electrónica Clases y Objetos Informática II Ingeniería Electrónica Los Tipos de Datos Hasta ahora, en un programa podemos usar para representar variables a: Tipos fundamentales : enteros (int), caracteres (char),

Más detalles

SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO

SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO Introducción:...1 Service Oriented Architecture...2 Elementos de una Service Oriented Architecture...2 Application frontends...2 Servicios...2 Contrato:...3

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

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

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

Relaciones entre Clases Programación Avanzada Prim. 2009 FCC-Buap Profesor: M. C. Miguel Rodríguez Hernandez

Relaciones entre Clases Programación Avanzada Prim. 2009 FCC-Buap Profesor: M. C. Miguel Rodríguez Hernandez Relaciones entre Clases Programación Avanzada Prim 2009 FCC-Buap Profesor: M C Miguel Rodríguez Hernandez Asociación Es una relación binaria general que describe una actividad entre dos clases Se describe

Más detalles

Microsoft SQL Server Conceptos.

Microsoft SQL Server Conceptos. Microsoft Conceptos. Microsoft 2005 es una plataforma de base de datos a gran escala de procesamiento de transacciones en línea (OLTP) y de procesamiento analítico en línea (OLAP). La siguiente tabla muestra

Más detalles

Creación y administración de grupos de dominio

Creación y administración de grupos de dominio Creación y administración de grupos de dominio Contenido Descripción general 1 a los grupos de Windows 2000 2 Tipos y ámbitos de los grupos 5 Grupos integrados y predefinidos en un dominio 7 Estrategia

Más detalles

BASES DE DATOS TEMA 2. Arquitectura de un Sistema de Gestión de Bases de Datos

BASES DE DATOS TEMA 2. Arquitectura de un Sistema de Gestión de Bases de Datos BASES DE DATOS TEMA 2 Arquitectura de un Sistema de Gestión de Bases de Datos 2.1 y 2.2 Arquitectura en 3 niveles Independencia -> ANSI/SPARC (1975) Nivel externo (Todas las percepciones de la BD) Visión

Más detalles

BASE DE DATOS RELACIONALES

BASE DE DATOS RELACIONALES BASE DE DATOS RELACIONALES Una base de datos relacional es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para implementar bases de datos ya

Más detalles

Tema 2. Bases de datos orientadas a objetos

Tema 2. Bases de datos orientadas a objetos Tema 2. Bases de datos orientadas a objetos Diseño de Sistemas de Bases de Datos Merche Marqués 12 de abril de 2002 Índice 1. Introducción 1 2. Conceptos de orientación a objetos 2 3. El modelo de datos

Más detalles

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

En cualquier caso, tampoco es demasiado importante el significado de la B, si es que lo tiene, lo interesante realmente es el algoritmo. Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa

Más detalles

Ventajas, Características y Aplicaciones de los SGBD Distribuidos.

Ventajas, Características y Aplicaciones de los SGBD Distribuidos. Ventajas, Características y Aplicaciones de los SGBD Distribuidos. Definición Un SBD Distribuido se compone de un conjunto de sitios, conectados entre sí mediante algún tipo de red de comunicaciones, en

Más detalles

Introducción. Componentes de un SI. Sistema de Información:

Introducción. Componentes de un SI. Sistema de Información: Introducción. Sistema de Información: Conjunto de elementos relacionados entre sí de acuerdo a ciertas reglas, que aporta a la organización la información necesaria para el cumplimiento de sus fines, para

Más detalles

JavaScript como Orientación a Objetos

JavaScript como Orientación a Objetos Gustavo Lacoste (gustavo@lacosox.org) October 2012 Resumen El objetivo de las siguientes notas es generar una estructura en JavaScript que nos permita reutilizar de manera limpia las funciones creadas

Más detalles

Structured Query Language (SQL) Fundamentos de Bases de Datos InCo - 2011

Structured Query Language (SQL) Fundamentos de Bases de Datos InCo - 2011 Structured Query Language () Fundamentos de Bases de Datos InCo - Un poco de historia Lenguajes de consulta relacionales: SEQUEL (IBM-1970) QUEL (Ingres-1970) QBE (IBM-1970) es el lenguaje comercial más

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

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

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación II MODELOS y HERRAMIENTAS UML 1 1 Modelado de casos de uso (I) Un caso de uso es una técnica de modelado usada para describir lo que debería hacer

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

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

SINTAXIS DE SQL-92. <definición de esquema >::= CREATE SCHEMA <cláusula de nombre de esquema> [ <elemento de esquema>... ]

SINTAXIS DE SQL-92. <definición de esquema >::= CREATE SCHEMA <cláusula de nombre de esquema> [ <elemento de esquema>... ] SINTAXIS DE SQL-92 Introducción: Se presenta brevemente un resumen de la sintaxis de SQL según el estándar ISO 9075 (SQL- 92), dividido en tres partes: - Lenguaje de Definición de Daots (LDD), - Lenguaje

Más detalles

Gestion de archivos. Problemas al almacenar datos sólo en la memoria:

Gestion de archivos. Problemas al almacenar datos sólo en la memoria: Gestion de archivos Problemas al almacenar datos sólo en la memoria: 1. El tamaño está limitado por el tamaño de la memoria qué pasa con aplicaciones que necesiten acceder a gran cantidad de información?

Más detalles

Modelo de Objetos Distribuidos

Modelo de Objetos Distribuidos Remote Method Invocation Modelo de Objetos Distribuidos Un objeto remoto es un objeto cuyos métodos pueden ser invocados desde otra máquina virtual de java, potencialmente en un host diferente. Modelo

Más detalles

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros La sentencia INSERT permite agregar nuevas filas de datos a las tablas existentes. Está sentencia

Más detalles

"Módulo OOWS para StarUML" INTRODUCCIÓN

Módulo OOWS para StarUML INTRODUCCIÓN UNA HERRAMIENTA PARA DIAGRAMAS OOWS: "Módulo OOWS para StarUML" Richard Medina Z. Universidad de Concepción, Chile INTRODUCCIÓN Una herramienta CASE (Computer Aided Software Engineering,

Más detalles

Bases de Datos. Sistemas de Gestión de Bases de Datos

Bases de Datos. Sistemas de Gestión de Bases de Datos Bases de Datos Sistemas de Gestión de Bases de Datos Banco de datos Conjunto de datos relacionados Ejemplo: archivos de las oficinas de una empresa, con fichas, carpetas, archivadores, armarios... La gestión

Más detalles

Contenido XIII. Capítulo 1. Capítulo 2. Alfaomega. Bases de datos - Reinosa, Maldonado, Muñoz, Damiano, Abrutsky

Contenido XIII. Capítulo 1. Capítulo 2. Alfaomega. Bases de datos - Reinosa, Maldonado, Muñoz, Damiano, Abrutsky XIII Contenido Capítulo 1 Estructura y tipos de bases de datos...1 1.1 Introducción... 2 1.2 Definición de base de datos... 3 1.3 Sistema de Gestión de Bases de Datos... 4 1.4 Usuarios de la base de datos...

Más detalles

Introducción a la Programación Orientada a Objetos (POO) Introducción a la Programación Orientada a Objetos (POO)

Introducción a la Programación Orientada a Objetos (POO) Introducción a la Programación Orientada a Objetos (POO) Diseño Orientado a Objetos. Metodología enfocada a la solución de problemas complejos. Complejidad del software. Problemas difíciles de precisar. Definición de requerimientos vago y cambio en el desarrollo

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

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. 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 cumplir

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

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

CONSULTAS DE RESUMEN SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

CONSULTAS DE RESUMEN SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE CONSULTAS DE RESUMEN SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE CONSULTAS DE RESUMEN Una de las funcionalidades de la sentencia SELECT es el permitir obtener resúmenes

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

TELECOMUNICACIONES Y REDES

TELECOMUNICACIONES Y REDES TELECOMUNICACIONES Y REDES Redes Computacionales I Prof. Cristian Ahumada V. Unidad V: Capa de Red OSI 1. Introducción. 2. Protocolos de cada Red 3. Protocolo IPv4 4. División de Redes 5. Enrutamiento

Más detalles

18 y 19 Sistemas de Archivos Distribuidos y Tarea 05

18 y 19 Sistemas de Archivos Distribuidos y Tarea 05 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05 Prof. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco efranco.docencia@gmail.com Estructuras de datos (Prof. Edgardo A. Franco)

Más detalles

Fundamentos del diseño 3ª edición (2002)

Fundamentos del diseño 3ª edición (2002) Unidades temáticas de Ingeniería del Software Fundamentos del diseño 3ª edición (2002) Facultad de Informática necesidad del diseño Las actividades de diseño afectan al éxito de la realización del software

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