Euro Castillo
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

[U3] - MODELADO DE BD

4 participantes

Ir abajo

[U3] - MODELADO DE BD Empty [U3] - MODELADO DE BD

Mensaje  o0euro0o Vie Mar 09, 2012 1:00 pm

BASES DE DATOS RELACIÓNALES
Relaciones y variables de relación
Qué significan las relaciones
Optimización
El catálogo

DOMINIOS Y RELACIONES
Variables de relación base y vistas
Dominios
Valores de relación
Variables de relación

BASES DE DATOS DISTRIBUIDAS
Problemas de los sistemas distribuidos
Sistemas cliente-servidor
Independencia de DBMS

BASES DE DATOS TEMPORALES
Datos temporales
Intervalos
Tipos de intervalo
Consideraciones de diseño de bases de datos

BASES DE DATOS DE OBJETOS
Objetos, clases, métodos y mensajes
Revisión de los IDs de objetos
Definición de datos
Población de la base de datos

NOTA: la carga de la información debe ser "RESPUESTA" a este tema. Debe ser con la siguiente nomenclatura:
Titulo: G[n] - Titulo a desarrollar
, donde n = No. del Grupo
Cuerpo de la respuesta:
Integrantes
Desarrollo del contenido

Ejemplo:
Titulo: G1 - Modelado de Base de Datos
Integrante: Euro Castillo

o0euro0o
Admin

Mensajes : 29
Fecha de inscripción : 17/02/2012

https://o0euro0cast0o.activo.mx

Volver arriba Ir abajo

[U3] - MODELADO DE BD Empty [b]Bases de Datos Relacionales[/b]

Mensaje  henry bracho Miér Mar 28, 2012 5:38 am

Integrantes: Grupo #1
Jonathan Torres
Jose Ortega
Sixto Rivas
Jesus Mata
Henry Bracho

Bases de Datos Relacionales

Este modelo es el más utilizado actualmente ya que utiliza tablas bidimensionales para la representación lógica de los datos y sus relaciones.

Algunas de sus principales características son:
• Puede ser entendido y usado por cualquier usuario.
• Permite ampliar el esquema conceptual sin modificar las aplicaciones de gestión.
• Los usuarios no necesitan saber donde se encuentran los datos físicamente.
El elemento principal de este modelo es la relación que se representa mediante una tabla.

El modelo relacional no es más que un conjunto de elementos relacionados entre sí. Permite establecer interconexiones (relaciones) entre los datos (que están guardados en la tabla) De acuerdo a ciertas reglas que aportan a la organización a la que sirve la información.

Se basa en Tres (3) Aspectos:
 Estructural: El Usuario percibe la información de las Bases de datos como tablas.
 Integridad: dichas tablas satisfacen ciertas restricciones.
 Manipulación: Operadores disponibles para que el usuario manipules las tablas.
Ej. Recuperación de Datos.
Los operadores derivan tablas a partir de tablas, de las cuales lo más importante es:
Restringir, Proyectar, Juntar.

Relaciones y Variables Relación
Prácticamente es la parte estructural son las relaciones, el aspecto de integridad son las claves primarias y foráneas, en el aspecto de manipulación son los operadores (restringir, proyectar, juntar, etc.)

Cada relación tiene un encabezado y un cuerpo; el encabezado son el conjunto de parejas de nombre de columna: nombre de tipo mientras que el cuerpo es el conjunto de filas que se apegan al encabezado.

Las relaciones son necesarias y suficientes para representar cualquier dato a nivel lógico.

