lunes, 16 de noviembre de 2015

Concepto de 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, siendo este un componente electrónico, por tanto 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 (del inglés Database Management System o DBMS), que permiten almacenar y posteriormente acceder a los datos de forma rápida y estructurada. Las propiedades de estos DBMS, 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 mutuamente 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), en México por la Ley Federal de Transparencia y Acceso a la Información Pública Gubernamental y en Argentina la Ley de Protección de Datos Personales.

Tipos De Base De Datos
Tipos de bases de datos según la organización lógica de los datos
En un principio existían tres tipos de bases de datos según su estructura interna (la manera de organizar la información):
v  Bases de datos jerárquicas
v  Bases de datos en red
v  Bases de datos relacionales.
Más recientes son las bases de datos orientadas a objetos y las bases de datos multidimensionales.

v  Las bases de datos jerárquicas
En una base de datos jerárquica se organizan los datos utilizando estructuras arborescentes (en árbol).
Un ÁRBOL es una estructura jerárquica en la que los elementos se suelen denominar NODOS y existen dependencias entre los nodos.
La dependencia es de 1:M del tipo padre/hijo. Un hijo no puede tener más de un padre, pero un padre varios hijos.
BBDD Jerárquicas
Un ejemplo de base de datos jerárquica es el sistema IMS.

v  2. Las bases de datos en red
También en desuso, en una base de datos en red se utiliza la estructura de grafo/red, como en el caso anterior los distintos objetos están relacionados entre sí mediante relaciones del tipo 1:M pero en este caso un objeto puede estar relacionado como hijo con varios elementos que serán sus padres. Un este caso las relaciones que se crean se denominan SET y el equivalente al padre se denomina PROPIETARIO (OWNER) y el equivalente al hijo se denomina MIEMBRO (MEMBER).
Un ejemplo de sistema en red es el CODASYL. También existen modelos para realizar el diseño de datos orientado a bases de datos en red.
En red podríamos representar lo mismo que la estructura anterior y además lo siguiente:
BBDD Red
Los sistemas jerárquico y en red constituyen la primera generación de los SGBD. Pero estos sistemas presentan algunos inconvenientes:
Es necesario escribir complejos programas de aplicación para responder a cualquier tipo de consulta de datos, por simple que ésta sea.
La independencia de datos es mínima.
No incluyen controles de integridad.
Por lo que pronto fueron sustituidos por los sistemas relacionales.

v  3. Las bases de datos relacionales
Esta es la estructura que se ha impuesto para aplicaciones de gestión, consiste en organizar los datos en forma de tablas, las relaciones entre los objetos se consiguen incluyendo en la tabla del hijo, la clave del objeto padre. Como son las que utilizaremos durante todo el módulo hemos reservado un apartado especial para ellas.


¿Que son tablas?

