Zum Inhalt springen

Datenbanken wie lernen?


Taubozz

Empfohlene Beiträge

Hallo,

 

ich bin ein Anfänger und würde gerne wissen, wie man den Umgang mit Datenbanken am besten lernt. Also ganze mit SQL, XML, PHP oder was es da noch gibt. Möchte Software wie Tyop3 oder andere CMS sicher anwenden können.

 

In welcher Reihenfolge sollte ich denn das ganze lernen und vor allem wie?

 

Danke im voraus.

 

MfG

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also um eine eigene Datenbank aufzuziehen ist es am einfachsten sich MySQL zu besorgen, wenn ich mich richtig erinnere gibt es auf der offiziellen Seite ein Gesamtpaket mit Server, MySQL Workbench usw. das du einfach am Rechner installieren kannst http://dev.mysql.com/downloads/

Einfach die Community Version nehmen :) Mit der Workbench kannst du auch Grafisch die Datenbank modellieren und dann SQL Code generieren. Um SQL selbst zu lernen, finden sich bei Google so einige Tutorials, da kann ich dir aber leider jetzt keine nennen, da ich SQL in der Berufsschule das erste mal gelernt habe (unsere Schule hat da ein eigenes Skript geschrieben) und halt dann in meinem neuen Job mit den Unterlagen die mir mein Chef gegeben hat (hausinterne Schulungsunterlagen).

Für XML reicht ein handelsüblicher Texteditor wie Notepad++, SublimeText etc. http://www.w3schools.com/xml/ in Verbindung mit XML könntest du dir aber durchaus XSLT auch noch anschauen http://www.w3schools.com/xsl/ und http://www.data2type.de/xml-xslt-xslfo/xslt/

Für PHP gibt es auch programme mit denen du dir einen Lokalen Server installieren kannst mit dem du dann PHP Programme zum laufen bringen kannst ( https://www.apachefriends.org/de/index.html oder http://www.easyphp.org/ ) , ansonsten gibt es auch hier unzählige Webtutorials z.b. https://www.codecademy.com/learn/php und noch so einige andere, einfach mal googlen :)

Ich hoffe das hilft dir schonmal :) 

Ich kann dir aber leider nicht sagen in welcher Reihenfolge du es lernen sollst, das sind alles irgendwo eigene Technologien und Sprachen die jede ihr eigenes Anwendungsgebiet hat. Ich denke bei PHP macht es sicher sinn sich auch mit Datenbanken auseinanderzusetzen. Bei XSLT solltest du vorher mal XML verstanden haben (wobei das jetzt nicht schwer ist). Bei Datenbanken an sich solltest du grundsätzlich dich mal einlesen wie Datenbanken funktionieren, was für Regeln man beim modellieren beachten sollte usw.

Zu Typo3 kann ich leider garnix sagen, habe damit nie etwas zutun gehabt und mit CMS System an sich nur mit dem hauseigenen Software meiner Ausbildungsfirma, die aber nicht frei verfügbar ist.

Bearbeitet von Albi
Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich würde empfehlen mit SQL anzufangen. Und zwar noch konkreter: mit SELECT. Das ist der Bereich, den ein Entwickler zu 90% (subjektiver Wert) bei seiner Arbeit braucht: Wie bekomme ich vorhandene Daten aus der Datenbank?

Danach würde ich mir die Gegenrichtung anschauen: Daten in die Datenbank schreiben: INSERT, UPDATE, DELETE.

Damit solltest du eine gute Grundlage für das Tagesgeschäft haben. Wenn du darüber hinaus noch selbst Datenbanken modellieren möchtest, setze dich zuerst mit den Entity-Relationship-Modellen auseinander, die Daten recht abstrakt modellieren. Im Anschluss daran kommt dann der Schritt in die relationale Welt mit dem Tabellenmodell. Und zu guter letzt kannst du dir dann die entsprechenden SQL-Befehle anschauen: CREATE, ALTER usw.

So mache ich es mit meinen Azubis und Studenten und lasse sie währenddessen auch schon immer gleich die passenden IHK-Aufgaben bearbeiten, damit sie gleich ein Gefühl für die Fragen bekommen und den Sinn hinter dem Lernen sehen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also meiner Erfahrung nach sind erstmal Grundlagen zu Themen wie:

- Was ist eine Datenbank
- Relationale Datenbanken
- Normalisierung
- ACID

notwendig, dann hat man das Grundwissen schon mal drauf. Beschäftige dich mit der Modellierung von Datenbanken, probier ein bisschen was mit mit MySQL aus.

Erst danach ist SQL ein Thema, klar ist es DAS Thema was man in der Praxis wirklich braucht, aber ohne das notwendige Grundverständnis... ich weiß nicht ob das sinnvoll ist.

Zum Thema SQL - DML:

- auf jeden Fall zuerst SELECT in allen möglichen Konstellationen (Subqueries, Joins, Aggregationen usw)
- Insert, Update, Delete ist dann der nächste Schritt

- DDL kann man dann bei Bedarf vertiefen (Create, Alter, Drop, usw.)

