Contenidos del módulo 2:

  • Introducción a lenguaje C#.
  • Conexión a bases de datos desde C#
  • Introducción al patrón MVC
  • Introducción ASP.NET Webforms

Curso de SQL Básico

¿Porque es importante este contenido?

Actualmente el desarrollo de la tecnología informática y computacional produce un gran volumen de datos diariamente. Estos datos necesitan ser ordenados y almacenados para posteriormente poder ser usados o analizados, para esto se crearon grandes almacenes de datos llamados bases de datos.
Si tu empresa o aplicación apunta a un futuro de crecimiento, esta debe contar con una base de datos, la cual debe ajustarse a las necesidades particulares de cada tipo de empresa  o aplicación.

SQL (por sus siglas en inglés Structured Query Language; en español lenguaje de consulta estructurada) es un lenguaje específico del dominio utilizado en programación, diseñado para administrar, y recuperar información de sistemas de gestión de bases de datos relacionales​.


¿Que objetivos deberíamos alcanzar con este contenido?


  • Definiciones  y conceptos de BBDD (entidades, tablas, constraints , tipos de datos)
  • Manejar sentencias básicas de DDL (Lenguaje de definición de datos): Create , Alter, Drop, truncate.
  • Manejar sentencias básicas de DML ( Lenguaje de manipulación de datos): Select, Insert, Update, Delete.
  • Herramientas mínimas para realizar consultas mas complejas como por ejemplo: joins, funciones de agrupamiento, etc.

Lenguaje de programación C#


¿Porque es importante este contenido?

Este contenido propone una aproximación al lenguaje C# desde la practica. 

Las aplicaciones de consola son muy utilizadas y nos permitirán abordar los aspectos básicos de C#.


¿Que objetivos deberíamos alcanzar con este contenido?

  • Tipos de datos básicos
  • Creación de tipo de proyecto de consola, impresión de información por pantalla
  • Creación de objetos simples (clases) DTO (data transfer object), sin atributos anidados
  • Creación de listas simples
  • Ordenamiento de listas utilizando librería Linq


¿Porque es importante este contenido?

Este contenido servirá como introducción a las clases y métodos fundamentales para conectarse a una base de datos relacional desde nuestra aplicación escrita en C#.


¿Que objetivos deberíamos alcanzar con este contenido?

  • Comprender como configurar nuestra aplicación para conectarse con la base de datos
  • Comprender como conectarse a una base de datos
  • Ejecutar consultas de lectura de datos


Palabras clave:

ConnectionString:  Es el "string" (texto) que contiene toda la información para poder conectarse a la base de datos. El nombre del servidor, el puerto, el nombre de la base de datos y las credenciales (usuario y clave) para poder conectarse. Usualmente una aplicación tiene un solo ConnectionString; salvo que se conecta a múltiples bases de datos.  
SqlConnection:  En una conexión típica, es el objeto que "realmente" se conecta a la base de datos. Utilizando la información del ConnectionString, busca la base de datos en la red y se conecta a ella. A partir de establecer la comunicación, este objeto (SqlConnection) es utilizado por los demás para poder funcionar.

SqlCommand:  Este objeto nos permite (como su nombre lo sugiere) escribir y configurar el comando (lo que queremos hacer en la base de datos) de selección, inserción, eliminación o modificación. Solo puede utilizarse si existe un objeto SqlConnection instanciado y conectado a la base de datos.
SqlDataReader:  En los casos donde el comando ejecutado es de consulta (SELECT) el objeto SqlDataReader nos da acceso a los registros (la informacion en si misma) obtenida de la base de datos a través del SqlCommand. Solo puede utilizarse si existe un objeto SqlCommand instanciado y ejecutado correctamente.



Material de referencia muy útil 

https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/index

https://docs.microsoft.com/en-us/dotnet/api/system.data.sqlclient.sqlconnection.connectionstring?view=netframework-4.0

https://docs.microsoft.com/en-us/dotnet/api/system.data.sqlclient.sqlconnection?view=netframework-4.0

https://docs.microsoft.com/en-us/dotnet/api/system.data.sqlclient.sqlcommand?view=netframework-4.0

https://docs.microsoft.com/en-us/dotnet/api/system.data.sqlclient.sqldatareader?view=netframework-4.0


¿Porque es importante este contenido?

Este contenido propone una aproximación al patrón de desarrollo Model-View-Controller sobre el lenguaje de desarrollo C#.


¿Que objetivos deberíamos alcanzar con este contenido?

  • Que es y para que sirve el patrón MVC (comprender que es la "M", la "V" y la "C" de la sigla MVC!)
  • Creación de tipo de proyecto MVC
  • Creación de un formulario (V), un controlador (C) y las clases de modelo (M) para procesar y generar paginas HTML desde el servidor.
  • Conectarse a la base de datos y mostrar una lista de registros utilizando todos los componentes del punto anterior.


Introducción al patrón MVC implementado sobre C#

https://es.wikipedia.org/wiki/ASP.NET_MVC_Framework

(video - parte 1) 


(video - parte 2) 

(video - parte 3) 

(video - parte 4) 

(*** VIDEO 4 *** Solo como referencia, la conexión a la base de datos la vamos a ver de otra forma)


Uso de Razor como motor de programación de vistas.

https://www.w3schools.com/asp/razor_intro.asp


Model State

https://docs.microsoft.com/en-us/dotnet/api/system.web.mvc.modelstate?view=aspnet-mvc-5.2


RedirectToAction

https://docs.microsoft.com/en-us/dotnet/api/system.web.mvc.controller.redirecttoaction?view=aspnet-mvc-5.2#System_Web_Mvc_Controller_RedirectToAction_System_String_System_String_System_Object_


Arquitectura Multicapa

https://en.wikipedia.org/wiki/Multitier_architecture