lunes, 14 de julio de 2014

Algoritmo

Algoritmo

           es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad.2 Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución. Los algoritmos son el objeto de estudio de la algoritmia
        En la vida cotidiana, se emplean algoritmos frecuentemente para resolver problemas. Algunos ejemplos son los manuales de usuario, que muestran algoritmos para usar un aparato, o las instrucciones que recibe un trabajador por parte de su patrón. Algunos ejemplos en matemática son el algoritmo de multiplicación, para calcular el producto, el algoritmo de la división para calcular el cociente de dos números, el algoritmo de Euclides para obtener el máximo común divisor de dos enterospositivos, o el método de Gauss para resolver un sistema lineal de ecuaciones.

Medios de expresión de un algoritmo

         Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje naturalpseudocódigodiagramas de flujo y lenguajes de programación entre otros. Las descripciones en lenguaje natural tienden a ser ambiguas y extensas. El usar pseudocódigo y diagramas de flujo evita muchas ambigüedades del lenguaje natural. Dichas expresiones son formas más estructuradas para representar algoritmos; no obstante, se mantienen independientes de un lenguaje de programación específico.
La descripción de un algoritmo usualmente se hace en tres niveles:
  1. Descripción de alto nivel. Se establece el problema, se selecciona un modelo matemático y se explica el algoritmo de manera verbal, posiblemente con ilustraciones y omitiendo detalles.
  2. Descripción formal. Se usa pseudocódigo para describir la secuencia de pasos que encuentran la solución.
  3. Implementación. Se muestra el algoritmo expresado en un lenguaje de programación específico o algún objeto capaz de llevar a cabo instrucciones.
También es posible incluir un teorema que demuestre que el algoritmo es correcto, un análisis de complejidad o ambos.

Diagrama de flujo


Diagrama de flujo que expresa un algoritmo para calcular la raíz cuadrada de un número x

      Los diagramas de flujo son descripciones gráficas de algoritmos; usan símbolos conectados con flechas para indicar la secuencia de instrucciones y están regidos por ISO.
Los diagramas de flujo son usados para representar algoritmos pequeños, ya que abarcan mucho espacio y su construcción es laboriosa. Por su facilidad de lectura son usados como introducción a los algoritmos, descripción de un lenguaje y descripción de procesos a personas ajenas a la computación.
Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocódigo, diagramas de flujo y lenguajes de programación entre otros. Las descripciones en lenguaje natural tienden a ser ambiguas y extensas. El usar pseudocódigo y diagramas de flujo evita muchas ambigüedades del lenguaje natural. Dichas expresiones son formas más estructuradas para representar algoritmos; no obstante, se mantienen independientes de un lenguaje de programación específico.

Pseudocódigo

         El pseudocódigo (falso lenguaje, el prefijo pseudo significa falso) es una descripción de alto nivel de un algoritmo que emplea una mezcla de lenguaje natural con algunas convenciones sintácticas propias de lenguajes de programación, como asignaciones, ciclos y condicionales, aunque no está regido por ningún estándar. Es utilizado para describir algoritmos en libros y publicaciones científicas, y como producto intermedio durante el desarrollo de un algoritmo, como los diagramas de flujo, aunque presentan una ventaja importante sobre estos, y es que los algoritmos descritos en pseudocódigo requieren menos espacio para representar instrucciones complejas.
          El pseudocódigo está pensado para facilitar a las personas el entendimiento de un algoritmo, y por lo tanto puede omitir detalles irrelevantes que son necesarios en una implementación. Programadores diferentes suelen utilizar convenciones distintas, que pueden estar basadas en la sintaxis de lenguajes de programación concretos. Sin embargo, el pseudocódigo, en general, es comprensible sin necesidad de conocer o utilizar un entorno de programación específico, y es a la vez suficientemente estructurado para que su implementación se pueda hacer directamente a partir de él.
Así el pseudodocódigo cumple con las funciones antes mencionadas para representar algo abstracto los protocolos son los lenguajes para la programación. Busque fuentes más precisas para tener mayor comprensión del tema.

Sistemas formales

La teoría de autómatas y la teoría de funciones recursivas proveen modelos matemáticos que formalizan el concepto de algoritmo. Los modelos más comunes son la máquina de Turingmáquina de registro y funciones μ-recursivas. Estos modelos son tan precisos como un lenguaje máquina, careciendo de expresiones coloquiales o ambigüedad, sin embargo se mantienen independientes de cualquier computadora y de cualquier implementación.

