PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : SQL-Tutorial


Osmoses
2014-06-04, 16:20:56
Hallo!

Bin auf der Suche nach einem guten SQL Tutorial im Netz, welches einem Anfänger mit rein rudimentären PHP und SQL Kenntnissen ("Hab es mal in einer Vorlesung und Seminar gehabt ...") innerhalb von 1-2 Wochen fit macht.

Kann mir da jemand weiterhelfen?

RattuS
2014-06-04, 21:39:56
Ich fand damals die kurzen Erklärungen von 1keydata (http://www.1keydata.com/de/sql/) sehr nützlich. Ist wohl allerdings etwas in die Jahre gekommen.

ravage
2014-06-04, 22:04:45
Speziell für Joins fand ich diese Anleitung ganz gut:

http://acadopus.de/datenbank/mysql-join-in-bildern_4137.html

ezzemm
2014-06-05, 07:14:07
Ich nutzte dies als Tutorial:
http://www.peterkropff.de/site/mysql/befehle.htm

Auch OOP in PHP habe ich damit gelernt.

Asaraki
2014-06-05, 16:05:21
Ausserdem würd ich dir empfehlen, soviel wie möglich "zu spielen". Es gibt viele Entwickler, die zwar SQL mehr oder weniger gut kennen, aber eigentlich relativ wenig davon verstehen, was im Hintergrund abgeht, was aber spätestens bei komplexeren Queries schon relevant wird. Zumindest rudimentäre Kenntnisse bezüglich Access Paths und Index Usage sind meines Erachtens meist wertvoller im täglichen Gebrauch, ausserdem punktest du damit eher bei einem Kollegen/Vorgesetzten, wenn dein Query beim ersten Versuch schon nahe am Optimum läuft. Die Syntax eines SQL Befehls nochmal schnell nachschauen zu müssen ist hingegen kein Verbrechen.

In welchem Umfang willst du denn "SQL" meistern, respektive was tust du in 1-2 Wochen damit? Wirst du auch viel in die Datenbank einfügen oder geht es nur um reine Selects? Interessant wird SQL ja vor allem dann, wenn man eher komplexere Tasks in einem einzigen SQL abhandeln kann und dieses trotzdem noch performt und eben dort wird dann die Kenntniss, wie man am besten zugreift relevant.

Marscel
2014-06-05, 17:07:37
Genau. Kein Einstiegstutorial wird dich auf Dinge vorbereiten Wie kriege ich den Kram in einer Anfrage und gleichzeitig performant raus?

Die Syntax ist im Allgemeinen recht trivial, da braucht man keine zwei Wochen für, wichtiger sind die von Asaraki genannten Sachen und auch die Einsicht, dass SQL an sich nur begrenzt viel Wert hat, da jedes System seine eigenen Sachen, zu Hauf!, reinholt.

PHuV
2014-06-06, 09:11:49
Vor allen Dingen ist auch wichtig, welche Datenbank und welche SQL-Standard (2003, 2008...) soll verwendet werden? Oracle, DB2, MySql/MariaDB, MS-SQL, Postgres, Sybase, oder reden wir von kleinen Datenbanken wie Derby und Co? Hier muß man arg aufpassen, da SQL an manchen Stellen von den jeweiligen Herstellern etwas anders verstanden wird.

PatkIllA
2014-06-06, 10:01:25
Und bitte gleich an SQL Injection denken und Parameter benutzen.
Aus irgendeinen Grund werden in den allermeisten Tutorials die Query-string mit den Werten zusammengefummelt.

Asaraki
2014-06-06, 14:25:13
Und bitte gleich an SQL Injection denken und Parameter benutzen.
Aus irgendeinen Grund werden in den allermeisten Tutorials die Query-string mit den Werten zusammengefummelt.
Darum wärs ja interessant was er in Zukunft damit machen muss. In meinen Umfeld ist Injektion kein Thema, da keine user Interaktion, dann kann man sich das vorerst sparen und sich auf die wesentlichen Dinge konzentrieren.

Es gibt ja auch nicht die perfekte Art ein SQL schreiben. Wenn man Reports zieht ist wartbarkeit wichtiger als die letzten Performance Prozente etc...

PatkIllA
2014-06-06, 14:27:56
Darum wärs ja interessant was er in Zukunft damit machen muss. In meinen Umfeld ist Injektion kein Thema, da keine user Interaktion, dann kann man sich das vorerst sparen und sich auf die wesentlichen Dinge konzentrieren. Das ist ja nicht mal wirklich mehr Aufwand. Teilweise sogar eher weniger. Wir arbeiten mit mehreren Datenbanksystem gegen von Kunden installierte Server und da hatten wir früher regelmäßig Ärger mit Formaten bei Datum und Zahlen, Encodings usw. Praktisch alles weg.

Asaraki
2014-06-06, 14:35:49
Das ist ja nicht mal wirklich mehr Aufwand. Teilweise sogar eher weniger. Wir arbeiten mit mehreren Datenbanksystem gegen von Kunden installierte Server und da hatten wir früher regelmäßig Ärger mit Formaten bei Datum und Zahlen, Encodings usw. Praktisch alles weg.

Du meinst Prepared/Stored Procedures zu benutzen?

PatkIllA
2014-06-06, 14:40:19
Du meinst Prepared/Stored Procedures zu benutzen?
Ja
zumal man sich das grundlegende nur mal kurz anschauen muss, dafür eine Menge Ärger sparen kann.
Und wie üblich kann man noch deutlich in die Tiefe gehen und an der Performance schrauben.

Asaraki
2014-06-06, 14:45:25
Ja
zumal man sich das grundlegende nur mal kurz anschauen muss, dafür eine Menge Ärger sparen kann.

Da geb ich dir völlig Recht, aber eben ohne zu wissen was er wirklich tun soll und wieviel Zeit er hat sich in verschiedenes einzulesen stehen Stored Procedures bei mir nicht zuoberst auf der Prio-Liste.

Es gibt halt soviele Einsatzgebiete für SQL diese Tage, dass es allgemein schwer zu sagen ist, was sich jemand zuerst mal anschauen sollte. Aber ich glaube der TS ist längst vertieft in "SQL for Dummies" und schaut hier nicht mehr rein :D

Osmoses
2014-06-06, 16:40:42
Es gibt halt soviele Einsatzgebiete für SQL diese Tage, dass es allgemein schwer zu sagen ist, was sich jemand zuerst mal anschauen sollte. Aber ich glaube der TS ist längst vertieft in "SQL for Dummies" und schaut hier nicht mehr rein :D

Natürlich lese ich mit!

Asaraki
2014-06-06, 17:02:54
Dann sag doch bitte mal was du so in etwa zu tun hast respektive aus welchem Grund du es lernen willst/musst und wir hauen dir die relevanten Keywords an den Kopf :-)

