SABERMASJUSTODARACT
SABERMASJUSTODARACT Por una Facultad de provecho a la comunidad

Bases de datos

Especializarse no es tan sencillo como lo pintan, Para estos temas, asegurese un matafuegos para pestañas. y puede usarse un enfriador cerebral. (si tiene nieve a mano usar método extremo)






Origen de la informacion: http://es.wikipedia.org/wiki/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).

Índice

Tipos de base de datos

Las bases de datos pueden clasificarse de varias maneras, de acuerdo al contexto que se esté manejando, la utilidad de las mismas o las necesidades que satisfagan.

Según la variabilidad de los datos almacenados

Bases de datos estáticas

Son bases de datos de sólo lectura, utilizadas primordialmente para almacenar datos históricos que posteriormente se pueden utilizar para estudiar el comportamiento de un conjunto de datos a través del tiempo, realizar proyecciones, tomar decisiones y realizar análisis de datos para inteligencia empresarial.

Bases de datos dinámicas

Éstas son bases de datos donde la información almacenada se modifica con el tiempo, permitiendo operaciones como actualización, borrado y adición de datos, además de las operaciones fundamentales de consulta. Un ejemplo de esto puede ser la base de datos utilizada en un sistema de información de un supermercado, una farmacia, un videoclub o una empresa.

Según el contenido

Bases de datos bibliográficas

Sólo contienen un subrogante (representante) de la fuente primaria, que permite localizarla. Un registro típico de una base de datos bibliográfica contiene información sobre el autor, fecha de publicación, editorial, título, edición, de una determinada publicación, etc. Puede contener un resumen o extracto de la publicación original, pero nunca el texto completo, porque si no, estaríamos en presencia de una base de datos a texto completo (o de fuentes primarias —ver más abajo). Como su nombre lo indica, el contenido son cifras o números. Por ejemplo, una colección de resultados de análisis de laboratorio, entre otras.

Bases de datos de texto completo

Almacenan las fuentes primarias, como por ejemplo, todo el contenido de todas las ediciones de una colección de revistas científicas.

Directorios

Un ejemplo son las guías telefónicas en formato electrónico.

Bases de datos o "bibliotecas" de información química o biológica

Son bases de datos que almacenan diferentes tipos de información proveniente de la química, las ciencias de la vida o médicas. Se pueden considerar en varios subtipos:

  • Las que almacenan secuencias de nucleótidos o proteínas.
  • Las bases de datos de rutas metabólicas.
  • Bases de datos de estructura, comprende los registros de datos experimentales sobre estructuras 3D de biomoléculas-
  • Bases de datos clínicas.
  • Bases de datos bibliográficas (biológicas, químicas, médicas y de otros campos): PubChem, Medline, EBSCOhost.

Modelos de bases de datos

Además de la clasificación por la función de las bases de datos, éstas también se pueden clasificar de acuerdo a su modelo de administración de datos.

Un modelo de datos es básicamente una "descripción" de algo conocido como contenedor de datos (algo en donde se guarda la información), así como de los métodos para almacenar y recuperar información de esos contenedores. Los modelos de datos no son cosas físicas: son abstracciones que permiten la implementación de un sistema eficiente de base de datos; por lo general se refieren a algoritmos, y conceptos matemáticos.

Algunos modelos con frecuencia utilizados en las bases de datos:

Bases de datos jerárquicas

En este modelo los datos se organizan en forma de árbol invertido (algunos dicen raíz), 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, aún 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 SQL, Structured 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 dBase 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.

Lenguaje

Utiliza un subconjunto del lenguaje Prolog llamado Datalog el cual es declarativo y permite al ordenador hacer deducciones para contestar a consultas basándose en los hechos y reglas almacenados.

Ventajas

  • Uso de reglas lógicas para expresar las consultas.
  • Permite responder consultas recursivas.
  • Cuenta con negaciones estratificadas
  • Capacidad de obtener nueva información a través de la ya almacenada en la base de datos mediante inferencia.
  • Uso de algoritmos de optimización de consultas.
  • Soporta objetos y conjuntos complejos.

Desventajas

  • Crear procedimientos eficaces de deducción para evitar caer en bucles infinitos.
  • Encontrar criterios que decidan la utilización de una ley como regla de deducción.
  • Replantear las convenciones habituales de la base de datos.

Fases

  • Fase de Interrogación: se encarga de buscar en la base de datos informaciones deducibles implícitas. Las reglas de esta fase se denominan reglas de derivación.
  • Fase de Modificación: se encarga de añadir a la base de datos nuevas informaciones deducibles. Las reglas de esta fase se denominan reglas de generación.

