viernes, 13 de marzo de 2015

Historia de las Bases de Dato


El término bases de datos fue escuchado por primera vez  en un simposio celebrado en California en 1963.
En una primera aproximación, se puede decir que una base de datos es un conjunto de información relacionada que se encuentra agrupada o estructurada.
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 manipulen ese conjunto de datos.
Por su parte, un sistema de Gestión de Bases de datos es un tipo de software muy especifico dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan; o lo que es lo mismo, una agrupación de programas que sirven para definir, construir y manipular una base de datos, permitiendo así almacenar y posteriormente acceder a los datos de forma rápida y estructurada.
Actualmente, las bases de datos están teniendo un impacto decisivo sobre el creciente uso de las computadoras.
Pero para poder entender más profundamente una base de datos cabe entender su historia.
Origenes
Los orígenes de las bases de datos se remontan a la Antigüedad donde ya existían bibliotecas y toda clase de registros. Además también se utilizaban para recoger información sobre las cosechas y censos. Sin embargo, su búsqueda era lenta y poco eficaz y no se contaba con la ayuda de máquinas que pudiesen reemplazar el trabajo manual.
Posteriormente, el uso de las bases de datos se desarrolló a partir de las necesidades de almacenar grandes cantidades de información o datos. Sobre todo, desde la aparición de las primeras computadoras, el concepto de bases de datos ha estado siempre ligado a la informática.
En 1884 Herman Hollerith creó la máquina automática de tarjetas perforadas, siendo nombrado así el primer ingeniero estadístico de la historia. En esta época, los censos se realizaban de forma manual.
Ante esta situación, Hollerith comenzó a trabajar en el diseño de una maquina tabuladora o censadora, basada en tarjetas perforadas.
Posteriormente, en la década de los cincuenta se da origen a las cintas magnéticas, para automatizar la información y hacer respaldos. Esto sirvió para suplir las necesidades de información de las nuevas industrias. Y a través de este mecanismo se empezaron a automatizar información, con la desventaja de que solo se podía hacer de forma secuencial.
Década de 1960
Posteriormente en la época de los sesenta, las computadoras bajaron los precios para que las compañías privadas las pudiesen adquirir; dando paso a que se popularizara el uso de los discos, cosa que fue un adelanto muy efectivo en la época, debido a que a partir de este soporte se podía consultar la información directamente, sin tener que saber la ubicación exacta de los datos.
En esta misma época se dio inicio a las primeras generaciones de bases de datos de red y las bases de datos jerárquicas, ya que era posible guardar estructuras de datos en listas y arboles.
Otro de los principales logros de los años sesenta fue la alianza de IBM y American Airlines para desarrollar SABRE, un sistema operativo que manejaba las reservas de vuelos, transacciones e informaciones sobre los pasajeros de la compañía American Airlines.
Y, posteriormente, en esta misma década, se llevo a cabo el desarrollo del IDS desarrollado por Charles Bachman ( que formaba parte de la CODASYL) supuso la creación de un nuevo tipo de sistema de bases de datos conocido como modelo en red que permitió la creación de un standard en los sistemas de bases de datos gracias a la creación de nuevos lenguajes de sistemas de información.
CODASYL (Conference on Data Systems Languages) era un consorcio de industrias informáticas que tenían como objetivo la regularización de un lenguaje de programación estándar que pudiera ser utilizado en multitud de ordenadores.
Los miembros de este consorcio pertenecían a industrias e instituciones gubernamentales relacionadas con el proceso de datos, cuya principal meta era promover un análisis, diseño e implementación de los sistemas de datos más efectivos; y aunque trabajaron en varios lenguajes de programación como COBOL, nunca llegaron a establecer un estándar fijo, proceso que se llevo a cabo por ANSI.
Década de 1970
Por lo que respecta a la década de los setenta, Edgar Frank Codd, científico informático ingles conocido por sus aportaciones a la teoría de bases de datos relacionales, definió el modelo relacional a la par que publicó una serie de reglas para los sistemas de datos relacionales a través de su artículo “Un modelo relacional de datos para grandes bancos de datos compartidos”.
Este hecho dio paso al nacimiento de la segunda generación de los Sistemas Gestores de Bases de Datos.
Como consecuencia de esto, durante la década de 1970, Lawrence J. Ellison, más conocido como Larry Ellison, a partir del trabajo de Edgar F. Codd sobre los sistemas de bases de datos relacionales, desarrolló el Relational Software System, o lo que es lo mismo, lo que actualmente se conoce como Oracle Corporation, desarrollando así un sistema de gestión de bases de datos relacional con el mismo nombre que dicha compañía.
Posteriormente en la época de los ochenta también se desarrollará el SQL (Structured Query Language) o lo que es lo mismo un lenguaje de consultas o lenguaje declarativo de acceso a bases de datos relacionales que permite efectuar consultas con el fin de recuperar información de interés de una base de datos y hacer cambios sobre la base de datos de forma sencilla; además de analiza grandes cantidades de información y permitir especificar diversos tipos de operaciones frente a la misma información, a diferencia de las bases de datos de los años ochenta que se diseñaron para aplicaciones de procesamiento de transacciones.
Pero cabe destacar que ORACLE es considerado como uno de los sistemas de bases de datos más completos que existen en el mundo, y aunque su dominio en el mercado de servidores empresariales ha sido casi total hasta hace relativamente poco, actualmente sufre la competencia del SQL Server de la compañía Microsoft y de la oferta de otros Sistemas Administradores de Bases de Datos Relacionales con licencia libre como es el caso de PostgreSQL, MySQL o Firebird que aparecerían posteriormente en la década de 1990.
Década de 1980
Por su parte, a principios de los años ochenta comenzó el auge de la comercialización de los sistemas relacionales, y SQL comenzó a ser el estándar de la industria, ya que las bases de datos relacionales con su sistema de tablas (compuesta por filas y columnas) pudieron competir con las bases jerárquicas y de red, como consecuencia de que su nivel de programación era sencillo y su nivel de programación era relativamente bajo.
Década años 1990
En la década de 1990 la investigación en bases de datos giró en torno a las bases de datos orientadas a objetos. Las cuales han tenido bastante éxito a la hora de gestionar datos complejos en los campos donde las bases de datos relacionales no han podido desarrollarse de forma eficiente. Así se desarrollaron herramientas como Excel y Access del paquete de Microsoft Office que marcan el inicio de las bases de datos orientadas a objetos.
Así se creó la tercera generación de sistemas gestores de bases de datos.
Fue también en esta época cuando se empezó a modificar la primera publicación hecha por ANSI del lenguaje SQL y se empezó a agregar nuevas expresiones regulares, consultas recursivas, triggers y algunas características orientadas a objetos, que posteriormente en el siglo XXI volverá a sufrir modificaciones introduciendo características de XML, cambios en sus funciones, estandarización del objeto sequence y de las columnas autonuméricas. Y además, se creará la posibilidad de que SQL se pueda utilizar conjuntamente con XML, y se definirá las maneras de cómo importar y guardar datos XML en una base de datos SQL. Dando asi, la posibilidad de proporcionar facilidades que permiten a las aplicaciones integrar el uso de XQuery (lenguaje de consulta XML) para acceso concurrente a datos ordinarios SQL y documentos XML. Y posteriormente, se dará la posibilidad de usar la clausula order by.
Aunque el boom de la década de los noventa será es el nacimiento del World Wide Web a finales de la década, ya que a través de este se facilitará la consulta a bases de datos.
SIGLO XXI
En la actualidad, las tres grandes compañías que dominan el mercado de las bases de datos son IBM, Microsoft y Oracle. Por su parte, en el campo de internet, la compañía que genera gran cantidad de información es Google. Aunque existe una gran variedad de software que  permiten crear y manejar bases de datos con gran facilidad, como por ejemplo LINQ, que es un proyecto de Microsoft que agrega consultas nativas semejantes a las de SQL a los lenguajes de la plataforma .NET. El objetivo de este proyecto es permitir que todo el código hecho en Visual Studio sean también orientados a objetos; ya que antes de LINQ la manipulación de datos externos tenía un concepto más estructurado que orientado a objetos; y es por eso que trata de facilitar y estandarizar el acceso a dichos objetos.
Cabe destacar que Visual Studio es un entorno de desarrollo integrado para sistemas operativos Windows que soporta varios lenguajes de programación tales como Visual C++, Visual#, Visual J#, ASP.NET y Visual Basic.NET, aunque se están desarrollando las extensiones necesarias para otros, cuyo objetivo es permitir crear aplicaciones, sitios y aplicaciones web, así como servicios web a cualquier entorno que soporte la plataforma .Net, creando así aplicaciones que intercomuniquen entre estaciones de trabajo, páginas web y dispositivos móviles.

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 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 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 aprender.

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.

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éter
                                                    para que sirve base de datos 