Implementación

Muchos algoritmos son ideados para implementarse en un programa. Sin embargo, los algoritmos pueden ser implementados en otros medios, como una red neuronal, un circuito eléctrico o un aparato mecánico y eléctrico. Algunos algoritmos inclusive se diseñan especialmente para implementarse usando lápiz y papel. El algoritmo de multiplicación tradicional, el algoritmo de Euclides, la criba de Eratóstenes y muchas formas de resolver la raíz cuadrada son sólo algunos ejemplos.

Algoritmos como funciones



Esquemática de un algoritmo solucionando un problema de ciclo hamiltoniano.
Un algoritmo se puede concebir como una función que transforma los datos de un problema(entrada) en los datos de una solución (salida). Más aun, los datos se pueden representar a su vez como secuencias de bits, y en general, de símbolos cualesquiera.1 9 11 Como cada secuencia de bits representa a un número natural (véase Sistema binario), entonces los algoritmos son en esencia funciones de los números naturales en los números naturales que sí se pueden calcular. Es decir que todo algoritmo calcula una función f:\mathbf N\to \mathbf N donde cada número natural es la codificación de un problema o de una solución.
En ocasiones los algoritmos son susceptibles de nunca terminar, por ejemplo, cuando entran a un bucle infinito. Cuando esto ocurre, el algoritmo nunca devuelve ningún valor de salida, y podemos decir que la función queda indefinida para ese valor de entrada. Por esta razón se considera que los algoritmos son funciones parciales, es decir, no necesariamente definidas en todo su dominio de definición.
Cuando una función puede ser calculada por medios algorítmicos, sin importar la cantidad de memoria que ocupe o el tiempo que se tarde, se dice que dicha función es computable. No todas las funciones entre secuencias datos son computables. El problema de la parada es un ejemplo.

Análisis de algoritmos

        Como medida de la eficiencia de un algoritmo, se suelen estudiar los recursos (memoria y tiempo) que consume el algoritmo. El análisis de algoritmos se ha desarrollado para obtener valores que de alguna forma indiquen (o especifiquen) la evolución del gasto de tiempo y memoria en función del tamaño de los valores de entrada.
El análisis y estudio de los algoritmos es una disciplina de las ciencias de la computación y, en la mayoría de los casos, su estudio es completamente abstracto sin usar ningún tipo de lenguaje de programación ni cualquier otra implementación; por eso, en ese sentido, comparte las características de las disciplinas matemáticas. Así, el análisis de los algoritmos se centra en los principios básicos del algoritmo, no en los de la implementación particular. Una forma de plasmar (o algunas veces "codificar") un algoritmo es escribirlo en pseudocódigo o utilizar un lenguaje muy simple tal como Lexico, cuyos códigos pueden estar en el idioma del programador.
         Algunos escritores restringen la definición de algoritmo a procedimientos que deben acabar en algún momento, mientras que otros consideran procedimientos que podrían ejecutarse eternamente sin pararse, suponiendo el caso en el que existiera algún dispositivo físico que fuera capaz de funcionar eternamente. En este último caso, la finalización con éxito del algoritmo no se podría definir como la terminación de este con una salida satisfactoria, sino que el éxito estaría definido en función de las secuencias de salidas dadas durante un periodo de vida de la ejecución del algoritmo. Por ejemplo, un algoritmo que verifica que hay más ceros que unos en una secuencia binaria infinita debe ejecutarse siempre para que pueda devolver un valor útil. Si se implementa correctamente, el valor devuelto por el algoritmo será válido, hasta que evalúe el siguiente dígito binario. De esta forma, mientras evalúa la siguiente secuencia podrán leerse dos tipos de señales: una señal positiva (en el caso de que el número de ceros sea mayor que el de unos) y una negativa en caso contrario. Finalmente, la salida de este algoritmo se define como la devolución de valores exclusivamente positivos si hay más ceros que unos en la secuencia y, en cualquier otro caso, devolverá una mezcla de señales positivas y negativas.

ejemplos: 








Diagrama de Flujo de Datos