Una tabla de una base de datos es similar en apariencia a una hoja de cálculo, en cuanto a que los datos se almacenan en filas y columnas. Como consecuencia, normalmente es bastante fácil importar una hoja de cálculo en una tabla de una base de datos. La principal diferencia entre almacenar los datos en una hoja de cálculo y hacerlo en una base de datos es la forma de organizarse los datos.
Para lograr la máxima flexibilidad para una base de datos, la información tiene que estar organizada en tablas, para que no haya redundancias. Por ejemplo, si se almacena información sobre empleados, cada empleado se insertará una sola vez en una tabla que se configurará para contener únicamente datos de los empleados. Los datos sobre productos se almacenarán en su propia tabla, y los datos sobre sucursales también tendrán su tabla aparte. Este proceso se conoce como normalización.
Cada fila de una tabla se denomina registro. En los registros es donde se almacena cada información individual. Cada registro consta de campos (al menos uno). Los campos corresponden a las columnas de la tabla. Por ejemplo, puede trabajar con una tabla denominada "Empleados", en la que cada registro (fila) contiene información sobre un empleado distinto y cada campo (columna) contiene un tipo de información diferente, como el nombre, los apellidos, la dirección, o similares. Los campos se deben configurar con un determinado tipo de datos, ya sea texto, fecha, hora, numérico, o cualquier otro tipo.
Otra forma de describir registros y campos es imaginando un catálogo de fichas tradicional de una biblioteca. Cada ficha del armario corresponde a un registro de la base de datos. Cada información contenida en una ficha (autor, título, etc.) corresponde a un campo de la base de datos.
¿Que son formularios?
Los formularios se conocen a veces como "pantallas de entrada de datos". Son las interfaces que se utilizan para trabajar con los datos y, a menudo, contienen botones de comando que ejecutan diversos comandos. Se puede crear una base de datos sin usar formularios, editando los datos de las hojas de las tablas. No obstante, casi todos los usuarios de bases de datos prefieren usar formularios para ver, escribir y editar datos en las tablas.
Los formularios proporcionan un formato fácil de utilizar para trabajar con los datos. Además, se les puede agregar elementos funcionales, como botones de comando. Puede programar los botones para determinar qué datos aparecen en el formulario, abrir otros formularios o informes, o realizar otras tareas diversas. Por ejemplo, podría crear un formulario denominado "Formulario de cliente" para trabajar con datos de clientes. El formulario de cliente podría tener un botón para abrir un formulario de pedido en el que se pudiese escribir un pedido nuevo del cliente.
Los formularios también permiten controlar la manera en que otros usuarios interactúan con los datos de la base de datos. Por ejemplo, puede crear un formulario que muestre únicamente ciertos campos y que permita la ejecución de determinadas operaciones solamente. Así, se favorece la protección de los datos y se facilita la entrada correcta de datos.
¿Que son informe?
Los informes sirven para resumir y presentar los datos de las tablas. Normalmente, un informe responde a una pregunta específica, como "¿Cuánto dinero se ha facturado por cliente este año?" o "¿En qué ciudades están nuestros clientes?" Cada informe se puede diseñar para presentar la información de la mejor manera posible.
Un informe se puede ejecutar en cualquier momento y siempre reflejará los datos actualizados de la base de datos. Los informes suelen tener un formato que permita imprimirlos, pero también se pueden consultar en la pantalla, exportar a otro programa o enviar por correo electrónico.
¿Que son consultas?
Las consultas son las que verdaderamente hacen el trabajo en una base de datos. Pueden realizar numerosas funciones diferentes. Su función más común es recuperar datos específicos de las tablas. Los datos que desea ver suelen estar distribuidos por varias tablas y, gracias a las consultas, puede verlos en una sola hoja de datos. Además, puesto que normalmente no desea ver todos los registros a la vez, las consultas le permiten agregar criterios para "filtrar" los datos hasta obtener solo los registros que desee. Las consultas a menudo sirven de origen de registros para formularios e informes.
Algunas consultas son "actualizables", lo que significa que es posible editar los datos de las tablas base mediante la hoja de datos de la consulta. Si trabaja con una consulta actualizable, recuerde que los cambios se producen también en las tablas, no solo en la hoja de datos de la consulta.
Hay dos tipos básicos de consultas: las de selección y las de acción. Una consulta de selección simplemente recupera los datos y hace que estén disponibles para su uso. Los resultados de la consulta pueden verse en la pantalla, imprimirse o copiarse al portapapeles. O se pueden utilizar como origen de registros para un formulario o un informe.
Una consulta de acción, como su nombre indica, realiza una tarea con los datos. Las consultas de acción pueden servir para crear tablas nuevas, agregar datos a tablas existentes, actualizar datos o eliminar datos.
¿Que son campo?
Podemos agregar muchos tipos de campos que formarán parte de nuestra base de datos. Cada campo admite distintos tipos de datos, con diferentes interfaces. Después de crear los campos deseados podemos añadir información en la base de datos.
Un campo es el nombre de la unidad de información. Cada entrada en una base de datos puede tener múltiples campos de diversos tipos. Por ejemplo, un campo de texto llamado 'color favorito', que permite escribirlo, o un menú llamado 'población' que permita escoger de un listado de poblaciones posibles. La combinación de campos diversos nos permitirá recabar toda la información que consideremos relevante sobre los ítems que constituyen la base de datos.
¿Que son atributos?
Los atributos son las características por medio de los cuales se puede describir una entidad. Por ejemplo de la entidad alumno podemos asignarle atributos como: nombre, apellido, dirección, teléfono, y su campo llave que puede ser: numero de cedula, número de matrícula, o un código cualquiera.

Superclave: Se forma de la unión de 2 o más atributos que permiten identificar de forma inequívoca a la entidad.

