Informacion

La siguiente publicación empezaremos con SQL solo escribiré teoría para explicar cada consulta y al terminar la introducción SQL ya empezaremos con ADO.NET, lo de base de datos solo estoy explicando un poco no estoy afondo en la explicación del  tema.

 

 

Saludos

Entidades y atributos

La información almacenada en una base de datos pertenece a generalmente a objetos reales que es posible identificar fácilmente. Esos objetos cuentan con una serie de propiedades. Por ejemplo, un libro tiene un titulo, un editorial, un autor, un ISBN, un precio, un numero de paginas, etc. Toda la información de ese objeto formaría una entidad, mientras que cada dato seria un atributo de la entidad. Los atributos de una entidad se parten en una fila ocupando cada atributo en una columna.

Estructura de datos

Los RDBMS introducen la información en las tablas que pueden ser consideradas como conjunto de entidades cada una de las cuales tiene una serie de atributos. Los atributos almacenan datos en un cierto dominio y en algunas ocasiones sirven para establecer relaciones con otras entidades. Los puntos siguientes son un recorrido rápido por los conceptos mas importantes relativos a la estructura  de la información en un RDBMS, independiente de cual sea este.

Proveedores y Controladores

Nosotros contamos con los servicios de ADO.NET para acceder a los orígenes de datos utilizando para ello un modelo de objetos y componentes que veremos mas adelante. ADO.NET a su vez precisa de otros elementos para poder efectuar su trabajo, entre ellos los proveedores y los controladores .

 

Un proveedor ADO.NET es una implementación especifica de una serie de componentes que facilitan el acceso a un determinado orígenes de datos. Visual Basic .NET incorpora por defecto dos proveedores de datos .NET: uno para SQL Server y otro capaz de emplear cualquier controlador OLEDB, hay disponibles dos mas que son uno para Oracle y el dirigido al uso de un controlador ODBC.

Los proveedores .NET aparecen, desde el punto de vista del desarrollador, como una serie de definiciones de clases alojadas en un ámbito con nombre o namespace, clases que pueden usar para acceder a un determinado origen de datos. El proveedor de datos SQL Server y Oracle son específicos comunicándose directamente con el software cliente de esas bases de datos sin intermediario alguno. Los proveedores OLE DB y ODBC, por el contrario son de tipo genérico diseñados para aprovechar todos los controladores que ya hay disponibles de esos dos tipos.

En la siguiente figura puede ver representado dos supuestos en los que un cliente necesita acceder a dos orígenes de datos diferentes: una base de datos SQL Server y una base de datos IBM DB2. En el primer caso puesto que existe un proveedor .NET especifico, el cliente tan solo precisa el software cliente de SQL Server y ya, el segundo, por el contrario, no existe ese proveedor especifico pero si un controlador ODBC que sabe como comunicarse con el software cliente de DB2. Utilizamos por tanto el proveedor genérico ODBC .NET que a su vez empleara el controlador ODBC adecuado.

El acceso con proveedores genéricos implica mas carga de proceso y por tanto un menor rendimiento en la aplicación. En algunas ocasiones sin embargo puede ser la única vía para poder llegar a cierta informació

 

 

Servicio de Acceso a Datos

Aunque ciertos tipos de información son accesibles para el usuario mediante aplicaciones especializadas, por ejemplo Microsoft Excel para las hojas de calculo o Paradox para las bases de datos propias de Paradox, en la mayoría de los casos el usuario necesitara una solución a medida de sus necesidades en lugar de otra general. No será lógico por ejemplo que los usuarios utilicen el software de administración para operar directamente sobre un servidor de datos como SQL Server u Oracle. Aparte de complejo para aquellos que no tienen conocimiento  de bases de datos y del leguaje SQL, esa posibilidad pondría en peligro la propia seguridad de los datos.

 

ADO.NET, a demás de ser una solución global para el acceso ala información no necesitamos otros servicios según el tipo de dato con lo que vayamos a trabajar. Como se indica anteriormente con ADO.NET podemos tanto operar sobre archivos XML, documentos Excel, base de datos locales y remotas, etc.

Arquitectura Cliente/Servidor

Durante años las bases de datos se han utilizado en sistemas que se ajustaban a una arquitectura conocida como cliente/servidor. En ella los datos residen en un ordenador que actúa como servidor, ejecutando el software que denominábamos servidor de datos. Los usuarios desde ordenadores remotos sirven d un software cliente para comunicarse con el servidor de datos. Ese software cliente es especifico para cada servidor de datos existente.