diagrama de flujo de dato
Un diagrama de flujo de datos (DFD sus siglas en español e inglés) es una representación gráfica del flujo de datos a través de un sistema de información. Un diagrama de flujo de datos también se puede utilizar para la visualización de procesamiento de datos (diseño estructurado). Es una práctica común para un diseñador dibujar un contexto a nivel de DFD que primero muestra la interacción entre el sistema y las entidades externas. Este contexto a nivel de DFD se "explotó"
       Los diagramas de flujo de datos fueron inventados por Larry Constantine, el desarrollador original del diseño estructurado, basado en el modelo de computación de Martin y Estrin: "flujo gráfico de datos" . Los diagramas de flujo de datos (DFD) son una de las tres perspectivas esenciales de Análisis de Sistemas Estructurados y Diseño por Método SSADM. El patrocinador de un proyecto y los usuarios finales tendrán que ser informados y consultados en todas las etapas de una evolución del sistema. Con un diagrama de flujo de datos, los usuarios van a poder visualizar la forma en que el sistema funcione, lo que el sistema va a lograr, y cómo el sistema se pondrá en práctica. El antiguo sistema de diagramas de flujo de datos puede ser elaborado y se comparó con el nuevo sistema de diagramas de flujo para establecer diferencias y mejoras a aplicar para desarrollar un sistema más eficiente. Los diagramas de flujo de datos pueden ser usados para proporcionar al usuario final una idea física de cómo resultarán los datos a última instancia, y cómo tienen un efecto sobre la estructura de todo el sistema. La manera en que cualquier sistema es desarrollado, puede determinarse a través de un diagrama de flujo de datos. modelo de datos.
niveles, los cuales son:


  • Nivel 0: Diagrama de contexto.
  • Nivel 1: Diagrama de nivel superior.
  • Nivel 2: Diagrama de detalle o expansión.

Características de los niveles

Diagrama de Contexto: Nivel 0

En el diagrama de contexto se caracterizan todas las interacciones que realiza un sistema con su entorno (entidades externas), estas pueden ser otros sistemas, sectores internos a la organización, o factores externos a la misma. Se dibuja un sólo proceso que representa al sistema en cuestión y se escribe su nombre en dicha burbuja como un sustantivo común más adjetivos. De él solamente parten los flujos de datos que denotan las interrelaciones entre el sistema y sus agentes externos, no admitiéndose otros procesos ni almacenamientos en el dibujo.
Resulta de gran utilidad para los niveles posteriores de análisis como herramienta de balanceo. Y es conocido como el Diagrama de Flujo de Datos DFD de Nivel "0".


Diagrama de Nivel Superior: Nivel 1

En el diagrama de nivel superior se plasman todos los procesos que describen al proceso principal. En este nivel los procesos no suelen interrelacionarse directamente, sino que entre ellos debe existir algún almacenamiento o entidad externa que los una. Esta regla de construcción sirve como ayuda al analista para contemplar que en un nivel tan elevado de abstracción (DFD Nivel 1) es altamente probable que la información que se maneja requiera ser almacenada en el sistema aunque no esté especificado por un Requisito funcional, siendo en realidad un requisito no-funcional.







Diagrama de Detalle o Expansión: Nivel 2

En un diagrama de nivel 2 o mayor, comienzan a explotarse las excepciones a los caminos principales de la información dado que aumenta progresivamente el nivel de detalle. De aquí en adelante se permiten los flujos entre procesos.
El DFD (Diagrama De Flujo De Datos) nivel 2 puede considerarse el máximo para ser validado en forma conjunta con el usuario dado que en los niveles posteriores el alto grado de complejidad del diagrama puede resultar de muy difícil lectura para personas ajenas al equipo de sistemas. También se recomienda el diagrama de nivel superior.




Componentes de un Diagrama de Flujo de Datos (DFD) según la notación de Yourdon y DeMarco.


REGLAS PARA LA CREACIÓN DE DIAGRAMAS


  1. Los diagramas de flujo deben escribirse de arriba hacia abajo y/o de Izquierda a derecha.
  2. Los símbolos se unen con líneas, las cuales tienen en la punta una flecha que indica su dirección que fluye la información procesos, se deben utilizar solamente líneas de flujo horizontal o vertical (nunca diagonales).
  3. Se debe evitar el cruce de líneas, para lo cual se quisiera separar el flujo del diagrama a un sitio distinto, se pudiera realizar utilizando los conectores, se debe tener en cuenta que solo se van a utilizar conectores cuando sean estrictamente necesario.
  4. No deben quedar líneas de flujo sin conectar.
  5. Todo texto escrito dentro de un símbolo debe ser legible, preciso, evitando el uso de muchas palabras.
  6. Todos los símbolos pueden tener mas de una línea de entrada, a excepto del símbolo final.
  7. Solo los símbolos de decisión pueden y deben tener mas de una línea de flujo de salida.
