sábado, 17 de junio de 2017



ESPACIO DE NOMBRES SYSTEM.DATA. SQLCLIENT

1.CONTENIDO
·       Definición
Los espacios de nombres (namespaces) son uno de los pilares que conforman los cimientos de XML. En general, en informática, un namespace o espacio de nombres es un medio para organizar clases dentro de un entorno, agrupándolas de un modo más lógico y jerárquico.
El espacio de nombres System.Data proporciona acceso a las clases que representan la arquitectura de ADO.NET. ADO.NET permite crear componentes que administran datos de varios orígenes de datos con eficacia.
Es un proveedor de datos de .NET Framework para SQL Server describe una colección de clases utilizada para tener acceso a una base de datos de SQL Server en el espacio administrado. Al utilizar SqlDataAdapter, se puede rellenar un DataSet residente en memoria, que sirve para consultar y actualizar la base de datos.

·       Clases
v SqlClientPermission Habilita el proveedor de datos de .NET Framework para SQL Server para garantizar que un usuario tiene el nivel de seguridad adecuado para obtener acceso a un origen de datos.
v SqlClientPermissionAttribute Asocia una acción de seguridad a un atributo de seguridad personalizado.
v SqlCommand Representa un procedimiento almacenado o una instrucción de Transact-SQL que se ejecuta en una base de datos de SQL Server. Esta clase no se puede heredar.
v SqlCommandBuilder Genera automáticamente, en una sola tabla, los comandos que se utilizan para reconciliar los cambios realizados en un DataSet con la base de datos de SQL Server asociada. Esta clase no se puede heredar.
v SqlConnection Representa una conexión abierta con una base de datos de SQL Server. Esta clase no se puede heredar.
v SqlDataAdapter Representa un conjunto de comandos de datos y una conexión de base de datos que se utilizan para rellenar un DataSet y actualizar una base de datos de SQL Server. Esta clase no se puede heredar.
v SqlDataReader Proporciona una forma de leer una secuencia de filas sólo hacia delante en una base de datos de SQL Server. Esta clase no se puede heredar.
v SqlError Recopila información relevante para una advertencia o un error devuelto por SQL Server. Esta clase no se puede heredar.
v SqlErrorCollection Recopila todos los errores generados por el proveedor de datos de .NET Framework para SQL Server. Esta clase no se puede heredar.
v SqlException La excepción que se inicia cuando SQL Server devuelve una advertencia o un error. Esta clase no se puede heredar.
v SqlInfoMessageEventArgs Proporciona datos para el evento InfoMessage. Esta clase no se puede heredar.
v SqlParameter Representa un parámetro de un SqlCommand y, de manera opcional, su asignación a columnas de DataSet. Esta clase no se puede heredar.
v SqlParameterCollection Representa una colección de parámetros relevantes para SqlCommand, así como las asignaciones correspondientes a las columnas de DataSet. Esta clase no se puede heredar.
v SqlRowUpdatedEventArgs Proporciona datos para el evento RowUpdated. Esta clase no se puede heredar.
v SqlRowUpdatingEventArgs Proporciona datos del evento RowUpdating. Esta clase no se puede heredar.
v SqlTransaction Representa una transacción de Transact-SQL que se realiza en una base de datos de SQL Server. Esta clase no se puede heredar.
·       Delegados

*      OnChangeEventHandler:Controla el OnChange evento que se desencadena cuando se recibe una notificación para cualquiera de los comandos asociados a un SqlDependency objeto.

*      SqlInfoMessageEventHandler:Representa el método que controlará el evento InfoMessage de SqlConnection.

*      SqlRowsCopiedEventHandler:Representa el método que controla el evento SqlRowsCopied de SqlBulkCopy.

*      SqlRowUpdatedEventHandler:Representa el método que controlará el evento RowUpdated de SqlDataAdapter.

*      SqlRowUpdatingEventHandler:Representa el método que controlará el evento RowUpdating de SqlDataAdapter.



·         Enumeraciones

ü  ApplicationIntent:Especifica un valor para ApplicationIntent. Los valores posibles son ReadWrite y ReadOnly.
ü  PoolBlockingPeriod:Especifica un valor para PoolBlockingPeriod Propiedad.
ü  SortOrder:Especifica cómo se ordenan las filas de datos.
ü  SqlAuthenticationMethod:Describe los diferentes métodos de autenticación de SQL que puede usar un cliente que se conecta a la base de datos SQL de Azure. Para obtener más información, consulte Connecting to SQL Database By Using Azure Active Directory Authentication.
ü  SqlBulkCopyOptions :Marca bit a bit que especifica una o varias opciones que se van a usar con una instancia de SqlBulkCopy.
ü  SqlCommandColumnEncryptionSetting:Especifica cómo se enviarán y recibirán los datos al leer y editar columnas cifradas. Según su consulta específica, el impacto en el rendimiento puede reducirse omitiendo el procesamiento del controlador Siempre cifrado cuando no se usan columnas sin cifrar. Tenga en cuenta que no se puede usar esta configuración para omitir el cifrado y obtener acceso a datos de texto no cifrado. Para obtener más información, vea Always Encrypted (Database Engine)
ü  SqlConnectionColumnEncryptionSetting:Especifica que la funcionalidad de siempre cifrado está habilitada en una conexión. Tenga en cuenta que no se puede usar esta configuración para omitir el cifrado y obtener acceso a datos de texto no cifrado. Para obtener más información, consulte Always Encrypted (Database Engine).
ü  SqlNotificationInfo:Esta enumeración proporciona información adicional sobre las diferentes notificaciones que puede ser recibido por el controlador de eventos de dependencia.
ü  SqlNotificationSource:Indica el origen de la notificación recibida por el controlador de eventos de dependencia.
ü  SqlNotificationType:Describe los diferentes tipos de notificación que pueden recibir un OnChangeEventHandler el controlador de eventos a través de la SqlNotificationEventArgs parámetro.

