RDBMS für IT-Neulinge

Ich muss meinen beiden Praktikanten beibringen, wie man RDBMS im Allgemeinen und "Standard"-SQL in ihrer Freizeit verwendet, indem ich die veralteten Windows-Notebooks verwende, die wir herumliegen haben. Sie kommen aus dem Mathematikunterricht und haben wenig Berührungspunkte mit dem Programmieren.

Welches Datenbankverwaltungssystem sollte ich verwenden, um sie zu unterrichten? Ich brauche etwas mit einer trivialen Import/Export-Schnittstelle, das Laden von Daten in MS SQL Server Express kann manchmal mühsam sein.

Meine langfristigen Ziele sind: Sie in die Lage zu versetzen, den MS SQL Server zu verwenden, den wir bei der Arbeit haben, und Pentaho zu verwenden, um Daten auf diesem Server zu visualisieren.

Meinen Sie damit, dass MS SQL Server ein zu komplexes RDMS ist, um von Anfängern erlernt zu werden, und sie sollten stattdessen mit einem einfacheren RDBMS beginnen? Und was müssen sie über SQL hinaus lernen?
MS SQL Server hat zu viele Schaltflächen, die sie nicht verwenden werden, aber das ist nicht das Problem. Die RAM-, Prozessor- und Festplattenauslastung ist, die von uns verwendeten Maschinen sind sehr alt. Mein böser Plan ist: Schritt 1: Bringen Sie ihnen die Details von SELECT, WHERE, HAVING, ORDER BY, GROUP BY bei und zeigen Sie, wo sie nach der genauen Syntax von INSERT, UPDATE und DELETE suchen müssen. Schritt 2: Zeigen Sie ihnen den Pentaho BI Server und was er tut. Schritt 3: Zeigen Sie ihnen Pentaho Report Designer und wie man ihn benutzt. Schritt 4: Lassen Sie sie Berichte schreiben. Profitieren.
@LucasSoares Es mag Ansichtssache sein, aber alle DMS haben viele Schaltflächen, die sie nicht verwenden, wenn sie nur einfache Abfragen verwenden. Wenn ich Sie wäre, würde ich bei MS SQL bleiben, damit sie sich sofort an die Endumgebung gewöhnen.
@Amber Wir haben einige alte Notebooks, die wir als DB-Server und BI-Server verwenden möchten. Sie können diese Notizbücher mit nach Hause nehmen, um damit zu experimentieren. Mein Problem ist, dass SQL Server auf den ersten Blick zu schwer für diese Maschinen aussieht. Nach einigem Nachdenken über die Situation und Ihren Kommentar werden sie SQL Server auf ihren Arbeitsdesktops verwenden (einige aktuellere HP-Computer, I5-Prozessoren und dergleichen).
Außerdem möchte ich ihnen das Konzept des "Technologie-Agnostizismus" beibringen. Sie konzentrieren sich auf Standard-SQL, relationale Modelle, später auf dimensionale Modelle, nicht auf bestimmte Tools.

Antworten (3)

Ich würde MySQL als RDBMS und MySQL Workbench als IDE verwenden:

  • frei
  • funktioniert unter Windows/Linux/Mac
  • einfach zu installieren (um es einfacher zu machen, könnten Sie sogar MySQL auf einem Server installieren und Ihre Praktikanten sich einfach damit verbinden lassen)
  • Satzstellung markieren
  • automatische Vervollständigung
  • SQL-Dokumentation auf der Seite
  • Zusätzlich zum SQL-Editor können Sie die Datenbank (übliche EER) visuell entwerfen und die Datenbank verwalten.

SQL-Editor:

Geben Sie hier die Bildbeschreibung ein

Visuelles Datenbankdesign:

Geben Sie hier die Bildbeschreibung ein

Verwaltung:

Geben Sie hier die Bildbeschreibung ein

Außerdem +1 für phpMyAdmin, wenn Sie MySQL und phpMyAdmin auf Ihrem Server hosten: weniger Funktionen, aber einfacher, da es nur eine Webschnittstelle ist.

Ich habe mich für MySQL entschieden, vor allem, weil sie das im Head First SQL-Buch verwenden.

Ich würde phpMyAdmin empfehlen - funktioniert mit MySQL (auch MarioDB & Drizzle, obwohl ich dazu nichts sagen kann). Es erfordert PHP und MySQL/MarioDB/Drizzle - WAMP hat es über das Installationsprogramm vorinstalliert, wenn Sie eine einfache Windows-Installationslösung wünschen.

Mit phpMyAdmin haben Sie volle Konsolenfähigkeiten und auch eine sehr, sehr einfach zu spielende Verwaltungs-GUI. Die GUI kann:

  • sehr einfacher Import oder Export (in vielen Formaten; XML, PHP-Arrays, CSV, SQL, tabulatorgetrennt etc. etc.)
  • Zeilen hinzufügen/bearbeiten/löschen
  • Spalten, Datenbanken, Tabellen hinzufügen/verschieben/bearbeiten/löschen
  • Setup-Einschränkungen, Indizes usw.
  • viel mehr.

Auf diese Weise habe ich mir beigebracht, tatsächlich zu verstehen, was mit Joins und solchen Dingen passieren wird (zum Beispiel, weil Sie es sicher lesen können, aber wenn Sie genau sehen, was passiert, wenn Sie die Art des Joins ändern, verstehen Sie es tatsächlich ).

Ich hatte WAMP und phpMyAdmin völlig vergessen, obwohl es mein erstes Softwaretool in meinem derzeitigen Job war. Ich bereitete einige Dateien vor, gab den Jungs die neueste Version des WAMP-Installers und ging weiter. Ich bin im ersten Beispiel hängen geblieben: Die einfachsten Dateien, die ich habe, waren zu groß für die Standard-PHP-Konfiguration.

Ich würde ihnen sqlite geben - es ist perfekt für Anfangssituationen wie diese:

  • Die DB befindet sich in einer einzigen Datei, was es sehr einfach macht, mit der Verwendung zu beginnen, und wirklich einfach zurückzusetzen, wenn Sie es vermasseln.
  • Die DB-Engine ist eine einzelne ausführbare Datei - geben Sie einfach ein sqlite3 <db file name>, um loszulegen.
  • Importe aus CSV sind ziemlich einfach.
  • Unterstützt den üblichen Satz von SQL-Operationen.
  • Die Dokumentation ist direkt auf der Website und ist sehr gut.

Sie werden einige Anpassungen vornehmen müssen, wenn sie zu MS SQL Server wechseln, aber das gilt unabhängig davon, womit Sie sie beginnen – jede DB hat ihre eigene Sicht auf die Dinge und seltsame Macken.

Ich habe mich für SQLite entschieden, aber nicht ganz einfach. Ich wollte ihnen die Grundlagen von JOIN im Vergleich zu Excels SVERWEIS beibringen. Dummes Beispiel, aber sie verwenden SVERWEIS täglich, das ist also ein guter Ausgangspunkt und hat sie motiviert. Sie haben ein wenig Erfahrung mit der Sprache R ( r-project.org ) und das R sqldf-Paket ermöglicht die Verwendung von SQLite ohne Boilerplate. Starten Sie einfach das Ding und führen Sie die JOINs aus, um einige Daten schnell zusammenzuführen - sqldf erledigt den Import / Export-Job. Irgendwann in dieser Woche werde ich ihnen ein kleines CRUD zeigen, das mit C (ihr College verwendet C) und SQLite erstellt wurde.