SlideShare una empresa de Scribd logo
1 de 45
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

Más contenido relacionado

La actualidad más candente

Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logico
josecuartas
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de java
innovalabcun
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
Luis Jherry
 
Cuadro comparativo de SMBD
Cuadro comparativo de SMBD Cuadro comparativo de SMBD
Cuadro comparativo de SMBD
Jazmin Glez.
 
Manejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativosManejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativos
Carolina Cols
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetos
yoiner santiago
 

La actualidad más candente (20)

Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logico
 
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWAREDISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetos
 
1. Modelo de Datos
1. Modelo de Datos1. Modelo de Datos
1. Modelo de Datos
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de java
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
ADO
ADOADO
ADO
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
 
Estándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de NegociosEstándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de Negocios
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Cuadro comparativo de SMBD
Cuadro comparativo de SMBD Cuadro comparativo de SMBD
Cuadro comparativo de SMBD
 
Manejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativosManejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativos
 
Cuadro comparativo sgbd
Cuadro comparativo sgbdCuadro comparativo sgbd
Cuadro comparativo sgbd
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Diagramas de Casos de Uso del Negocio y del Sistema
 Diagramas de Casos de Uso del Negocio y del Sistema Diagramas de Casos de Uso del Negocio y del Sistema
Diagramas de Casos de Uso del Negocio y del Sistema
 
Taller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccionTaller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccion
 
Componentes de sgbd
Componentes de sgbdComponentes de sgbd
Componentes de sgbd
 
Arquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidosArquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidos
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetos
 

Destacado

Programación Funcional en JavaScript
Programación Funcional en JavaScriptProgramación Funcional en JavaScript
Programación Funcional en JavaScript
Javier Vélez Reyes
 

Destacado (20)

Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
 
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movilTópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
 
Tópicos Avanzados de Programación - Unidad 1 GUI
Tópicos Avanzados de Programación - Unidad 1 GUITópicos Avanzados de Programación - Unidad 1 GUI
Tópicos Avanzados de Programación - Unidad 1 GUI
 
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrenteTópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
 
Programacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosProgramacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datos
 
Fundamentos de Telecomunicaciones - Unidad 1 conceptos basicos
Fundamentos de Telecomunicaciones - Unidad 1 conceptos basicosFundamentos de Telecomunicaciones - Unidad 1 conceptos basicos
Fundamentos de Telecomunicaciones - Unidad 1 conceptos basicos
 
Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...
Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...
Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...
 
Gestión de Proyectos de Software - Unidad II: Calidad en el Software
Gestión de Proyectos de Software - Unidad II: Calidad en el SoftwareGestión de Proyectos de Software - Unidad II: Calidad en el Software
Gestión de Proyectos de Software - Unidad II: Calidad en el Software
 
Gestión de Proyectos de Software - Unidad 1 Introducción a la Gestión de Proy...
Gestión de Proyectos de Software - Unidad 1 Introducción a la Gestión de Proy...Gestión de Proyectos de Software - Unidad 1 Introducción a la Gestión de Proy...
Gestión de Proyectos de Software - Unidad 1 Introducción a la Gestión de Proy...
 
Programación 1: algoritmos
Programación 1: algoritmosProgramación 1: algoritmos
Programación 1: algoritmos
 
Programación Funcional en JavaScript
Programación Funcional en JavaScriptProgramación Funcional en JavaScript
Programación Funcional en JavaScript
 
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluación
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluaciónM4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluación
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluación
 
Fundamentos de Telecomunicaciones Unidad 2 medios de transmisión y caracterís...
Fundamentos de Telecomunicaciones Unidad 2 medios de transmisión y caracterís...Fundamentos de Telecomunicaciones Unidad 2 medios de transmisión y caracterís...
Fundamentos de Telecomunicaciones Unidad 2 medios de transmisión y caracterís...
 
Fundamentos de Programacion - Unidad 3 Introduccion a la programacion
Fundamentos de Programacion - Unidad 3 Introduccion a la programacionFundamentos de Programacion - Unidad 3 Introduccion a la programacion
Fundamentos de Programacion - Unidad 3 Introduccion a la programacion
 
Como hacer un Mapa Mental
Como hacer un Mapa MentalComo hacer un Mapa Mental
Como hacer un Mapa Mental
 
Java orientado a objetos
Java orientado a objetosJava orientado a objetos
Java orientado a objetos
 
Matemáticas Discretas - Unidad 1 Sistemas numericos
Matemáticas Discretas - Unidad 1 Sistemas numericosMatemáticas Discretas - Unidad 1 Sistemas numericos
Matemáticas Discretas - Unidad 1 Sistemas numericos
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
Ingenieria de software - Unidad 4 seguridad
Ingenieria de software - Unidad 4 seguridadIngenieria de software - Unidad 4 seguridad
Ingenieria de software - Unidad 4 seguridad
 