·       Ejemplos
a.      Siga estos pasos para crear una nueva aplicación de consola de Visual J#. NET:
Inicie Visual Studio. NET.
b.      En el menú archivo, elija nuevo y, a continuación, haga clic en proyecto.
c.       En el cuadro de diálogo Nuevo proyecto , haga clic en Proyectos de Visual J# en Tipos de proyectoy, a continuación, haga clic en Aplicación de consola en plantillas.
2.      Asegúrese de que el proyecto contiene una referencia al espacio de nombres System.Data y agregue una referencia si no es así.
3.      Para que no tenga que suministrar declaraciones de dichos espacios de nombres más adelante en el código, utilice la instrucción import en el System.Data.SqlClient y los espacios de nombres System.Data.OleDb .
import System.Data.SqlClient.*;import System.Data.OleDb.*;
import System.Data.*;

4.      Antes de poder crear una conexión a una base de datos, debe tener una cadena de conexión. Cadenas de conexión contienen toda la información que necesita para establecer una conexión de base de datos, incluyendo el nombre del servidor, el nombre de la base de datos, el identificador de usuario y la contraseña. Evite utilizar la cuenta SA. Por ejemplo, la cadena de conexión siguiente señala a un equipo local que ejecuta SQL Server con una cuenta de < username > y una fuerte contraseña < strong >:

Para las conexiones OleDb:
Provider=SQLOLEDB.1;User ID=<username>;Password=<strong password>;Initial Catalog=pubs;Data Source=(local)
Para las conexiones de SqlClient:
User ID=<username>;Initial Catalog=pubs;Data Source=(local)
Nota: si necesita más ayuda para determinar la cadena de conexión para la base de datos, busque "ConnectionString" en Microsoft Developer Network (MSDN) Library en el sitio Web de Microsoft siguiente:
5.      Visual Studio crea una clase estática y un procedimiento Main() vacío. Declare una variable de cadena y almacene la cadena de conexión apropiada para la base de datos en este procedimiento:
public static void main(String[] args){
//
// TODO: Add code to start application here
//
String sConnectionString = "User ID=<username>;Initial Catalog=pubs;Data Source=mysource1;Password=<strong password>";

}

6.      Con esta cadena de conexión, cree un nuevo objeto OleDbConnection o SqlConnection y llamar a su método Open para establecer una conexión con la base de datos:
SqlConnection objConn = new SqlConnection(sConnectionString);objConn.Open();

7.      Crear objeto OleDbCommand o SqlCommand y pase el comando que desea ejecutar y el objeto de conexión que creó en el paso anterior. El código de ejemplo siguiente pasa la instrucción INSERT:
String sSQL = "INSERT INTO Employee " + "(emp_id, fname, minit, lname, job_id, job_lvl,pub_id, hire_date) " + "VALUES ('MSD12923F', 'Duncan', 'W', 'Mackenzie',10,82,'0877','2001-01-01')";SqlCommand objCmd = new SqlCommand(sSQL,objConn);

8.      Después de crear el objeto OleDbCommand o SqlCommand , puede llamar al método ExecuteNonQuery para ejecutar el comando que representa. ExecuteNonQuery está diseñado para comandos que no devuelven ningún resultado (como DELETE, la actualización y las instrucciones INSERT). Si la instrucción Execute se ejecuta sin desencadenar una excepción (vea el código siguiente), el comando se ha ejecutado correctamente en la base de datos.
objCmd.ExecuteNonQuery();
9.      Modifique la cadena de conexión según corresponda para su entorno y, a continuación, guarde el proyecto. En el menú Depurar , haga clic en Iniciar para ejecutar el comando contra la base de datos.
Cómo utilizar parámetros
Cuando ejecuta los comandos contra una base de datos (tales como la UPDATE, INSERT y DELETE instrucciones o llamadas a procedimientos almacenan), estos comandos suelen tener parámetros. Esto permite que el comando se crea una vez y ejecutarse varias veces con diferentes valores que se insertan en lugar de parámetros. Considere la instrucción DELETE correspondiente a la instrucción INSERT que se utiliza en la sección anterior:
String sSQL  = "DELETE FROM Employee WHERE emp_id = @emp_id";
El nombre de parámetro ("@emp_id") de esta instrucción DELETE representa un parámetro que puede reemplazar con valores diferentes cada vez que ejecute el comando.

Para utilizar parámetros con el comando, siga estos pasos:

1.      Cree un objeto OleDbConnection o SqlConnection , como hizo en la sección "cómo ejecutar un comando".
2.      Reemplace los valores por marcadores de posición (por ejemplo, "@emp_id" o "@fname") para que el texto del comando utilice parámetros. Vea la instrucción DELETE antes de estos pasos para obtener un ejemplo.
3.      Cree un objeto OleDbCommand o SqlCommand y pase el objeto de conexión que creó en el primer paso y el texto del comando que contiene los marcadores de posición de parámetro.
4.      Obtiene la colección de parámetros del objeto command:
SqlParameterCollection ParamColl = objCmd.get_Parameters();
5.      Para cada parámetro, agregue un objeto de parámetro a la colección de parámetros del objeto command. Para cada parámetro, debe especificar un nombre y tipo de datos.
ParamColl.Add("@emp_id",SqlDbType.Char,9);
6.      Los procedimientos almacenados pueden tener parámetros que devuelvan valores y parámetros de salida. También debe establecer un valor para cada parámetro de entrada para poder ejecutar la consulta:
ParamColl.get_Item("@emp_id").set_Value((System.String)"MSD12923F");
7.      Ejecute la consulta como sigue:
try {
objCmd.ExecuteNonQuery();
}
catch (System.Exception e)
{
Console.WriteLine(e.Message);
}
Console.WriteLine("Record Deleted");
2.RESUMEN

Entre los espacios de nombres de .NET Framework relativos a datos y XML se incluyen:
System.Data: consiste en clases que constituyen la arquitectura ADO.NET, que es el método principal para tener acceso a los datos de las aplicaciones administradas. La arquitectura ADO.NET permite crear componentes que administran eficazmente los datos procedentes de múltiples orígenes. ADO.NET también proporciona las herramientas necesarias para solicitar, actualizar y reconciliar datos en aplicaciones distribuidas.
System.Data.Common: contiene clases que comparten los proveedores de datos .NET Framework. Dichos proveedores describen una colección de clases que se utiliza para obtener acceso a un origen de datos, como una base de datos, en el espacio administrado.
System.Xml: contiene clases que proporcionan funcionalidad basada en estándares para procesar código XML.
System.Data.OleDb: clases que constituyen el proveedor de datos de .NET Framework para orígenes de datos compatibles con OLE DB. Estas clases permiten conectarse a un origen de datos OLE DB, ejecutar comandos en el origen y leer los resultados.
System.Data.SqlClient: clases que constituyen el proveedor de datos de .NET Framework para SQL Server, que permite conectarse a un origen de datos SQL Server 7.0, ejecutar comandos y leer los resultados. El espacio de nombres System.Data.SqlClient es similar al espacio de nombres System.Data.OleDb, pero se optimiza para el acceso a SQL Server 7.0 y posterior.
System.Data.Sql: clases que admiten funcionalidad específica de SQL Server.
System.Data.SqlTypes: proporciona clases para los tipos de datos nativos de SQL Server. Estas clases proporcionan una alternativa más rápida y segura a otros tipos de datos.
Microsoft.SqlServer.Server: clases, interfaces y enumeraciones específicas en la integración de Common Language Runtime (CLR) de Microsoft .NET Framework en Microsoft SQL Server, y el entorno de ejecución de procesos del motor de base de datos de SQL Server.
System.Data.Odbc: clases que constituyen el proveedor de datos de .NET Framework para ODBC. Estas clases permiten el acceso a orígenes de datos ODBC en el espacio administrado.
System.Data.OracleClient: clases que constituyen el proveedor de datos de .NET Framework para Oracle. Estas clases permiten el acceso a orígenes de datos Oracle en el espacio administrado.
System.Transactions: clases que permiten escribir su propia aplicación transaccional y administrador de recursos. Específicamente, puede crear y participar en una transacción (local o distribuida) con uno o varios participantes.

3.SUMMARY

The .NET Framework namespaces for data and XML include:
System.Data: consists of classes that make up the ADO.NET architecture, which is the main method for accessing the data of managed applications. The ADO.NET architecture allows you to create components that efficiently manage data from multiple sources. ADO.NET also provides the tools you need to request, update, and reconcile data in distributed applications.
System.Data.Common: Contains classes that are shared by .NET Framework data providers. These providers describe a class collection that is used to access a data source, such as a database, in the managed space.
System.Xml contains classes that provide standards-based functionality for processing XML code.
System.Data.OleDb: Classes that constitute the .NET Framework data provider for OLE DB-compliant data sources. These classes connect to an OLE DB data source, execute commands on the source, and read the results.
System.Data.SqlClient: Classes that constitute the .NET Framework data provider for SQL Server, which allow you to connect to a SQL Server 7.0 data source, execute commands, and read the results. The System.Data.SqlClient namespace is similar to the System.Data.OleDb namespace, but is optimized for access to SQL Server 7.0 and later.
System.Data.Sql: Classes that support SQL Server-specific functionality.
System.Data.SqlTypes: Provides classes for native SQL Server data types. These classes offer a faster and more secure alternative to other types of data.
Microsoft.SqlServer.Server: Specific classes, interfaces, and enumerations in Microsoft .NET Framework Common Language Runtime (CLR) integration in Microsoft SQL Server, and the SQL Server database engine process execution environment.
System.Data.Odbc: classes that constitute the .NET Framework data provider for ODBC. These classes allow access to ODBC data sources in the managed space.
System.Data.OracleClient: classes that make up the .NET Framework data provider for Oracle. These classes allow access to Oracle data sources in the managed space.
System.Transactions: classes that allow you to write your own transactional application and resource manager. Specifically, you can create and participate in a transaction with one or more participants.
4.RECOMENDACIONES
Precaución ADO.NET 2.0 no admite los comandos asincrónicos en la memoria compartida de SQL Server 2000 o inferior. Sin embargo, puede forzar TCP en lugar de la memoria compartida. Para ello, ponga el prefijo tcp: delante del nombre del servidor en la cadena de conexión o puede utilizar el host local.
5.CONCLUSIONES
SqlConnection objeto representa una sesión única a un SQL Server origen de datos. Con un sistema de base de datos cliente/servidor, es equivalente a una conexión de red al servidor. SqlConnectionse utiliza junto con SqlDataAdapter y SqlCommand para aumentar el rendimiento cuando se conecta a Microsoft SQL Server base de datos. Para todas las aplicaciones de terceros SQL Server productos y otros orígenes de datos compatibles con OLE DB, utilizan OleDbConnection.
Cuando se crea una instancia de SqlConnection, todas las propiedades se establecen en sus valores iniciales. Para obtener una lista de estos valores, consulte el SqlConnection constructor.
Consulte ConnectionString para obtener una lista de las palabras clave en una cadena de conexión.
Si la SqlConnection queda fuera del ámbito, no se cerrará. Por lo tanto, debe cerrar la conexión explícitamente mediante una llamada a Close o Dispose. Closey Dispose son funcionalmente equivalentes. Si la agrupación de conexiones de los valores Pooling está establecido en true o yes, la conexión subyacente se devuelve a la agrupación de conexiones. Por otro lado, si Pooling está establecido en false o no, la conexión al servidor subyacente está cerrada realmente.