Interpretación

Encontramos dos teorías de interpretación de las bases de datos deductiva consideramos las reglas y los hechos como axiomas. Los hechos son axiomas base que se consideran como verdaderos y no contienen variables. Las reglas son axiomas deductivos ya que se utilizan para deducir nuevos hechos.

  • Teoría de Modelos: una interpretación es llamada modelo cuando para un conjunto específico de reglas, éstas se cumplen siempre para esa interpretación. Consiste en asignar a un predicado todas las combinaciones de valores y argumentos de un dominio de valores constantes dado. A continuación se debe verificar si ese predicado es verdadero o falso.

Mecanismos

Existen dos mecanismos de inferencia:

  • Ascendente: donde se parte de los hechos y se obtiene nuevos aplicando reglas de inferencia.
  • Descendente: donde se parte del predicado (objetivo de la consulta realizada) e intenta encontrar similitudes entre las variables que nos lleven a hechos correctos almacenados en la base de datos.

Sistema de Gestión de bases de datos distribuida (SGBD)

La base de datos y el software SGBD pueden estar distribuidos en múltiples sitios conectados por una red. Hay de dos tipos:

1. Distribuidos homogéneos: utilizan el mismo SGBD en múltiples sitios.

2. Distribuidos heterogéneos: Da lugar a los SGBD federados o sistemas multibase de datos en los que los SGBD participantes tienen cierto grado de autonomía local y tienen acceso a varias bases de datos autónomas preexistentes almacenados en los SGBD, muchos de estos emplean una arquitectura cliente-servidor.

Estas surgen debido a la existencia física de organismos descentralizados. Esto les da la capacidad de unir las bases de datos de cada localidad y acceder así a distintas universidades, sucursales de tiendas, etcétera.

-------------------------------------------------------------------------------------------------
Para nuestro estudio, usaremos algunos conceptos propios, que nos ayudaran a conformar una base de datos funcional y segura.
Nuestro modelo de trabajo, lo haremos sobre un gestor de bases de datos ya conocido, como es el ACCESS 2000 al 2003, por ser más util a fines didácticos, pero en general es aplicable a a toda base de datos relacional
http://es.wikipedia.org/wiki/Base_de_datos_relacional