Una base de datos es un conjunto de información que se liga de alguna forma y se encuentra catalogada para tener mejor acceso de la misma.
Inicialmente eran llevadas en registros por medio de fichas, y es por esto que existe una amplia variedad de fichas.
Hoy en día es mediante  servidores y computadores que se acumula la información y dichos datos se catalogan en forma ordenada y de fácil acceso por medio de un sistema que está definido como “SGBD” (sistema de gestión de base e datos), un software creado para tal fin.
Son muchas plataformas las creadas para este fin y muchos programas que logran leer y manejar este tipo de información, la cual con el tiempo se ha unificado en formatos compatibles.
¿Para qué sirven las bases de datos?
Las bases de datos son utilizadas en infinidad de circunstancias:
Una base de datos permite acomodar ordenar y tener libre acceso de la información, sea cual fuere.
Una base de datos permite acomodar ordenar y tener libre acceso de la información, sea cual fuere.
  • En los hospitales para catalogar medicamentos, y a los pacientes.
  • En la administración para catalogar los diferentes temas a tratar.
  • En el gobierno para catalogar los temas y obligaciones a resolver.
  • En la escuela para matricular a los alumnos
  • En el comercio para controlar la información.
Es muy utilizada por los administradores, quienes entre sus funciones tienen la de ordenar y catalogar al personal, las mercancías, los gastos, los ingresos, etc.
Por ello se encuentran en la eminente necesidad de catalogar los datos para que al ser buscados puedan ser encontrados en forma adecuada.
En los colegios, las bibliotecas se encuentran dotadas de bases de datos simples y sencillas, que permiten a los alumnos y maestros encontrar la información deseada en forma rápida y precisa.
En el comercio, los comerciantes ingresan en una base de datos las entradas y salidas para que en base a esos datos el contador o administrador, resuelva al momento de responder por las obligaciones.
Resumen: ¿Qué es una base de datos? ¿Cuáles son los principales tipos de bases de datos? Internet y los procesos empresariales dependen casi al 100 % de bases de datos, trataremos de comprender qué son. 
DEFINICIÓN Y CONCEPTO DE BASE DE DATOS
Una base de datos es un sistema informático a modo de almacén. En este almacén se guardan grandes volúmenes de información. Por ejemplo, imaginemos que somos una compañía telefónica y deseamos tener almacenados los datos personales y los números de teléfono de todos nuestros clientes, que posiblemente sean millones de personas.
Base de datos

