Datenbanken für Dummies

_poc

Ensign
Registriert
März 2008
Beiträge
174
Hallo zusammen,

ich studiere Informatik im dritten Semester. Ich würde gerne Datenbanken programmieren lernen. Leider gibt es das bei uns erst im fünften Semester. Im vierten zwar auch schon, aber nur innerhalb eines Software Praktikums. Da ich nicht so lange warten möchte, würde ich gerne ein gutes Buch empfohlen bekommen. Klar gibt es viele Empfehlungen in Internet und auch bei Amazon findet man vieles. Bin aber auf der suche nach was "speziellen". Ich will keinen dicken Schinken der mir alle Möglichen Dinge über Datenbanken beschreibt. Soll nicht faul klingen, aber das lernen wir in der Uni noch. Am liebsten hätte ein Buch, dass mir sehr Grundlegend erklärt wie Datenbanken aufgebaut werden und dann eine gute Einsicht in die Programmierung gibt. Am liebsten eine Tabellarische Form von Datenbanken. In Java oder C++ (oder beides). Sozusagen eine Art "Datenbanken für Dummies".

Gruß und Danke
POC
 
Bevor du mit der Programmierung von Datenbanken beginnst, solltest du dir erstmal die Grundkenntnisse von relationalen Datenbanken aneignen.
z.b.: SQL ist schon ein nicht so kleines Teilgebiet der Informatik.
 
Wenn man in Mathe bei Mengenlehre und Relationen aufgepasst hat, hat man einen recht ordentlichen Einstieg in SQL.
 
Revolution schrieb:
Möchtest du eine DB Entwickeln oder nur eine befüllen
etwas präziser ausgedrückt muss man unterscheiden zwischen einem Datenbankmanagementsystem (DBMS) und der von diesem verwalteten Datenbank:

http://de.wikipedia.org/wiki/Datenbank#Komponenten_eines_Datenbanksystems

Das DBMS ist eine "gewöhnliche" Applikation, die in einer "gewöhnlichen" Programmiersprache wie C, C++, Java, ... geschrieben ist. Um dem DBMS Anweisungen geben zu können, was es mit den Daten in der Datenbank tun soll, gibt es die Datenbankbeschreibungssprachen. Die verbreitetste, und gefühlt auch einzig existierende, Datenbankbechreibungssprache ist SQL. Wohlgemerkt nicht zu verwechseln mit MySQL, das ist nämlich keine Sprache, sondern ein DBMS.

Um die als SQL-Code verfassten Anweisungen verstehen zu können, hat ein DBMS einen eingebauten SQL-Interpreter. Beispiele für DBMSe, die SQL unterstützen, sind das schon genannte MySQL, Microsoft SQL-Server oder DB2.

@powerofcan: wenn du unter Rückgriff auf ein bestehendes DBMS einfach nur eine Datenbank manipulieren willst, wäre SQL in Verbindung mit einem DBMS deiner Wahl, z.B. MySQL, das gibt's kostenlos, zu empfehlen. Willst du hingegen ein DBMS selbst entwickeln: das lass lieber sein, das wäre für einen Anfänger völlig überdimensioniert. Was du natürlich auch noch machen könntest, wäre, ein wesentlich rudimentäreres DB-System zu programmieren, ohne DBMS und Datenbank im modernen Sinne, also das was man früher (bis Anfang der 1960er Jahre) gemacht hat. Das wäre auch eine gute Vorübung für ein späteres Hantieren mit SQL.
 
Vielen Dank schon einmal xD.

Also ich möchte nur Datenbanken befüllen. Halt eine in Tabellarischer Form.
Die Links sind ziemlich interessant. Aber gibt es da nichts in Buch form? Im Internet ist ja schön und gut, aber ich hab lieber was festes neben mir, wo ich dann beim Programmieren reingucken kann^^. Halt ein Buch, was mir relativ schnell erklärt was Datenbanken sind und wie man welche Aufbaut. Dann mir kurz und knapp erklärt wie ich diese über Java und C++ befülle bzw. Daten daraus abrufe.
Ich weiß das zB. http://dev.mysql.com/doc/refman/5.1/de/index.html wahrscheinlich ziemlich ausführlich und gut ist, aber einfach zu viel. Ich hatte heute nur "Glück" das ein Prof krank ist, sonst würde ich erst jetzt mach hause kommen. Lese privat auch ein Buch und das schon seit knapp einem Jahr. Komme bei 10 Stunden am Tag Uni + Nacharbeit nicht dazu. Und ich weiß auch, dass mir hier einige raten werden, bei so wenig Zeit ein so komplexes Thema nicht anzufangen. Doch ich möchte es schon.
Wie gesagt soll mir alles recht Grundlegend erklären und den Rest macht hoffentlich der Prof.
Soll aber nicht klingen das das Buch 10 Seiten haben soll, aber eben so kurz und knapp wie möglich. Ich hoffe das ist verständlich^^.