Las Variables de Relación ó variables relacionales se presentan en dos variedades “bases (autenticas y vistas (virtuales).

Terminología
Atributo. Cada columna de la tabla
Grado. Número de atributos de la tabla
Cardinalidad. Número de tuplas de una tabla
Dominio. Conjunto válido de valores representables por un atributo


Que significan las Relaciones
Las relaciones son un conjunto de cosas que indicamos acerca de la información de las que podemos mencionar con la base de datos.
Ejemplo:
Dato: Nombre, apellido, edad, etc.
Información: La data a mostrar (Juan Pérez 30 años etc.)

Este modelo de base de datos es considerado como una colección de relaciones. De manera simple, una relación representa una tabla que no es más que un conjunto de filas, cada fila es un conjunto de campos y cada campo representa un valor que interpretado describe el mundo real. Cada fila también se puede denominar tupla o registro y a cada columna también se le puede llamar campo o atributo.

Relación Uno a Uno: Cuando un registro de una tabla sólo puede estar relacionado con un único registro de la otra tabla y viceversa.

Relación Uno a Muchos: de un registro relacionado en la primera tabla (tabla secundaria).

Relación Muchos a Muchos: Cuando un registro de una tabla puede estar relacionado con más de un registro de la otra tabla y viceversa.

Las relaciones varios a varios se suelen representar definiendo una tabla intermedia entre las dos tablas. Siguiendo el ejemplo anterior sería definir una tabla líneas de pedido relacionado con clientes y con artículos.


En las relaciones las columnas tienen tipos de datos asociados lo que significa un conjunto abierto de datos. En este tipo de base de datos los usuarios podrán definir sus propios tipos de datos al igual que usar los ya predefinidos por el sistema.


Optimización

Es el componente del sistema que determina como implementar las peticiones del usuario.(la cual se ocupa del que y no del cómo.)
La fase de optimización de una consulta tiene por objeto generar el plan de ejecución para la consulta a partir del programa algebraico generado en la fase anterior de descomposición.
Deben contemplarse diversos aspectos en esta fase de optimización:
a) El momento o modo de generación del plan.
b) b) La estrategia de optimización de operadores algebraicos del programa.
En cuanto al momento de generación, se contemplan:
• Planes dinámicos
• Planes estáticos
La estrategia de optimización permite diferenciar los enfoques de:
• Optimización por reglas
• Optimización por costes
Las estrategias barajan métodos alternativos para la descomposición o programa algebraico. Lo normal es asignar un método para cada operador algebraico del programa (se asignan métodos operación a operación) en función de las condiciones del esquema interno de la base de datos.
Planes dinámicos
La generación de un plan dinámico corresponde a un enfoque de interpretación de consultas. El plan es generado en el momento en que se especifica la consulta. El procesador de consultas realiza las fases de descomposición, optimización y ejecución de dicha consulta en cascada; es decir, una a continuación de otra.
Planes estáticos
Los planes estáticos pueden ser asimilados a un enfoque de compilación y catalogación del plan de ejecución. La misión inicial del procesador de consultas es generar dicho plan y catalogarlo (en la misma BD o en librerías al efecto). Con posterioridad, este plan será cargado y ejecutado en memoria.

Catalogo
Es un conjunto de varrels del sistema que contienen descriptores de los diversos elementos que son de interés para el sistema (varrels base, vistas, índices, usuarios, etc.) los usuarios pueden consultar el catalogo exactamente del mismo modo en que se consultan sus propios datos.
Un catalogo (o diccionario), en un sistema de base de datos llamada también metabase donde el esquema principal de catalogo es almacenar esquema de base de datos que el sistema mantiene, de todos los niveles o arquitectura tanto del esquema interno como externo, conceptual.
Los objetos que se guardan son para obtener resultados de interés, para el sistema tales como planes de aplicación, privilegios de acceso, tablas, etc. El catalogo en el sistema debe contener información para su comportamiento adecuado para que nos permita en una determinada consulta chequear la validez de una sentencia y mantener la integridad y coherencia de los datos.
Las sentencias se pueden consultar en el catalogo como se consulta cualquier base de dato o tabla sin embrago las actualizaciones para el catalogo (INSERT, DELETE, UPDATE) no son posibles, ya que si lo intentaríamos es posible borrar una línea de la tabla si esto ocurriese estaríamos eliminando una columna del catalogo y para el sistema esta no existiría mas lo cual sería un fracaso en intentarla de recuperar.