Bearbeitet von Nachtauge90
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 5 Stunden schrieb Nachtauge90:

Also meiner Erfahrung nach sind erstmal Grundlagen zu Themen wie:

- Was ist eine Datenbank
- Relationale Datenbanken
- Normalisierung
- ACID

notwendig, dann hat man das Grundwissen schon mal drauf.

 

vor 5 Stunden schrieb Nachtauge90:

Erst danach ist SQL ein Thema, klar ist es DAS Thema was man in der Praxis wirklich braucht, aber ohne das notwendige Grundverständnis... ich weiß nicht ob das sinnvoll ist.

 

Das sehe ich anders. ACID würde ich kaum als Grundlage bezeichnen. Um ein paar SELECT-Abfragen in mein Programm einzubauen, muss ich kein Transaktionskonzept erläutern können und noch weniger die Eigenschaften eines solchen kennen. Auch den Vorgang der Normalisierung muss ich nicht beherreschen, um die Daten abfragen zu können. Sicherlich ist es sinnvoll, zu verstehen, warum Daten überhaupt normalisiert abgelegt werden, aber einen JOIN kann ich auch ohne das Hintergrundwissen bauen.

Ich vergleiche das jetzt mal mit der Polymorphie der Objektorientierung. Sicherlich muss ich das - irgendwann einmal - lernen. Aber wenn ich anfange zu programmieren, werde ich vielleicht doch zunächst mal eine if-Abfrage schreiben.

Ich würde eher versuchen, zunächst einmal etwas Praktisches zu machen und dann (natürlich zeitnah) in die Theorie dahinter einzusteigen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

DANKE schon mal an alle :)

 

Also so wie ich es verstanden habe wäre das eine sinnvolle Reihenfolge:

1. Grundlagen/Konzept von Datenbanken verstehen

2. SQL (SELECT  => INSERT, UPDATE, DELETE)

3. eigene Datenbanken modellieren

 

Kann mir jemand sagen, woher ich sinnvolle Übungsaufgaben bekomme, um das ganze einzuprägen? Bekommt man diese IHK Aufgaben irgendwo oder gibt es da Alternativen (möglicherweise kostenlos)?

Ich gehe mal davon aus, dass XML der nächste Schritt wäre oder nicht? Braucht man doch nicht direkt, um mit Datenbanken umzugehen.

Und PHP ganz am Ende, wenn man mit Datenbanken noch ein bischen mehr machen möchte.

 

Habe ich das so richtig verstanden? Gibt es da noch was zu beachten?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wie kommst du von Datenbanken auf XML? Das hat erstmal nichts miteinander zu tun. Höchstens, dass beides Daten enthält. Für den Zugriff auf (relationale) Datenbanken brauchst du XML nicht. Es gibt allerdings dokumentenorientierte Datenbanken wie MongoDB, die Daten nicht in Tabellen, sondern in strukturiertem Text ablegen. Dann aber nicht in XML, sondern in JSON.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

Was Normalisierung ist, bekommt man schon von ganz alleine heraus, wenn man mit den Daten (Ergebnissen) arbeitet (auswertet) und dann versteht man auch sogleich den Sinn von Eingabemasken, Dropdownmenüs etc. und stolpert über Begriffe wie Redundanz und Konsistenz.

Grüße

Micha

Link zu diesem Kommentar
Auf anderen Seiten teilen

Sorry, dass ich mit XML und Datenbanken so daneben lag. Dachte die hängen irgendwo zusammen und habe da was durcheinander gebracht.

 

Gibt es denn ein besonders empfehlenswertes Lehrbuch/sonstige Schrift (auch online) dazu mit anwendungsnahen Übungaufgaben? Wie wird es denn an Berufsschule gelehrt oder haben da alle ihre eigenen Lehrmittel. Kann man denn das ganze auch nur üben, wenn man so eine Datenbank online gestellt hat oder gibt es dafür auch eine offline Software?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Taubozz,

das ist schon von Deinen Ansprüchen abhängig. Für die allerersten Schritte offline bietet es sich an, eine kleine Datenbank MS Access für die Verwaltung der persönlichen Kontakte zu "bauen". Da kann man die PLZ mit den Orten verknüpfen, checkboxen für w/m, evt. eine Tabelle mit Hobbys, eine Tabelle mit vorlieben und diese n:m verknüpfen und sich so die ersten Grundlagen erarbeiten. Später lassen sich die Daten auch transferieren und die SQL-Befehle erlernen. Wobei MS ja auch in den entsprechenden Abfragen diese Befehle übersetzt. Kannst Du da aber auch von Hand eingeben.

Tipp: Du kannst ja die Kontakte aus Deinem Email-Verzeichnis exportieren und in die DB übernehmen. Das spart das lästige eintippen.

Grüße

Micha

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich empfehle eigentlich bei allem, was man lernen möchte, sich erst etwas zu überlegen, das man erreichen möchte. Und zwar ein konkretes Ziel. Einfach so "Datenbanken" lernen halte ich für nicht zielführend. Interessanter ist es, wenn man sich ein Ziel überlegt (bspw. "Adressauskunftssystem"), das man dann von Grund auf angeht. Da kann man mit der Datenbank anfangen, setzt sich dann damit auseinander, wie man in der Programmiersprache der Wahl die Daten wieder herausbekommt und wie man diese Daten schlußendlich für einen Nutzer aufbereitet.

