TECNOLÓGICO NACIONAL DE MÉXICO
Ingeniería en Sistemas Computacionales
Programación de Base de Datos
Unidad I: Conexión a la base de datos con un lenguaje
de programación actualizado
Material de clase desarrollado para la asignatura de Programación de Base de Datos
para Ingeniería en Sistemas Computacionales
PROGRAMACIÓN DE BASE DE DATOS
PROGRAMACIÓN DE BASE DE DATOS
Competencia:
• Desarrollar una base de datos con un lenguaje de programación.
Introducción
• En la actualidad los lenguajes de programación no traen
incorporada una base de datos, por tal motivo es necesario
conectar el lenguaje de programación con Sistema Gestor de Base
de Batos.
PROGRAMACIÓN DE BASE DE DATOS
String de Conexión
• Es una cadena de texto que conecta al lenguaje de programación
con el gestor de base de datos seleccionado.
PROGRAMACIÓN DE BASE DE DATOS
Elementos de la cadena de conexión
Provider: Establece el nombre del proveedor para la conexión (sólo
aplica para OleDBConnection).
Connection Timeout: Establece el tiempo en segundos para esperar
a una conexión antes de terminar el intento y generar una
excepción, por omisión es 15.
Initial Catalog: El nombre de la base de datos, si se omite se utiliza
la predeterminada del usuario.
PROGRAMACIÓN DE BASE DE DATOS
PROGRAMACIÓNDEBASEDEDATOS
Password: El password del usuario.
User ID: El login del usuario.
Integrated Security: Establece el mecanismo de autenticación con el servidor, los
valores posibles son TRUE y FALSE, sólo aplica para SqlConnection.
Persist Security: Cuando se establece a FALSE, la información sensitiva a la seguridad como la
contraseña no es mostrada una vez que se ha establecido la conexión, por omisión es FALSE.
Elementos de la cadena de conexión
Ejemplo:
data source = HPSQLserver; initial catalog = BaseDatos;
user id = Usuario; password = “123456”
PROGRAMACIÓN DE BASE DE DATOS
La cadena de conexión puede ser diferente dependiendo del sistema
gestor de BD con el que debamos interactuar
Ejemplos:
data source = “serverbd_itsg”; initial catalog = “escolares”; user id = “admin”; password = “123456”;
data source = (local)bd_itsg; initial catalog = “escolares”; user id = “admin”; password = “123456”;
data source = 127.0.0.1bd_itsg; initial catalog = “escolares”; user id = “admin”; password = “123456”;
data source = .bd_itsg; initial catalog = “escolares”; user id = “admin”; password = “123456”;
PROGRAMACIÓN DE BASE DE DATOS
Objetos y Controles de las Bases de Datos
• Los objetos de una base de datos son aquellos con los que podemos
realizar operaciones o nos basamos en ellos para agrupar información
necesaria para nuestros procesos, los objetos más comunes son tablas,
vistas e índices.
PROGRAMACIÓN DE BASE DE DATOS
Tablas
• Las tablas son instancias u objetos que contienen los datos, una tabla está
formada por registros y cada registro contiene campos, los campos a su vez
tienen características que son distintas entre ellos.
PROGRAMACIÓN DE BASE DE DATOS
Índices
• Los índices son objetos que están relacionados a una o varias tablas de la
base de datos, estos contienen la secuencia de datos de los campos llave
de la tabla o bien una secuencia en particular que se requiere por cada
proceso. Sirven para mejorar la velocidad de acceso a la información
contenida en las tablas.
PROGRAMACIÓN DE BASE DE DATOS
Vistas
• Las vistas son tablas virtuales resultado
de una consulta a la base de datos,
pueden contener información obtenida
desde una o varias tablas, y también
desde una o múltiples bases de datos
que pueden estar ubicadas en distintos
servidores.
PROGRAMACIÓN DE BASE DE DATOS
Esquema General
Base de datos
Tabla 1 Tabla 2 Tabla n
índices Vistas
Una vista puede
contener info de
varias tablas
Una tabla puede
contener
múltiples índices
PROGRAMACIÓN DE BASE DE DATOS
Controles de la Base de Datos
• Los controles de la base de datos son una serie de comandos o métodos que
sirven para realizar la conexión con la BD y el intercambio de información con
la misma
PROGRAMACIÓN DE BASE DE DATOS
Listado de Controles
• String: Tipo de dato que representa una cadena (no es propiamente un
control, se utiliza para generar la estructura de una consulta)
• SqlConnection: Representa una conexión abierta a una base de datos de
SQL Server :
Propiedades y métodos: open(), close()
Ejemplo:
String cadena = “data source = (local); initial catalog = ‘escolares’; user id =
‘admin’; password = ‘123456’”;
SqlConnection conectar = new SqlConnection(cadena);
conectar.Open();
PROGRAMACIÓN DE BASE DE DATOS
•SqlCommand: Representa un procedimiento almacenado o una instrucción
de Transact-SQL que se ejecuta en una base de datos de SQL Server.
Propiedades y métodos:
• CommandText
• CommandType
• Connection,
• Parameters
• ExecuteReader()
PROGRAMACIÓN DE BASE DE DATOS
String consulta = "SELECT OrderID, CustomerID FROM Orders;"
SqlCommand commando = new SqlCommand(consulta, conectar);
connectar.Open();
Ejemplo
• SqlDataReader: Proporciona una forma de leer una secuencia de filas sólo
hacia delante en una base de datos de SQL Server
Propiedades y métodos: Read(), GetValue();
PROGRAMACIÓN DE BASE DE DATOS
SqlDataReader reader = command.ExecuteReader();
try {
while (reader.Read()) {
Console.WriteLine(String.Format("{0}, {1}", reader[0], reader[1]));
}
} finally {
reader.Close();
}
Ejemplo
• 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.
Propiedades y métodos: Fill();
• DataSet: Representa una memoria caché de datos en memoria.
PROGRAMACIÓN DE BASE DE DATOS
PROGRAMACIÓN DE BASE DE DATOS
try {
SqlConnection conectar = new SqlConnection(connectar));
conectar.Open();
SqlDataAdapter adaptador = new SqlDataAdapter();
adaptador.SelectCommand = new SqlCommand(consulta, conectar);
DataSet ds = new DataSet();
adaptador.Fill(ds);
conectar.Close();
for (i = 0; i <= ds.Tables[0].Rows.Count - 1; i++) {
MessageBox.Show(
ds.Tables[0].Rows[i].ItemArray[0] + " -- " +
ds.Tables[0].Rows[i].ItemArray[1]);
}
} catch (Exception ex) {
MessageBox.Show(“Falla en conexión");
}
Ejemplo
Ejemplo de código C#
PROGRAMACIÓN DE BASE DE DATOS
Tarea: instalar en su laptop o PC lo siguiente:
• Manejador Microsoft SQL Server
• Base de Datos NORTHWND
• Microsoft Visual Studio
Práctica:
• Realice una aplicación en C# la cual se conecte al servidor local de su PC, a
la BD NORTHWND y extraiga de la tabla Employees el nombre, apellido,
fecha de nacimiento y teléfono de todos registros.
• Debe descargar la información recuperada con la consulta de la tabla
completa en un archivo de texto que posteriormente será abierto para
comprobar su funcionamiento.
PROGRAMACIÓN DE BASE DE DATOS
Interacción con la Base de datos
• La “interacción” consiste en la influencia reciproca de dos o más cosas. En el
caso de la base de datos la interacción se da por el intercambio de
información e instrucciones entre el usuario, la aplicación y la propia base de
datos.
PROGRAMACIÓN DE BASE DE DATOS
• En un caso práctico utilizaremos el lenguaje SQL (Structured Query
Language) como ejemplo. El lenguaje aporta los elementos para realizar la
interacción, es decir 3 lenguajes o secciones básicas:
DDL: Data Definition Language
DCL: Data Control Language
DML: Data Manipulation Language
PROGRAMACIÓN DE BASE DE DATOS
Data Definition Language (DDL)
• Se utiliza para añadir, modificar o eliminar cualquier objeto de la BD
(tablas, vistas, índices).
• Incluye las sentencias Create, Alter, y Drop con sus respectivas sintaxis, las
cuales se ejecutan directamente sobre los objetos.
• Antes de poder almacenar información se debe crear el lugar para ello, así
como sus especificaciones.
PROGRAMACIÓN DE BASE DE DATOS
Data Control Language (DCL)
• Cuando creamos cuentas de usuarios podemos dar permisos por medio de
Grant y/o quitárselos con Revoke.
• Permisos de Sistema: Permiten al usuario crear una acción sobre la base de
datos.
• Permisos de Objeto: Se a un objeto en particular de una base de datos.
PROGRAMACIÓN DE BASE DE DATOS
Data Manipulation Language (DML)
• Contiene aquellas sentencias que sirven para realizar la consulta,
modificación, inserción y borrado de la información, es decir todas las
transacciones posibles de la BD (Select, Insert, Update, Delete)
• Incluye también las sentencias para control de transacciones como lo son:
Commit, Rollback
PROGRAMACIÓN DE BASE DE DATOS
TECNOLOGÍAS PARA LA CONECTIVIDAD A BASES DE DATOS
• ODBC
• JDBC
• ADO
• ADO.NET
• OTROS (RDO, DAO, OLE-DB)
PROGRAMACIÓN DE BASE DE DATOS
ODBC (Open Database Connectivity)
• Es un estándar de acceso a las bases de datos cuyo objetivo es hacer
posible el acceder a cualquier dato desde cualquier aplicación, sin
importar qué sistema de gestión de bases de datos.
• ODBC alivia la necesidad de aprender múltiples interfaces de
programación de aplicaciones para los programadores corporativos y
fabricantes independientes de software.
PROGRAMACIÓN DE BASE DE DATOS
PROGRAMACIÓN DE BASE DE DATOS
JDBC
• Es ODBC extendido para toda la plataforma Java. Mientras que ODBC es una
interfaz escrita en lenguaje C, que tiene que ser instalado manualmente en
cada maquina, JDBC, al estar escrito en Java, posee todas las propiedades y
ventajas del mismo.
• JDBC es capaz de trabajar con MS Windows y otras plataformas.
PROGRAMACIÓN DE BASE DE DATOS
¿Qué necesitamos ?
El API JDBC con dos paquetes principales: java.sql y javax.sql
• Un controlador de acceso a una base de datos; El controlador servirá para
conectar la aplicación con la API JDBC, proporcionando comunicación con la
base de datos.
En definitiva, lo que el estándar JDBC hace posible es:
• Establecer una conexión.
• Lanzar sentencias SQL.
• Capturar conjuntos resultado (resulset) de las consultas.
• Capturar información de la base de datos.
• Manipular los datos.
PROGRAMACIÓN DE BASE DE DATOS
PROGRAMACIÓN DE BASE DE DATOS
ADO y ADO.NET
• Es un conjunto de clases de la librería de clases del .NET Framework
que nos permiten interactuar con cualquier tipo de base de datos
desde cualquier tipo de aplicación.
PROGRAMACIÓN DE BASE DE DATOS
ADO
• La tecnología ADO (ActiveX Data Objects) es una
capa de COM sobre la tecnología OLE DB, de tal
manera que utilizan esta tecnología no requieren
conocer la tecnología OLE DB.
• 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.
PROGRAMACIÓN DE BASE DE DATOS
• ADO.NET es un conjunto de componentes del software que
pueden ser usados para acceder a datos y a servicios de
datos. Es una parte de la biblioteca de clases base que están
incluidas en el Microsoft .NET Framework.
• Es a veces considerado como una evolución de la tecnología
ActiveX Data Objects (ADO).
Características de ADO. NET
Trabaja desconectado del origen de datos
Fuerte integración con XML y ASP. NET
Es independiente del lenguaje de programación que se
utilice
Gran velocidad en transferencia de información utilizando
XML
PROGRAMACIÓN DE BASE DE DATOS
Visión general de las clases de ADO.NET
PROGRAMACIÓN DE BASE DE DATOS
Visión general de las clases de ADO.NET
PROGRAMACIÓN DE BASE DE DATOS
Ejemplo de una conexión con una BD de Microsoft Access
using System.Data.OleDb; // Para uso de la base de datos en Access.
OleDbConnection Conexion; // Declaración de la conexión
Declaración de la cadena de conexión
string CadenaConexion = @"Provider=Microsoft.ACE.OLEDB.12.0; Data
Source=C:DATOSBDAlumnos.accdb";
Conexion = new OleDbConnection(CadenaConexion);
PROGRAMACIÓN DE BASE DE DATOS
El objeto Command de ODBC
Después de establecer la conexión con la BD, se usa el objeto Command para
ejecutar sentencias SQL y devolver los resultados.
 OleDbCommand: Datos compatibles con OleDb
 OdbcCommand: Datos compatibles con Odbc
 SqlCommand: Datos compatibles con SQL Server
 OracleCommand: Datos compatibles con Oracle
Ejemplo:
OleDbCommand Comando = new OleDbCommand(“SELECT NoCtrl, Nombre
FROM TablaAlumnos WHERE Semestre=8”,Conexion);
PROGRAMACIÓN DE BASE DE DATOS
El objeto DataReader
Se usa solamente para leer datos de una BD:
 OleDbDataReader; Datos compatibles con OleDB
 SqlDataReader; Datos compatibles con SQL Server
Ejemplo de conexión usando ODBC
Conexion.Open();
OleDbDataReader Lector = Comando.ExecuteReader(); // Ejecutar el comando
while (Lector.Read()) {
Console.WriteLine(Lector.GetString(0) + " " +
Lector.GetString(1)+" "+Lector.GetValue(2).ToString());
}
Lector.Close(); // Cerrar lectura
PROGRAMACIÓN DE BASE DE DATOS
Insertar Datos (procedimiento)
PROGRAMACIÓN DE BASE DE DATOS
Formación de la cadena de inserción:
string strInsertar = "INSERT INTO TablaAlumnos VALUES (@clave, @nombre,
@semestre, @promedio)";
Establecer el comando para insertar los datos en la DB:
OleDbCommand miComando = new OleDbCommand(
strInsertar, miConexion);
miComando.Parameters.AddWithValue("@clave", CampoClave);
miComando.Parameters.AddWithValue("@nombre", CampoNombre);
miComando.Parameters.AddWithValue("@semestre", CampoSemestre);
miComando.Parameters.AddWithValue("@promedio", CampoPromedio);
miComando.ExecuteNonQuery(); // Ejecuta el comando
miConexion.Close();
PROGRAMACIÓN DE BASE DE DATOS
Practica con ODBC
1. Crear en Access una BD que se llame Materias y contenga los campos:
nombre, area, horasT, horasP, horasT, Semanas.
2. El campo horasT es resultado de la suma de horasT y horasP.
3. Desarrolle una pantalla donde pueda capturar estos campos, para que
puedan ser guardados en la BD de Access.
4. Debe incluir la posibilidad de consultar registros existentes y eliminarlos.
PROGRAMACIÓN DE BASE DE DATOS
Proyecto
1. Instalar en PC local el sistema gestor de
bases de datos SQL.
2. Crear un programa en Visual Studio C# que
se conecte al SGBD por medio de una
cadena de conexión guardada en un
archivo de texto local (conectarse a
NORTHWND).
3. Desde dicho programa ejecutar las
sentencias que se escriban en un textbox.
4. Mostrar los resultados por medio de un
query en el SMBD.
PROGRAMACIÓN DE BASE DE DATOS
Bibliografía
• Patrick LeBlanc. 2015. Microsoft Visual C# 2013 Step by Step. EE. UU. Octal
Publishing, Inc. ISBN: 978-0-7356-8183-5.
• John Sharp. 2013. Microsoft SQL Server 2012 Step by Step PrePress. EE. UU.
Sevastopol, CA. O’Reilly Media, Inc.
PROGRAMACIÓN DE BASE DE DATOS