Esta información es de gran volumen de tamaño: estamos hablando de veinte o treinta datos multiplicados por miles o millones de personas. La antigua gestión de datos se basaba en archivos informáticos, pero para las necesidades de hoy en día hacen falta sistemas más perfeccionados que son precisamente lo que se denomina sistema de base de datos. Llegamos a la conclusión de que necesitaríamos una base de datos para automatizar el acceso a la información y poder acceder a ella de manera rápida y fácil además de poder realizar cambios de una manera más eficiente.
Toda base de datos debe tener una serie de características tales como seguridad (sólo personas autorizadas podrán acceder a la información), integridad (la información se mantendrá sin pérdidas de datos), e independencia (esta característica es fundamental ya que una buena base de datos debería ser independiente del sistema operativo o programas que interactúen con ella). Hay más características que debe reunir una base de datos como ser consistente (es decir, que la información se guarde sin duplicidades y de manera correcta). Y finalmente, las bases de datos actuales permiten el manejo correcto de transacciones. Esto significa que se ha de permitir efectuar varias operaciones sobre la base de datos pero tratadas a modo de una sola. Es decir, si en el conjunto de las operaciones de una transacción se produce un error, entonces se deshacen todas las operaciones realizadas anteriormente y se cancela la transacción. Piensa en una transferencia bancaria que comprende varias operaciones como sacar dinero de una cuenta, anotarlo en el extracto de esta cuenta, añadirlo a otra cuenta y anotarlo en el extracto de esta otra cuenta. Supón ahora que después de sacar el dinero de la cuenta de origen se produce un error: la transacción (proceso completo) no se ha completado, y en este caso la base de datos revierte lo que se haya hecho y deja la situación tal y como estaba antes de comenzar la transacción. Otro factor importante en las bases de datos es el tiempo de respuesta, que evidentemente debe ser lo más rápido posible en devolver o anotar las informaciones. Piensa que una base de datos puede tener que estar enviando y anotando información correspondiente a decenas de personas conectadas a internet. Si la velocidad de respuesta no es buena, la página se quedaría “bloqueada”.