Osmoses
2014-06-07, 01:01:40
Dann sag doch bitte mal was du so in etwa zu tun hast respektive aus welchem Grund du es lernen willst/musst und wir hauen dir die relevanten Keywords an den Kopf :-)

Es geht darum eine Software (Windows) mit einer Datenbank im Hintergrund zu bedienen.
Lagerstand, Lohnverrechnung, Posten etc.

PHuV
2014-06-10, 15:34:27
Dann wird wahrscheinlich ein MS-SQL-Server Express verwendet, oder?

samm
2014-06-10, 23:27:33
Würde wegen des andern Threads (http://www.forum-3dcenter.org/vbulletin/showthread.php?t=553973) von MySQL ausgehen.

Osmoses
2014-06-10, 23:29:27
Würde wegen des andern Threads (http://www.forum-3dcenter.org/vbulletin/showthread.php?t=553973) von MySQL ausgehen.

Die haben miteinander nichts zu tun.
Geht zwar bei beiden um Datenbanken, aber damit hatte es sich sich schon.

samm
2014-06-11, 00:15:22
Ok! Und was ist denn die korrekte Antwort zum verwendeten DB-System? :)

Osmoses
2014-06-11, 01:25:13
Ok! Und was ist denn die korrekte Antwort zum verwendeten DB-System? :)

MS-SQL - sorry!

PHuV
2014-06-11, 12:23:23
Und die Version? Jetzt laß Dir doch nicht immer alles so mühsam aus der Nase ziehen.

Osmoses
2014-06-11, 19:30:55
Und die Version? Jetzt laß Dir doch nicht immer alles so mühsam aus der Nase ziehen.


Ich habe leider selbst nur spärliche Infos und die Version gehört nicht dazu :-/

Matrix316
2014-06-13, 13:22:27
PHP und MSSQL ist natürlich eine interessante Mischung. ;)

http://webcheatsheet.com/php/connect_mssql_database.php