henry bracho

Mensajes : 1
Fecha de inscripción : 22/03/2012

Volver arriba Ir abajo

[U3] - MODELADO DE BD Empty BASE DE DATOS ORIENTADA OBJETOS

Mensaje  jose perez Jue Mar 29, 2012 7:48 am

Integrantes:Grupo #5
Ronny Leal
José Pérez
Ronal Pérez
Miguel Cornielly
Jerinverg Hernández

CONTENIDO
•Objetos, clases, métodos y mensajes
•Revisión de los IDs de objetos
•Definición de datos
•Población de la base de datos


BASES DE DATOS DE OBJETOS


La orientación a objetos es una metodología de modelado y desarrollo basada en conceptos orientados a objetos (OO). En concreto, la orientación a objetos se define como un conjunto de principios de diseño y desarrollo basados en estructuras de computadoras conceptualmente autónomas conocidas como objetos. Cada objeto representa una entidad del mundo real con la capacidad de actuar consigo misma y de interactuar con otros objetos. Teniendo en cuenta este concepto, las bases de datos orientadas a objetos (OODB) están diseñadas para capturar los datos de un sistema de negocio, que puede ser considerado como un conjunto de objetos que interactúan entre sí.
OBJETOS

Se define Objeto a la unidad que en tiempo de ejecución realiza las tareas de un programa, entendiéndose entonces como una percepción o cosa con límites bien definidos y con significado a efectos del inconveniente que se esté tratando. A través del estudio de ellos se adquiere el conocimiento necesario para, mediante la abstracción y la generalización, agruparlos según sus características en conjuntos, estos conjuntos determinan las clases de objetos con las que estamos trabajando.
Un objeto en POO representa alguna entidad de la vida real, es decir, alguno de los objetos que pertenecen al negocio con que estamos trabajando o al problema con el que nos estamos enfrentando, y con los que podemos interactuar. A través del estudio de ellos se adquiere el conocimiento necesario para, mediante la abstracción y la generalización, agruparlos según sus características en conjuntos, estos conjuntos determinan las clases de objetos con las que estamos trabajando. Primero existen los objetos, luego aparecen las clases en función de la solución que estemos buscando. Ésta es la forma más común de adquirir conocimiento aunque no es la única. En ocasiones cuando el observador es un experto del negocio (o del problema), el proceso puede ser a la inversa y comenzar el análisis en una base teórica abstracta, sustentada por el conocimiento previo que da lugar primeramente a clases de objetos que satisfagan las necesidades de la solución.
Estos conceptos son parte de la base teórica de la idea de objeto y clase utilizados en la POO. Los objetos tienen características fundamentales que nos permiten conocerlos mediante la observación, identificación y el estudio posterior de su comportamiento; estas características son:

Identidad: La identidad es la propiedad que permite a un objeto diferenciarse de otros. Generalmente esta propiedad es tal, que da nombre al objeto. Tomemos por ejemplo el "verde" como un objeto concreto de una clase color; la propiedad que da identidad única a este objeto es precisamente su "color" verde. Tanto es así que para nosotros no tiene sentido usar otro nombre para el objeto que no sea el valor de la propiedad que lo identifica.
En programación la identidad de los objetos sirve para comparar si dos objetos son iguales o no. No es raro encontrar que en muchos lenguajes de programación la identidad de un objeto esté determinada por la dirección de memoria de la computadora en la que se encuentra el objeto, pero este comportamiento puede ser variado redefiniendo la identidad del objeto a otra propiedad.

Comportamiento: El comportamiento de un objeto está directamente relacionado con su funcionalidad y determina las operaciones que este puede realizar o a las que puede responder ante mensajes enviados por otros objetos. La funcionalidad de un objeto está determinada, primariamente, por su responsabilidad. Una de las ventajas fundamentales de la POO es la reusabilidad del código; un objeto es más fácil de reutilizarse en tanto su responsabilidad sea mejor definida y más concreta.
Una tarea fundamental a la hora de diseñar una aplicación informática es definir el comportamiento que tendrán los objetos de las clases involucradas en la aplicación, asociando la funcionalidad requerida por la aplicación a las clases adecuadas.

