Hola amigos que tal, en esta entrega les traigo el como accesar a una base de datos (MySQL) desde el iPhone, a través de un WebService. En el ejemplo hago uso de DataSets, Procedimientos Almacenados, DataAdapters y DataRows, algunos se preguntaran ¿Qué son todas esas cosas? Bueno pues a continuación tratare de dar una breve explicación de cada uno de los elementos.
¿Qué es un DataSet?
Un DataSet es un modo desconectado de nuestra base de datos, los DataSets nos permiten recoger información, actualizar datos, eliminarlos, añadirlos, etc…
Como ya habrán intuido un DataSet es una copia en memoria del modelo de nuestra base de datos por lo tanto tenemos tablas, renglones columnas etc. Existen 3 formas con las cuales podemos trabajar con los DataSets
- Creando objetos tipo DataTable para almacenarlos en el DataSet mediante programación.
- Llenando el DataSet con información de una base de datos utilizando un mediador entre ambos que es el DataAdapter.
- Trabajar con origenes de datos de tipo XML y también con un poco más de trabajo con orígenes tipo JSON.
Esta es una breve introducción al DataSet y no estoy cubriendo todo lo que puede hacer este increíble objeto, de hecho esta es una de las mayores ventajas que tiene .NET sobre cualquier otra tecnología. Si quieren buscar más información sobre este objeto, les recuerdo que Google it´s your friend, existe bastante información y ejemplos de los diferentes usos que tiene este objeto
.
¿Qué es un DataAdapter?
Un DataAdapter no es más que un puente entre la base de datos y el DataSet, este objeto se encarga de recibir la información de la base de datos y darle el formato adecuado para llenar el DataSet.
¿Qué es un DataRow?
Un objeto DataRow como su nombre lo indica es un renglón de un DataTable, este se utiliza para extraer los valores de un reglón completo de una tabla, en el video queda creo yo un poco más claro su uso.
¿Qué son los Procedimientos Almacenados?
Los Procedimientos almacenados son características que vienen a partir de MySQL 5.0. Un procedimiento almacenado son un conjunto de comandos SQL que se almacenan en el servidor. Una vez hechos, los clientes no necesitan saber los comandos individuales para obtener la informacion necesaria si no que solo le mandan los parametros necesarios al servidor MySQL y el servidor se encarga de extraer la informacion necesaria solamente con los datos que el cliente le mando.
Algunos casos en que los procedimientos almacenados pueden ser muy útiles:
- Cuando múltiples aplicaciones cliente se escriben en distintos lenguajes o funcionan en distintas plataformas, pero necesitan realizar la misma operación en la base de datos.
- Cuando la seguridad es muy importante. Los bancos, por ejemplo, usan procedimientos almacenados para todas las operaciones comunes. Esto proporciona un entorno seguro y consistente, y los procedimientos pueden asegurar que cada operación se loguea apropiadamente. En tal entorno, las aplicaciones y los usuarios no obtendrían ningún acceso directo a las tablas de la base de datos, sólo pueden ejecutar algunos procedimientos almacenados.
Los procedimientos almacenados son muy parecidos a las funciones que realizamos en una clase de .NET, nosotros le mandamos los parámetros necesarios a la función, nosotros no sabemos el funcionamiento interno de esa función pero si sabemos que nos regresara la información que necesitamos. Esto reduce drásticamente el tráfico entre el servidor de base de datos y el cliente, ya que en vez de mandarle muchísimas cadenas string de consultas SQL, solo le mandamos parámetros a esa función.
Bueno espero les sirva el video para sus futuros proyectos, verán que es bastante sencillo. Ya saben cualquier duda, comentario, sugerencia la pueden poner aquí y tratare de responder lo mas rápido posible. Saludos!