6.APRECIACIÓN
Los eventos de inicio y cierre de sesión no se provocarán en el servidor cuando se busque una conexión desde el grupo de conexiones o se devuelva a éste, puesto que la conexión no está cerrada realmente cuando se devuelve al grupo de conexiones. Para obtener más información, consulta Agrupación de conexiones en SQL Server (ADO.NET).
7.LINKOGRAFIA




domingo, 28 de mayo de 2017



DEFINICION

Un sistema gestor de base de datos (SGBD) es un conjunto de programas que permiten el almacenamiento, modificación y extracción de la información en una base de datos, además de proporcionar herramientas para añadir, borrar, modificar y analizar los datos. Los usuarios pueden acceder a la información usando herramientas específicas de consulta y de generación de informes, o bien mediante aplicaciones al efecto.
Estos sistemas también proporcionan métodos para mantener la integridad de los datos, para administrar el acceso de usuarios a los datos y para recuperar la información si el sistema se corrompe. Permiten presentar la información de la base de datos en variados formatos. La mayoría incluyen un generador de informes. También pueden incluir un módulo gráfico que permita presentar la información con gráficos y tablas.
Generalmente se accede a los datos mediante lenguajes de consulta, lenguajes de alto nivel que simplifican la tarea de construir las aplicaciones. También simplifican las consultas y la presentación de la información. Un SGBD permite controlar el acceso a los datos, asegurar su integridad, gestionar el acceso concurrente a ellos, recuperar los datos tras un fallo del sistema y hacer copias de seguridad. Las bases de datos y los sistemas para su gestión son esenciales para cualquier área de negocio, y deben ser gestionados con esmero.





COMPONENTES DE GESTION DE BASE DE DATOS

Los SGBD son paquetes de software muy complejos y sofisticados. No se puede generalizar sobre los elementos que componen un SGBD ya que varían mucho unos de otros. Sin embargo, es muy útil conocer sus componentes y cómo se relacionan cuando se trata de comprender lo que es un sistema de bases de datos.
Un SGBD tiene varios módulos, cada uno de los cuales realiza una función específica. El sistema operativo proporciona servicios básicos al SGBD, que es construido sobre él.
•          El procesador de consultas es el componente principal de un SGBD. Transforma las consultas en un conjunto de instrucciones de bajo nivel que se dirigen al gestor de la base de datos.
•          El gestor de la base de datos es el interfase con los programas de aplicación y las consultas de los usuarios. El gestor de la base de datos acepta consultas y examina los esquemas externo y conceptual para determinar qué registros se requieren para satisfacer la petición. Entonces el gestor de la base de datos realiza una llamada al gestor de ficheros para ejecutar la petición.
•          El gestor de ficheros maneja los ficheros en disco en donde se almacena la base de datos. Este gestor establece y mantiene la lista de estructuras e índices definidos en el esquema interno. Si se utilizan ficheros dispersos, llama a la función de dispersión para generar la dirección de los registros. Pero el gestor de ficheros no realiza directamente la entrada y salida de datos. Lo que hace es pasar la petición a los métodos de acceso del sistema operativo que se encargan de leer o escribir los datos en el buffer del sistema.

•          El preprocesador del LMD convierte las sentencias del LMD embebidas en los programas de aplicación, en llamadas a funciones estándar escritas en el lenguaje anfitrión. El preprocesador del LMD debe trabajar con el procesador de consultas para generar el código apropiado.
•          El compilador del LDD convierte las sentencias del LDD en un conjunto de tablas que contienen metadatos. Estas tablas se almacenan en el diccionario de datos.
•          El gestor del diccionario controla los accesos al diccionario de datos y se encarga de mantenerlo. La mayoría de los componentes del SGBD acceden al diccionario de datos.





PRINCIPALES COMPONENTES DEL GESTOR DE BASES DE DATOS

Control de autorización. Este módulo comprueba que el usuario tiene los permisos necesarios para llevar a cabo la operación que solicita.

Procesador de comandos. Una vez que el sistema ha comprobado los permisos del usuario, se pasa el control al procesador de comandos.

Control de la integridad. Cuando una operación cambia los datos de la base de datos, este módulo debe comprobar que la operación a realizar satisface todas las restricciones de integridad necesarias.

Optimizador de consultas. Este módulo determina la estrategia óptima para la ejecución de las consultas.

Gestor de transacciones. Este módulo realiza el procesamiento de las transacciones.

