Geschichte der Datenbanken: Datenbank und DBMS
Vor langer Zeit stellte sich in einem großen IT-Unternehmen in einem amerikanischen Land die Aufgabe, sehr große Datenmengen zu speichern. Was ist daran so schwer, fragen Sie? Schließlich haben große Unternehmen Geld, sodass Sie mehr Festplatten kaufen können – und das war's.
Tolle Idee, aber wie man so schön sagt, steckt der Teufel im Detail. Große Datenmengen mussten nicht nur gespeichert, sondern auch verändert werden, und daraus wurden verschiedene Proben erstellt. Darüber hinaus müssen Sie verschiedene Daten von verschiedenen Orten auswählen und dies schnell und schön tun.
Im Großen und Ganzen ist alles wie immer: Die Kunden wollten etwas, das es nicht gibt, und die Entscheidung, Festplatten zu kaufen, hat dieses Mal nicht funktioniert.
![](https://cdn.codegym.cc/images/article/ffb700f7-60b3-4cfc-a274-a1a35a6b1f31/512.jpeg)
Deshalb haben die Programmierer dieses IT-Unternehmens ein größeres Budget für sich bereitgestellt, Forschungsarbeiten durchgeführt und als das Budget aufgebraucht war, eine Präsentation gehalten, in der vorgeschlagen wurde, Daten in Form einer Datenbank zu speichern. In einer Datenbank werden alle Daten in Tabellen gespeichert, und jede Tabelle wird in einer separaten Datei gespeichert. Alles Geniale ist einfach und alles funktioniert.
Doch eine solche Präsentation gefiel den Kunden nicht und die Kleinigkeiten gingen weiter:
![](https://cdn.codegym.cc/images/article/a7850c1c-b3ee-403d-8453-dcc511174b7b/512.jpeg)
- Wo ist das Geld, Lebowski?
- Warum ist die Datenbank besser als die gute alte Speicherung von Daten in Form einer Reihe von Dateien?
- Wir brauchen eine wirklich gute Lösung, nicht das!
- Und es hat das gesamte Budget gekostet?
Im Vortragsraum herrschte Totenstille. Doch unerwartet für alle wurde die Situation durch einen Nachwuchsentwickler gerettet, der sagte, dass ein spezielles Programm an die Datenbank angehängt sei – ein DBMS (Database Management System), das:
- Datenbanken erstellen, ändern und löschen
- Nehmen Sie Änderungen an Datenbanken vor, nämlich: neue Datensätze hinzufügen, alte löschen und ändern
- Und auch superschnell, um verschiedene Auswahlen beliebiger Daten durchzuführen
Und Programmierer sind sogar dabei, den Entwurf einer speziellen Supersprache zum Filtern von Daten fertigzustellen – SQL . Und sie sagen, dass jeder Manager mit Hilfe dieser magischen SQL-Sprache problemlos beliebige Daten aus der Datenbank filtern und abrufen kann.
![](https://cdn.codegym.cc/images/article/216e75d9-299a-44a8-9e0a-0cc1d26717a8/512.jpeg)
Die Programmierer haben den Entwurf der Sprache einfach noch nicht abgeschlossen , daher gibt es in der Präsentation kein Wort über SQL und DBMS.
Zur Freude aller waren die Kunden von der Erklärung, die sie hörten, beeindruckt, äußerten mehrere widersprüchliche Vorstellungen darüber, wie diese neue Sprache aussehen sollte, und stellten sogar ein Budget für ihre Verfeinerung bereit.
Die Manager und der technische Direktor begannen sich gegenseitig zum erfolgreichen Abschluss des Projekts zu gratulieren und gingen sofort los, um dieses Ereignis zu feiern, ohne sich darüber im Klaren zu sein, dass der Junior-Programmierer in dieser ganzen Geschichte die wichtigste Person ist ...
Beliebtes DBMS und MySQL
Im Moment (Sommer 2022) gibt es Hunderte beliebter DBMS, daher wird es für Sie nützlich sein, einige davon kennenzulernen. Womit soll ich anfangen...
Einerseits gibt es den Enterprise-DBMS-Markt schon seit Jahrzehnten. Daher gibt es sowohl anerkannte Führungskräfte als auch vielversprechende Neulinge. Andererseits wachsen die Geschäftsanforderungen stetig, so dass sich die Ansätze zum Aufbau von IT-Infrastrukturen von Unternehmen ständig ändern.
Jetzt werden Sie niemanden mit einer Datenbank aus einem Cluster von ein paar tausend Servern mit horizontalem und vertikalem Sharding, verteilten Transaktionen sowie einer IT-Abteilung mit ein paar Dutzend Systemadministratoren überraschen, die Serverfestplatten entsprechend wechseln einen vorgegebenen Zeitplan.
Wenn Sie für ein großes Unternehmen arbeiten, zahlen diese im Allgemeinen viel Geld für ihre Datenbanken und verwenden etwa Folgendes:
Oracle-Datenbank
![](https://cdn.codegym.cc/images/article/8a53ac38-0a59-466a-9597-f3e6bf618a43/800.jpeg)
Oracle veröffentlichte seine erste Datenbank bereits 1979 (vor 43 Jahren). Sie trug sofort den Namen Oracle 2.0, um Kunden davon zu überzeugen, dass das Produkt nicht neu, sondern bewährt ist.
Die aktuelle Version der Datenbank ist Oracle 21 c , wobei der Buchstabe c vom Wort cloud stammt, was sozusagen darauf hindeutet, dass Oracle mit der Zeit geht und seine Lösungen perfekt mit allen Cloud-Technologien kompatibel sind.
Microsoft SQL Server
![](https://cdn.codegym.cc/images/article/532a4cde-2214-4bec-96db-bff84eb41af6/512.jpeg)
Microsoft verdient viel Geld damit, nicht Windows, sondern Serverlösungen für mittlere und große Unternehmen zu verkaufen. Microsoft Office, Microsoft SharePoint, Microsoft Server usw. Und all das erfordert natürlich eine gute Datenbank. Daher sind viele Unternehmen, die Microsoft-Produkte und -Lösungen verwenden, gezwungen, deren Datenbank zu nutzen.
Das DBMS von Microsoft heißt einfach SQL Server . Wenn Sie also in einem Vorstellungsgespräch die Frage „Haben Sie mit SQL Server gearbeitet?“ hören, wissen Sie, dass es sich nicht um ein abstraktes DBMS, sondern um Microsoft SQL Server handelt.
PostgreSQL
![](https://cdn.codegym.cc/images/article/b31cfc41-69af-488e-8079-5433fa502551/512.jpeg)
Dabei handelt es sich um ein gutes kostenloses DBMS, das häufig nicht nur von kleinen und mittleren Unternehmen, sondern auch von großen Konzernen genutzt wird. Dies ist eine der Datenbanken, die Amazon AWS als DB-as-Service anbietet.
MySQL
![](https://cdn.codegym.cc/images/article/0ea0a78a-41d2-43c3-8cd0-b4c72d4c142a/512.jpeg)
MySQL ist eine sehr beliebte kostenlose Open-Source-Datenbank. Es ist gut dokumentiert, arbeitet schnell und unterstützt eine Vielzahl von Funktionen. Bisher ist die 8. Version dieses DBMS verfügbar.
Im Jahr 2008 wurde es von Sun gekauft, das 2009 von Oracle aufgekauft wurde. Und es hat ihr nur geholfen – das Produkt wird ständig weiterentwickelt und verbessert.
Am Beispiel von MySQL Community Server 8.0 lernen wir den Umgang mit Datenbanken .
Tabellen in einer Datenbank: Spalten und Spalten
Verschiedene DBMS können Daten in unterschiedlichen Formaten speichern, daher wählen wir die einfachste und klassischste Option – das MySQL-DBMS.
Und sofort stellt sich die Frage: Wie speichert man beispielsweise Buchhaltungsunterlagen? Am einfachsten ist es, jedes Dokument als Excel-Datei zu speichern. Dann können alle zugehörigen Dokumente in einem Ordner gespeichert werden. So funktioniert MySQL.
Eine weitere Analogie: In der Java-Sprache haben Sie Klassen und Pakete in Ihrem Projekt , aber gleichzeitig werden Klassen und Pakete auf der Festplatte als Dateien und Ordner dargestellt . Ähnliches gibt es in MySQL.
MySQL-Daten werden in Form von Tabellen gespeichert , die zu Datenbanken zusammengefasst werden . Gleichzeitig werden Tabellen und die Datenbank jedoch als Dateien und Ordner auf der Festplatte dargestellt . Die Datenbank ist ein Ordner und die darin enthaltenen Dateien sind Tabellen.
Jede Tabelle besteht aus Spalten und Zeilen . Beispiel:
![](https://cdn.codegym.cc/images/article/ef9c797e-174d-4b27-a109-ff88a837ac5a/512.jpeg)
Wichtig! Jede Spalte hat einen Namen und einen Datentyp , daher müssen alle Zellen in derselben Spalte Werte desselben Typs speichern .
Es kann eine Analogie zwischen einer Tabelle in MySQL und einer Klasse in Java gezogen werden. Eine Tabelle ist eine Klasse, eine Tabelle hat wie eine Klasse einen eindeutigen Namen. Tabellenspalten sind Klassenfelder; Spalten haben wie Felder einen eindeutigen Namen und Typ. Tabellenzeilen sind Klasseninstanzen in Java.
Eine Klasse kann ohne Objekte existieren und eine Tabelle kann ohne Zeilen existieren. In Java können Sie ein neues Objekt erstellen und in MySQL können Sie einer Tabelle eine neue Zeile hinzufügen. Sie können die Feldwerte eines Objekts ändern und in MySQL können Sie die Werte in einer Zeile ändern.
Noch richtiger ist es zu sagen, dass eine Tabelle keine Klasse ist, sondern eine Sammlung von Objekten einer bestimmten Klasse. Wenn wir in MySQL eine Employee-Tabelle mit Daten zu Mitarbeitern haben, würden wir in Java die ArrayList- Sammlung verwenden
Und natürlich stellt sich sofort die Frage: Wie erhält man bestimmte Daten aus dieser Sammlung?
GO TO FULL VERSION