Ejemplo de Diagrama de Flujo:
Diagrama de flujo que encuentra la suma de los primeros 50 números naturales.





  • El quinto bloque es un símbolo de suma de decisiones y ramificaciones lo q hay dentro del bloque es una pregunta que se le hace a las valores que actualmente incluyen en el proceso.

¿Es N=50?, obviamente la respuesta es No, ya que N todavía es 1.Por lo que el flujo de nuestro programa se dirigirá hacia la parte en donde se observa la palabra No. Tercer bloque, este le sumara1 (N=N+1) y vuelve a llegar a este bloque, donde preguntará ¿es N=50? No todavía es 2 ha pues regresa al tercer bloque y vuelve hacer lo mismo así la suma los primeros 50 números naturales.
  • Por ultimo indicaciones que le resultado será mostrado en la impresora.



EXPLICACIÓN DEL DIAGRAMA DE FLUJO

  • El primer bloque indica el inicio del diagrama de flujo.
  • El segundo bloque, es un símbolo de procesos.
En este bloque se asume que las variables suman y N ha sido declarada previamente y las inicializa en o para comenzar al conteo y la suma de valores.
  • Tercer bloque, es también un símbolo de procesos.
En este paso se incrementa en 1 la variable N(N=N+1), por lo que en la primera pasada esta valdrá 1, ya que estaba inicializada en 0.
  • Cuarto bloque, es exactamente lo mismo que el anterior.
Pero en este, ya se agrega el valor de N a la variable que contendrá la suma (en el primer caso contendrá 1, ya que N=1).

VENTAJAS DEL ENFOQUE DE FLUJOS DE DATOS

El enfoque de flujo de datos tiene cuatro ventajas principales sobre la explicación narrativa de la forma en que se mueven los datos a trabes del sistema .Las ventajas son.
  1. Libertad para realizar en forma muy temprana la implementación de técnicas de sistema.
  2. Una mayor comprensión de las interrelaciones de los sistemas y subsistemas.
  3. Comunicación del conocimiento del sistema actual a los usuarios por medio de diagramas de flujo de datos.
  4. Análisis de un sistema propuesto para determinar si han sido definidas los datos y procesos necesarios.



SÍMBOLOS USADOS EN EL DIAGRAMA DE FLUJO DE DATOS



SIGNIFICADO DE LOS SÍMBOLOS DE FLUJO
El cuadrado doble es representado y usado para una actividad externa (otro departamento, un negocio, una persona, o una maquina) que puedan enviar datos y recibirlas del sistema. La entidad externa es llamada una fuente de destino de datos y es considerada externa al estudio, cada entidad externa es etiquetada con un nombre adecuado. La flecha muestra el movimiento de datos de un punto a otro , esta señalada hacia suceden simultáneamente pueden ser representadas simplemente mediante el uso de flechas paralelas, debido a que una flecha representada datos acerca de una persona lugar o casa, también :Debe ser descrita con un nombre.
Un rectángulo con esquinas redondeadas es usado para mostrar la aparición de un proceso de transformación. Los procesos siempre denotan un cambio o transformación de los datos.


USO DE DIAGRAMAS DE FLUJO DE DATOS

           Los diagramas de flujo de datos son útiles a lo largo del proceso de análisis y diseños, .Existen compromisos para decidir que tanto deben ser explotados de los flujos de datos. Se desperdiciara tiempo y se sacrificara complusibilidad si los diagramas de flujo de datos son exclusivamente complejos. Por otro lado, si los diagramas de flujo de datos están muy poco explotados, pueden ocurrir errores u omisiones que pueden eventualmente afectar el sistema que esta en desarrollo. Por ultimo, recuerde que los diagramas del sistema de flujo pueden ser usados para documentar niveles altos o bajos del análisis y para ayudar a sustentar la lógica subyacente en los flujos de datos de la organización.