Es fundamental tener claro el concepto de entidad, y que cada entidad en la base de datos corresponda a una tabla (no es al revez, ya que en una base de datos hay tablas auxiliares o de relación, que no representan una entidad)
El concepto de entidad lo podemos ver en: http://es.wikipedia.org/wiki/Normalización_de_una_base_de_datos
y basicamente, es que todo ente que posea caracteristicas propias puede ser identificado por esas caracteristicas, y asi como naturalmente recibe un nombre, tambien se le asigna una clave identificatoria
Cada una de esas caracteristicas propias, (apellido, nombres, domicilio, telefono año de nacimiento, etc seran los campos secundarios de nuestro esquema de almacenamiento, mientras la clave sera nuestro campo principal.
Como es un campo identificatorio, no puede repetirse, o sea que tiene que tener un valor único, este valor puede ser un valor único exixtente, como el numero del documento de identidad, o un valor asignado automáticamnte por el gestor de bases de datos, en ACCESS es el autonumérico.
La ventaja del autonumérico, es la indexación, es decir que ya desde un principio tenemos un indice creado que facilitará la búsqueda e identificación de los datos de una persona, pero puede ser indistinto e incluso formado por mas de un valor de los guardados en la tabla, donde dos o mas campos definirán una clave. Estos campos se apilan en forma de columnas, mientras que los datos correspondientes a esa persona, se ponen en las distintas columnas al lado de su referencia constituyendo una línea que recibe elnombre de registro, siendo ese registro todo referido a la persona que se esta registrando.

Otra característica, es que no se guardan en la tabla, datos resultantes de cálculos, por ejemplo la edad, o la operación realizada entre uno o mas campos, como el interéz de un monto ya que estos datos no son constantes sino que dependen de valores externos, como el día actual en caso de la edad y la tasa de interéz en el caso del segundo.
Si los datos almacenados, pueden generar otra tabla, es decir hay mas de una entidad declarada en la misma, se deben separar
Este es el caso de forma de pago, si paga con tarjeta de crédito o con monedas distintas a la de nuestro pais, habra una tabla para las tarjetas de crédito vigentes y otras para las monedas en cuestión, y en la tabla que estamos construyendo, se hara una referencia al campo clave de la otra tabla donde se describe la entidad tarjetas.



En este caso el campo Pago Tarjeta de la primera tabla refiere al campo IdTarjeta de la segunda, donde se describe el  medio (caso hipotético de muestra, que no quiere decir que estos item son los que deben ir, sino que solo muestra como se dividen las entidades a modo de ejemplo)

Los registros no deben ser borrados, para conservar su relacion histórica, es decir que aunque el cliente xxx haya fallecido o no sea más nuestro cliente, para una auditoría o control sobre las operaciones, este debe seguir existiendo. Por lo que a cada tabla se le agrega una columna de activo que poseerá valor "Si" o "No"  segun el caso, y que nos permitira tener un listado de los clientes activos sin que los que ya no esten activos sean borrados.
Ademas, esto hace que no haya saltos en la indexación, y que la continuidad confirme la consistencia de los datos.
En casos en que sea necesario, se añade además campos de control, donde queda asentado una clave que refiere a una tabla donde consta quien modificó los registros y en que fecha haciendo una copia del registro anterior como una forma de preveer un mal manejo o fraude. En estos casos, suele haber distintos niveles de usuario con restricciones de acceso, mediante un sistema de atributos otorgados por el administrador del sistema.

Los gestores de bases de datos, responden a un idioma de consultas que se llama SQL
El lenguaje más común para construir las consultas a bases de datos relacionales es SQL (Structured Query Language), un estándar implementado por los principales motores o sistemas de gestión de bases de datos relacionales integradas.

Para bases de datos de pequeña y mediana magnitud, ACCESS cumple sobradamente lo que pueda requerir de una base de datos, brindando ademas un entorno amigable para hacer consultas.
Cuando el sistema administrativo cuenta con una conexion propia, y servidores dedicados, desde distintos puntos se puede acceder a la base de datos en forma seguro mediante transacciones, mas cuando el sistema tiene alojada su base de datos en un Host (pago o gratuito) aparecen inconvenientes que las empresas proveedoras de software, han decidido encarar cada una a su manera.
Mas las limitaciones propias del archivo de la base de datos, mas la negacion por parte de los servidores de alojar bases de datos que incluyan programas y procedimientos a realizarse en el servidor (por la cantidad de recursos que esto implica) aunque esto para el usuario le brinde una perfomance de rapidez y practicidad en el manejo, hizo necesario la construccion de otro tipo de base de datos, que solo guarden archivos y que los procesos se hagan en el cliente lo que acarrea una mayor lentitud en el manejo de información y requisitos extras de seguridad al acceso y control de los datos Tal es el caso de MySql y similares.

Entre los gestores o manejadores actuales más populares encontramos: MySQL, PostgreSQL, Oracle, DB2, INFORMIX, Interbase, FireBird, Sybase y Microsoft SQL Server.

Una vez que el manejo de una base de datos en ACCESS no tenga secretos para nosotros, pasaremos a otros gestores de base de datos que nos pueden ser de utilidad en un futuro, sin que sea un tema cerrado, ya que la aparición de nueva tecnología hace necesaria la actualizacion tambien de los encargados de operar con ella


Para los que creen que esto es chino básico, le agrego gasolina al fuego.photo
Añado un cuento de un abogado explicando al cliente:
Mire, la cosa es asi, la jurisprudencia del caso permitio que su litigio esté en autos y cada uno de los folios debe constatar que no hay indicios de ilícitos ya que por nimiedades el acto es nulo y la contraparte se sujeta al libelo de la demanda, si  prevalece y querellado y querellantes son pasibles de luris tamtun y librará la compulsa a la camara del crimen.. Entendió?
_Oh si, (dijo el cliente) esta bien claro.
_Ahh... Espere, que se lo explico de nuevo porque seguro que lo entendió mal, replicó el abogado.
 


Ahora veremos SQL,
para lo cual tenemos tres cursos gratuitos on-line que seguiremos en forma paralela, ya que si bien estan bastante completos, uno aporta mas claridad sobre algunos temas, mientras el otro es mas específico, y por ultimo aplicado a una base de datos MySql  

 Para esto tomamos unos cursos básicos de Internet
 
 

Los códigos y los programas están a disposición del que quiera, sin ir contra los derechos de autoria y de propiedad vigentes. Use el formularo de contacto para que podamos ver como intercambiar la documentación-_ Gracias.-

 

Luego veremos aplicacion de SQL en idiomas de programación
Esto será necesario cuando comencemos a programar en Visual Basic


Seguir-->

 
Este sitio web fue creado de forma gratuita con PaginaWebGratis.es. ¿Quieres también tu sitio web propio?
Registrarse gratis