HISTORIA E INICIOS
Los inicios de las base de datos modernas se deben sobre todo al desarrollo realizado por el inglés Edgar Frank Codd, que propuso el primer modelo teórico relacional, es decir, definió cómo se debían relacionar los datos pertenecientes a una base de datos. Por otro lado IBM desarrolló la primera definición de lenguaje para base de datos (que definía cómo añadir y extraer información de una base de datos) llamado SEQUEL. Más tarde SEQUEL acabaría convirtiéndose en el lenguaje más utilizado hoy en día con bases de datos, el SQL.
SQL se ha convertido en un lenguaje estándar para todas las bases de datos. Hoy día es empleado por prácticamente todas las bases de datos existentes. Como en todo lenguaje ha habido mejoras y por tanto nuevas versiones a lo largo del tiempo, pero aunque cada sistema de base de datos tenga sus propias particularidades, todos comparten muchas características comunes.


DOS GRANDES ÁREAS
Dentro de SQL hay dos grandes áreas llamadas DDL y DML. DDL (en inglés Data Definition Language) es la parte del lenguaje que permite la definición de datos, por tanto son funciones que definen cómo van a ser los datos. Por ejemplo nosotros podemos definir que el dato de “edad” de una persona va a ser un número entero mientras que el dato “nombre” va a ser una cadena de texto. Los datos en una base de datos se almacenan en tablas formadas por filas y columnas. Las columnas nos indican el nombre de los datos y las las filas contendrán los valores de los datos propiamente dichos almacenados.
Así un ejemplo de tabla muy simple podría ser una tabla de usuarios, donde vamos a almacenar la información de su nombre y teléfono. Tendremos por tanto dos columnas y tantas filas como usuarios existan en nuestra base de datos

                Tabla Usuarios
NOMBRE
TELÉFONO
José
9434455444
Manuel
6578545458
Miguel
4987873487
 

Por otra parte está el área de DML (en inglés Data Manipulation Language) o Lenguaje de Manipulación de Datos, que como su nombre indica nos permite manipular la información y que básicamente se compone de estas instrucciones o funciones:
a) Select: función que permite solicitar que se nos devuelva un dato o serie de datos.
b) Insert: función para insertar nuevas filas de información en una tabla.
c) Update: función para modificar una o varias filas ya existentes previamente.
d) Delete: función que borra una fila o un conjunto de filas de una tabla.