Estado: El estado de un objeto se refiere al conjunto de los valores de sus atributos en un instante de tiempo dado. El comportamiento de un objeto puede modificar el estado de este. Cuando una operación de un objeto modifica su estado se dice que esta tiene "efecto colateral".
Esto tiene especial importancia en aplicaciones que crean varios hilos de ejecución. Si un objeto es compartido por varios hilos y en el transcurso de sus operaciones estas modifican el estado del objeto, es posible que se deriven errores del hecho de que alguno de los hilos asuma que el estado del objeto no cambiará (Véase Condición de carrera).
CLASES

Una clase es la contenedora de uno o más datos (variables o propiedades miembro) junto a las operaciones de manipulación de dichos datos (métodos). Las clases pueden definirse como estructuras (struct), uniones (unión) o clases (class) pudiendo existir diferencias entre cada una de las definiciones según el lenguaje, lo que indica entonces que una clase es la agrupaciones de varios objetos que describen su comportamiento.

En términos más técnicos, una clase es un conjunto coherente que consiste en un tipo particular de metadatos. Una clase tiene tanto una interfaz y una estructura, siendo la interfaz la que describe cómo interactuar con la clase y sus instancias con métodos, mientras que la estructura describe cómo los datos se dividen en atributos dentro de una instancia. Una clase también puede tener una representación (metaobjeto) en tiempo de ejecución, que proporciona apoyo en tiempo de ejecución para la manipulación de los metadatos relacionados con la clase. En el diseño orientado a objetos, una clase es el tipo más específico de un objeto en relación con una capa específica.

Una clase por lo general representa un sustantivo, como una persona, lugar o (posiblemente bastante abstracta) cosa - es el modelo de un concepto dentro de un programa de computadora. Fundamentalmente, encapsula el estado y el comportamiento del concepto que representa. Encapsula el estado a través de marcadores de datos llamados atributos (o variable miembro o variables de instancia), y encapsula el comportamiento a través de secciones de código reutilizables llamados métodos.

Una clase esta representada por un rectángulo que dispone de tres apartados, el primero para indicar el nombre, el segundo para los atributos y el tercero para los métodos. Cada clase debe tener un nombre único, que las diferencie de las otras.

Un atributo representa alguna propiedad de la clase que se encuentra en todas las instancias de la clase. Los atributos pueden representarse solo mostrando su nombre, mostrando su nombre y su tipo, e incluso su valor por defecto. Un método u operación es la implementación de un servicio de la clase, que muestra un comportamiento común a todos los objetos. En resumen es una función que le indica a las instancias de la clase que hagan algo.

Para separar las grandes listas de atributos y de métodos se pueden utilizar estereotipos. Aquí vemos un ejemplo. La clase usuario contiene tres atributos. Nombre que es public, dirección que es protected y situación que es private. Situación empieza con el valor 3. También dispone de tres métodos Entrar, Salir y Trabajar.

MÉTODOS

