jueves, 7 de febrero de 2013

base de datos

Base de Datos.


Una base de datos o banco de datos es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. En este sentido, una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta. Actualmente, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital (electrónico), y por ende se ha desarrollado y se ofrece un amplio rango de soluciones al problema del almacenamiento de datos.
Existen programas denominados sistemas gestores de bases de datos, abreviado SGBD, que permiten almacenar y posteriormente acceder a los datos de forma rápida y estructurada. Las propiedades de estos SGBD, así como su utilización y administración, se estudian dentro del ámbito de la informática.
Las aplicaciones más usuales son para la gestión de empresas e instituciones públicas. También son ampliamente utilizadas en entornos científicos con el objeto de almacenar la información experimental.
Aunque las bases de datos pueden contener muchos tipos de datos, algunos de ellos se encuentran protegidos por las leyes de varios países. Por ejemplo en España, los datos personales se encuentran protegidos por la Ley Orgánica de Protección de Datos de Carácter Personal (LOPD).
                     

Campos 
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 operativo. En las hojas de cálculo los campos son llamados celdas.
Un campo puede ser:
Aquel campo que posee un dato único para una repetición de entidad. Puede servir para la búsqueda de una entidad en específico.
Alfanuméricoscontiene cifras y letras.
Numéricosexisten de varios tipos principalmente como enteros y reales.
Booleanos: admite dos valores, «verdadero» y «falso».
Fechas: almacenan fechas facilitando posteriormente su explotación. Almacenar fechas de esta forma posibilita ordenar los registros por fechas o calcular los días entre una fecha y otra.
Memos: son campos alfanuméricos de longitud ilimitada. Presentan el inconveniente de no poder ser indexados.
Autoincrementables: son campos numéricos enteros que incrementan en una unidad su valor para cada registro incorporado. Su utilidad resulta más que evidente: servir de identificador ya que resultan exclusivos de un registro
Registro 
en el contexto de una base de datos relacional, 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.
Tablas.
Tabla en las bases de datos, se refiere al tipo de modelado de datos, donde se guardan los datos recogidos por un programa. Su estructura general se asemeja a la vista general de un programa de hoja de cálculo.
Las tablas se componen de dos estructuras:
Registro: es cada una de las filas en que se divide la tabla. Cada registro contiene datos de los mismos tipos que los demás registros. Ejemplo: en una tabla de nombres y direcciones, cada fila contendrá un nombre y una dirección.
Campo: es cada una de las columnas que forman la tabla. Contienen datos de tipo diferente a los de otros campos. En el ejemplo anterior, un campo contendrá un tipo de datos único, como una dirección, o un número de teléfono, un nombre, etc.
A los campos se les puede asignar, además, propiedades especiales que afectan a los registros insertados. El campo puede ser definido como índice o autoincrementable, lo cual permite que los datos de ese campo cambien solos o sean el principal indicar a la hora de ordenar los datos contenidos.
Cada tabla creada debe tener un nombre único en la cada Base de Datos, haciéndola accesible mediante su nombre o su seudónimo (Alias) (dependiendo del tipo de base de datos elegida).
La estructura de las tablas viene dado por la forma de un archivo plano, los cuales en un inicio se componían de un modo similar.
Tablas:
Son los objetos principales de bases de datos que se utilizan para guardar datos.
Elemento disponible en el lenguaje HTML para la creación de recuadros rectangulares que pueden o no estar anidados y pueden o no contener celdas(recuadros más pequeños dentro de una tabla, pero que no se consideran tablas). Las tablas se utilizan para organizar, posicionar o dar mejor formato a los textos y gráficos en una página web.
Pueden crearse gráficamente a través de un programa desarro de páginas web o manejando los tags correspondientes del lenguaje.
 
Elementos que identifican una Base de Datos.

Los principales elementos de una base de datos son los siguientes:
Tablas: Es el elemento principal de la base de datos, ya que allí se registra la información que se quiere gestionar. Está compuesta, como si se tratase de una planilla de cálculo, por filas y columnas. Cada archivo de una base de datos puede contener tantas tablas como se requiera.

Formularios: La información dentro de la base de datos puede introducirse directamente en las tablas, pero también a través de un formulario lo que resulta más cómodo y práctico . Loa formularios hacen que se más fácil arrastrar los datos.
Consultas: es el elemento que se emplea para seleccionar una determinada información del interior de la base de datos. La consulta, de esta manera, permite establecer criterios de búsqueda para que Access seleccione, dentro de las tablas, aquellos datos que se quieren conocer.

Informas: Se utilizan para que la información aparezca ordenada y bien presentada en el momento de la impresión del documento. Gracias a los informes, el usuario puede seleccionar que información, de la que se registró en las tablas de una base de datos, desea imprimir y con qué formato.

Según la variabilidad los tipos de base de datos