Supongamos que esta utilizando SQL Server como servidor de datos, estando instalado dicho software en una maquina que reside en un centro de proceso de datos. Desde su ordenador, ubicado en otra planta del mismo edificio, se comunicaría con ese servidor mediante el software cliente de SQL Server, instalado en la maquina. Dicho software cliente no serviria para comunicar con un servidor Oracle o DB2, por poner un caso, teniendo que disponer del software cliente que corresponda en cada caso.

 

En la siguiente imagen se puede ver representada una típica configuración cliente/servidor. Concretamente aparece un servidor de datos, en la parte superior y varios clientes en la inferior . Aunque dicha imagen no se ha representado, se supone que tanto clientes como servidor tienen sus respectivos paquetes de software instalados.

DBMS Y RDBMS

Los servidores de bases de datos son sistemas de administración de información o DBMS, aplicaciones cuyo objetivo no es solo almacenar y recuperar datos , si no también facilitar la manipulación de estos de la forma mas eficiente y segura.

Un servidor de datos debe elaborar la información que va a devolver al cliente a partir de los datos recuperados del sistema de archivos usando para ellos diferentes estructuras físicas así como asegurar su integridad verificando restricciones y utilizando transacciones, temas que se tratan de inmediato.

 

Aunque en un principio surgieron DBMS de distintos tipos, según la estructura con la que se almacena la información los mas extendidos y conocidos son los RDBMS, llamados así porque los datos se estructuran con ciertas relaciones entre ellos, simplificando la recuperación y el tratamiento y evitando la repetición innecesaria de información. Algunos ejemplos de RDBMS son los ya mencionados SQL Server, Oracle, DB2 o InterBase.

Base de Datos

El origen de datos por excelencia es la Base de Datos. Una base de datos pueden definirse como uno o mas archivos en los que se almacenan los datos en los que almacenan los datos y toda la información que describe su estructura, fundamental para poder operar sobre ellos. Las bases de datos pueden ser de distintas categorías, siendo el tipo mas habitual el de las bases de datos relacionales.

Por otra parte las bases de datos también se dividen en dos calases: base de datos de escritorio y servidores de base de datos. Las primeras están dirigidas principalmente a usuarios con ciertos conocimientos que le permitan crear y mantener sus estructuras de información, razón por la cual estas bases de datos cuentan con una interfaz de usuario bastante completa y amigable.  Es el caso de Microsoft Access, dBase o Paradox, también se caracterizan por no contar con un middleware que permita tener el software en una maquina y los datos en otra distinta, es decir, son bases de datos locales.

Se llama servidor de datos a una aplicación que se encarga de manipular físicamente los datos, ocupándose de su almacenamiento y recuperación de los archivos en los que se encuentran.  De esta forma las aplicaciones no tiene que conocer la estructura de dichos archivos, limitándose a solicitar al servidor las operaciones que quiere efectuar. También suele conocerse como servidor de datos al ordenador en el que se ejecuta dicha aplicación.

Aunque una base de datos de escritorio o local pude colocarse en una unidad compartida de red, facilitando el acceso a ella desde diferentes puestos , no es la configuración mas adecuada para construir una acceso multiusuario. En este caso resulta mucho mas eficientes y seguros los servidores de base de datos .

Orígenes de Datos

Los servicios de acceso a datos .NET, conocidos como ADO.NET, pueden ser usados para operar sobre orígenes de datos diversos, no exclusivamente sobre lo que se conoce como base de datos.

Un origen de datos puede ser una base de datos SQL server, un documento XML, una hoja de calculo de Microsoft Excel, el directorio activo de Windows, en general, cualquier recurso para que exista un proveedor de datos .NET.

El origen de datos, por tanto, es el recurso ya sea local o remoto, del que va extraerse o del que se va introducir información, teniendo un sentido mucho mas amplio que el de la base de datos. En el texto encontrara ambas expresiones, la primera cuando se quiere dar un sentido general y la segunda al hacer referencia concreta a un DBMS.

Utilizando el paradigma del origen de datos, sin asumir su localización, estructura, naturaleza, ADO.NET es realmente un mecanismo de acceso a datos universal. Esto tiene como ventaja fundamental el ahorro de trabajo para el desarrollador, al no tener que recurrir a sistemas diferentes dependiendo de los datos que se pretendan manipular o recuperar.

ADO.NET participa como intermediario entre las aplicaciones y los posibles orígenes de datos, utilizando para ellos diversos proveedor de acceso.