Planificador (scheduler). Este módulo es el responsable de asegurar que las operaciones que se realizan concurrentemente sobre la base de datos tienen lugar sin conflictos.

Gestor de recuperación. Este módulo garantiza que la base de datos permanece en un estado consistente en caso de que se produzca algún fallo.

Gestor de buffers. Este módulo es el responsable de transferir los datos entre memoria principal y los dispositivos de almacenamiento secundario. A este módulo también se le denomina gestor de datos.

ESQUEMA DE ACCESO DEL SGBD A LOS DATOS

Esquema externo aplicación 1:
CREATE VIEW Administrativo (dni, nombre, salario_men)
AS SELECT dni, nombre, salario/14
FROM Empleado
WHERE tipo=‘AD’
Esquema lógico:
Empleado(dni, nombre, dirección, salario, tipo)
CP: {dni}
Aplicación 1: accede a la información a través del esquema
externo 1
SELECT nombre, salario_men
FROM Administrativo
WHERE dni = parámetro
SGBD: control del acceso y resolución de la operación pedida
SO: Manipulación de los controladores de los dispositivos de

memoria secundaria





LENGUAJES DE MODULACIÓN:

En función del criterio que utilicemos para su clasificación. Agruparlos atendiendo al modelo de datos, número de usuarios o de sitios suele ser lo más habitual, si bien los modelos pueden obedecer a otras muchas pautas, según convenga desde un determinado enfoque práctico:
Si atendemos al modelo de datos, los gestores de bases de datos pueden ser:

   Modelo Relacional

Es un modelo de datos basado en la lógica de predicados y en la teoría de conjuntos.

  Modelo en Red

El modelo de red expande la estructura jerárquica, permitiendo relaciones N:N en una estructura tipo árbol que permite múltiples padres. Antes de la llegada del modelo relacional, el modelo en red era el más popular para las bases de datos. Este modelo de red (definido por la especificación CODASYL) organiza datos que usan en dos construcciones básicas, registros y conjuntos. Los registros contienen campos que puede estar organizados jerárquicamente, como en el lenguaje COBOL. Los conjuntos definen relaciones N:N entre registros: varios propietarios, varios miembros. Un registro puede ser un propietario de varios conjuntos, y miembro en cualquier número de conjuntos.

Modelo Jerárquico

Un modelo de datos jerárquico es un modelo de datos en el cual los datos son organizados en una estructura parecida a un árbol. La estructura permite a la información que repite y usa relaciones padre/Hijo: cada padre puede tener muchos hijos pero cada hijo sólo tiene un padre. Todo nodo tendrá una lista de enlaces a sus hijos.

SISTEMAS DE GESTOR DE BD
Oracle:
Es un sistema de gestión de base de datos relacional (o RDBMS por el acrónimo en inglés de Relational Data Base Management System), fabricado por Oracle Corporation.
Su mayor defecto es su enorme precio, que es de varios miles de dólares (según versiones y licencias). Otro aspecto que ha sido criticado por algunos especialistas es la seguridad de la plataforma, y las políticas de suministro de parches de seguridad, modificadas a comienzos de 2005 y que incrementan el nivel de exposición de los usuarios. En los parches de actualización provistos durante el primer semestre de 2005 fueron corregidas 22 vulnerabilidades públicamente conocidas, algunas de ellas con una antigüedad de más de 2 años.
Características:
Se considera a Oracle como uno de los sistemas de bases de datos más completos, destacando su:
·         Soporte de transacciones.
·         Estabilidad.
·         Escalabilidad.
Apache Derby:
Es un sistema gestor de base de datos relacional escrito en Java que puede ser empotrado en aplicaciones Java y utilizado para procesos de transacciones online. Tiene un tamaño de 2 MB de espacio en disco. Inicialmente distribuido como IBM Cloudscape, Apache Derby es un proyecto open source licenciado bajo la Apache 2.0 License. Actualmente se distribuye como Sun Java DB.
Características:
·         APIs para JDBC y SQL. Soporta todas las características de SQL92 y la mayoría de SQL99. Su código mide alrededor de 2000KB comprimido.
·         Soporta cifrado completo, roles y permisos. Además posee SQL SCHEMAS para separar la información en una única base de datos y control completo de usuarios.
Microsoft SQL Server:
Es un sistema de gestión de bases de datos relacionales basado en el lenguaje Transact-SQL, capaz de poner a disposición de muchos usuarios grandes cantidades de datos de manera simultánea.
Características:
·         Soporte de transacciones.
·         Escalabilidad, estabilidad y seguridad.
·         Soporta procedimientos almacenados.
Microsoft Access:
Es un sistema de gestión de bases de datos Relacional creado y modificado por Microsoft (DBMS) para uso personal de pequeñas organizaciones. Es un componente de la suite Microsoft Office aunque no se incluye en el paquete “básico”. Una posibilidad adicional es la de crear ficheros con bases de datos que pueden ser consultados por otros programas.
Características:
 Entre las principales funcionalidades de Access se encuentran:
·         Crear tablas de datos indexadas.
·         Modificar tablas de datos.
·         Relaciones entre tablas (creación de bases de datos relacionales).
·         Creación de consultas y vistas.
·         Consultas referencias cruzadas.
·         Consultas de acción (INSERT, DELETE, UPDATE).
  Visual FoxPro:
Es un lenguaje de programación orientado a objetos y procedural, un Sistema Gestor de Bases de datos o Database Management System (DBMS), y desde la versión 7.0, un Sistema administrador de bases de datos relacionales, producido por Microsoft. Características: Visual FoxPro ofrece a los desarrolladores un conjunto de herramientas para crear aplicaciones de bases de datos para el escritorio, entornos cliente/servidor, tablet PC o para la Web.

Características:
·         Capacidades poderosas y muy veloces para el manejo de datos nativos y remotos.
·         Flexibilidad para crear todo tipo de soluciones de bases de datos.
·         Lenguaje de programación Orientado a objetos.
·         Utilización de sentencias SQL en forma nativa.

MySQL:
Es un sistema de gestión de base de datos relacional, multihilo y multiusuario con más de seis millones de instalaciones. MySQL AB desarrolla MySQL como software libre en un esquema de licenciamiento dual. Por un lado lo ofrece bajo la GNU GPL, pero, empresas que quieran incorporarlo en productos privativos pueden comprar a la empresa una licencia que les permita ese uso. Características: Está desarrollado en su mayor parte en ANSI C. Al contrario de proyectos como el Apache, donde el software es desarrollado por una comunidad pública, y el copyright del código está en poder del autor individual, MySQL es propiedad y está patrocinado por una empresa privada, que posee el copyright de la mayor parte del código. Esto es lo que posibilita el esquema de licenciamiento anteriormente mencionado. Además de la venta de licencias privativas, la compañía ofrece soporte y servicios. Para sus operaciones contratan trabajadores alrededor del mundo que colaboran vía Internet.

RESUMEN

Los datos, las relaciones entre los datos y las restricciones que deben cumplirse sobre los datos. Los modelos de datos contienen también un conjunto de operaciones básicas para la realización de consultas (lecturas) y actualizaciones de datos.
Los modelos de datos de alto nivel, o modelos conceptuales, disponen de conceptos muy cercanos al modo en que la mayoría de los usuarios percibe los datos, mientras que los modelos de datos de bajo nivel, o modelos físicos, proporcionan conceptos que describen los detalles de cómo se almacenan los datos en el ordenador. Los conceptos de los modelos físicos están dirigidos al personal informático, no a los usuarios finales. Entre estos dos extremos se encuentran los modelos lógicos.

Los modelos conceptuales utilizan conceptos como entidades, atributos y relaciones.
-Una entidad representa un objeto o concepto del mundo real como, por ejemplo, un empleado de la empresa inmobiliaria o una oficina
-Un atributo representa alguna propiedad de interés de una entidad como, por ejemplo, el nombre o el salario
-Una relación describe una interacción entre dos o más entidades

Cada SGBD soporta un modelo lógico, siendo los más comunes el relacional, el de red y el jerárquico.

Estos tres se denominan modelos orientados a registros, dentro de los modelos lógicos hay otro más nuevo, es el modelo orientado a objetos, que está más cerca al modelo conceptual.

Los modelos físicos describen cómo se almacenan los datos en el ordenador: el formato de los registros, la estructura de los ficheros (desordenados, ordenados, etc.) y los métodos de acceso utilizados (índices, etc.).

A la descripción de una base de datos mediante un modelo de datos se le denomina esquema de la base de datos.

SUMARY

The data, the relationships between the data and the constraints that must be met on the data. The data models also contain a set of basic operations for performing queries (readings) and data updates.
High-level data models, or conceptual models, have concepts that are very close to the way most users perceive data, while low-level data models, or physical models, provide concepts that describe the details How the data is stored on the computer. The concepts of the physical models are directed to the computer personnel, not to the end users. Between these two extremes are the logical models.

Conceptual models use concepts such as entities, attributes, and relationships.
- An entity represents a real-world object or concept, such as an employee of the real estate company or an office
- An attribute represents some property of interest of an entity such as, for example, the name or the salary
-A relationship describes an interaction between two or more entities

Each DBMS supports a logical model, the most common being relational, network and hierarchical.
These three are called record-oriented models, within the logical models there is a newer one, it is the object-oriented model, which is closer to the conceptual model.
Physical models describe how data is stored on the computer: the format of the records, the structure of the files (disordered, ordered, etc.) and the access methods used (indexes, etc.).
The description of a database using a data model is called a database schema.


RECOMENDACIONES:

Sistemas de gestores de datos de base de datos que No son libres ya que brinda más garantía del producto y fácil acceso cuando hay algún problema, tenemos a: Microsoft Access, Microsoft SQL Server, Open Access, Oracle y otros


CONCLUSIONES:

MySQL ha sido un gestor de bases de datos muy útil desde que fue creado, y con el tiempo, nuevas funciones se le añadieron, expandiéndolo y volviéndolo mas útil, y convirtiéndose así en uno de los gestores de bases de datos mas utilizados a nivel mundial, junto a Oracle. Por otro lado, PostgreSQL es un SGBD continuamente modificado y actualizado por un grupo de desarrolladores a nivel mundial (PostgreSQL Global Development Group), también basado en el lenguaje SQL.
El diseño y creación de la base de datos, donde existen distintos modos de organizar la información y representar las relaciones entre por datos los tres modelos lógicos principales dentro de una base de datos son el jerárquico, de redes y el relacional, los cuales tiene ciertas ventajas de procesamiento y de negocios.

BIBLIOGRAFÍA

https://es.wikipedia.org/wiki/Sistema_de_gestión_de_bases_de_datos
http://searchdatacenter.techtarget.com/es/definicion/Sistema-de-gestion-de-bases-de-datos-relacionales-RDBMS
https://www.ecured.cu/Sistema_Gestor_de_Base_de_Datos
http://assets.mheducation.es/bcv/guide/capitulo/8448148797.pdf
https://desarrolloweb.com/articulos/sistemas-gestores-bases-datos.html