TIPOS DE BASE DE DATOS
Hay diversos tipos de base de datos dependiendo de los objetivos de su uso. Por ejemplo, son distintos objetivos mantener el historial médico de los pacientes de un hospital o el registro de operaciones financieras de un banco. Pero en general los sistemas de bases de datos más populares son las bases de datos relacionales, aunque también se usan otros tipos de bases de datos, entre los que cabe destacar las denominadas “bases de datos orientadas a objetos”.
Las bases de datos relacionales se basan en la idea fundamental del uso de relaciones para definir los tipos de datos o información. Así en nuestro ejemplo anterior podemos ver que un usuario queda definido por un nombre y un teléfono es decir la relación de nombre y teléfono nos da un usuario.


SISTEMAS GESTORES DE BASES DE DATOS
Con el uso y el incremento del tipo de base de datos se desarrollaron sistemas informáticos que gestionan toda la funcionalidad de la base de datos propiamente dicha intentando que sea de la manera más clara, directa y sencilla.
Normalmente cada compañía de base de datos trae su propio SGBD (Sistema Gestor de Base de Datos). Aunque también los hay genéricos y muy buenos nosotros recomendamos que se utilice el propio de cada base de datos siempre que se pueda.
En la categoría de sistemas de bases de datos libres o gratuitos podemos citar como más importantes:
NOMBRE DE BASE DE DATOS
LOGOTIPO
PostgreSQL
logo postgresql
DB2-Express C
logo db2 express c base datos
MySQL (edición gratuita)
logo base datos mysql
 


Otras bases de datos requieren pagar para poder utilizarlas. Entre ellas tenemos:
NOMBRE DE BASE DE DATOS
LOGOTIPO
MySQL (ediciones de pago)
logo base datos mysql
dBase
logo base de datos dbase
IBM Informix
logo base de datos informix software
Microsoft SQL SERVER
logo base de datos microsoft sql server
Oracle

logo base de datos oracle
Sybase
logo base de datos sybase
 


De todas estas bases de datos la que ha conseguido mayor uso ha sido y sigue siendo Oracle, ya que desde 1979 ha sido líder indiscutible como base de datos para empresas de mediano y gran tamaño. Ahora bien, Oracle es una base de datos con buenas herramientas, potentísima, efectiva y como buen sistema de base de datos trae muchos programas variados que permiten hacer de todo en el terreno de las bases de datos: consultas, informes, análisis de datos, etc. Además Oracle cumple íntegramente con el estándar SQL y suele ser el referente a la hora de aprender a programar bases de datos.
Pero hay muchas ocasiones en las que no se utiliza un sistema Oracle por varios motivos: por un lado, es un sistema bastante “pesado” lo que significa que requiere disponer de servidores (grandes ordenadores) casi en dedicación exclusiva para este sistema de base de datos. Por otro lado, Oracle es una base de datos por cuyo uso hay que pagar y muchos usuarios y pequeñas empresas prefieren usar bases de datos de uso gratuito o de menor coste. Como alternativa a Oracle de coste más reducido y también muy efectiva, muchas empresas utilizan SQLServer, suministrada por Microsoft.
SQLServer es una solución de coste y rendimiento medio. Suelen usarlo empresas que tienen un volumen de información elevado, pero sin llegar a ser excesivo, sobre todo si utilizan un servidor dedicado de Microsoft. SQL Server ha estado creciendo aunque quizás no con la proyección que se esperaba. Sin embargo, le ha ido comiendo terreno a las demás compañías en el sector medio de las bases de datos.
En el desarrollo web donde los sistemas de hosting o alojamiento de páginas web suelen ser compartidos para ahorrar costes, el sistema de bases de datos más utilizado es quizás Mysql por su carácter de software libre de distribución gratuita. Sobre todo esto también se debe a que la mayoría de sitios web con hosting compartido son pequeñas o medianas webs que no mueven grandísimos volúmenes de datos, ya que suelen ser pequeñas o como mucho medianas empresas.