M2 actividad 2.3 INSTRUMENTACIÓN DIDÁCTICA 2015
M2 actividad 2.3 INSTRUMENTACIÓN DIDÁCTICA 2015 M2 actividad 2.3 INSTRUMENTACIÓN DIDÁCTICA 2015
M2 actividad 2.3 INSTRUMENTACIÓN DIDÁCTICA 2015
 

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

Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)
josecuartas
 

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

JDBC
JDBCJDBC
JDBC
 
Diapositivas de ado.net
Diapositivas de ado.netDiapositivas de ado.net
Diapositivas de ado.net
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Obvios herramientas de un SGDB
Obvios herramientas de un SGDBObvios herramientas de un SGDB
Obvios herramientas de un SGDB
 
Base De Datos
Base De DatosBase De Datos
Base De Datos
 
POE Unidad 3: Aplicaciones visuales orientadas a eventos con acceso a base de...
POE Unidad 3: Aplicaciones visuales orientadas a eventos con acceso a base de...POE Unidad 3: Aplicaciones visuales orientadas a eventos con acceso a base de...
POE Unidad 3: Aplicaciones visuales orientadas a eventos con acceso a base de...
 
Actividad4cosdac
Actividad4cosdacActividad4cosdac
Actividad4cosdac
 
Modoconexion
ModoconexionModoconexion
Modoconexion
 
ADO .net
ADO .netADO .net
ADO .net
 
Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)
 
11-Unidad 2: Aplicaciones Windows Forms-2.3 Ado-net
11-Unidad 2: Aplicaciones Windows Forms-2.3 Ado-net11-Unidad 2: Aplicaciones Windows Forms-2.3 Ado-net
11-Unidad 2: Aplicaciones Windows Forms-2.3 Ado-net
 
Android con conexión a base de datos sq lite
Android con conexión a base de datos sq liteAndroid con conexión a base de datos sq lite
Android con conexión a base de datos sq lite
 
ADO.NET
ADO.NETADO.NET
ADO.NET
 
Persistencia de datos
Persistencia de datosPersistencia de datos
Persistencia de datos
 
ADO .NET
ADO .NETADO .NET
ADO .NET
 
11- Unidad 2: Aplicaciones Windows Forms- 2.3 Acceso a datos Adonet
11- Unidad 2: Aplicaciones Windows Forms- 2.3 Acceso a datos Adonet11- Unidad 2: Aplicaciones Windows Forms- 2.3 Acceso a datos Adonet
11- Unidad 2: Aplicaciones Windows Forms- 2.3 Acceso a datos Adonet
 
TUTORIAL DE ADO.NET MUY BUENO
TUTORIAL DE ADO.NET MUY BUENOTUTORIAL DE ADO.NET MUY BUENO
TUTORIAL DE ADO.NET MUY BUENO
 
Base de datos en microsoft sql server
Base de datos en microsoft sql serverBase de datos en microsoft sql server
Base de datos en microsoft sql server
 
Lps 18 basesdedatos
Lps 18 basesdedatosLps 18 basesdedatos
Lps 18 basesdedatos
 

Más de José Antonio Sandoval Acosta

Más de José Antonio Sandoval Acosta (20)

Linea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptxLinea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptx
 
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptxUNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
 
croquis de aulas UAIM topolobampo FEB 2024
croquis de aulas UAIM topolobampo  FEB 2024croquis de aulas UAIM topolobampo  FEB 2024
croquis de aulas UAIM topolobampo FEB 2024
 
Ing. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 MódulosIng. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 Módulos
 
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasIng. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
 
Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoIng. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujo
 
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionIng. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
 
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosIng. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
 
Manual de prácticas y antología para POO
Manual de prácticas y antología para  POOManual de prácticas y antología para  POO
Manual de prácticas y antología para POO
 
Aplicaciones móviles intro.
Aplicaciones móviles intro.Aplicaciones móviles intro.
Aplicaciones móviles intro.
 
Economia
EconomiaEconomia
Economia
 
ISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptxISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptx
 
Plantilla presentación.pptx
Plantilla presentación.pptxPlantilla presentación.pptx
Plantilla presentación.pptx
 
kitchenham.pptx
kitchenham.pptxkitchenham.pptx
kitchenham.pptx
 
Diagrama de Casos de Uso UML
Diagrama de Casos de Uso UMLDiagrama de Casos de Uso UML
Diagrama de Casos de Uso UML
 
Introducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UMLIntroducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UML
 
Diagrama de clases UML
Diagrama de clases UMLDiagrama de clases UML
Diagrama de clases UML
 
Diagrama UML Casos de Uso
Diagrama UML Casos de UsoDiagrama UML Casos de Uso
Diagrama UML Casos de Uso
 
Tema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdfTema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdf
 
Tema 1 - Intro.pdf
Tema 1 - Intro.pdfTema 1 - Intro.pdf
Tema 1 - Intro.pdf
 

Último

Tipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosTipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplos
andersonsubero28
 
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfUC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
refrielectriccarlyz
 
auditoria fiscalizacion inspecciones de seguridad
auditoria fiscalizacion inspecciones de seguridadauditoria fiscalizacion inspecciones de seguridad
auditoria fiscalizacion inspecciones de seguridad
NELSON QUINTANA
 