DEFINICION:
ADO.NET es un conjunto de clases que exponen servicios de acceso a datos para programadores de .NET Framework. 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 front-end y objetos empresariales de nivel medio que utilizan aplicaciones, herramientas, lenguajes o exploradores de Internet.


ADO .NET permite trabajar de dos formas:
·         Acceso conectado: Requiere una conexión permanente con la base de datos (hasta la llegada de ADO .NET, es era lo más habitual).
·         Acceso desconectado: Un subconjunto de los datos de la fuente de datos se copian en un DataSet y si luego se producen cambios en el DataSet, estos se propagan a la fuente de datos.

ARQUITECTURA ADO.NET



Usar de forma remota o calcular las referencias de datos entre niveles y clientes
El diseño del DataSet le permite transportar fácilmente datos a clientes a través del Web mediante servicios Web XML, así como calcular referencias de los datos entre componentes de .NET mediante servicios .NET Remoting. Mediante los mismos servicios, también puede utilizar de forma remota un DataSet con establecimiento inflexible de tipos. Para obtener información general sobre los servicios Web XML, vea Información general acerca de servicios Web XML. Para ver un ejemplo de cómo consumir un DataSet desde un servicio Web XML, vea Consumir DataSet a partir de un servicio Web XML.
En Información general de .NET Remoting encontrará información general sobre los servicios de interacción remota. Tenga en cuenta que los objetos DataTable también pueden utilizarse con servicios de interacción remota, pero no se pueden transportar mediante un servicio Web XML.

DATASET

Los objetos DataSets, son un grupo de clases que describen una simple base de datos relacional en memoria, fueron la estrella del show en el lanzamiento inicial (1.0) del Microsoft .NET Framework. Las clases forman una jerarquía de contención:
·           Un objeto DataSet representa un esquema (o una base de datos entera o un subconjunto de una). Puede contener las tablas y las relaciones entre esas tablas.
·         Un objeto DataTable representa una sola tabla en la base de datos. Tiene un nombre, filas, y columnas.
·         Un objeto DataView "se sienta sobre" un DataTable y ordena los datos (como una cláusula "order by" de SQL) y, si se activa un filtro, filtra los registros (como una cláusula "where" del SQL). Para facilitar estas operaciones se usa un índice en memoria. Todas las DataTables tienen un filtro por defecto, mientras que pueden ser definidos cualquier número de DataViews adicionales, reduciendo la interacción con la base de datos subyacente y mejorando así el desempeño.
·         Un DataColumn representa una columna de la tabla, incluyendo su nombre y tipo.
·         Un objeto DataRow representa una sola fila en la tabla, y permite leer y actualizar los valores en esa fila, así como la recuperación de cualquier fila que esté relacionada con ella a través de una relación de clave primaria - clave extranjera.
·         Un DataRowView representa una sola fila de un DataView, la diferencia entre un DataRow y el DataRowView es importante cuando se está interactuando sobre un resultset.
·         Un DataRelation es una relación entre las tablas, tales como una relación de clave primaria - clave ajena. Esto es útil para permitir la funcionalidad del DataRow de recuperar filas relacionadas.
·         Un Constraint describe una propiedad de la base de datos que se debe cumplir, como que los valores en una columna de clave primaria deben ser únicos. A medida que los datos son modificados cualquier violación que se presente causará excepciones.
Un DataSet es llenado desde una base de datos por un DataAdapter cuyas propiedades Connection y Command que han sido iniciados. Sin embargo, un DataSet puede guardar su contenido a XML (opcionalmente con un esquema XSD), o llenarse a sí mismo desde un XML, haciendo esto excepcionalmente útil para los servicios web, computación distribuida, y aplicaciones ocasionalmente conectadas desconectados.



SINTAXIS EN VISUAL BASIC

<SerializableAttribute>
Public Class DataSet
               Inherits MarshalByValueComponent
               Implements IListSource, IXmlSerializable, ISupportInitializeNotification,
            ISupportInitialize, ISerializable

Usar de forma remota o calcular las referencias de datos entre niveles y clientes.

El diseño del DataSet le permite transportar fácilmente datos a clientes a través del Web mediante servicios Web XML, así como calcular referencias de los datos entre componentes de .NET mediante servicios .NET Remoting. Mediante los mismos servicios, también puede utilizar de forma remota un DataSet con establecimiento inflexible de tipos. Para obtener información general sobre los servicios Web XML, vea Información general acerca de servicios Web XML. Para ver un ejemplo de cómo consumir un DataSet desde un servicio Web XML, vea Consumir DataSet a partir de un servicio Web XML.En Información general de .NET Remoting encontrará información general sobre los servicios de interacción remota. Tenga en cuenta que los objetos DataTable también pueden utilizarse con servicios de interacción remota, pero no se pueden transportar mediante un servicio Web XML.

CLASES Y OBJETOS DE ADO.NET
CLASES BÁSICAS:
OBJETOS ADO.NET

  • Las clases de ADO.NET están definidas en el espacio de nombres

System.Data.
  •  Trabaja en modo desconectado: El programa no requiere una conexión

persistente con la BD.

  • La conexión se abre y se cierra cuando se necesita.


OBJETOS DEL PROVEEDOR

Todos los objetos llevan el prefijo único del proveedor: SqlXx,
OleDbXX, etc.