Damit hat man einen Rahmen, in dem man sich bewegt und irrt nicht von Normalformen über ER-Modelle über ACID über Index-Erzeugung über Sharding zu Transaktionsmanagement sondern kümmert sich um das, was gerade notwendig ist, die Aufgabe zu erledigen. Dabei kommt man zwangsweise mit immer mehr Sachen in Berührung, aber idealerweise erst dann, wenn man auch versteht, wieso das jetzt überhaupt eine Rolle spielt.

Beispielsweise merkt man ganz schnell, wieso man eine einfache Datenbank in der 3NF haben möchte, wenn man erstmal anfängt, da Sachen einzufügen und immer und immer wieder das gleiche eintippen muss.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Mein Ziel ist in erster Linie der sichere Umgang mit Datenbanken wie MySQL, Typo3, Joomla und was es da noch so gibt. Möchte es zunächst als Zusatzqualifikation erlernen, da in einigen Stellenausschreiben so etwas gesucht wird. Aber auch privat würde ich gerne mal mit eigenen Datenbanken arbeiten können. Da ich wie gesagt ein Anfänger bin und jetzt noch keinen Praxisbezug habe, würde ich das ganze etwas praxisnah erlernen. Also schon mit realistischen Anwendungen wie z.B. Online-Shops, Krankenkassen etc.

 

Das letztgenannte Tutorial hat zumindest Übungsaufgaben und wirkt gut. Ist dieses Tutorial zusammen mit deren empfohlenen Links schon das beste, wie man es lernen könnte?

Bearbeitet von Taubozz
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 27 Minuten schrieb Taubozz:

Mein Ziel ist in erster Linie der sichere Umgang mit Datenbanken wie MySQL, Typo3, Joomla und was es da noch so gibt. Möchte es zunächst als Zusatzqualifikation erlernen, da in einigen Stellenausschreiben so etwas gesucht wird.

Darf ich mal fragen, was du eigentlich vorhast? Bist du ITler (z.B. FISI) und möchtest gerne in die Anwendungsentwicklung? Oder worauf willst du dich bewerben? Deine Beiträge lassen eher darauf schließen, dass du von der gesamten Materie keine Ahnung hast (das ist nicht böse gemeint). Auf welche Stelle möchtest du dich mit den selbst erlernten Grundlagen bewerben und welche Hoffnungen machst du dir?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also ich bin weder ITler noch habe ich eine Ausbildung in der Richtung gehabt. Dass ich keine Ahnung habe stimmt daher eigentlich :D Möchte es deshalb lernen, damit ich Ahnung habe.

Spezielle Stellen fallen mir im Moment nicht ein, aber ich finde, dass der Umgang mit Datenbanken im Vergleich zum Programmieren leichter/schneller zu erlenen ist. Wenn ich dann das kann, dann kann ich mich zumindest von anderen Bewerbern abheben die kein spezielles IT-Wissen haben. Wie schon gesagt möchte ich auch privat damit umgehen können. Außerdem kann ich dieses Wissen auch für ein mögliches Studium/Ausbildung gebrauchen. Das ich mit Datenbanken anfange liegt einfach nur daran, dass ich mich erst in die IT eingewöhnen möchte. Oder habe ich auch hier einen Denkfehler gemacht und sollte mit etwas anderen anfangen?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Es stimmt schon, dass man in der Praxis vielleicht am ehesten mit Datenbanken etwas anfangen kann. Allein, dass mit Access sogar eine Datenbank in der Office-Suite enthalten ist, sollte das schon deutlich machen ;)

Das Schöne an SQL ist, dass man diesen Standard auf jede (relationale) Datenbank anwenden kann, sodass man nicht an eine spezielle Implementierung gebunden ist. Ich könnte mir durchaus vorstellen, dass du über die Datenbanken einen guten Einstieg in die IT hinbekommst. Und auch für dich persönlich bieten die Kenntnisse vielleicht Vorteile, weil du selbst deine eigenen Daten damit organisieren kannst.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ohne je mit einem CMS gearbeitet zu haben...

Wenn du PHP lernen möchtest, solltest du dir vielleicht eher Contao als CMS vornehmen. Ich meine Typo3 hat eine eigene Sprache, während Contao reines PHP nutzt, das senkt vielleicht den Grad der Verwirrung.

Für PHP würde ich mir an deiner Stelle ein richtiges Buch kaufen, damit du was hast, was insich stimmig und didaktisch gut aufgebaut ist. Da PHP und mySQL ein "Team" bilden, wird so ein Buch wahrscheinlich auch einen mehr oder weniger großen Anteil zu mySQL haben. Ist jedenfalls bei den Büchern so, die ich zu PHP kenne. Dann hast du quasi zwei Fliegen mit einem Buch erschlagen, oder wie sagt man.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...