none
Una base de datos en una nube o un servidor?... RRS feed

  • Pregunta

  • Hola!

    No entiendo nada de nada de bases de datos, entiendo como funcionan pero nunca he implementado una, porque hasta ahora no lo había necesitado..

    Lo que tengo que hacer es una base de datos que almacene en un servidor, puntaje de examen y nombre de un alumno que hace login desde su ordenador, son alrededor de 30 alumnos.  Este es el procedimiento:

    1- El alumno descarga un software de un servidor

    2- Lo instala y lo abre, le pide ingresar con usuario y contraseña (verificada en el servidor por internet)

    3- estudia el contenido del programa y ejecuta un examen con alternativas, el programa le da un resultado.

    4- se envia ese resultado al servidor a una base de datos donde el profesor revisa la ficha del alumno y su puntaje.

    En mi cabeza solo tengo dos nombres que podrían ayudarme: LinQ y SQL... pero no se cual usar..

    La otra forma que yo usaría (una forma absurda claro), es registrando los resultados en uno o varios strings y enviarlos dichos textos como correo electrónico al mail del profesor... no sería objetivamente lo mismo, pero cumpliría lo básico.....

    Que me convendría?

    gracias de antemano..

    Saludos.

    miércoles, 6 de diciembre de 2017 22:08

Respuestas

  • Para 30 alumnos yo te diría que sí que hagas lo de enviarle al profesor directamente los resultados por email. Le llegarán 30 correos que puede analizar tranquilamente, probablemente con menos esfuerzo del que le costaría hacer login en una aplicación y descargarse los 30 resultados. Y desde luego con mucho menos esfuerzo de desarrollo, y sin requerir una base de datos. Otra cosa sería que hubiera miles de alumnos, en cuyo caso sí que habría que recurrir a la base de datos y a descargar la información pre-clasificada en un listado.

    No obstante, si lo quieres hacer con una base de datos, puedes asignar un SQL Server en la nube (con Azure son unos pocos clicks de ratón y está hecho).

    Cuando escribas tu programa, si usas alguna abstracción tal como Entity Framework para acceder a los datos, entonces puedes ejecutar las consultas escribiendo LINQ contra esa abstracción.

    Donde decías "solo tengo dos nombres que podrían ayudarme: LinQ y SQL", se trata de dos cosas distintas: LINQ es un lenguaje de consulta integrado en el lenguaje de programación (tal como C# o VB.NET), que al ejecutarse se traduce internamente al lenguaje SQL que es el que entiende el servidor de bases de datos (SQL Server). En resumidas cuentas, tus consultas a la base de datos se podrían escribir directamente en lenguaje SQL, o se pueden escribir en LINQ y dejar que la infraestructura traduzca el LINQ en SQL.

    jueves, 7 de diciembre de 2017 8:04
    Moderador

Todas las respuestas

  • Para 30 alumnos yo te diría que sí que hagas lo de enviarle al profesor directamente los resultados por email. Le llegarán 30 correos que puede analizar tranquilamente, probablemente con menos esfuerzo del que le costaría hacer login en una aplicación y descargarse los 30 resultados. Y desde luego con mucho menos esfuerzo de desarrollo, y sin requerir una base de datos. Otra cosa sería que hubiera miles de alumnos, en cuyo caso sí que habría que recurrir a la base de datos y a descargar la información pre-clasificada en un listado.

    No obstante, si lo quieres hacer con una base de datos, puedes asignar un SQL Server en la nube (con Azure son unos pocos clicks de ratón y está hecho).

    Cuando escribas tu programa, si usas alguna abstracción tal como Entity Framework para acceder a los datos, entonces puedes ejecutar las consultas escribiendo LINQ contra esa abstracción.

    Donde decías "solo tengo dos nombres que podrían ayudarme: LinQ y SQL", se trata de dos cosas distintas: LINQ es un lenguaje de consulta integrado en el lenguaje de programación (tal como C# o VB.NET), que al ejecutarse se traduce internamente al lenguaje SQL que es el que entiende el servidor de bases de datos (SQL Server). En resumidas cuentas, tus consultas a la base de datos se podrían escribir directamente en lenguaje SQL, o se pueden escribir en LINQ y dejar que la infraestructura traduzca el LINQ en SQL.

    jueves, 7 de diciembre de 2017 8:04
    Moderador
  • hola

    >>En mi cabeza solo tengo dos nombres que podrían ayudarme: LinQ y SQL... pero no se cual usar..

    recomendaria evalues entity framework, de esta forma mapeas las tablas de la db con objetos

    Entity Framework Documentation

    con este utilizarias linq para consultar los datos

    >>es registrando los resultados en uno o varios strings y enviarlos dichos textos como correo electrónico al mail del profesor... no sería objetivamente lo mismo, pero cumpliría lo básico

    depende los requerimientos, si enviar los datos por mail a una persona es lo que resuelve el problema entonces ve por ese camino

    ahora si la db va a estar en un servidor alojado en internet no vas a poder accederlo directo por temas de seguridad ninguna db se expone a internet

    desde una aplicacion cliente en la pc del usuarios debe consumir servicios web para trabjar con la info, seran los servicios quienes accedan a la db

    pero remarco que NUNCA debes exponer la db que este en un hosting a internet directo, las aplicaciones consumen los datos por medio de servicios web

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    jueves, 7 de diciembre de 2017 14:23
  • Gracias a ambos por las respuestas... investigaré las soluciones que me han dado...

    saludos!

    viernes, 8 de diciembre de 2017 18:13