Connection. Establece la conexión con el origen de datos. SqlConnection,
OdbcConnection,…
Command. Recupera datos del proveedor. (SELECT * FROM…).
Ejm: SqlCommand, OdbcCommand, OleDbCommand. 
CommandBuilder. Permite hacer consultas SQL para modificar datos de
objetos basados en una sola tabla. Ejm: SqlCommandBuilder, OdbcCommandBuilder.
DataReader. Permite recuperar datos de sólo lectura y sólo hacia delante
de un origen de datos. Ejm: SqlDataReader, OdbcDataReader.

DataAdapter. Representa un conjunto de comandos SQL y una conexión al

origen de datos para rellenar el objeto DataSet y actualizar los datos.

RESUMEN

En este trabajo podremos entender lo que es el ADO.NET y su funcionamiento.
Los objetos DataSets describen una simple base de datos relacional en memoria.
Un objeto DataSet puede contener tablas y relaciones entre esas tablas.
Un objeto DataTable representa una tabla. Tiene un nombre, filas, y columnas.
Cada DataTable contiene datos de un único origen y está formado por una colección de
objetos DataColumn y una colección de objetos Constraint (UniqueConstraint y
ForeignKeyConstraint).
Un objeto DataView ordena los datos de un DataTable (como "order by") y, si se lo pide, filtra
los registros (como "where").
Todas las DataTables tienen un solo filtro, pero pueden tener cualquier número de DataViews
adicionales.
Un DataColumn representa una columna de una DataTable, incluyendo su nombre y tipo.
Un DataRow representa una fila de una DataTable. Permite leer y actualizar los valores en esa
fila.
También recupera cualquier fila que esté relacionada a ella a través de una clave
primaria/extranjera.
Un DataRowView representa una fila de un DataView.
Un DataRelation es una relación entre DataTables, tal como una relación de clave primaria -
clave ajena. Esto es útil para permitir la funcionalidad del DataRow de recuperar filas
relacionadas.
Un Constraint es una restricción. A medida que los datos son modificados, cualquier violación
a las constraint causará excepciones.
Un DataSet es llenado desde una base de datos por un DataAdapter cuyas propiedades
Connection y Command han sido iniciados.
Un DataSet puede guardar su contenido a XML (opcionalmente con un esquema XSD), o
llenarse a sí mismo desde un XML, haciendo esto excepcionalmente útil para los servicios web,
computación distribuida, y aplicaciones ocasionalmente conectadas.

RESUMEN

In this work we can understand what ADO.NET is and how it works.
DataSets objects describe a simple relational database in memory.
A DataSet object can contain tables and relationships between those tables.
A DataTable object represents a table. It has a name, rows, and columns.
Each DataTable contains data from a single source and consists of a collection of
DataColumn objects and a collection of Restriction objects (UniqueConstraint and
ForeignKeyConstraint).
A DataView object sorts data from a DataTable (such as "sort by") and, if prompted, filters
Records (such as "where").
All DataTables have a single filter, but they can have any number of DataViews
Additional
A DataColumn represents a column of a DataTable, including its name and type.
A DataRow represents a row of a DataTable. It allows to read and update the values ​​in that
Row
It also retrieves any row that is related to it through a key
Primary / foreign.
A DataRowView represents a row in a DataView.
A DataRelation is a relationship between DataTables, such as a primary key relationship -
Foreign Key This is useful for enabling DataRow functionality to retrieve rows
Related Searches
A Constraint is a restriction. Anyone who is aware of any violation
Restrictions will cause exceptions.
A DataSet is filled from a database by a DataAdapter whose properties
Connection and Command have been started.
A DataSet can save its contents to XML (optionally with an XSD schema), or
Fill yourself from an XML, making it exceptionally useful for web services,
Distributed computing, and occasionally connected applications.

RECOMENDACIONES

En ADO.NET se supone que hay un modelo de acceso a datos en el que se puede abrir una conexión, obtener datos o realizar una operación y cerrar luego la conexión. ADO.NET proporciona dos estrategias básicas de trabajo con este modelo. Una de ellas consiste en almacenar datos en un conjunto de datos, que es una caché almacenada en memoria de los registros con los que se puede trabajar mientras se está desconectado del origen de datos. Para usar un conjunto de datos, se crea una instancia del mismo y, a continuación, se usa un adaptador de datos para rellenarlo desde el origen de datos. Posteriormente, se trabaja con los datos del conjunto de datos, por ejemplo, enlazando controles con los miembros de dicho conjunto. Para obtener más información, vea Información general sobre conjuntos de datos en Visual Studio.
Una estrategia alternativa consiste en realizar operaciones directamente en la base de datos. En este modelo, se usa una consulta de TableAdapter o un comando de datos que incluye una instrucción SQL o una referencia a un procedimiento almacenado. A continuación, se puede ejecutar la consulta para realizar la operación. Para obtener más información, vea Buscar datos en la aplicación.


CONCLUSIÓN

ADO .NET está diseñado para fundamentarse en la fuerza del modelo de programación de ADO, mientras que provee una evolución en la tecnología de acceso a datos para responder a las necesidades cambiantes del desarrollador. Está diseñado para fortalecer tus conocimientos de ADO, mientras que provee un control más fino sobre los componentes, recursos y comportamiento de tu aplicación cuando accede y trabaja con datos.



BIBLIOGRAFÍA:




https://msdn.microsoft.com/es-es/library/bb972213.aspx#EAAA


http://www.rafaelsantos.es/web/agora