En la programación orientada a objetos, un método es una subrutina asociada exclusivamente a una clase (llamados métodos de clase o métodos estáticos) o a un objeto (llamados métodos de instancia). Análogamente a los procedimientos en los lenguajes imperativos, un método consiste generalmente de una serie de sentencias para llevar a cabo una acción, un juego de parámetros de entrada que regularán dicha acción y o, posiblemente, un valor de salida (o valor de retorno) de algún tipo.
Algunos lenguajes de programación asumen que un método debe de mantener el invariante del objeto al que está asociado asumiendo también que éste es válido cuando el método es invocado. En lenguajes compilados dinámicamente, los métodos pueden ser objetos de primera clase, y en este caso se puede compilar un método sin asociarse a ninguna clase en particular, y luego asociar el vínculo o contrato entre el objeto y el método en tiempo de ejecución. En cambio en lenguajes no compilados dinámicamente o tipados estáticamente, se acude a precondiciones para regular los parámetros del método y postcondiciones para regular su salida (en caso de tenerla). Si alguna de las precondiciones o postcondiciones es falsa el método genera una excepción. Si el estado del objeto no satisface la invariante de su clase al comenzar o finalizar un método, se considera que el programa tiene un error de programación.
La diferencia entre un procedimiento (generalmente llamado función si devuelve un valor) y un método es que éste último, al estar asociado con un objeto o clase en particular, puede acceder y modificar los datos privados del objeto correspondiente de forma tal que sea consistente con el comportamiento deseado para el mismo. Así, es recomendable entender a un método no como una secuencia de instrucciones sino como la forma en que el objeto es útil (el método para hacer su trabajo). Por lo tanto, podemos considerar al método como el pedido a un objeto para que realice una tarea determinada o como la vía para enviar un mensaje al objeto y que éste reaccione acorde a dicho mensaje.

Tipos de Métodos

• Métodos de instancia están relacionados con un objeto en particular. En una implementación típica, a los métodos de instancia se les pasa una referencia oculta al objeto al que pertenecen, comúnmente denominada this o self (referencias a sí mismo por sus significados en inglés), para que puedan acceder a los datos asociados con el mismo. Un ejemplo típico de un método de clase sería uno que mantuviera la cuenta de la cantidad de objetos creados dentro de esa clase.

Algunos lenguajes de programación requieren la definición de constructores, siendo estos métodos de instancia especiales llamados automáticamente cuando se crea una instancia de alguna clase. En Java y C++ se distinguen por tener el mismo nombre de la clase a la que están asociados. Lenguajes como Smalltalk no requieren constructores ni destructores.

• Métodos estáticos o de clase (también denominados métodos compartidos) están asociados a una clase en particular.

• Métodos obtener y métodos establecer (en inglés get y set) proveen un mecanismo para leer y modificar (respectivamente) los datos privados que se encuentran almacenados en un objeto o clase.

• Métodos de acceso son un tipo de método normalmente pequeño y simple que se limita a proveer información acerca del estado de un objeto. Aunque introduce una nueva dependencia, la utilización de métodos es preferida a acceder directamente a la información para proveer de una nueva capa de abstracción (programación orientada a objetos). Por ejemplo, si una clase que modela una cuenta bancaria provee de un método de acceso "obtenerBalance()" en versiones posteriores de la clase se podría cambiar el código de dicho método substancialmente sin que el código dependiente de la clase tuviese que ser modificado (un cambio sería necesario siempre que el tipo de dato devuelto por el método cambie). Los métodos de acceso que pueden cambiar el estado de un objeto son llamados, frecuentemente, métodos de actualización ó métodos de mutación; a su vez, los objetos que proveen de dichos métodos son denominados objetos mutables.

MENSAJES

Un mensaje es una solicitud a un objeto para invocar uno de sus métodos. Un mensaje por lo tanto contiene:

• Nombre del método

• Los argumentos del método.

Por consecuencia, la invocación de un método es solamente una reacción causada por el hecho de recibir un mensaje. Esto solamente es posible si el método es realmente conocido por el objeto.
El mensaje hace referencia a una comunicación dirigida a un objeto, que le ordena que ejecute uno de sus métodos con ciertos parámetros asociados al evento que lo generó.
Un programa en ejecución es una colección de objetos, donde dichos objetos interactuantes son creados y destruidos. Esta interacción se basa en mensajes que son mandados de un objeto a otro, donde el emisor le pide al receptor que aplique un método a sí mismo. Mandar un mensaje pidiéndole a un objeto que aplique un método es similar a una llamada a un procedimiento en lenguajes de programación "tradicionales". Sin embargo, en orientación a objetos, hay un cuadro de objetos autónomos que se comunican unos con los otros por medio del intercambio de mensajes. Los objetos reaccionan cuando reciben mensajes por medio de la aplicación de métodos sobre si mismos. También pueden negar la ejecución de un método, por ejemplo si el objeto que hace la llamada no tiene permiso para ejecutar el método solicitado.

