RDBMS para novatos en TI

Necesito enseñar a mis dos pasantes cómo usar RDBMS en general y SQL "estándar" durante su tiempo libre, usando los portátiles obsoletos de Windows que tenemos por ahí. Vienen de cursos de matemáticas y han tenido poco contacto con la programación.

¿Qué sistema de gestión de bases de datos debo usar para enseñarles? Necesito algo con una interfaz de importación/exportación trivial, cargar datos a MS SQL Server Express puede ser una molestia a veces.

Mis objetivos a largo plazo son: permitirles usar el servidor MS SQL que tenemos en el trabajo y usar Pentaho para visualizar datos en ese servidor.

¿Quiere decir que MS SQL Server es un RDMS demasiado complejo para que lo aprendan los novatos y, en cambio, deberían comenzar con un RDBMS más fácil? Además, ¿qué necesitan aprender más allá de SQL?
MS SQL Server tiene demasiados botones que no usarán, pero ese no es el problema. El uso de RAM, procesador y disco es que las máquinas que estamos usando son muy antiguas. Mi malvado plan es: Paso 1: Enséñeles los detalles de SELECCIONAR, DONDE, TENER, ORDENAR POR, AGRUPAR POR, y mostrarles dónde buscar la sintaxis exacta de INSERTAR, ACTUALIZAR y ELIMINAR. Paso 2: Muéstreles el servidor Pentaho BI y lo que hace. Paso 3: Muéstreles Pentaho Report Designer y cómo usarlo. Paso 4: Pídales que escriban informes. Lucro.
@LucasSoares Puede ser una cuestión de opinión, pero todos los DMS tendrán muchos botones que no usarán si solo van a usar consultas simples. Si yo fuera usted, me quedaría con MS SQL, por lo que se utilizan para el entorno final de inmediato.
@Amber Tenemos algunos portátiles antiguos que queremos usar como servidor de base de datos y servidor de BI. Pueden llevarse estos cuadernos a casa para experimentar con ellos. Mi problema es que SQL Server parece, a primera vista, demasiado pesado para estas máquinas. Después de pensar un poco sobre la situación y su comentario, usarán SQL Server en sus escritorios de trabajo (algunas computadoras HP más actualizadas, procesadores I5 y similares).
Además quiero enseñarles el concepto de "Agnosticismo Tecnológico". Se enfocarán en SQL estándar, Modelos Relacionales, luego en Modelos Dimensionales, no en herramientas específicas.

Respuestas (3)

Usaría MySQL como RDBMS y MySQL Workbench como IDE:

  • gratis
  • funciona en Windows/Linux/Mac
  • sencillo de instalar (para hacerlo más simple, incluso podría instalar MySQL en algún servidor, y solo hacer que sus internos se conecten a él)
  • resaltado de sintaxis
  • finalización automática
  • Documentación de SQL en el lateral
  • Además del Editor SQL, puede diseñar visualmente la base de datos (EER habitual) y administrar la base de datos.

Editor SQL:

ingrese la descripción de la imagen aquí

Diseño de base de datos visual:

ingrese la descripción de la imagen aquí

Administración:

ingrese la descripción de la imagen aquí

Además, +1 para phpMyAdmin si aloja MySQL y phpMyAdmin en su servidor: menos funciones pero más ligero ya que es solo una interfaz web.

Me decidí por MySQL, principalmente porque eso es lo que usan en el libro Head First SQL.

Recomendaría phpMyAdmin : funciona con MySQL (también MarioDB y Drizzle, aunque no puedo comentar sobre ellos). Requiere PHP y MySQL/MarioDB/Drizzle: WAMP lo tiene preconfigurado a través del instalador si desea una solución de instalación de Windows simple.

Con phpMyAdmin, tiene capacidades de consola completas y también una muy, muy fácil de jugar con aprender de/usar para la GUI de administración. La GUI puede:

  • importar o exportar muy fácilmente (en muchos formatos; XML, arreglos de PHP, CSV, SQL, tabulados, etc., etc.)
  • añadir/editar/eliminar filas
  • agregar/mover/editar/eliminar columnas, bases de datos, tablas
  • restricciones de configuración, índices, etc.
  • mucho más.

Así es como me he enseñado a mí mismo a comprender realmente lo que sucederá con las uniones y cosas por el estilo (por ejemplo, porque seguro que puedes leerlo, pero cuando ves exactamente lo que sucede cuando cambias el tipo de unión, realmente lo entiendes ).

Me había olvidado por completo de WAMP y phpMyAdmin, aunque era mi primera herramienta de software en mi trabajo actual. Preparé algunos archivos, les di a los muchachos la última versión del instalador de WAMP y seguí adelante. Me quedé atascado en el primer ejemplo: los archivos más simples que tenía eran demasiado grandes para que los manejara la configuración estándar de PHP.

Les daría sqlite : es perfecto para situaciones iniciales como esta:

  • La base de datos está en un solo archivo, lo que hace que sea muy fácil de usar y muy fácil de restablecer si lo estropeas.
  • El motor de base de datos es un solo ejecutable; solo escriba sqlite3 <db file name>para comenzar.
  • Las importaciones desde CSV son bastante fáciles.
  • Admite el conjunto habitual de operaciones SQL.
  • La documentación está justo en el sitio web , y es muy buena.

Tendrán algunos ajustes cuando cambien a MS SQL Server, pero eso es cierto sin importar con qué los comience: cada base de datos tiene su propia visión de las cosas y peculiaridades extrañas.

Decidí usar SQLite, pero no de una manera muy sencilla. Quería enseñarles los conceptos básicos de JOIN en comparación con BUSCARV de Excel. Ejemplo tonto, pero usan BUSCARV a diario, por lo que es un buen punto de partida y los motivó. Tienen un poco de experiencia con el lenguaje R ( r-project.org ), y el paquete R sqldf permite el uso de SQLite sin ningún repetitivo. Simplemente comience y haga los JOIN para fusionar rápidamente algunos datos: sqldf hace el trabajo de importación / exportación. En algún momento de esta semana les mostraré un pequeño CRUD creado con C (su universidad usa C) y SQLite.