Bases de datos jerárquicas
En este modelo los datos se organizan en una forma similar a un árbol (visto al revés), en donde un nodo padre de información puede tener varios hijos. El nodo que no tiene padres es llamado raíz, y a los nodos que no tienen hijos se los conoce como hojas.
Las bases de datos jerárquicas son especialmente útiles en el caso de aplicaciones que manejan un gran volumen de información y datos muy compartidos permitiendo crear estructuras estables y de gran rendimiento.
Una de las principales limitaciones de este modelo es su incapacidad de representar eficientemente la redundancia de datos.
 Base de datos de red.
Éste es un modelo ligeramente distinto del jerárquico; su diferencia fundamental es la modificación del concepto de nodo: se permite que un mismo nodo tenga varios padres (posibilidad no permitida en el modelo jerárquico).
Fue una gran mejora con respecto al modelo jerárquico, ya que ofrecía una solución eficiente al problema de redundancia de datos; pero, aun así, la dificultad que significa administrar la información en una base de datos de red ha significado que sea un modelo utilizado en su mayoría por programadores más que por usuarios finales.
Bases de datos transaccionales
Son bases de datos cuyo único fin es el envío y recepción de datos a grandes velocidades, estas bases son muy poco comunes y están dirigidas por lo general al entorno de análisis de calidad, datos de producción e industrial, es importante entender que su fin único es recolectar y recuperar los datos a la mayor velocidad posible, por lo tanto la redundancia y duplicación de información no es un problema como con las demás bases de datos, por lo general para poderlas aprovechar al máximo permiten algún tipo de conectividad a bases de datos relacionales.
Un ejemplo habitual de transacción es el traspaso de una cantidad de dinero entre cuentas bancarias. Normalmente se realiza mediante dos operaciones distintas, una en la que se decrementa el saldo de la cuenta origen y otra en la que incrementamos el saldo de la cuenta destino. Para garantizar la atomicidad del sistema (es decir, para que no aparezca o desaparezca dinero), las dos operaciones deben ser atómicas, es decir, el sistema debe garantizar que, bajo cualquier circunstancia (incluso una caída del sistema), el resultado final es que, o bien se han realizado las dos operaciones, o bien no se ha realizado ninguna.
Bases de datos relacionales
Éste es el modelo utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente. Tras ser postulados sus fundamentos en 1970 por Edgar Frank Codd, de los laboratorios IBM en San José (California), no tardó en consolidarse como un nuevo paradigma en los modelos de base de datos. Su idea fundamental es el uso de "relaciones". Estas relaciones podrían considerarse en forma lógica como conjuntos de datos llamados "tuplas". Pese a que ésta es la teoría de las bases de datos relacionales creadas por Codd, la mayoría de las veces se conceptualiza de una manera más fácil de imaginar. Esto es pensando en cada relación como si fuese una tabla que está compuesta por registros (las filas de una tabla), que representarían las tuplas, y campos (las columnas de una tabla).
En este modelo, el lugar y la forma en que se almacenen los datos no tienen relevancia (a diferencia de otros modelos como el jerárquico y el de red). Esto tiene la considerable ventaja de que es más fácil de entender y de utilizar para un usuario esporádico de la base de datos. La información puede ser recuperada o almacenada mediante "consultas" que ofrecen una amplia flexibilidad y poder para administrar la información.
El lenguaje más habitual para construir las consultas a bases de datos relacionales es SQLStructured Query Language o Lenguaje Estructurado de Consultas, un estándar implementado por los principales motores o sistemas de gestión de bases de datos relacionales.
Durante su diseño, una base de datos relacional pasa por un proceso al que se le conoce como normalización de una base de datos.
Durante los años 80 la aparición de dBASE produjo una revolución en los lenguajes de programación y sistemas de administración de datos. Aunque nunca debe olvidarse que Base no utilizaba SQL como lenguaje base para su gestión.
Bases de datos multidimensionales
Son bases de datos ideadas para desarrollar aplicaciones muy concretas, como creación de Cubos OLAP. Básicamente no se diferencian demasiado de las bases de datos relacionales (una tabla en una base de datos relacional podría serlo también en una base de datos multidimensional), la diferencia está más bien a nivel conceptual; en las bases de datos multidimensionales los campos o atributos de una tabla pueden ser de dos tipos, o bien representan dimensiones de la tabla, o bien representan métricas que se desean estudiar.
Bases de datos orientadas a objetos
Este modelo, bastante reciente, y propio de los modelos informáticos orientados a objetos, trata de almacenar en la base de datos los objetos completos (estado y comportamiento).
Una base de datos orientada a objetos es una base de datos que incorpora todos los conceptos importantes del paradigma de objetos:
·         Encapsulación - Propiedad que permite ocultar la información al resto de los objetos, impidiendo así accesos incorrectos o conflictos.
·         Herencia - Propiedad a través de la cual los objetos heredan comportamiento dentro de una jerarquía de clases.
·         Polimorfismo - Propiedad de una operación mediante la cual puede ser aplicada a distintos tipos de objetos.
En bases de datos orientadas a objetos, los usuarios pueden definir operaciones sobre los datos como parte de la definición de la base de datos. Una operación (llamada función) se especifica en dos partes. La interfaz (o signatura) de una operación incluye el nombre de la operación y los tipos de datos de sus argumentos (o parámetros). La implementación (o método) de la operación se especifica separadamente y puede modificarse sin afectar la interfaz. Los programas de aplicación de los usuarios pueden operar sobre los datos invocando a dichas operaciones a través de sus nombres y argumentos, sea cual sea la forma en la que se han implementado. Esto podría denominarse independencia entre programas y operaciones.
SQL:2003, es el estándar de SQL92 ampliado, soporta los conceptos orientados a objetos y mantiene la compatibilidad con SQL92.
Bases de datos documentales
Permiten la indexación a texto completo, y en líneas generales realizar búsquedas más potentes. Tesaurus es un sistema de índices optimizado para este tipo de bases de datos.
Bases de datos deductivas
Un sistema de base de datos deductiva, es un sistema de base de datos pero con la diferencia de que permite hacer deducciones a través de inferencias. Se basa principalmente en reglas y hechos que son almacenados en la base de datos. Las bases de datos deductivas son también llamadas bases de datos lógicas, a raíz de que se basa en lógica matemática. Este tipo de base de datos surge debido a las limitaciones de la Base de Datos Relacional de responder a consultas recursivas y de deducir relaciones indirectas de los datos almacenados en la base de datos

