jueves, 1 de mayo de 2014

10 Entrada BASE DE DATOS

1.- Introducción a Base de Datos

Iniciaremos preguntando que es una Base de Datos?

Una base de datos (cuya abreviatura es BD) es una entidad en la cual se pueden almacenar datos de manera estructurada, con la menor redundancia posible. Con el fin de que diferentes programas y diferentes usuarios puedan  utilizar estos datos.

Por lo tanto, el concepto de base de datos generalmente está relacionado con el de red ya que se debe poder compartir esta información. De allí el término base. "Sistema de información" es el término general utilizado para la estructura global que incluye todos los mecanismos para compartir datos que se han instalado.



2.- RESEÑA HISTÓRICA

Por definición:  una base de datos es un conjunto de datos organizados, relacionados y almacenados en un mismo contexto para su posterior uso.

Las BD nacen por la necesidad que tienen las organizaciones de almacenar grandes cantidades de información debido a las demandas de sus proyectos, tal es el caso de Herman Hollerit en 1884 que tras crear la máquina perforadora pudo realizar el censo de estados unidos en esa época y así comienza la odisea.

Por el avance de la tecnología para 1950 la aparición de las cintas magnéticas permitieron la automatización de la información y más tarde en 1960 nace realmente las BD con la creación de los disco duros que permitían consultar directamente a los datos y fue un soporte más efectivo y rápido, con este avance nace además las base de datos jerárquico y de red
Al principio las BD se manejaban como ficheros de archivos en el que los datos estaban agrupados en un mismo lugar creando así redundancia de datos y muchos otros inconvenientes a la hora de hacer consultas y más.

Luego para 1970 El Científico informático inglés Egar Frank Codd (1923-2003) Propone el modelo relacional para bases de datos con esta idea se rompe el paradigma y nace la estructuras y diseño de las modernas BD conocidas como "Bases de datos Relacional" para el manejo de dichas BD se crea en 1990 el SQL (Structured Query Language) el cual es el estándar para el manejo de consultas y creación de BD.

A partir  de eso momento el desarrollo de las BD ha continuado en ascenso hasta hoy manteniendo la convicción de que esto es solo el principio de nuestra era moderna y de los sistemas de bases de datos como tal.

3.- DEFINICIÓN DE BD

Una BD es una colección de información organizada de forma que un programa de ordenador pueda seleccionar rápidamente los fragmentos de datos que necesite.

Una base de datos es un sistema de archivos electrónico.

Las BD tradicionales se organizan por campos, registros y archivos.

Campo.-        Es una pieza única de información.
Registro.-      Es un sistema completo de campos.
Archivo.-        Es una colección de registros.

Por ejemplo, una guía de teléfono es análoga a un archivo. Contiene una lista de registros, cada uno de los cuales consiste en tres campos: nombre, dirección, y número de teléfono.

4.- PARA QUE SIRVE UN BD
Una BD  proporciona a los usuarios el acceso a datos, que pueden visualizar, ingresar o actualizar, en concordancia con los derechos de acceso que se les hayan otorgado.
 Se convierte más útil a medida que la cantidad de datos almacenados crece.
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.
5.- VENTAJAS Y DESVENTAJAS DE LAS BD

La principal ventaja de utilizar bases de datos es que múltiples usuarios pueden acceder a ellas al mismo tiempo.

VENTAJAS

Los Datos
·         Independencia de estos respecto de los tratamientos y viceversa
·          Mejor disponibilidad de los mismos
·         Mayor eficiencia en la recogida, codificación y entrada
Los Resultados

·         Mayor coherencia.
·         Mayor valor informativo
·         Mejor y más normalizada documentación de la información
Los Usuarios
·         Acceso más rápido y sencillo de los usuarios finales
·         Más facilidades para compartir los datos por el conjunto de los usuarios
·         Mayor flexibilidad para atender a demandas cambiantes
·         Independencia de los datos respecto a los tratamientos y viceversa
·         Un cambio en los tratamientos no imponga un nuevo diseño lógico y/o físico de la BD.
Coherencia de los resultados:
 En todos los tratamientos se utilizan los mismos datos, por lo que los resultados de estos son coherentes y comparables.
 Mejor disponibilidad de los datos para el conjunto de los usuarios:

Éstos se comparten entre las aplicaciones, existiendo una mayor disponibilidad y transferencia.
 Mayor valor informativo:

El valor informativo del conjunto de datos es superior a la suma del valor informativo de los elementos individuales

Mejor y más normalizada documentación:

La mayoría de los SGBD (Sistema de gestión de BD) incluyen una descripción de los datos dentro del sistema.



Mayor eficiencia en la captura, validación e ingreso de datos al sistema:

Por no existir redundancia.

Reducción del espacio de almacenamiento:

Disminución de redundancias y las técnicas de compactación hacen que         disminuya el espacio en disco.

DESVENTAJAS

·         Instalación costosa: Equipos: Nuevas instalaciones o ampliaciones, sistemas operativos, compiladores, SGBD comerciales, computadores más poderosos, etc.
·         Personal especializado: Se requiere de conocimientos específicos.

·         La implantación: Costosa en equipos (lógico y físico)
·         Ausencia de estándares
·         Larga y difícil puesta en marcha
·         Rentabilidad a mediano plazo

·         Los usuarios:
·         Personal especializado.
·         Desfase entre teoría y práctica: Muchos asumen a ciertas funcionalidades como un hecho cuando en realidad son estudios teóricos.

6.- ADMINISTRACIÓN DE BD

Rápidamente surgió la necesidad de contar con un sistema de administración para controlar tanto los datos como los usuarios. La administración de bases de datos se realiza con un sistema llamado DBMS (Database management system) = (Sistema de administración de bases de datos).

El DBMS es un conjunto de servicios (aplicaciones de software) para administrar bases de datos, que permite:
·         Un fácil acceso a los datos
·         El acceso a la información por parte de múltiples usuarios
·         La manipulación de los datos encontrados en la base de datos (insertar, eliminar, editar)
El DBMS puede dividirse en tres subsistemas:
  1. El sistema de administración de archivos: 
    Para almacenar información en un medio físico

  1. El DBMS interno: 
    Para ubicar la información en orden

  1. El DBMS externo: 
    Representa la interfaz del usuario

LOS DBMS PRINCIPALES
Los principales sistemas de administración de bases de datos son:
·         Borland Paradox
·         Filemaker
·         IBM DB2
·         Ingres
·         Interbase
·         Microsoft SQL server
·         Microsoft Access
·         Microsoft FoxPro
·         Oracle
·         Sybase
·         MySQL
·         PostgreSQL
·         mSQL
·         SQL Server 11

7.- QUE ES UN SISTEMA GESTION BD
Un sistema de gestión de bases de datos (SGBD) es un conjunto de programas que permiten el almacenamiento, modificación y extracción de la información en una BD, además de proporcionar herramientas para añadir, borrar, modificar y analizar los datos. Los usuarios pueden acceder a la información usando herramientas específicas de interrogación y de generación de informes, o bien mediante aplicaciones al efecto.
 Los SGBD también proporcionan métodos para mantener la integridad de los datos, para administrar el acceso de usuarios a los datos y para recuperar la información si el sistema se corrompe.
Permite presentar la información de la BD en variados formatos. La mayoría de los SGBD incluyen un generador de informes. También puede incluir un módulo gráfico que permita presentar la información con gráficos y tablas.
Hay muchos tipos de SGBD distintos según manejen los datos y muchos tamaños distintos según funcionen sobre ordenadores personales y con poca memoria a grandes sistemas que funcionan en mainframes con sistemas de almacenamiento especiales.
Generalmente se accede a los datos mediante lenguajes de interrogación, lenguajes de alto nivel que simplifican la tarea de construir las aplicaciones.
También simplifican la interrogación y la presentación de la información. Un SGBD permite controlar el acceso a los datos, asegurar su integridad, gestionar el acceso concurrente a ellos, recuperar los datos tras un fallo del sistema y hacer copias de seguridad.
Las bases de datos y los sistemas para su gestión son esenciales para cualquier área de negocio, y deben ser gestionados con esmero.
Ejemplo de SGBD:

8.- MOTORES DE BD
Es un conjunto de Algoritmos que permite la Gestión y Optimización de Base de datos. 
Prudentemente el Motor de bases de datos utiliza instrucciones específicas para:
A)Busqueda de información
B) Añadir, Borrrar, Modificar : Tablas
C) Añadir, Borrar, Modificar : Campos

La mayoría de los motores Basan sus búsquedas por lo que se le llama I.D. (Identificadores) Ya que se facilita la Ordenación por medio del método Burbuja.

El Motor de base de datos de Microsoft SQL Server 2008 es un servicio que se utiliza para almacenar y procesar datos en formato relacional (tabular) o como documentos XML. Los vínculos de la siguiente tabla conducen a las principales secciones de la documentación del Motor de base de datos.

PRINCIPALES MOTORES DE BASES DE DATOS

1. Apache Derby 
Base de datos relacional open source implementada 
completamente en java 
2. B-Tree Filer 
Sistema de busqueda rápida de archivos, 
creada por Borland Delphi. Independiente de otras herramientas Borland, 
Gratuita open Source. 
3. Berkeley DB 
Sistema de base de datos embedido, open source. 
Provee un kit de herramientas de alta performace 
con soporte para aplicaciones de escritorio y servidores. 
Soporta C, C++,Java,Tcl,Perly Python APIs. 
Corre bajo Windows 95/98/NT/2000, VxWorks, Linux y Unix. 
Freeware para distribuciones no comerciales 
4. DiamondBase 
Motor de base de datos en C++ 
disponible para uso no comercial 
5. Firebird Database 
Motor de Base de datos relacional 
para Linux, Windows, y gran variedad de plataformas 
Open-source, freeware, basada en Interbase. 
6. FlashFiler 
Freeware, open-source 
Motor de base de datos SQL cliente/servidor . 
7. GNU SQL Server 
Motor Base de datosgratis, 
relacional portable y multiusuario creada en C. It 
soporta SQL89. 
8. H2 Database Engine 
Motor Base de datos Open source en Java 
soporta standard SQL y JDBC API. 
9. HSQLDB 
Sistema de base de datos rapido pequeño y relacional 
escrito completamente en java 
10. Hypersonic SQL 

9.- ARQUITECTURA CLIENTE SERVIDOR

La arquitectura cliente-servidor es un modelo de aplicación distribuida en el que las tareas se reparten entre los proveedores de recursos o servicios, llamados servidores, y los demandantes, llamados clientes.
Un cliente realiza peticiones a otro programa, el servidor, quien le da respuesta. Esta idea también se puede aplicar a programas que se ejecutan sobre una sola computadora, aunque es más ventajosa en un sistema operativo multiusuario distribuido a través de una red de computadoras.
En esta arquitectura la capacidad de proceso está repartida entre los clientes y los servidores, aunque son más importantes las ventajas de tipo organizativo debidas a la centralización de la gestión de la información y la separación de responsabilidades, lo que facilita y clarifica el diseño del sistema.
La separación entre cliente y servidor es una separación de tipo lógico, donde el servidor no se ejecuta necesariamente sobre una sola máquina ni es necesariamente un sólo programa. Los tipos específicos de servidores incluyen los servidores WEB, los servidores de archivo, los servidores del correo, etc.
Mientras que sus propósitos varían de unos servicios a otros, la arquitectura básica seguirá siendo la misma.
Una disposición muy común son los sistemas multicapa en los que el servidor se descompone en diferentes programas que pueden ser ejecutados por diferentes computadoras aumentando así el grado de distribución del sistema.

La red cliente-servidor es una red de comunicaciones en la cual los clientes están conectados a un servidor, en el que se centralizan los diversos recursos y aplicaciones con que se cuenta; y que los pone a disposición de los clientes cada vez que estos son solicitados.
Esto significa que todas las gestiones que se realizan se concentran en el servidor, de manera que en él se disponen los requerimientos provenientes de los clientes que tienen prioridad, los archivos que son de uso público y los que son de uso restringido, los archivos que son de sólo lectura y los que, por el contrario, pueden ser modificados, etc. Este tipo de red puede utilizarse conjuntamente en caso de que se esté utilizando en una red mixta.


No hay comentarios:

Publicar un comentario