Clave Candidata: Un atributo que podría funcionar como campo llave.
Clave Principal: El único atributo que se permite identificar de forma inequívoca a la entidad.
¿Que es Access?
Microsoft Access es un sistema de gestión de bases de datos incluido en el paquete ofimático denominado Microsoft Office. Igualmente, es un gestor de datos que recopila información relativa a un asunto o propósito particular, como el seguimiento de pedidos de clientes o el mantenimiento de una colección de música, etcétera. Está pensado en recopilar datos de otras utilidades (ExcelSharePoint, etcétera) y manejarlos por medio de las consultas e informes.
Historia
Proyectos Omega y Cirrus Maimara Retamales
1.Microsoft carecía de una solución propia de base de datos relacional, y hasta entonces se limitaba a distribuir un producto de terceros llamado R:BASE, una aplicación para MS-DOS. En 1988 se empezó a desarrollar un producto SQL (de nombre clave Omega) para Windows y OS/2, junto con el que se escribió un lenguaje de macros llamado EB ("Embedded Basic") que se utilizaría en la mayoría de software Microsoft hasta la llegada de VBA. También se buscaba que Omega funcionara como front-end para Microsoft SQL Server. Omega requería una enorme cantidad de recursos de los procesadores 386 disponibles en la época para usos comerciales, retrasando su llegada desde el primer cuatrimestre de 1990 hasta enero de 1991. Más tarde partes del proyecto fueron utilizados para otros proyectos de Microsoft. Cirrus (nombre clave para Access) y Thunder (nombre clave para Visual Basic, en el que se utilizó el motor Embedded Basic). Tras el adelanto de Access, Omega fue demostrado ante varios periodistas en 1992 y Access presentaba funciones que Omega no tenía.
2.Después de la cancelación de Omegle, algunos de sus desarrolladores fueron reasignados al proyecto Cirrus (la mayoría fue a parar al equipo creador de Visual Basic). Su meta era crear un competidor de productos como dBase y Paradox en el entorno Windows. El proyecto pareció condenado con la compra de FoxPro (una App de base de datos completamente diferente a Access) por parte de Microsoft, pero la compañía decidió continuar con el desarrollo de Cirrus. Al principio se asumió que el producto usaría el motorExtensible Storage Engine (Jet Blue) pero al final fue reemplazado por otro motor llamado Microsoft Jet Database Engine (Jet Red). El proyecto usó partes del código escrito para Omega y una versión pre-publicada de Visual Basic. En julio de 1992 llegó la versión final con el nombre de Access.
Requisitos de hardware de versiones antiguas
·         Un equipo personal o multimedia con un microprocesador 486 o superior.
·         12 megabytes (MB) de memoria de acceso aleatorio (RAM) para que se ejecute en Microsoft Windows 95 y Windows 98 o 16 MB de memoria RAM para ejecutar en Microsoft Windows NT y Microsoft Windows 2000. Puede que tenga más memoria para ejecutar más aplicaciones simultáneamente.
·         Unidad de CD-ROM o unidad de disco de 3,5 pulgadas de alta densidad. Si desea recibir Microsoft Access 97 en discos de 3,5 pulgadas, deberá canjear un cupón adjunto en la versión en CD-ROM.
·         Resolución VGA o adaptador de vídeo superior (Super VGA (SVGA) se recomienda 256 colores).
·         Microsoft Mouse, Microsoft IntelliMouse o dispositivo señalador compatible.
Requisitos de Software de versiones antiguas
·         Microsoft Access 97 está diseñado para ejecutarse en los sistemas operativos siguientes:
·         Microsoft Windows 95
·         Microsoft Windows NT versión 4.0
·         Microsoft Windows NT versión 3.51 con Service Pack 5
·         Microsoft Access 97 es compatible con las redes siguientes:
·         Microsoft Windows 95
·         Microsoft Windows NT
·         Novell NetWare
Espacio en disco duro de versiones antiguas
Los requisitos de espacio de disco duro siguientes son aproximados:
·         44 MB para una instalación típica
·         60 MB para una instalación personalizada con todas las opciones
·         32 MB para ejecutar desde CD-ROM de instalación
Elementos o servicios necesarios para utilizar determinadas características adicionales
Módem de 9600 baudios o superior (14400 baudios o superior, es lo recomendable). Si piensa crear páginas Web dinámicas, la característica "Publicar en el Web" requiere software de Internet Information Server (IIS) o Microsoft Personal Web Server para Windows 95 en el equipo donde residen las páginas Web. Esto no tiene que ser el mismo equipo donde se utiliza Microsoft Access 97 para crear las páginas Web.
Requisitos de la versión más nueva (2013)
·         Procesador de x32 o x64 bits de 1 GH o más rápido con instrucciones SSE2.
·         Memoria RAM de 1 GB (Windows de 32 bits) o 2 GB (Windows de 64 bits).
·         5 GB de disco.