Último (20)

S06_s2+-+Centro.pdf qiieiejanahshsjsnndjd
S06_s2+-+Centro.pdf qiieiejanahshsjsnndjdS06_s2+-+Centro.pdf qiieiejanahshsjsnndjd
S06_s2+-+Centro.pdf qiieiejanahshsjsnndjd
 
Balance materia y energia procesos de Secado
Balance materia y energia procesos de SecadoBalance materia y energia procesos de Secado
Balance materia y energia procesos de Secado
 
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALESCAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
 
portafolio final manco 2 1816827 portafolio de evidencias
portafolio final manco 2 1816827 portafolio de evidenciasportafolio final manco 2 1816827 portafolio de evidencias
portafolio final manco 2 1816827 portafolio de evidencias
 
Tipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosTipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplos
 
INTEGRATED PROJECT DELIVERY.pdf (ENTREGA INTEGRADA DE PROYECTOS)
INTEGRATED PROJECT DELIVERY.pdf (ENTREGA INTEGRADA DE PROYECTOS)INTEGRATED PROJECT DELIVERY.pdf (ENTREGA INTEGRADA DE PROYECTOS)
INTEGRATED PROJECT DELIVERY.pdf (ENTREGA INTEGRADA DE PROYECTOS)
 
metodos de fitomejoramiento en la aolicacion de plantas
metodos de fitomejoramiento en la aolicacion de plantasmetodos de fitomejoramiento en la aolicacion de plantas
metodos de fitomejoramiento en la aolicacion de plantas
 
ESTUDIO DE TRAFICO PARA EL DISEÑO DE TIPOS DE VIAS.pptx
ESTUDIO DE TRAFICO PARA EL DISEÑO DE TIPOS DE VIAS.pptxESTUDIO DE TRAFICO PARA EL DISEÑO DE TIPOS DE VIAS.pptx
ESTUDIO DE TRAFICO PARA EL DISEÑO DE TIPOS DE VIAS.pptx
 
Trabajos Preliminares en Obras de Construcción..pdf
Trabajos Preliminares en Obras de Construcción..pdfTrabajos Preliminares en Obras de Construcción..pdf
Trabajos Preliminares en Obras de Construcción..pdf
 
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx
 
Practica_Calificada_03333333333333333.pdf
Practica_Calificada_03333333333333333.pdfPractica_Calificada_03333333333333333.pdf
Practica_Calificada_03333333333333333.pdf
 
3er Informe Laboratorio Quimica General (2) (1).pdf
3er Informe Laboratorio Quimica General  (2) (1).pdf3er Informe Laboratorio Quimica General  (2) (1).pdf
3er Informe Laboratorio Quimica General (2) (1).pdf
 
Arquitecto cambio de uso de suelo Limache
Arquitecto cambio de uso de suelo LimacheArquitecto cambio de uso de suelo Limache
Arquitecto cambio de uso de suelo Limache
 
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdfNTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
 
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfUC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
 
auditoria fiscalizacion inspecciones de seguridad
auditoria fiscalizacion inspecciones de seguridadauditoria fiscalizacion inspecciones de seguridad
auditoria fiscalizacion inspecciones de seguridad
 
ingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptxingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptx
 
GUIA DE SEGURIDAD PARA VENTILACION DE MINAS-POSITIVA.pdf
GUIA DE SEGURIDAD PARA VENTILACION DE MINAS-POSITIVA.pdfGUIA DE SEGURIDAD PARA VENTILACION DE MINAS-POSITIVA.pdf
GUIA DE SEGURIDAD PARA VENTILACION DE MINAS-POSITIVA.pdf
 
Sistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuhSistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuh
 
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdfTrabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
 

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

  • 1. 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
  • 2. PROGRAMACIÓN DE BASE DE DATOS Competencia: • Desarrollar una base de datos con un lenguaje de programación.
  • 3. 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
  • 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 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
  • 6. 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
  • 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 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
  • 10. 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
  • 11. Í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
  • 12. 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
  • 13. 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
  • 14. 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
  • 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 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
  • 17. • 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
  • 18. • 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
  • 19. 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
  • 20. Ejemplo de código C# PROGRAMACIÓN DE BASE DE DATOS
  • 21. 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
  • 22. 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
  • 23. • 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
  • 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 LA CONECTIVIDAD A BASES DE DATOS • ODBC • JDBC • ADO • ADO.NET • OTROS (RDO, DAO, OLE-DB) PROGRAMACIÓN DE BASE DE DATOS
  • 28. 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
  • 30. 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
  • 31. ¿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
  • 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í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
  • 35. • 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
  • 36. Visión general de las clases de ADO.NET PROGRAMACIÓN DE BASE DE DATOS
  • 37. Visión general de las clases de ADO.NET PROGRAMACIÓN DE BASE DE DATOS
  • 38. 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
  • 39. 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
  • 40. 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
  • 42. 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
  • 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 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
  • 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