BASE DE DATOS

TEMA 1

DEFINICION

1.1Conjunto de registros no redundantes, homogéneos, ordenados de una forma determinada, almacenados en soporte magnético u óptico y accesibles por ordenador.

1.2Una base de datos o banco de datos es un conjunto de datos pertenecientes al 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

1.3 Se define una base de datos como una serie de datos organizados y relacionados entre sí, los cuales son recolectados y explotados por los sistemas de información de una empresa o negocio en particular.

1.4 Las Bases de Datos son programas que administran información y hacen más ordenada la información, aparte de hacerla fácil de buscar. Sus características pueden ser ventajosas o desventajosas: pueden ayudarnos para almacenar, organizar, recuperar, comunicar y manejar información en formas que serían imposibles sin los computadores.

1.5 Es la colección de información, que está organizada de forma tal que su contenido sea fácilmente accesado, administrado y actualizado.

BASES DE DATOS RELACIONALES

TEMA 2

Definiciones

2.1 El modelo relacional de bases de datos define un conjunto de datos en función de una serie de tablas relacionadas entre si. Las tablas están compuestas por filas (registros) y columnas (atributos) Las bases de datos relacionales son el tipo de bases de datos actualmente más difundido.

2.2 Conjunto de relaciones cuya estructura se especifica en el esquema relacional.
2.2.1 Base de datos donde la información se arregla en tablas y sus dependencias se mapean como relaciones entre dos o más tablas.

2.3 Sistema de almacenamiento de datos basado en un conjunto de tablas unidas mediante relaciones.

2.4 Almacena información en tablas y realiza búsquedas utilizando los datos de columnas especificadas de una tabla para encontrar datos adicionales en otra tabla

2.5 Una base de datos relacional es una base de datos en donde todos los datos visibles al usuario están organizados estrictamente como tablas de valores, y en donde todas las operaciones de la base de datos operan sobre estas tablas.

SQL

TEMA 3

Conceptos

3.1 lenguaje creado por IBM para el acceso a la información en una base de datos y poder así gestionar entradas, borrarlas, ponerlas al día, etc. Las bases de datos SQL son más robustas y fiables que las bases de datos del campo de la ofimática. English: SQL. Euskara: SQL

3.2 El Lenguaje de consulta estructurado (SQL [/esecuele/ en español, /sicuèl/ en inglés] Structured Query Language ) es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones sobre las mismas. Una de sus características es el manejo del álgebra y el cálculo relacional permitiendo lanzar consultas con el fin de recuperar información de interés de una base de datos, de una forma sencilla. Es un lenguaje de cuarta generación (4GL)."

CARACTERISTICAS DE EL LENGUAJE DE PROGRAMACION SQL

TEMA 4

CARACTERISTICAS

El lenguaje de programacion SQL crea y manipula datos a travez de lenguajes proporcionados por el motor e bases de datos estos lenguajes son el DDL y el DML

4.1Lenguaje de definición de datos

Un lenguaje de definición de datos (Data Definition Language, DDL por sus siglas en inglés) es un lenguaje proporcionado por el sistema de gestión de base de datos que permite a los usuarios de la misma llevar a cabo las tareas de definición de las estructuras que almacenarán los datos así como de los procedimientos o funciones que permitan consultarlos.
El lenguaje de programación SQL, el más difundido entre los gestores de bases de datos, admite las siguientes sentencias de definición:
CREATE
DROP
ALTER
cada una de las cuales se puede aplicar a las tablas, vistas, procedimientos almacenados y triggers de la base de datos.
Otras que se incluyen dentro del DDL, pero que su existencia depende de la implementación del estándar SQL que lleve a cabo el gestor de base de datos son:
GRANT
REVOKE
los cuales sirven para otorgar permisos o quitarlos, ya sea a usuarios específicos o a un rol creado dentro de la base de datos.

4.2Lenguaje de Manipulación de Datos