CARACTERÍSTICAS DE LOS DIAGRAMAS DE FLUJO DE DATOS
  • Muestran que debe hacer el sistema sin referencias.
  • Son diagramas explícitos y comprensibles.
  • Dan la posibilidad de representan el sistema a diferentes niveles de complejidad, desde lo mas global a lo mas detallado solo requieren de 4 símbolos.
  • Son fácil de mantenimiento, pues los cambios afectan solo algunos de sus elementos y no al todo.
¿CUÁLES SO LAS VENTAJAS DE LOS DIAGRAMAS DE FLUJO DE DATOS?
  • Fácil lectura, con esto se constituye en un instrumento de mucha versatilidad.
  • Facilitan la interacción Usuario-Analista.
¿CUÁLES SON LAS LIMITACIONES DE LOS DIAGRAMAS DE FLUJO DE DATOS?
  • No permite recoger el comportamiento de sistema que deben responder a eventos en tiempos acotados. Para ello se usa el diagrama de transición de Estados.
  • No permite dar cuenta de la de las relaciones entre los datos que se precisan almacenar .Para ello se usan el diagrama Entidad-Relación.
  • No permite reflejar situaciones en las cuales es preciso dejar de manifiesto la necesaria concurrencia de dos o más flujo de datos para un subproceso pueda iniciar efectivamente su tarea. Para ello se utiliza la especificación de procesos.
  • No permite recoger el contenido de los flujos de datos ni el contenido de los archivos .Para ello se utiliza el diccionario de datos.



CONCLUSIÓN


Muchas personas consideran a un algoritmo y a un diagrama de flujo de datos como herramienta de gran importancia para la programación de computadora y están en lo cierto para la resolución de problemas mediante algoritmos y diagramas de flujo se ha convertido hoy en día en un instrumento efectivo para el desarrollo de habilidades y destrezas lógicas de y creativas del pensamiento humano.
Hoy diferentes formas de resolver un problema, esto es debido a la forma de razonar del ser humano, al igual que cada algoritmo, o diagrama de flujo de datos elaborado.
El término lógica define la exposición de leyes, modos y formas aplicadas al razonamiento. El ser humano aplica la lógica para la resolución de problemas de diferentes tipos.
Algunos instructores del área de computación no hace mucho hincapié sobre el desarrollo de algoritmo y diagramas de flujo de datos.



sábado, 5 de julio de 2014

base de datos

Introducción

El término base de datos fue acuñado por primera vez en 1963, en un simposio celebrado en California.

De forma sencilla se puede indicar que una base de datos no es más que un conjunto de información relacionada que se encuentra agrupada o estructurada. El archivo por sí mismo, no constituye una base de datos, sino más bien la forma en que está organizada la información es la que da origen a la base de datos. Las bases de datos manuales, pueden ser difíciles de gestionar y modificar. Por ejemplo, en una guía de teléfonos no es posible encontrar el número de un individuo si no sabemos su apellido, aunque conozcamos su domicilio. Del mismo modo, en un archivo de pacientes en el que la información esté desordenada por el nombre de los mismos, será una tarea bastante engorrosa encontrar todos los pacientes que viven en una zona determinada. Los problemas expuestos anteriormente se pueden resolver creando una base de datos informatizada.

Desde el punto de vista informático, una base de datos es un sistema formado por un conjunto de datos almacenados en discos que permiten el acceso directo a ellos y un conjunto de programas que manipulan ese conjunto de datos.

Desde el punto de vista más formal, se podría definir una base de datos como un conjunto de datos estructurados, fiables y homogéneos, organizados independientemente en máquina, accesibles a tiempo real, compartibles por usuarios concurrentes que tienen necesidades de información diferente y no predecibles en el

Las base de datos son una herramienta indispensable en la actual sociedad de la información, su utilidad no sólo se debe a que es un conjunto de datos almacenados de alguna forma determinada, en una base de dato también existen una cantidad de elementos que ayudan a organizar sistemáticamente, relacionar, proteger, y administrar de manera eficiente los datos.





Desarrollo.