CONSEJOS PARA APRENDER PROGRAMACIÓN CON BASES DE DATOS
A la hora de aprender a programar con bases de datos, una buena opción es aprender con Oracle y su lenguaje SQL. Oracle facilita versiones de prueba (académicas o de estudio) gratuitas que pueden servir para aprender. Aunque tengamos que instalarlo en nuestro ordenador y nos consuma recursos, podemos trabajar a pequeña escala y aprender todas las funcionalidades sin grandes desventajas. Por el contrario, tendremos una gran ventaja, y es que una vez hayamos aprendido con Oracle la adaptación a cualquier otra base de datos es relativamente sencilla.
Otra alternativa interesante para aprender es utilizar MySql, ya que es un sistema gratuito que nos vamos a encontrar en la mayor parte de los servidores compartidos de páginas web. En este caso podremos trabajar usando un servidor (incluso un servidor gratuito) sin necesidad de instalar software en nuestro computador.
Finalmente, indicar que antes de aprender programación con bases de datos, es conveniente conocer los fundamentos de programación (algoritmia) así como uno o varios lenguajes de programación. Trabajar con bases de datos debe ser un paso “avanzado” dentro del proceso de aprendizaje de la programación, nunca el primer paso.

Definición de base de datos y base de datos relacional

Base de datos: se llama así a un conjunto de información almacenada en memoria auxiliar que permite acceso directo y un conjunto de programas que manipulan esos datos Base de datos relacional: es una base de datos que cumple con el modelo relacional, en el cual el lugar y la forma en que se almacenen los datos no tienen relevancia (a diferencia de otros modelos). 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.

Elementos de 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.

Definición y diferencia entre tabla, registro y campo

Tablas: unidad donde crearemos el conjunto de datos de nuestra base de datos. Se refiere al tipo de modelamiento de datos, donde se guardan los datos recolectados por un programa. Su estructura general se asemeja a la vista general de un programa de Hoja de cálculo. Registro: corresponde al nombre de la columna. Debe ser único y además de tener un tipo de dato asociado. Campo: Corresponde a cada fila que compone la tabla. Allí se componen los datos y los registros. Eventualmente pueden ser nulos en su almacenamiento. La principal diferencia entre estos tres conceptos es que las tablas engloban a los registros y los campos, es decir, estos últimos son componentes de las tablas. En cuanto a los campos y registros podemos decir que mientras el primero representa a las columnas de la tabla, el otro se corresponde con las filas. Además, en los tipos se ubican tipo de dato. En cambio, en los registros se colocan los datos de una unidad. Por lo tanto, los campos deben tener nombres distintos entre sí en oposición a los registros ya que en estos no es necesario que sean diferentes.

Características y diferencias entre la vista de diseño y la vista de hoja de datos

En Vista Hoja de datos se introduce y se modifica la información de la tabla, es decir, los datos. En cambio, Vista Diseño se usa para agregar o modificar campos pues esta contiene las herramientas necesarias para editar cualquier aspecto relacionado con la estructura del objeto. Esta última tarea también puede ser realizada en Vista Hoja de datos, aunque no ofrece tantos recursos ni permite editar con facilidad los componentes de la tarea.

Tabla

Investigar la creación, las propiedades, características y la asignación, el manejo y eliminación de campos y registros.
Una base de datos simple, como una lista de contactos, puede contener sólo una tabla, pero hay muchas bases de datos que contienen varias tablas. Cuando crea una nueva base de datos, crea un nuevo archivo que sirve de contenedor para todos los objetos de la base de datos, incluidas las tablas. Puede crear una tabla creando una nueva base de datos o insertando una tabla en una base de datos existente. Cuando crea una nueva base de datos en blanco, se inserta automáticamente una nueva tabla vacía. A continuación, puede escribir datos para empezar a definir los campos.