REVISIÓN DE LOS IDS DE OBJETOS

Un sistema de Base de Datos Orientada a Objetos, provee una identidad única a cada objeto independiente almacenado en la base de datos. Esta identidad única suele implementarse con un identificador de objeto único, generado por el sistema, u OID. El valor de un OID no es visible para el usuario externo, sino que el sistema lo utiliza a nivel interno para identificar cada objeto de manera única y para crear y manejar las referencias entre objetos.

La principal propiedad que debe tener un OID es la de ser inmutable; es decir, el valor del OID para un objeto en particular nunca debe cambiar. Esto preserva la identidad del objeto del mundo real que se está presentando. También es preferible que cada OID se utilice sólo una vez; esto es aunque un objeto se elimine de la Base de datos, su OID no se deberá asignar a otro objeto. Estas dos propiedades implican que el OID no debe depender del valor de ningún atributo del objeto, pues estos valores pueden cambiar. También suele considerarse inapropiado basar el OID en la dirección física del objeto en el almacenamiento, ya que una reorganización de los objetos de la base de datos podría cambiar los OID. Sin embargo, algunos sistemas sí usan la dirección física como OID para aumentar la eficiencia de la obtención de los objetos. Si la dirección física cambia, puede colocarse un apuntador indirecto en la dirección anterior, dando la nueva ubicación física del objeto. Un sistema de BDOO debe contar con algún mecanismo para generar los OID con la propiedad de inmutabilidad.

Algunos modelos de datos OO requieren que todo se represente como un objeto, ya sea un valor simple o un objeto complejo; así, todo valor básico, como un entero, una cadena o un valor booleano, tiene un OID. Con ello dos valores básicos pueden tener diferentes OID, lo cual es muy útil en algunos casos. Por ejemplo, en algunas ocasiones se podría usar el valor entero 50 para representar un peso en Kilogramos, y en otras para referirse a la edad de una persona. Así podrían crearse dos objetos básicos con diferentes OID, y ambos tendrían el mismo valor básico de 50. Aunque resulta útil como modelo teórico, esto no es muy práctico porque puede obligar a generar demasiados OID. Por ello también, la mayor parte de los sistemas de BDOO permiten representar tanto objetos como valores. Todo objeto debe tener un OID inmutable, pero los valores no tienen OID y se representan así mismo.


• Los objetos tienen identidades únicas, independientes de los valores de sus atributos.

• La estructura orientada a objetos automáticamente impone las restricciones relacionales, generalmente más aplicables: dominio, llave integridad de entidad e integridad referencial.
DEFINICIÓN DE DATOS

El dato es una representación simbólica (numérica, alfabética, algorítmica, entre otros.), un atributo o característica de una entidad, considerando así que un dato es una expresión mínima de contenido sobre un tema, caracterizándose por no contener ninguna información.

La importancia de los datos está en su capacidad de asociarse dentro de un contexto para convertirse en información. Por si mismos los datos no tienen capacidad de comunicar un significado y por tanto no pueden afectar el comportamiento de quien los recibe. Para ser útiles, los datos deben convertirse en información para ofrecer un significado, conocimiento, ideas o conclusiones.

En programación, un dato es la expresión general que describe las características de las entidades sobre las cuales opera un algoritmo.

[justify]POBLACIÓN DE LA BASE DE DATOS

Entendemos por Población de la Base de Datos, la actividad de inclusión de los datos dentro de ella, correspondiendo el espacio de las líneas que componen las tablas que constituyen la base de datos. Normalmente, la memorización de una información concreta corresponde a la inclusión de una o más líneas en una o más tablas de la base de datos siguiendo las instrucciones necesarias para la inclusión o carga de dichos datos según lo requiera la dase de datos en la cual se labora.