Una base de datos es un “almacén” que permite guardar grandes cantidades de información de forma organizada para luego poder encontrar y utilizar fácilmente. También se puede definir como un conjunto de información relacionada que se encuentra agrupada ó estructurada. El término de bases de datos fue escuchado por primera vez en 1963, en un simposio celebrado en California, USA.
Desde el punto de vista informático, la base de datos es un sistema formado por un conjunto de datos almacenados en discos que permiten el acceso directo a ellos y un conjunto de programas que manipulen ese conjunto de datos.
Cada base de datos se compone de una o más tablas que guarda un conjunto de datos. Cada tabla tiene una o más columnas y filas. Las columnas guardan una parte de la información sobre cada elemento que queramos guardar en la tabla, cada fila de la tabla conforma un registro.
Una base de datos puede ser local, es decir que puede utilizarla sólo un usuario en un equipo, o puede ser distribuida, es decir que la información se almacena en equipos remotos y se puede acceder a ella a través de una red.

 

Orígenes de la Base de Datos.

Desde tiempos remotos los datos han sido registrados por el hombre en algún tipo de soporte (piedra, madera, papel, cintas magnéticas, discos, etc.) debido a su importancia los datos tomaban la categoría de información útil, la cual debía ser administrada de manera responsable y eficaz. El origen de las BD se da frente a la necesidad de almacenar grandes cantidades de información para su posterior consulta.

Breve desarrollo histórico

·                     1950: Uso de las cintas magnéticas, las cuales son un tipo de medio o soporte de almacenamiento de información que se graba en pistas sobre una banda plástica con un material magnetizado, generalmente óxido de hierro o algún cromato.
·                     1960: Uso de los discos, este soporte podía consultar la información directamente, sin la necesidad de saber dónde estaban los datos en el disco.  Nace el modelo de base de datos Jerárquica, el cual enlaza los registros en forma de estructura de árbol. También se desarrolla el modelo de base de datos de Red, en el cual la principal diferencia era que un nodo tenga varios padres.
·                     1970: Edgar Frank Codd, da los conceptos de las Base de Datos Relacionales, que se basan en relaciones las cuales se podían considerar en forma lógica como Tuplas, propuestos en "Las doce reglas de Codd", diseñado para definir qué requiere un sistema de administración de base de datos, a partir de estos aportes se desarrollo la base de datos Oracle. El lenguaje más habitual para las consultas a base de datos relacionales es el SQL.
·                     1980: Las base de datos relacionales logran posicionarse en el mercado de base de datos con sus sistema tablas, filas, columnas, además se dan diversas investigaciones paralelas como las base de datos orientada a Objetos.
·                     Siglo XXI: actualmente las bases de datos tienen una amplia capacidad de almacenamiento y están orientadas a que cumplan con el protocolo OAI-PMH, los cuales permiten el almacenamiento de gran cantidad de datos que tengan mayor visibilidad y fácil acceso.

Sistema de Gestión de Base de Datos.

Es una agrupación de programas que sirven para definir, construir y manipular una base de datos. Definir una base de datos consiste en especificar los tipos de datos estructuras y restricciones para los datos que se almacenaran;  construir una base de datos es el proceso de almacenar los datos sobre algún medio de almacenamiento; manipular una base de datos incluye funciones como consulta, actualización, etc. de base de datos.

 

Características.

