Du bist nicht angemeldet.

#1 05.01.2018 20:13:17

Felix_Helix
Gast

SQL

Hallo,

ich habe eine neue Stelle angetreten wo ich u.a. mit einem Warenwirtschaftsystem zu tun habe.
Dieses System wird mit SQL abgefragt usw..... alles unter Windows.
Da ich mit SQL noch nicht viel Erfahrung habe wollte ich es gerne privat zu hause an meinem LInux PC erlernen, unter Arch.

Aber welches SQL Paket soll ich verwenden bzw. installieren?
Da gibt es soviele, da weiss ich gar nicht mit was ich als EInsteiger anfangen soll.

Kann mir jemand einen Tipp geben was ich verwenden sollte?

Vielen Dank

#2 05.01.2018 20:17:01

niemand
Mitglied

Re: SQL

Die verbreitetsten sind heute wohl Postgres und MariaDB (Fork von MySQL). Allerdings wird’s unter Windows wohl MSSQL sein, und du wirst nicht alles 1:1 umsetzen können.

Beitrag geändert von niemand (05.01.2018 20:18:25)

Offline

#3 06.01.2018 10:04:26

T.M.
Mitglied

Re: SQL

Was für SQL ist das unter Windows? Du müßtest herausbekommen, was das dort für ein Server ist und Dir dann am besten ein Buch kaufen. Wenn alle bloß vom "SQL-Server" reden, ist es mit großer Wahrscheinlichkeit der Microsoft SQL Server (in einer seiner vielen untereinander oft inkompatiblen Varianten). Die Sprache dort heißt Transact-SQL (T-SQL) und stammt noch von Sybase.

Um SQL unter Linux zu probieren, wäre es klug, MariaDB (ein fork von MySQL) zu installieren. Dann mußt Du dort aber Dinge tun, die Du normalerweise bei einem laufenden DB-Server nicht machen mußt, vor allem eine eigene Datenbank (DB) anlegen, Benutzer einrichten, Rechte vergeben. Aber diese Schritte kann man Dokumentationen entnehmen, das ist in ein paar Minuten getan. Jeder SQL-Server hat umfangreiche, für ihn und seine Version spezifische Dokumentationen im Netz, die mußt Du suchen und gleich mal ein Lesezeichen drauflegen, dieses Material brauchst Du oft. Und dann kannste einen SQL-Prompt öffnen (der heißt aus historischen Gründen "mysql") und einen ersten CREATE TABLE o.ä. absetzen.

Schon nach kurzer Zeit wirst Du zwischen verschiedenen SQL-Servern Unterschiede feststellen, zunächst syntaktische (denn z.B. bei Microsoft ist so ziemlich alles irgendwie anders), später aber auch konzeptionelle. SQL hat auf jedem Server so seine Eigenheiten und Einschränkungen. Sowas wie ein "portables SQL-Script" gibt's praktisch nicht.

Offline

#4 06.01.2018 14:20:51

GerBra
Mitglied

Re: SQL

T.M. schrieb:

Um SQL unter Linux zu probieren, wäre es klug, MariaDB (ein fork von MySQL) zu installieren.

Wäre auch mein Vorschlag.

An den OP:
Der Wikipedia-Artikel zu SQL
https://de.wikipedia.org/wiki/SQL
bietet IMHO einen guten, praktischen Einstieg und Verweise auch zu den unterschiedlichen DB-Systemen.

T.M. schrieb:

SQL hat auf jedem Server so seine Eigenheiten und Einschränkungen. Sowas wie ein "portables SQL-Script" gibt's praktisch nicht.

Dafür gibt es ja Gremien und Standards(tm) - https://de.wikipedia.org/wiki/SQL#Sprachstandard - bei SQL wohl 9+7 ;-)

Diese Standards - nicht nur in der IT-Welt - sind ja wohl so eine wichtige, geile und unersetzliche Sache, so daß es wohl angebracht ist daß eben jeder einen eigenen Standard hat... <g>

Offline

#5 06.01.2018 15:41:18

T.M.
Mitglied

Re: SQL

Die Standards regeln viel, aber leider beharrt nach wie vor jeder SQL-Server (von denen die meisten älter als die Standards sind) beispielsweise auf seinen ganz eigenen Datentypen. Und selbst dort, wo es einen Datentyp für Datumswerte gibt und er auch noch Date heißt, ist wiederum die Schreibweise der Werte höchst unterschiedlich.

Unterschiede gibt's beispielsweise auch bei den erlaubten Namen. Microsoft erlaubt ja z.B. Namen (also Tabellennamen, Spaltennamen) mit Umlauten,  Leer- und Sonderzeichen. Wer einmal versucht hat, ein Datenmodell mit 300 Tabellen von einem Microsoft SQL Server, der sowas verwendet, auf einen Oracle Server zu portieren, kann mit solch lapidaren Dingen Wochen und Monate verbringen, obwohl auf beiden Seiten SQL ist. (Und da haben wir noch nicht einmal über die Anwendung gesprochen, die mit diesen Namen umgehen muß.)

Bei Microsoft (ich hab's schon angesprochen) sind nicht einmal die einzelnen Versionen des eigenen Produkts untereinander rückwärtskompatibel. Dort muß man u.U. ein Datenmodell schon regelrecht portieren, wenn man nur einen moderneren Server verwenden will. Ein Grund, warum viele Anwendungen auch heute noch uralte Microsoft SQL Server 2008 und 2012 verwenden.

Wieder andere Unterschiede liegen im Verhalten. Der Microsoft SQL Server hat beispielsweise bis vor wenigen Jahren noch ein Verfahren namens "page locking" verwendet, d.h. beim Zugriff auf einen einzelnen Datensatz jeweils eine ganze Seite (also mehrere Datensätze) gelockt. Das hat natürlich signifikante Auswirkungen, wenn die Anwendung damit nicht rechnet. Bereits mehrere threads ein und derselben Anwendung konnten sich gegenseitig blockieren, obwohl sie an verschiedenen Datensätzen arbeiteten. Das war eine sehr unangenehme Sache, die andere Server nie gehabt haben.

Beitrag geändert von T.M. (06.01.2018 15:42:01)

Offline

#6 11.01.2018 19:37:33

tuxnix
Mitglied

Re: SQL

Ich finde SQLite recht praktisch.
Wenn man üben möchte wie Tabellen angelegt und Abfragen erstellt werden bzw. Daten mittels SQL-Syntax überspielt werden können, bekommt man schnell einen Überblick ohne erst einen Datenbankserver aufsetzen zu müssen.
Für spezielle Kenntnisse bei einem Warenwirtschaftssystem auf Windows wird man sich ohnehin nochmal neu orientieren müssen.
Zum Ausprobieren oder für kleinere Anwendungen ist SQLite eine sehr gute Variante.

Offline

Schnellantwort auf dieses Thema

Schreibe deinen Beitrag und versende ihn
Deine Antwort

Fußzeile des Forums