El almacenamiento de los datos se hace de forma eficiente aunque oculta para el usuario y normalmente tiene, al contrario de lo que ocurre con las hojas de cálculo, poco que ver con la estructura con la que los datos se presentan al usuario.


jose perez

Mensajes : 1
Fecha de inscripción : 26/03/2012

Volver arriba Ir abajo

[U3] - MODELADO DE BD Empty G[4] - BASE DE DATOS TEMPORALES

Mensaje  takashius Jue Mar 29, 2012 12:50 pm

Rosa Nicolina C.I: 16.342.911
Hernández Erick C.I: 16.134.236
Padovani Diego C.I: 18.111.078
Colina Yazunary C.I: 18.914.179
Garcia David C.I: 20.301.220


BASE DE DATOS TEMPORALES

CONCEPTO DE DATOS TEMPORALES
Si los datos son una representación codificada de los hechos, entonces los datos temporales son una representación codificada de hechos con marcas de tiempo. En una base de datos temporal todos los datos son temporales, lo que significa que cada hecho registrado tiene una marca de tiempo.

CONCEPTO BASE DE DATOS TEMPORALES:
Una base de datos temporal es aquella que contiene datos históricos o además de estos posee datos actuales.

TIPOS DE DATOS:
En la Base de Datos Temporales existen tipos de datos que sirven para dar soporte a conceptos temporales tales como instante, intervalo y elemento temporal.
Se define un instante como un punto particular en el eje del tiempo.
Se define un intervalo como el tiempo entre dos instantes.
Se define un elemento temporal como una unión finita de intervalos de tiempo.

INTERVALOS:
Luego de haber definido los tipos de datos para crear la representación del tiempo en el que los datos son válidos en el mundo real; se procede con los aspectos temporales que incluyen tiempo de validez y tiempo de transacción y la combinación de estos dos atributos forman un dato bitemporal.
- Tiempo de Validez (TV): Indica el período en el cual un hecho es verdad en el mundo real.
- Tiempo de transacción: Indica el período en el cual un hecho está guardado en la base de datos.
- Dato Bitemporal: Es la unión del tiempo de validez y el tiempo transaccional.

Ejemplo: Tomamos dos períodos y estos no tienen que ser idénticos para un mismo hecho. Imagine una base de datos temporal guardando datos sobre el siglo veinte. El tiempo de validez sobre esos hechos estará comprendido entre el año 1901 y el año 2000, sin embargo el tiempo transaccional empezará cuando insertemos esos hechos en la base de datos, por ejemplo, 25 de diciembre del 2006.


OPERACIONES DE ESTRUCTURA
Inserción: Se crea una versión actual del dato. Por ejemplo: Tiempo de Valor Inicial (TIV) y Tiempo de
Valor Final (TVF) es igual a infinito ( ∞).
Eliminación: Actualiza el Tiempo de Valor Final (TVF) del dato y pasa a ser histórico y lo deja sin ningún
registro actual.
Modificación: Es la unión de la Inserción y la Eliminación.

OPERADORES TEMPORALES
Entre los operadores más útiles para cualquier tipo de datos están:
Operadores de Comparación: Es un conjunto de operadores temporales lógicos para comparar intervalos de tiempo. Todos estos operadores reciben como parámetros dos intervalos y devuelven un valor de verdad, es decir, operan bajo una signatura:
Operador Temporal: I x I  Boolean
Donde I es un conjunto de intervalos. I = { i1, i2, …, in }.
- EQUALS es verdadero, si los dos intervalos son iguales.
- BEFORE es verdadero, si el primer intervalo está antes del segundo.
- AFTER es verdadero si el primer intervalo está después del segundo.
- MEETS es verdadero cuando los dos intervalos son contiguos.
- OVERLAP es verdadero cuando los dos intervalos se solapan.
- BEGINS indica si el primer intervalo es el comienzo del segundo.
- ENDS indica si el primer intervalo es el final del segundo.
- MERGES es verdadero si los dos intervalos se pueden fusionar en uno solo, es decir, son contiguos o se
solapan.
- INCLUDES indica si el primer intervalo contiene al segundo.
- INCLUDED_IN indica si el primer intervalo está dentro del segundo.