Una base de datos contiene entidades de información que están relacionadas vía organización y asociación. La arquitectura lógica de una base de datos se define mediante un esquema que representa las definiciones de las relaciones entre las entidades de información. La arquitectura física de una base de datos depende de la configuración del hardware residente. Sin embargo, tanto el esquema (descripción lógica como la organización (descripción física) deben adecuarse para satisfacer los requerimientos funcionales y de comportamiento para el acceso al análisis y creación de informes.

Componentes de una Base de Datos.

1.             Hardware: constituido por dispositivo de almacenamiento como discos, tambores, cintas, etc.
2.             Software: que es el DBMS o Sistema Administrador de Base de Datos.
3.             Datos: los cuales están almacenados de acuerdo a la estructura externa y van a ser procesados para convertirse en información.

Tipos de Bases de Datos.

Entre los diferentes tipos de base de datos, podemos encontrar los siguientes:
1.             MySql: es una base de datos con licencia GPL basada en un servidor. Se caracteriza por su rapidez. No es recomendable usar para grandes volúmenes de datos.
2.             PostgreSql y Oracle: Son sistemas de base de datos poderosos. Administra muy bien grandes cantidades de datos, y suelen ser utilizadas en intranets y sistemas de gran calibre.
3.             Access: Es una base de datos desarrollada por Microsoft. Esta base de datos, debe ser creada bajo el programa access, el cual crea un archivo .mdb con la estructura ya explicada.
4.             Microsoft SQL Server: es una base de datos más potente que access desarrollada por Microsoft. Se utiliza para manejar grandes volúmenes de informaciones.

Tipos de Usuarios de una Base de Datos.

1.   Usuario Final: es la persona que utiliza los datos, esta persona ve datos convertidos en información:
2. Desarrollador de Aplicaciones: es la persona que desarrolla los sistemas que interactúan con la Base de Datos.
3. DBA: es la persona que asegura integridad, consistencia, redundancia, seguridad este es el Administrador de Base de Datos quien se encarga de realizar el mantenimiento diario o periódico de los datos.
Las personas tienen acceso DBMS se clasifican de la siguiente manera:

1.      Usuarios ingenuos: Son aquellos que interactúan con el sistema por medio de aplicaciones permanentes.
2.      Usuarios sofisticados: son aquellos con la capacidad de acceder a la información por medios de lenguajes de consulta.
3.   Programadores de aplicación: son aquellos con un amplio dominio del DML capaces de generar nuevos módulos o utilerías capaces de manejar nuevos datos en el sistema.
4.     Usuarios especializados: son aquellos que desarrollan módulos que no se refieren precisamente al manejo de los datos, si no a aplicaciones avanzadas como sistemas expertos, reconocimientos de imágenes, procesamiento de audio y demás

Conceptos Básicos de una Base de Datos.

ü     Archivo: son conjuntos de registros.
ü     Registros: son conjuntos de campos.
ü     Campos: es la mínima unidad de referencia.
                                      

Archivo: Clientes.
Cliente 1
10
100
Cliente 2
15
150
Cliente 3
14
140

Registro
 


Campo
 

Ventajas de las Bases de Datos.

ü     Control sobre la redundancia de datos: Los sistemas de ficheros almacenan varias copias de los mismos datos en ficheros distintos. Esto hace que se desperdicie espacio de almacenamiento, además de provocar la falta de consistencia de datos. En los sistemas de bases de datos todos estos ficheros están integrados, por lo que no se almacenan varias copias de los mismos datos.
ü     Consistencia de datos: Eliminando o controlando las redundancias de datos se reduce en gran medida el riesgo de que haya inconsistencias. Si un dato está almacenado una sola vez, cualquier actualización se debe realizar sólo una vez, y está disponible para todos los usuarios inmediatamente. Si un dato está duplicado y el sistema conoce esta redundancia, el propio sistema puede encargarse de garantizar que todas las copias se mantienen consistentes.
ü     Compartición de datos: En los sistemas de ficheros, los ficheros pertenecen a las personas o a los departamentos que los utilizan. Pero en los sistemas de bases de datos, la base de datos pertenece a la empresa y puede ser compartida por todos los usuarios que estén autorizados.
ü     Mantenimiento de estándares: Gracias a la integración es más fácil respetar los estándares necesarios, tanto los establecidos a nivel de la empresa como los nacionales e internacionales. Estos estándares pueden establecerse sobre el formato de los datos para facilitar su intercambio, pueden ser estándares de documentación, procedimientos de actualización y también reglas de acceso.
ü     Mejora en la integridad de datos: La integridad de la base de datos se refiere a la validez y la consistencia de los datos almacenados. Normalmente, la integridad se expresa mediante restricciones o reglas que no se pueden violar. Estas restricciones se pueden aplicar tanto a los datos, como a sus relaciones, y es el SGBD quien se debe encargar de mantenerlas.
ü     Mejora la seguridad: La seguridad de la base de datos es la protección de la base de datos frente a usuarios no autorizados. Sin unas buenas medidas de seguridad, la integración de datos en los sistemas de bases de datos hace que éstos sean más vulnerables que en los sistemas de ficheros.
ü     Mejora en la accesibilidad a los datos: Muchos SGBD proporcionan lenguajes de consultas o generadores de informes que permiten al usuario hacer cualquier tipo de consulta sobre los datos, sin que sea necesario que un programador escriba una aplicación que realice tal tarea.
ü     Mejora en la productividad: El SGBD proporciona muchas de las funciones estándar que el programador necesita escribir en un sistema de ficheros. A nivel básico, el SGBD proporciona todas las rutinas de manejo de ficheros típicas de los programas de aplicación. El hecho de disponer de estas funciones permite al programador centrarse mejor en la función específica requerida por los usuarios, sin tener que preocuparse de los detalles de implementación de bajo nivel.
ü     Mejora en el mantenimiento: En los sistemas de ficheros, las descripciones de los datos se encuentran inmersas en los programas de aplicación que los manejan. Esto hace que los programas sean dependientes de los datos, de modo que un cambio en su estructura, o un cambio en el modo en que se almacena en disco, requiere cambios importantes en los programas cuyos datos se ven afectados. Sin embargo, los SGBD separan las descripciones de los datos de las aplicaciones. Esto es lo que se conoce como independencia de datos, gracias a la cual se simplifica el mantenimiento de las aplicaciones que acceden a la base de datos.
ü     Aumento de la concurrencia: En algunos sistemas de ficheros, si hay varios usuarios que pueden acceder simultáneamente a un mismo fichero, es posible que el acceso interfiera entre ellos de modo que se pierda información o se pierda la integridad. La mayoría de los SGBD gestionan el acceso concurrente a la base de datos y garantizan que no ocurran problemas de este tipo.
ü     Mejora en los servicios de Copia de Seguridad: Muchos sistemas de ficheros dejan que sea el usuario quien proporcione las medidas necesarias para proteger los datos ante fallos en el sistema o en las aplicaciones. Los usuarios tienen que hacer copias de seguridad cada día, y si se produce algún fallo, utilizar estas copias para restaurarlos. En este caso, todo el trabajo realizado sobre los datos desde que se hizo la última copia de seguridad se pierde y se tiene que volver a realizar. Sin embargo, los SGBD actuales funcionan de modo que se minimiza la cantidad de trabajo perdido cuando se produce un fallo.

Desventajas de las Bases de Datos.

χ                     Complejidad: Los SGBD son conjuntos de programas que pueden llegar a ser complejos con una gran funcionalidad. Es preciso comprender muy bien esta funcionalidad para poder realizar un buen uso de ellos.
χ                     Coste del equipamiento adicional: Tanto el SGBD, como la propia base de datos, pueden hacer que sea necesario adquirir más espacio de almacenamiento. Además, para alcanzar las prestaciones deseadas, es posible que sea necesario adquirir una máquina más grande o una máquina que se dedique solamente al SGBD. Todo esto hará que la implantación de un sistema de bases de datos sea más cara.
χ                     Vulnerable a los fallos: El hecho de que todo esté centralizado en el SGBD hace que el sistema sea más vulnerable ante los fallos que puedan producirse. Es por ello que deben tenerse copias de seguridad (Backup).




Conclusiones

Para la realización de una base de datos la creación de consultas de base de datos consta de archivos que permiten realizar muchas tareas diferentes con los datos que se pueden ver. También se pueden utilizar para controlar los registros que visualiza Base de datos la consulta no contiene información de base de datos, si no tan solo las instrucciones necesarias para seleccionar los registros y campos requeridos de una base de datos.
Es muy importante el observar el proceso que se sigue en la organización para determinar los requerimientos que se necesitan para la elaboración de un sistema y para ello se recurren a varias técnicas de recopilación de información para que el proyecto satisfaga las necesidades de los usuarios finales que es el que está en pleno contacto con él.
Algunos de los aspectos aprendidos y de gran peso en la base de datos su definición, requerimiento, ventajas y características donde podemos decir que la base de datos: Es una colección de datos o información usados para dar servicios a muchas aplicaciones al mismo tiempo. En cuanto al requerimiento se puede decir que cumple las mismas tareas de análisis que del software y tiene como característica relacionar la información como vía organización y asociación donde la base de datos tiene una ventaja que es utilizar la plataforma para el desarrollo del sistema de aplicación en las organizaciones.
La implementación de bases de datos distribuidas resulta importante ya que se puede distribuir y replicar en diferentes sitios cuando ciertos sitios locales tienen capacidades de almacenamiento y procesamiento limitadas, pero tienen la ventaja de poder integrarse a otros sitios remotos con mejores recursos por medio de una red de comunicación. En la actualidad el enfoque de base de datos es extensamente utilizado por las ventajas que presenta respecto a los archivos tradicionales.