Un Lenguaje de Manipulación de Datos (Data Manipulation Language (DML) es un lenguaje proporcionado por el sistema de gestión de base de datos que permite a los usuarios de la misma llevar a cabo las tareas de consulta o manipulación de los datos, organizados por el modelo de datos adecuado.
El lenguaje de manipulación de datos más popular hoy día es SQL, usado para recuperar y manipular datos en una base de datos relacional. Otros ejemplos de DML son los usados por bases de datos IMS/DL1, CODASYL u otras.



TECNOLOGIAS DE ACCESO A DATOS

OLE DB

es una interfaz de programación de aplicaciones (API) basada en COM para el acceso a datos. OLE DB admite el acceso a datos almacenados en cualquier formato (bases de datos, hojas de cálculo, archivos de texto, etc.) para el que haya un proveedor OLE DB disponible. Cada proveedor OLE DB expone datos en un tipo particular de origen de datos (como bases de datos de SQL Server, bases de datos de Microsoft Access u hojas de cálculo de Microsoft Excel).
Un proveedor OLE DB es una biblioteca DLL que administra un origen de datos específico e interactúa con él. Un origen de datos OLE DB identifica la base datos específica a la que se puede tener acceso mediante OLE DB. Aunque los orígenes de datos en los que se realizan consultas a través de definiciones de servidores vinculados son bases de datos normales, existen proveedores OLE DB para una amplia variedad de archivos y formatos de archivo. Se trata de archivos de texto, datos de hojas de cálculo y los resultados de búsquedas de contenido de texto.


ODBC
Open Database Connectivity (ODBC) es un estándar de acceso a Bases de Datos desarrollado por Microsoft Corporation, el objetivo de ODBC es hacer posible el acceder a cualquier dato desde cualquier aplicación, sin importar qué Sistema Gestor de Bases de Datos (DBMS por sus siglas en inglés) almacene los datos, ODBC logra esto al insertar una capa intermedia llamada manejador de Bases de Datos, entre la aplicación y el DBMS, el propósito de esta capa es traducir las consultas de datos de la aplicación en comandos que el DBMS entienda. Para que esto funcione tanto la aplicación como el DBMS deben ser compatibles con ODBC, esto es que la aplicación debe ser capaz de producir comandos ODBC y el DBMS debe ser capaz de responder a ellos. Desde la versión 2.0 el estandar soporta SAG y SQL.
Para conectarse a la Base de Datos se crea una DSN dentro del ODBC que define los parámetros, ruta y características de la conexión según los datos que solicite el fabricante.

http://es.wikipedia.org/wiki/Open_Database_Connectivity

JDBC

JDBC es el acrónimo de Java Database Connectivity, un API que permite la ejecución de operaciones sobre bases de datos desde el lenguaje de programación Java independientemente del sistema de operación donde se ejecute o de la base de datos a la cual se accede utilizando el dialecto SQL del modelo de base de datos que se utilice.
El API JDBC se presenta como una colección de interfaces Java y métodos de gestión de manejadores de conexión hacia cada modelo específico de base de datos. Un manejador de conexiones hacia un modelo de base de datos en particular es un conjunto de clases que implementan interfaces Java y que utilizan los métodos de registro para declarar los tipos de localizadores a base de datos ([URL]) que pueden manejar. Para utilizar una base de datos particular, el usuario ejecuta su programa junto con la librería de conexión apropiada al modelo de su base de datos, y accede a ella estableciendo una conexión, para ello provee en localizador a la base de datos y los parámetros de conexión específicos. A partir de allí puede realizar con cualquier tipo de tareas con la base de datos a las que tenga permiso: consultas, actualizaciones, creado modificado y borrado de tablas, ejecución de procedimientos almacenados en la base de datos, etc. Es importante resaltar que la conectividad y apertura de controles nos permitiría una mejor interconexión de sistemas heterogéneos. En la actualidad existen ODBC para muchos sistemas de bases datos, tales como Informix, Access, PostgreSQL, MySQL, Oracle y SQL Server.
http://es.wikipedia.org/wiki/Open_Database_Connectivity

ActiveX Data Objects (ADO)

es uno de los mecanismos que usan los programas de computadoras para comunicarse con las bases de datos, darles órdenes y obtener resultados de ellas.
Con ADO, un programa puede leer, insertar, editar, o borrar, la información contenida en diferentes áreas de almacenamiento dentro de la base de datos llamadas tablas. Además, se puede manipular la propia base de datos para crear nuevas áreas para el almacenamiento de información (tablas), como también alterar o eliminar las ya existentes, entre otras cosas.
Fue desarrollado por Microsoft y es usado en ambientes Windows por lenguajes de programación como Visual Basic, C++, Delphi entre otros, como también en la Web mediante el uso de Active Server Pages (ASP) y el lenguaje VBScript.
http://es.wikipedia.org/wiki/ActiveX_Data_Objects

(Microsoft ActiveX Data Objects - ADO).
Conjunto de objetos COM para el acceso a recursos de datos. Prevee una capa entre los lenguajes de programación y las bases de datos OLE, lo que permite a los programadores escribir programas que accedan a datos, sin saber cómo está implementada la base de datos (sólo se debe tener cuidado en la conexión a la misma). Tampoco es necesario conocer sobre SQL cuando se usa ADO, aunque también pueden utilizarse comandos SQL, pero esto crearía en el programa una dependencia del tipo de base de datos usado.En otras palabras, ADO es un mecanismo que utilizan los programas para comunicarse con las bases de datos. Forma parte de lenguajes como Visual Basic, Delphi, ASP, etc. La versión ADO.NET forma parte de la plataforma de programación .NET de Microsoft.ADO fue introducido por Microsoft en 1996, y sustituyó tanto a DAO (Data Access Object), como a RDO (Remote Data Object), ambos sistemas se utilizaban antes para acceder a las bases de datos locales y remotas respectivamente.
http://es.wikipedia.org/wiki/ADO.NET



ADO.NET

es un conjunto de clases que exponen servicios de acceso a datos para el programador de .NET. ADO.NET ofrece abundancia de componentes para la creación de aplicaciones de uso compartido de datos distribuidas. Constituye una parte integral de .NET Framework y proporciona acceso a datos relacionales, XML y de aplicaciones. ADO.NET satisface diversas necesidades de desarrollo, como la creación de clientes de base de datos de aplicaciones para usuario y objetos empresariales de nivel medio que utilizan aplicaciones, herramientas, lenguajes o exploradores de Internet.
http://msdn2.microsoft.com/es-es/library/e80y5yhx(VS.80).aspx


DAO

Data Access Objects (DAO, Objetos de Acceso a Datos) es una interfaz orientada a objetos creada por Microsoft la cual permitía a las primeras versiones de Microsoft Access y Visual Basic utilizar el motor de base de datos Jet. Posteriormente (en la versión 3.5) fue capaz de realizar un bypass al motor Jet y directamente acceder a las fuentes de datos ODBC, incluyendo Microsoft SQL Server y otros sistemas de bases de datos de empresa. DAO 3.6 fue la versión final desarrollada por Microsoft. Microsoft dice que DAO no estará disponible en los futuros sistemas operativos de 64-bit.
DAO funciona creando un objeto "Workspace" en el cual se realizan todas las operaciones de base de datos. El objeto workspace existe como un objeto sesión que existe dentro de un más amplio objeto motor de base de datos. Hay dos tipos de motores de base de datos: el objeto motor de base de datos Jet, y un motor de base de datos ODBCDirect.
El objeto motor de base de datos Jet se compone de varios objetos: un objeto workspace y una serie de objetos error. El objeto workspace se compone de objetos usuario y grupo, y un objeto base de datos. El objeto base de datos se compone de objetos contenedor los cuales se componente de contenedores de objetos, objetos definición de consulta (QueryDef), objetos Recordset los cuales están definidos por un conjunto de objetos campo, objetos relación los cuales muestran la relación entre los diferentes campos en la base de datos, y objetos definición de tabla (TableDef) los cuales se componen de campos e índices de los campos seleccionados.
El motor de base de datos ODBCDirect se compone de un objeto workspace y de un objeto errors. La principal diferencia entre este motor de base de datos y el motor de base de datos Jet es que el objeto workspace es diferente en que solo se compone de series de objetos conexión ODBC y el objeto base de datos se compone de series de objetos recordset(conjunto de datos). Los objetos conexión ODBC se componen de objetos QueryDef y objetos recordset.
http://es.wikipedia.org/wiki/Data_Access_Objects









JAVA

Es un lenguaje de programación orientado a objetos desarrollado por Sun Microsystems a principios de los años 90. El lenguaje en sí mismo toma mucha de su sintaxis de C y C++, pero tiene un modelo de objetos más simple y elimina herramientas de bajo nivel, que suelen inducir a muchos errores, como la manipulación directa de punteros o memoria.
Las aplicaciones Java están típicamente compiladas en un bytecode, aunque la compilación en código máquina nativo también es posible. En el tiempo de ejecución, el bytecode es normalmente interpretado o compilado a código nativo para la ejecución, aunque la ejecución directa por hardware del bytecode por un procesador Java también es posible.
La implementación original y de referencia del compilador, la máquina virtual y las librerías de clases de Java fueron desarrollados por Sun Microsystems en 1995. Desde entonces, Sun ha controlado las especificaciones, el desarrollo y evolución del lenguaje a través del Java Community Process, si bien otros han desarrollado también implementaciones alternativas de estas tecnologías de Sun, algunas incluso bajo licencias de software libre.
Entre noviembre de 2006 y mayo de 2007, Sun Microsystems liberó la mayor parte de sus tecnologías Java bajo la licencia GNU GPL, de acuerdo con las especificaciones del Java Community Process, de tal forma que prácticamente todo el Java de Sun es ahora software libre (aunque la biblioteca de clases de Sun que se requiere para ejecutar los programas Java todavía no es software libre).
http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_Java

CARACTERISTICAS DE JAVA

Lenguaje simple
Java posee una curva de aprendizaje muy rápida. Resulta relativamente sencillo escribir applets interesantes desde el principio. Todos aquellos familiarizados con C++ encontrarán que Java es más sencillo, ya que se han eliminado ciertas características, como los punteros. Debido a su semejanza con C y C++, y dado que la mayoría de la gente los conoce aunque sea de forma elemental, resulta muy fácil aprender Java. Los programadores experimentados en C++ pueden migrar muy rápidamente a Java y ser productivos en poco tiempo.
Orientado a objetos
Java fue diseñado como un lenguaje orientado a objetos desde el principio. Los objetos agrupan en estructuras encapsuladas tanto sus datos como los métodos (o funciones) que manipulan esos datos. La tendencia del futuro, a la que Java se suma, apunta hacia la programación orientada a objetos, especialmente en entornos cada vez más complejos y basados en red.
Distribuido
Java proporciona una colección de clases para su uso en aplicaciones de red, que permiten abrir sockets y establecer y aceptar conexiones con servidores o clientes remotos, facilitando así la creación de aplicaciones distribuidas.
Interpretado y compilado a la vez
Java es compilado, en la medida en que su código fuente se transforma en una especie de código máquina, los bytecodes, semejantes a las instrucciones de ensamblador.Por otra parte, es interpretado, ya que los bytecodes se pueden ejecutar directamente sobre cualquier máquina a la cual se hayan portado el intérprete y el sistema de ejecución en tiempo real (run-time).
Robusto
Java fue diseñado para crear software altamente fiable. Para ello proporciona numerosas comprobaciones en compilación y en tiempo de ejecución. Sus características de memoria liberan a los programadores de una familia entera de errores (la aritmética de punteros), ya que se ha prescindido por completo los punteros, y la recolección de basura elimina la necesidad de liberación explícita de memoria.
Seguro (?)
Dada la naturaleza distribuida de Java, donde las applets se bajan desde cualquier punto de la Red, la seguridad se impuso como una necesidad de vital importancia. A nadie le gustaría ejecutar en su ordenador programas con acceso total a su sistema, procedentes de fuentes desconocidas. Así que se implementaron barreras de seguridad en el lenguaje y en el sistema de ejecución en tiempo real.
Indiferente a la arquitectura
Java está diseñado para soportar aplicaciones que serán ejecutadas en los más variados entornos de red, desde Unix a Windows Nt, pasando por Mac y estaciones de trabajo, sobre arquitecturas distintas y con sistemas operativos diversos. Para acomodar requisitos de ejecución tan variopintos, el compilador de Java genera bytecodes: un formato intermedio indiferente a la arquitectura diseñado para transportar el código eficientemente a múltiples plataformas hardware y software. El resto de problemas los soluciona el intérprete de Java.
Portable
La indiferencia a la arquitectura representa sólo una parte de su portabilidad. Además, Java especifica los tamaños de sus tipos de datos básicos y el comportamiento de sus operadores aritméticos, de manera que los programas son iguales en todas las plataformas. Estas dos últimas características se conocen como la Máquina Virtual Java (JVM).

BIBLIOGRAFIA

En construccion