OPERADORES TOTALES
Además de los operadores temporales, se han propuesto dos operadores conocidos como operadores de totales LEXPAND y COLLAPSE. A diferencia de los operadores de temporales, EXPAND y COLLAPSE se aplican a conjuntos de intervalos en lugar de a un par de intervalos y producen como resultado otro conjunto de intervalos. El funcionamiento de los operadores de totales es el siguiente:
- EXPAND recibe como parámetro un conjunto de intervalos y devuelve el conjunto de todos los intervalos cuyo punto inicial está contenido en algún intervalo del conjunto que recibe como parámetro y, además, el punto final es igual al punto inicial.
- COLLAPSE recibe como parámetro un conjunto de intervalos y devuelve como resultado el conjunto mínimo de intervalos que tiene la misma forma expandida (obtenida con el operador EXPAND) que el conjunto original.

CLAVES
- Intervalo es un tupla con valor inicial y valor final.
- La clave debe cumplir con las siguientes restricciones:
o Debe existir un ordenamiento total.
o Existencia de inicio y fin donde el inicio es menor o igual al fin (inicio <= fin).
o Función sucesora (Granularidad).

Granularidad: Es la partición en grupos de elementos ordenados en un dominio temporal.
Gránulo: Es un valor dentro de la granularidad elegida para un propósito.

IMPLEMENTACIÓN
- Una sola tabla contiene todas las tuplas actuales e históricas.
- Partición Horizontal: Crear dos tablas una para la información válida y otra para la información histórica.
- Partición Vertical: Se distribuyen los atributos de la relación temporal en distintas relaciones y los atributos que se actualizan a la vez se ponen en la misma relación.

CONSIDERACIONES DE DISEÑO DE BASES DE DATOS
• Almacenar sólo la información necesaria

• Pedir sólo lo necesario y ser explícito

• Normalizar las estructuras de tablas:
- Controlar la redundancia de la información.
- Evitar pérdidas de información.
- Capacidad para representar toda la información.
- Mantener la consistencia de los datos.

• Seleccionar el tipo de dato apropiado:
Una vez identificadas todas las tablas y columnas que necesita la base de datos, se debe determinar el tipo de dato de cada campo. Existen tres categorías principales que pueden aplicarse prácticamente a cualquier aplicación de bases de datos: Texto, Números y Fecha y hora.

• Utilizar índices apropiadamente:
Los índices son un sistema especial que utilizan las bases de datos para mejorar su rendimiento global. Al definir índices en las columnas de una tabla, se le indica a MySQL que preste atención especial a dichas columnas.

• Usar consultas REPLACE:
Existen ocasiones en las que se desea insertar un registro a menos de que éste ya se encuentre en la tabla. Si el registro ya existe, lo que se debe hacer es una actualización de los datos. En lugar de escribir el código que cumpla con esta lógica, y tener que ejecutar varias consultas, lo mejor es usar la sentencia REPLACE de MySQL

• Usar tablas temporales:
Cuando se trabaja con tablas muy grandes, suele suceder que ocasionalmente se necesite ejecutar algunas consultas sobre un pequeño subconjunto de una gran cantidad de datos. En vez de ejecutar estas consultas sobre la tabla completa y hacer que MySQL encuentre cada vez los registros que necesita, puede ser mucho más rápido seleccionar dichos registros en una tabla temporal y entonces ejecutar dichas consultas sobre esta tabla.

• Usar una versión reciente de MySQL

takashius

Mensajes : 1
Fecha de inscripción : 20/03/2012

Volver arriba Ir abajo

[U3] - MODELADO DE BD Empty Re: [U3] - MODELADO DE BD

Mensaje  Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.