Tecnologico Nacional de Mexico
Ingenieria en Sistemas Computacionales
Programacion de Base de datos
Unidad 1: Conexion a la base de datos con un lenguaje de programacion actualizado
PRESENTACION DE LAS PLAGAS Y ENFERMEDADES DEL PALTO
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
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