Modelo Entidad-Relación.

1.    Se elabora el diagrama (o diagramas) entidad-relación.
2.    Se completa el modelo con listas de atributos y una descripción de otras restricciones que no se pueden reflejar en el diagrama.
El modelado de datos no acaba con el uso de esta técnica. Son necesarias otras técnicas para lograr un modelo directamente implementable en una base de datos. Brevemente:
·         Transformación de relaciones múltiples en binarias.
·         Normalización de una base de datos de relaciones (algunas relaciones pueden transformarse en atributos y viceversa).
·         Conversión en tablas (en caso de utilizar una base de datos relacional).
Entidad
Representa una “cosa” u "objeto" del mundo real con existencia independiente, es decir, se diferencia unívocamente de otro objeto o cosa, incluso siendo del mismo tipo, o una misma entidad.
Algunos Ejemplos:
·         Una persona. (Se diferencia de cualquier otra persona, incluso siendo gemelos).
·         Un automóvil. (Aunque sean de la misma marca, el mismo modelo,..., tendrán atributos diferentes, por ejemplo, el número de chasis).
·         Una casa (Aunque sea exactamente igual a otra, aún se diferenciará en su dirección).
Una entidad puede ser un objeto con existencia física como: una persona, un animal, una casa, etc. (entidad concreta); o un objeto con existencia conceptual como: un puesto de trabajo, una asignatura de clases, un nombre,etc. (entidad abstracta).
Una entidad está descrita y se representa por sus características o atributos. Por ejemplo, la entidad Persona las características: Nombre, Apellido, Género, Estatura, Peso, Fecha de nacimiento, etc.
Relación
Describe cierta dependencia entre entidades o permite la asociación de las mismas.
Ejemplo:

Si tenemos dos entidades, "CLIENTE" y "HABITACION", podemos entender la relación entre ambas
al tomar un caso concreto (ocurrencia) de cada una de ellas. Entonces, podriamos tener la
ocurrencia "Habitación 502", de la entidad "HABITACION" y la ocurrencia "Henry Jonshon Mcfly
Bogard", de la entidad "CLIENTE", entre las que es posible relacionar que la habitación 502
se encuentra ocupada por el huésped de nombre Henry.
Una relación tiene sentido al expresar las entidades que relaciona. En el ejemplo anterior, podemos decir que un huésped (entidad), se aloja (relación) en una habitación (entidad).
 
Características de una Base de Datos


Es un software de gran difusión entre pequeñas empresas (PYMES) cuyas bases de datos no requieren de excesiva potencia, ya que se integra perfectamente con el resto de aplicaciones de Microsoft y permite crear pequeñas aplicaciones con unos pocos conocimientos del Programa. Microsoft Access permite crear formularios para insertar y modificar datos fácilmente. También tiene un entorno gráfico para ver las relaciones entre las diferentes tablas de la base de datos.
Tiene un sistema de seguridad de cifrado bastante primitivo y puede ser la respuesta a proyectos de programación de pequeños y medianos tamaños.

Ventajas y Desventajas de una Base de Datos 

  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 base de datos.

· 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 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

o Instalación costosa: Equipos: Nuevas instalaciones o ampliaciones, sistemas operativos, compiladores, SGBD comerciales, computadores más poderosos, etc.
o Personal especializado: Se requiere de conocimientos específicos.
La implantación
o Costosa en equipos(lógico y físico).
o Ausencia de estándares.
o Larga y difícil puesta en marcha.
o Rentabilidad a mediano plazo.
Los usuarios
o Personal especializado.
o Desfase entre teoría y práctica.
o Desfase entre teoría y práctica: Muchos asumen a ciertas funcionalidades como un hecho cuando en realidad son estudios teóricos.