Programacion de base de datos - Unidad 1: Conexion a la base de datos con un lenguaje de programacion actualizado

  • 1.
    TECNOLÓGICO NACIONAL DEMÉXICO Ingeniería en Sistemas Computacionales Programación de Base de Datos Unidad I: Conexión a la base de datos con un lenguaje de programación actualizado Material de clase desarrollado para la asignatura de Programación de Base de Datos para Ingeniería en Sistemas Computacionales PROGRAMACIÓN DE BASE DE DATOS
  • 2.
    PROGRAMACIÓN DE BASEDE DATOS Competencia: • Desarrollar una base de datos con un lenguaje de programación.
  • 3.
    Introducción • En laactualidad los lenguajes de programación no traen incorporada una base de datos, por tal motivo es necesario conectar el lenguaje de programación con Sistema Gestor de Base de Batos. PROGRAMACIÓN DE BASE DE DATOS
  • 4.
    String de Conexión •Es una cadena de texto que conecta al lenguaje de programación con el gestor de base de datos seleccionado. PROGRAMACIÓN DE BASE DE DATOS
  • 5.
    Elementos de lacadena de conexión Provider: Establece el nombre del proveedor para la conexión (sólo aplica para OleDBConnection). Connection Timeout: Establece el tiempo en segundos para esperar a una conexión antes de terminar el intento y generar una excepción, por omisión es 15. Initial Catalog: El nombre de la base de datos, si se omite se utiliza la predeterminada del usuario. PROGRAMACIÓN DE BASE DE DATOS
  • 6.
    PROGRAMACIÓNDEBASEDEDATOS Password: El passworddel usuario. User ID: El login del usuario. Integrated Security: Establece el mecanismo de autenticación con el servidor, los valores posibles son TRUE y FALSE, sólo aplica para SqlConnection. Persist Security: Cuando se establece a FALSE, la información sensitiva a la seguridad como la contraseña no es mostrada una vez que se ha establecido la conexión, por omisión es FALSE. Elementos de la cadena de conexión
  • 7.
    Ejemplo: data source =HPSQLserver; initial catalog = BaseDatos; user id = Usuario; password = “123456” PROGRAMACIÓN DE BASE DE DATOS La cadena de conexión puede ser diferente dependiendo del sistema gestor de BD con el que debamos interactuar
  • 8.
    Ejemplos: data source =“serverbd_itsg”; initial catalog = “escolares”; user id = “admin”; password = “123456”; data source = (local)bd_itsg; initial catalog = “escolares”; user id = “admin”; password = “123456”; data source = 127.0.0.1bd_itsg; initial catalog = “escolares”; user id = “admin”; password = “123456”; data source = .bd_itsg; initial catalog = “escolares”; user id = “admin”; password = “123456”; PROGRAMACIÓN DE BASE DE DATOS
  • 9.
    Objetos y Controlesde las Bases de Datos • Los objetos de una base de datos son aquellos con los que podemos realizar operaciones o nos basamos en ellos para agrupar información necesaria para nuestros procesos, los objetos más comunes son tablas, vistas e índices. PROGRAMACIÓN DE BASE DE DATOS
  • 10.
    Tablas • Las tablasson instancias u objetos que contienen los datos, una tabla está formada por registros y cada registro contiene campos, los campos a su vez tienen características que son distintas entre ellos. PROGRAMACIÓN DE BASE DE DATOS
  • 11.
    Índices • Los índicesson objetos que están relacionados a una o varias tablas de la base de datos, estos contienen la secuencia de datos de los campos llave de la tabla o bien una secuencia en particular que se requiere por cada proceso. Sirven para mejorar la velocidad de acceso a la información contenida en las tablas. PROGRAMACIÓN DE BASE DE DATOS
  • 12.
    Vistas • Las vistasson tablas virtuales resultado de una consulta a la base de datos, pueden contener información obtenida desde una o varias tablas, y también desde una o múltiples bases de datos que pueden estar ubicadas en distintos servidores. PROGRAMACIÓN DE BASE DE DATOS
  • 13.
    Esquema General Base dedatos Tabla 1 Tabla 2 Tabla n índices Vistas Una vista puede contener info de varias tablas Una tabla puede contener múltiples índices PROGRAMACIÓN DE BASE DE DATOS
  • 14.
    Controles de laBase de Datos • Los controles de la base de datos son una serie de comandos o métodos que sirven para realizar la conexión con la BD y el intercambio de información con la misma PROGRAMACIÓN DE BASE DE DATOS
  • 15.
    Listado de Controles •String: Tipo de dato que representa una cadena (no es propiamente un control, se utiliza para generar la estructura de una consulta) • SqlConnection: Representa una conexión abierta a una base de datos de SQL Server : Propiedades y métodos: open(), close() Ejemplo: String cadena = “data source = (local); initial catalog = ‘escolares’; user id = ‘admin’; password = ‘123456’”; SqlConnection conectar = new SqlConnection(cadena); conectar.Open(); PROGRAMACIÓN DE BASE DE DATOS
  • 16.
    •SqlCommand: Representa unprocedimiento almacenado o una instrucción de Transact-SQL que se ejecuta en una base de datos de SQL Server. Propiedades y métodos: • CommandText • CommandType • Connection, • Parameters • ExecuteReader() PROGRAMACIÓN DE BASE DE DATOS String consulta = "SELECT OrderID, CustomerID FROM Orders;" SqlCommand commando = new SqlCommand(consulta, conectar); connectar.Open(); Ejemplo
  • 17.
    • SqlDataReader: Proporcionauna forma de leer una secuencia de filas sólo hacia delante en una base de datos de SQL Server Propiedades y métodos: Read(), GetValue(); PROGRAMACIÓN DE BASE DE DATOS SqlDataReader reader = command.ExecuteReader(); try { while (reader.Read()) { Console.WriteLine(String.Format("{0}, {1}", reader[0], reader[1])); } } finally { reader.Close(); } Ejemplo
  • 18.
    • SqlDataAdapter: Representaun 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. Propiedades y métodos: Fill(); • DataSet: Representa una memoria caché de datos en memoria. PROGRAMACIÓN DE BASE DE DATOS
  • 19.
    PROGRAMACIÓN DE BASEDE DATOS try { SqlConnection conectar = new SqlConnection(connectar)); conectar.Open(); SqlDataAdapter adaptador = new SqlDataAdapter(); adaptador.SelectCommand = new SqlCommand(consulta, conectar); DataSet ds = new DataSet(); adaptador.Fill(ds); conectar.Close(); for (i = 0; i <= ds.Tables[0].Rows.Count - 1; i++) { MessageBox.Show( ds.Tables[0].Rows[i].ItemArray[0] + " -- " + ds.Tables[0].Rows[i].ItemArray[1]); } } catch (Exception ex) { MessageBox.Show(“Falla en conexión"); } Ejemplo
  • 20.
    Ejemplo de códigoC# PROGRAMACIÓN DE BASE DE DATOS
  • 21.
    Tarea: instalar ensu laptop o PC lo siguiente: • Manejador Microsoft SQL Server • Base de Datos NORTHWND • Microsoft Visual Studio Práctica: • Realice una aplicación en C# la cual se conecte al servidor local de su PC, a la BD NORTHWND y extraiga de la tabla Employees el nombre, apellido, fecha de nacimiento y teléfono de todos registros. • Debe descargar la información recuperada con la consulta de la tabla completa en un archivo de texto que posteriormente será abierto para comprobar su funcionamiento. PROGRAMACIÓN DE BASE DE DATOS
  • 22.
    Interacción con laBase de datos • La “interacción” consiste en la influencia reciproca de dos o más cosas. En el caso de la base de datos la interacción se da por el intercambio de información e instrucciones entre el usuario, la aplicación y la propia base de datos. PROGRAMACIÓN DE BASE DE DATOS
  • 23.
    • En uncaso práctico utilizaremos el lenguaje SQL (Structured Query Language) como ejemplo. El lenguaje aporta los elementos para realizar la interacción, es decir 3 lenguajes o secciones básicas: DDL: Data Definition Language DCL: Data Control Language DML: Data Manipulation Language PROGRAMACIÓN DE BASE DE DATOS
  • 24.
    Data Definition Language(DDL) • Se utiliza para añadir, modificar o eliminar cualquier objeto de la BD (tablas, vistas, índices). • Incluye las sentencias Create, Alter, y Drop con sus respectivas sintaxis, las cuales se ejecutan directamente sobre los objetos. • Antes de poder almacenar información se debe crear el lugar para ello, así como sus especificaciones. PROGRAMACIÓN DE BASE DE DATOS
  • 25.
    Data Control Language(DCL) • Cuando creamos cuentas de usuarios podemos dar permisos por medio de Grant y/o quitárselos con Revoke. • Permisos de Sistema: Permiten al usuario crear una acción sobre la base de datos. • Permisos de Objeto: Se a un objeto en particular de una base de datos. PROGRAMACIÓN DE BASE DE DATOS
  • 26.
    Data Manipulation Language(DML) • Contiene aquellas sentencias que sirven para realizar la consulta, modificación, inserción y borrado de la información, es decir todas las transacciones posibles de la BD (Select, Insert, Update, Delete) • Incluye también las sentencias para control de transacciones como lo son: Commit, Rollback PROGRAMACIÓN DE BASE DE DATOS
  • 27.
    TECNOLOGÍAS PARA LACONECTIVIDAD A BASES DE DATOS • ODBC • JDBC • ADO • ADO.NET • OTROS (RDO, DAO, OLE-DB) PROGRAMACIÓN DE BASE DE DATOS
  • 28.
    ODBC (Open DatabaseConnectivity) • Es un estándar de acceso a las bases de datos cuyo objetivo es hacer posible el acceder a cualquier dato desde cualquier aplicación, sin importar qué sistema de gestión de bases de datos. • ODBC alivia la necesidad de aprender múltiples interfaces de programación de aplicaciones para los programadores corporativos y fabricantes independientes de software. PROGRAMACIÓN DE BASE DE DATOS
  • 29.
  • 30.
    JDBC • Es ODBCextendido para toda la plataforma Java. Mientras que ODBC es una interfaz escrita en lenguaje C, que tiene que ser instalado manualmente en cada maquina, JDBC, al estar escrito en Java, posee todas las propiedades y ventajas del mismo. • JDBC es capaz de trabajar con MS Windows y otras plataformas. PROGRAMACIÓN DE BASE DE DATOS
  • 31.
    ¿Qué necesitamos ? ElAPI JDBC con dos paquetes principales: java.sql y javax.sql • Un controlador de acceso a una base de datos; El controlador servirá para conectar la aplicación con la API JDBC, proporcionando comunicación con la base de datos. En definitiva, lo que el estándar JDBC hace posible es: • Establecer una conexión. • Lanzar sentencias SQL. • Capturar conjuntos resultado (resulset) de las consultas. • Capturar información de la base de datos. • Manipular los datos. PROGRAMACIÓN DE BASE DE DATOS
  • 32.
  • 33.
    ADO y ADO.NET •Es un conjunto de clases de la librería de clases del .NET Framework que nos permiten interactuar con cualquier tipo de base de datos desde cualquier tipo de aplicación. PROGRAMACIÓN DE BASE DE DATOS
  • 34.
    ADO • La tecnologíaADO (ActiveX Data Objects) es una capa de COM sobre la tecnología OLE DB, de tal manera que utilizan esta tecnología no requieren conocer la tecnología OLE DB. • 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. PROGRAMACIÓN DE BASE DE DATOS
  • 35.
    • ADO.NET esun conjunto de componentes del software que pueden ser usados para acceder a datos y a servicios de datos. Es una parte de la biblioteca de clases base que están incluidas en el Microsoft .NET Framework. • Es a veces considerado como una evolución de la tecnología ActiveX Data Objects (ADO). Características de ADO. NET Trabaja desconectado del origen de datos Fuerte integración con XML y ASP. NET Es independiente del lenguaje de programación que se utilice Gran velocidad en transferencia de información utilizando XML PROGRAMACIÓN DE BASE DE DATOS
  • 36.
    Visión general delas clases de ADO.NET PROGRAMACIÓN DE BASE DE DATOS
  • 37.
    Visión general delas clases de ADO.NET PROGRAMACIÓN DE BASE DE DATOS
  • 38.
    Ejemplo de unaconexión con una BD de Microsoft Access using System.Data.OleDb; // Para uso de la base de datos en Access. OleDbConnection Conexion; // Declaración de la conexión Declaración de la cadena de conexión string CadenaConexion = @"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:DATOSBDAlumnos.accdb"; Conexion = new OleDbConnection(CadenaConexion); PROGRAMACIÓN DE BASE DE DATOS
  • 39.
    El objeto Commandde ODBC Después de establecer la conexión con la BD, se usa el objeto Command para ejecutar sentencias SQL y devolver los resultados.  OleDbCommand: Datos compatibles con OleDb  OdbcCommand: Datos compatibles con Odbc  SqlCommand: Datos compatibles con SQL Server  OracleCommand: Datos compatibles con Oracle Ejemplo: OleDbCommand Comando = new OleDbCommand(“SELECT NoCtrl, Nombre FROM TablaAlumnos WHERE Semestre=8”,Conexion); PROGRAMACIÓN DE BASE DE DATOS
  • 40.
    El objeto DataReader Seusa solamente para leer datos de una BD:  OleDbDataReader; Datos compatibles con OleDB  SqlDataReader; Datos compatibles con SQL Server Ejemplo de conexión usando ODBC Conexion.Open(); OleDbDataReader Lector = Comando.ExecuteReader(); // Ejecutar el comando while (Lector.Read()) { Console.WriteLine(Lector.GetString(0) + " " + Lector.GetString(1)+" "+Lector.GetValue(2).ToString()); } Lector.Close(); // Cerrar lectura PROGRAMACIÓN DE BASE DE DATOS
  • 41.
  • 42.
    Formación de lacadena de inserción: string strInsertar = "INSERT INTO TablaAlumnos VALUES (@clave, @nombre, @semestre, @promedio)"; Establecer el comando para insertar los datos en la DB: OleDbCommand miComando = new OleDbCommand( strInsertar, miConexion); miComando.Parameters.AddWithValue("@clave", CampoClave); miComando.Parameters.AddWithValue("@nombre", CampoNombre); miComando.Parameters.AddWithValue("@semestre", CampoSemestre); miComando.Parameters.AddWithValue("@promedio", CampoPromedio); miComando.ExecuteNonQuery(); // Ejecuta el comando miConexion.Close(); PROGRAMACIÓN DE BASE DE DATOS
  • 43.
    Practica con ODBC 1.Crear en Access una BD que se llame Materias y contenga los campos: nombre, area, horasT, horasP, horasT, Semanas. 2. El campo horasT es resultado de la suma de horasT y horasP. 3. Desarrolle una pantalla donde pueda capturar estos campos, para que puedan ser guardados en la BD de Access. 4. Debe incluir la posibilidad de consultar registros existentes y eliminarlos. PROGRAMACIÓN DE BASE DE DATOS
  • 44.
    Proyecto 1. Instalar enPC local el sistema gestor de bases de datos SQL. 2. Crear un programa en Visual Studio C# que se conecte al SGBD por medio de una cadena de conexión guardada en un archivo de texto local (conectarse a NORTHWND). 3. Desde dicho programa ejecutar las sentencias que se escriban en un textbox. 4. Mostrar los resultados por medio de un query en el SMBD. PROGRAMACIÓN DE BASE DE DATOS
  • 45.
    Bibliografía • Patrick LeBlanc.2015. Microsoft Visual C# 2013 Step by Step. EE. UU. Octal Publishing, Inc. ISBN: 978-0-7356-8183-5. • John Sharp. 2013. Microsoft SQL Server 2012 Step by Step PrePress. EE. UU. Sevastopol, CA. O’Reilly Media, Inc. PROGRAMACIÓN DE BASE DE DATOS