¿Qué es SQL?

 (por sus siglas en inglés Structured Query Language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en ellas. Una de sus características es el manejo del álgebra y el cálculo relacional que permiten efectuar consultas con el fin de recuperar, de forma sencilla, información de bases de datos, así como hacer cambios en ellas.
Orígenes y evolución
Los orígenes de SQL están ligados a los de las bases de datos relacionales. En 1970 E. F. Codd propone el modelo relacional y asociado a este un sublenguaje de acceso a los datos basado en el cálculo de predicados.1 Basándose en estas ideas, los laboratorios de IBM definieron el lenguaje SEQUEL (Structured English Query Language) que más tarde fue ampliamente implementado por el sistema de gestión de bases de datos (SGBD) experimental System R, desarrollado en 1977 también por IBM. Sin embargo, fue Oracle quien lo introdujo por primera vez en 1979 en un producto comercial.

El SEQUEL terminó siendo el predecesor de SQL, que es una versión evolucionada del primero. SQL pasa a ser el lenguaje por excelencia de los diversos sistemas de gestión de bases de datos relacionales surgidos en los años siguientes y fue por fin estandarizado en 1986 por el ANSI, dando lugar a la primera versión estándar de este lenguaje, "SQL-86" o "SQL1". Al año siguiente este estándar es también adoptado por ISO.

Sin embargo, este primer estándar no cubría todas las necesidades de los desarrolladores e incluía funcionalidades de definición de almacenamiento que se consideró suprimirlas. Así que, en 1992, se lanzó un nuevo estándar ampliado y revisado de SQL llamado "SQL-92" o "SQL2".

En la actualidad SQL es el estándar de facto de la inmensa mayoría de los SGBD comerciales. Y, aunque la diversidad de añadidos particulares que incluyen las distintas implementaciones comerciales del lenguaje es amplia, el soporte al estándar SQL-92 es general y muy amplio.
Base de datos SQL, manipulándolos dentro de la base de datos y publicando el XML y los datos SQL convencionales en forma XML. Además, proporciona facilidades que permiten a las aplicaciones integrar dentro de su código SQL el uso de XQuery, lenguaje de consulta XML publicado por el W3C (World Wide Web Consortium) para acceso concurrente a datos ordinarios SQL y documentos XML.
SQL es un lenguaje de acceso a bases de datos que explota la flexibilidad y potencia de los sistemas relacionales y permite así gran variedad de operaciones

Es un lenguaje declarativo de "alto nivel" o "de no procedimiento" que, gracias a su fuerte base teórica y su orientación al manejo de conjuntos de registros —y no a registros individuales— permite una alta productividad en codificación y la orientación a objetos. De esta forma, una sola sentencia puede equivaler a uno o más programas que se utilizarían en un lenguaje de bajo nivel orientado a registros. SQL también tiene las siguientes características:

Lenguaje de definición de datos: El LDD de SQL proporciona comandos para la definición de esquemas de relación, borrado de relaciones y modificaciones de los esquemas de relación.
Lenguaje interactivo de manipulación de datos: El LMD de SQL incluye lenguajes de consultas basado tanto en álgebra relacional como en cálculo relacional de tuplas.
Integridad: El LDD de SQL incluye comandos para especificar las restricciones de integridad que deben cumplir los datos almacenados en la base de datos.
Definición de vistas: El LDD incluye comandos para definir las vistas.
Control de transacciones: SQL tiene comandos para especificar el comienzo y el final de una transacción.
SQL incorporado y dinámico: Esto quiere decir que se pueden incorporar instrucciones de SQL en lenguajes de programación como: C++, C, Java, PHP, Cobol, Pascal y Fortran.

Autorización: El LDD incluye comandos para especificar los derechos de acceso a las relaciones y a las vistas.