Gruß
POC
 
Was du an Theorie wissen musst:

- Normalenformen, vor allem dritte und BCNF
- Transaktionen

Das wars schon.

Was du für die Praxis brauchst:

- MySQL
- PHPMyAdmin

das wars. Glückwunsch, du bist jetzt ein Datenbankenprofi :D
 
Mika911 schrieb:
Bevor du mit der Programmierung von Datenbanken beginnst, solltest du dir erstmal die Grundkenntnisse von relationalen Datenbanken aneignen.
z.b.: SQL ist schon ein nicht so kleines Teilgebiet der Informatik.

entschuldige, aber SQL ist kein teilgebiet der informatik!

und die thematik von datenbank ist in bezug auf informatik eher ein kleines gebiet, so ziemlich eines der kleinsten überhaupt. abzufrühstücken in einem oder höchstens zwei semester.

es gibt zwat jede menge mehr was in der praxis relevant ist und jeh nach job wichtig ist, aber man verläßt da ganz schnell das fachgebiet informatik.

edit: mehr oder weniger hat es F_GXdx recht gut zusammengefaßt. wenn ich da noch hinzufügen darf:
in der theorie sollte man das prinzip relationaler datenbanken verstanden haben

und in der praxis kann dein benötigtes wissen sehr utnerschiedlich sein. aber im grunde reichen meist grundkenntnisse über die datenbankanwendung die du benutzt (sei es mysql, oracle oder was auch immer). den rest schlägst du nach, wenn du es brauchst.

und sonderlich mehr gibt es da auch nciht zu wissen.
 
Zuletzt bearbeitet:
powerofcan schrieb:
... wie ich diese über Java und C++ befülle bzw. Daten daraus abrufe...

F_GXdx schrieb:
Was du für die Praxis brauchst:

- MySQL
- PHPMyAdmin
Datenbanken von Java oder C++ aus befüllen/auslesen und PhpMyAdmin, das passt aber nicht wirklich zusammen. phpMyAdmin ist ein webbasiertes grafisches Frontend für MySQL (geschrieben in PHP, darum der Präfix php-), mit dem man Datenbanken von Hand manipulieren kann. Soll aber der Datenbankzugriff von einem C++ oder Java-Programm aus erfolgen, so nützt einem das wenig. Da braucht es eine API, über die man SQL-Befehle versenden kann. Eine Auflistung solcher APIs findet sich z.B. hier:

http://dev.mysql.com/doc/refman/5.1/de/apis.html

Dort sind MySQL-APIs für C, C++ oder PHP angegeben, wobei letztere vermutlich von phpMyAdmin genutzt wird. Für Java ist interessanterweise keine angegeben. Ich schätze, dass hier JDBC die Rolle einer API übernimmt (?). Analog ist es dann vermutlich im .NET-Framework mit ADO.NET (?).
 
Ich hab mir jetzt einfach "SQL für Dummies" aus der Bibliothek ausgeliehen. Ist zwar sicher nicht das top Buch, aber ich hab kein Tablet und Abends im Bett liest es sich auf dem Laptop schlecht xDD. Trotzdem vielen Dank
 
Dese schrieb:
abzufrühstücken in einem oder höchstens zwei semester.

es gibt zwat jede menge mehr was in der praxis relevant ist und jeh nach job wichtig ist, aber man verläßt da ganz schnell das fachgebiet informatik.

Naja das kommt darauf an was man will. So wie sich das anhört wäre für den TE wohl ein Tutorial, das man in zwei Tagen durcharbeitet ausreichend. Aber Datenbanken im Allgemeinen sind ja dann doch schon eine Stufe komplizierter.

Normalerweise würde ich dich ja nichts sagen, aber da ich dich als ehemaligen wissenschaftlichen Mitarbeiter in der theoretischen Informatik in Erinnerung habe (oder verwechsel ich da was?) wollte ich hier doch nochmal erwähnen, dass zu einem Datenbankmanagmentsystem doch einiges mehr dazu gehört. Allein bei den Auswertungsstrategien ist man ja sehr lange beschäftigt, wenn man hierfür Algorithmen entwickeln möchte, die möglichst effizient sind. Oder insgesamt die Komplexität einer Abfrage in einer bestimmten formalen Sprache bestimmen möchte.
 
Zurück
Oben