miércoles, 1 de diciembre de 2010

Ditribucion de una base de datos

Una base de datos distribuida (BDD) es un conjunto de múltiples bases de datos lógicamente relacionadas las cuales se encuentran distribuidas en diferentes espacios lógicos (pej. un servidor corriendo 2 maquinas virtuales) e interconectados por una red de comunicaciones. Dichas BDD tienen la capacidad de realizar procesamiento autónomo, esto permite realizar operaciones locales o distribuidas. Un sistema de Bases de Datos Distribuida (SBDD) es un sistema en el cual múltiples sitios de bases de datos están ligados por un sistema de comunicaciones de tal forma que, un usuario en cualquier sitio puede acceder los datos en cualquier parte de la red exactamente como si estos fueran accedidos de forma local.

Un sistema distribuido de bases de datos se almacena en varias computadoras. Los principales factores que distinguen un SBDD de un sistema centralizado son los siguientes:

          Hay múltiples computadores, llamados sitios o nodos.
          Estos sitios deben de estar comunicados por medio de algún tipo de red de comunicaciones para transmitir datos y órdenes entre los sitios.


Características


- Independencia de los Datos. Es decir, que los datos no dependen del programa y por tanto cualquier aplicación puede hacer uso de los datos.

- Reducción de la Redundancia. Llamamos redundancia a la existencia de duplicación de los datos, al reducir ésta al máximo conseguimos un mayor aprovechamiento del espacio y además evitamos que existan inconsistencias entre los datos. Las inconsistencias se dan cuando nos encontramos con datos contradictorios.

- Seguridad. Un SBD debe permitir que tengamos un control sobre la seguridad de los datos.

- Se visualiza normalmente como una tabla de una hoja de cálculo, en la que los registros son las filas y las columnas son los campos, o como un formulario.

- Permite realizar un listado de la base de datos.

- Permiten la programación a usuarios avanzados.


Estructura de datos

En programación, una estructura de datos es una forma de organizar un conjunto de datos elementales (un dato elemental es la mínima información que se tiene en el sistema) con el objetivo de facilitar la manipulación o gestión de dichos datos como un todo, ya sea de manera general o particularmente.

Estructuras de control
En programación, las estructuras de control permiten modificar el flujo de ejecución de las instrucciones de un programa. Con las estructuras de control se puede ejecutar instrucciones de forma condicionada.

En informática, un campo es un espacio de almacenamiento para un dato en particular. En las bases de datos, un campo es la mínima unidad de información a la que se puede acceder; un campo o un conjunto de ellos forman un registro, donde pueden existir campos en blanco, siendo éste un error del sistema. En las hojas de cálculo los campos son llamados celdas. La mayoría de los campos tienen atributos asociados a ellos. Por ejemplo, algunos campos son numéricos mientras otros almacenan texto, también varía el tamaño de estos. Adicionalmente, cada campo tiene un nombre.

Un registro (también llamado fila o tupla) representa un objeto único de datos implícitamente estructurados en una tabla. En términos simples, una tabla de una base de datos puede imaginarse formada de filas y columnas o campos. Cada fila de una tabla representa un conjunto de datos relacionados, y todas las filas de la misma tabla tienen la misma estructura.

Un registro es un conjunto de campos que contienen los datos que pertenecen a una misma repetición de entidad. Se le asigna automáticamente un número consecutivo (número de registro) que en ocasiones es usado como índice aunque lo normal y práctico es asignarle a cada registro un campo clave para su búsqueda.

La estructura implícita de un registro y el significado de los valores de sus campos exige que dicho registro sea entendido como una sucesión de datos, uno en cada columna de la tabla. La fila se interpreta entonces como una variable relacional compuesta por un conjunto de tuplas, cada una de las cuales consta de dos ítems: el nombre de la columna relevante y el valor que esta fila provee para dicha columna.

Cada columna espera un valor de un tipo concreto.

Un menú es una serie de opciones que el usuario puede elegir para realizar determinada tarea.

Los menús están contenidos en una barra de menús, la cuál se puede decir que es una propiedad que tienen las ventanas para poseer menús, esto es porque la barra de menús en sí misma no es una ventana como lo puede ser un botón de comando o un cuadro de texto, pero tampoco es una barra de herramientas, sino un objeto contenedor de otros menús.


Manejo de archivos

C es uno de los lenguajes de programación más amplios y extensos que existen en la actualidad; por ello, el manejo de archivos o manipulación de estos no es una tarea tan difícil que digamos.

Al hablar de manejo de archivos en programación C nos referimos no al común almacenamiento en memoria (como normalmente se realiza con variables globales en C) sino a un almacenamiento en cualquier archivo ubicado en nuestro disco rígido, que en la mayoría de los casos es nuestro disco duro.
La entrada y salida (E/S) de datos es una de las características más habitualmente utilizadas en cualquier lenguaje programación para el manejo de datos…

Para poder manejar archivos en C es oportuno utilizar un puntero predefinido por nosotros dirigido a una estructura FILE que es un tipo de dato específico definido en la librería < stdio.h >.

La sintaxis básica es:

FILE *nombre;
nombre = facciónarealizar ( " nombredelarchivo.doc " , " modo " ) ;
Nótese que para una acción específica, ha de anteponérsele a la misma una f (proveniente de file, que es archivo en español); es indispensable el uso de ésta “palabrita” antes de la acción específica.

Un ejemplo básico:

FILE *fp;
fp = fopen ( " documento.txt " , " w+ " );
Allí abriremos el fichero documento.txt.
Existen diversos modos para manipular archivos:

- r : Sólo abre un fichero para su lectura.
- w : Si el fichero no existe, lo crea. Si existe, lo borra y añade uno nuevo.
- a : El fichero debe (ó no) existir. Lo abre para añadir información al final.
- r+ : El fichero ya existe y lo abre para actualizarlo.
- w+ : Crea un nuevo fichero para actualizarlo y si existe, sobreescribe en él.
- a+ : Abre un fichero para añadir información al final. Si no existe, lo crea.
Hagamos un ejemplo simple, abramos un documento Word y escribamos en él un texto que será solicitado al usuario desde lenguaje C.

Puedes descargar el código fuente desde aquí, y también, puedes descargar el ejecutable del programita de prueba.

Lamentablemente, no podré desarrollar aquí el código por limitaciones de mi servicio de hospedaje; no me permite la inclusión de códigos en programación C.