‫Alle Unternehmen speichern Daten aus einem einfachen Rekordbuch eines kleinen Unternehmens, vielleicht sogar in einem Journal oder einem Blatt Papier,
‫bis hin zu großen Unternehmen wie Amazon, die Computer benötigen, um Petabyte an Daten zu speichern.
‫Um diese Informationen zu speichern, benötigt so ziemlich jedes Unternehmen und manchmal auch Einzelpersonen eine
‫sogenannte Datenbank.
‫Wir haben im letzten Abschnitt gesehen, wie schwer es war, unseren Server an einen neuen Benutzer zu erinnern.
‫Jedes Mal, wenn der Server abstürzt, wird die Variable zurückgesetzt und dann beginnt alles von vorne.
‫Oder wenn wir uns anmelden oder signieren und die E-Mails und Passwörter überprüfen und durchlaufen wollten, eine Schleife
‫durch JavaScript durchzuführen, ist das ineffizient.
‫Hier kommt die Datenbank zur Rettung.
‫Fragen wir uns also, was ist eine Datenbank?
‫Eine Datenbank ist eine Sammlung von Daten.
‫Und was wir mit Daten meinen, es gibt viele Formen davon, richtig, es können Zahlen
‫sein, es können Daten sein, es könnten Passwort-Hashes sein, es könnten Benutzerinformationen sein.
‫Datenbanken ermöglichen es uns, diese Daten auf eine für uns nützliche Weise zu organisieren und die Datenverwaltung zu
‫vereinfachen.
‫Und daraus ist etwas entstanden, und es heißt Database Management System, kurz DBMS.
‫Es ist eine Sammlung von Programmen, die es uns ermöglicht, auf Datenbanken zuzugreifen und mit Daten zu arbeiten, und
‫es ermöglicht auch den Kontrollzugriff für Datenbankbenutzer.
‫Ein DBMS ist also etwas in dieser Box.
‫Etwas, das uns ein Werkzeug ermöglicht, eine Software, die es uns ermöglicht, zu kommunizieren.
‫Mit der Datenbank speichern Informationen, die für uns nützlich sind und es uns auch ermöglichen, zu aktualisieren, einzufügen, zu löschen, nachzuschlagen, was auch
‫immer in der Datenbank ist, und diese Idee eines DBMS nahm in den 1960er Jahren wirklich Gestalt an und steht jetzt an
‫der Spitze der Entwicklung viele spannende Dinge.
‫Es gibt eine ganze Branche von Ingenieuren, die nur mit Datenbanken arbeiten, weil es so wichtig ist.
‫Es gibt zwei Arten von DBMS, die derzeit sehr beliebt sind und über die wir in diesem Kurs sprechen
‫werden.
‫Und diese beiden Typen werden von Postscripts und Mongo DB sehr gut repräsentiert.
‫Lassen Sie uns über die erste sprechen, die eine relationale Datenbank ist.
‫Und dies ist wahrscheinlich das beliebteste.
‫Wie Sie auf der rechten Seite sehen können.
‫Sie sehen, dass all dies relationale Datenbanken, Postgraduierte Oracle, SQL Server sind.
‫Sie haben vielleicht schon von MySQL, Escorial Lite gehört.
‫Dies sind alles Arten von Datenbanken, die dieses relationale Datenbank-Tag haben, und das Schöne an ihnen ist, dass sie
‫alle ziemlich ähnlich sind.
‫Sie alle folgen dem gleichen Standardformat.
‫Relationale Datenbanken bestehen aus zwei oder mehr Tabellen mit Spalten und Zeilen.
‫In diesem Fall ist der Benutzer eine Tabelle und der vollständige Name, der Text des Benutzernamens, der in unseren Spalten erstellt wurde, und
‫alle Werte, die sie hier haben, sind Zeilen.
‫Jede Zeile steht für einen Eintrag in jeder Spalte.
‫Es handelt sich also um eine ganz bestimmte Art von Informationen wie Name, Adresse oder Telefonnummern.
‫Und dann die Beziehung zwischen Tabellen und Feld.
‫In einer relationalen Datenbank wird es als Schema bezeichnet. Das Schema muss klar definiert sein, bevor Informationen hinzugefügt werden
‫können.
‫Und wenn das jetzt verwirrend ist, keine Sorge, wir werden diese Datenbanken tatsächlich erstellen, damit es für
‫Sie sinnvoll ist.
‫Wenn wir zum Beispiel Twitter hätten, können Sie hier sehen, welche Arten von Tabellen wir haben und wie wir
‫sie organisieren würden.
‫Wir hätten einen User Stable, eine Tweet-Tabelle, eine folgende Tabelle.
‫Und wir können all diese Informationen verbinden, indem wir beispielsweise verschiedene Teile der Tabelle verbinden.
‫Der Benutzername ist beispielsweise in der Benutzertabelle derselbe wie in der Tweets-Tabelle.
‫Auf diese Weise können wir sagen, dass der Benutzername und die Tweets-Tabelle der Fremdschlüssel des Benutzernamens in der Benutzertabelle und
‫dann von Benutzer ist.
‫Wird der Fremdschlüssel des Benutzernamens in der folgenden Tabelle sein.
‫Dinge wie der vollständige Name oder die ID, die jede Zeile in einer Tabelle identifiziert, werden als Primärschlüssel bezeichnet, und wir werden
‫später in diesem Abschnitt darauf eingehen.
‫In Ordnung, all diese Datenbanken werden wir über Postkrisen-Cual lernen, aber sie sind alle ziemlich
‫gleich.
‫Wenn Sie also einen kennen, ist es ziemlich einfach, die anderen aufzunehmen.
‫Wie kommunizieren sie eigentlich mit einem Server mit dem Backend?
‫Nun, alle relationalen Datenbanken verwenden etwas, das als obscur bezeichnet wird.
‫Und bittet euch alle erlaubt uns zu kommunizieren, so wie es HTP zwischen dem Frontend und dem
‫Backend gemacht hat, mit euch konntet ihr alle mit der Datenbank kommunizieren und modifizieren oder abrufen oder aktualisieren, wie wir wollen.
‫Und wir werden auch ein Video zu diesem Thema haben.
‫Gut.
‫Das sind also relationale Datenbanken.
‫Was ist mit der zweiten Art?
‫Der zweite Typ heißt nicht-relationale Datenbank oder keine ESKIL-Datenbank, und noch einmal gibt es viele, viele verschiedene Arten
‫von Datenbanken mit einigen coolen Namen wie Kotb und Hyper Table.
‫Jetzt können Sie mit einer Mongo-DB oder einer nicht relationalen Datenbank eine Anwendung erstellen, ohne zuerst das
‫Schema definieren zu müssen, im Gegensatz zu einer relationalen Datenbank.
‫Wenn wir zur relationalen Datenbank zurückkehren, müssen dieses Schema oder diese Tabellen irgendwie vordefiniert sein, oder?
‫Wir müssen wissen, wie unsere App aussehen wird. Erstellen Sie diese Tabellen, damit wir nach der Veröffentlichung der
‫App Benutzerinformationen sowie Tweets und Follower eingeben können.
‫Ohne Entschuldigung oder ohne relationale Datenbank können wir sie einfach definieren, und sie haben alle unterschiedliche Möglichkeiten,
‫diese Informationen zu speichern.
‫Jeder ist also sehr, sehr unterschiedlich.
‫Und dies ist ein weiterer wichtiger Grund für die Verwendung einer nicht relationalen Datenbank: Wenn Ihre
‫Datenanforderungen zu Beginn Ihres Projekts nicht klar sind und Sie möglicherweise über eine riesige Menge unstrukturierter Daten verfügen, können Sie
‫sich möglicherweise nicht den Luxus leisten, eine relationale Datenbank zu entwickeln Datenbank mit einem klar definierten Schema.
‫Sie bieten stattdessen eine größere Flexibilität, da eine nicht relationale Datenbank eher Ordnern ähnelt, die nur
‫verwandte Informationen aller Art zusammenstellen.
‫Nun ist Mongo DB etwas, das als dokumentenorientiert bezeichnet wird, es speichert Informationen als Dokumente.
‫Lassen Sie mich Ihnen diesen Punkt veranschaulichen.
‫Ich habe hier meinen Desktop mit zwei Ordnern.
‫Eine ist eine wirklich relationale Datenbank und hier haben Benutzer Tweets, Profilfolgen.
‫Und Sie können sich relationale Datenbanken mit dieser Art von Speicherung vorstellen, bei denen sich dieser Ordner irgendwo auf einem Computer
‫befindet, der diese Informationen speichert, und jedes Mal, wenn wir eine Datenbank nach etwas fragen müssen, greifen wir
‫die Benutzer an.
‫Und wenn wir auch die Tweets des Benutzers erfassen wollen, finden wir den Benutzer, der uns
‫interessiert, dann finden wir die Tweets des Benutzers, der uns auch interessiert, mit dem Fremdschlüssel, der auf die Benutzer verweist.
‫Und wir können auch finden, wie viele Follower dieser Benutzer hat.
‫Wir erfassen diese Informationen und zeigen sie in unserer Web-App an.
‫Mongo DB hingegen hat tatsächlich jeden Benutzer als Dokument.
‫Wenn ich mir also den ersten Benutzer schnappen wollte, naja, ich habe mir einfach dieses Dokument geholt und es
‫hat alle Follower, die Tweets, das Profil, alles ist in diesem einen Dokument.
‫Und Sie denken vielleicht, dass Mongo DB eine bessere Wahl ist, als diese zu haben.
‫Art, die Dinge richtig zu machen.
‫Nun, es hängt von Ihrem Bedarf ab, und deshalb sind Datenbanken ein so komplexes Thema.
‫Es hängt wirklich sehr von Ihrer Situation ab.
‫Sie können sehen, dass dieser Mongo DB-Weg sehr nützlich ist, wenn Sie so etwas wie ein Profil haben, vielleicht ein
‫LinkedIn-Profil.
‫Aber wenn Sie etwas brauchen, bei dem Sie nur mit folgenden Daten arbeiten oder nur mit Tweets-Daten arbeiten, möchten
‫Sie vielleicht bei den Tweets sehen, wie groß die durchschnittliche Tweet-Größe ist?
‫Nun, es ist wirklich einfach, sich diese Datei zu schnappen und das im Vergleich zu dieser Methode zu berechnen, bei der
‫Sie sie möglicherweise von jedem der Benutzer extrahieren müssen.
‫Es hängt also wirklich von Ihren Bedürfnissen ab.
‫Lassen Sie mich Ihnen ein anderes Diagramm zeigen, das sein könnte.
‫Sinnvoll.
‫Wenn wir relationale und nicht relationale Datenbanken betrachten, können Sie sich relationale Datenbanken vorstellen, da jede Tabelle einen
‫Blog-Beitrag, ein Blog-Tag, einen Blog-Kommentar enthält und diese Tabellen verknüpft, um Ihnen die Blog-Informationen zu liefern, im Gegensatz zu einer
‫nicht relationalen, die dies vollständig speichert Blog-Post in einem Eintrag und hat Kommentare, Steuerkategorien und alle anderen
‫zugehörigen Daten an einem einzigen Ort.
‫Was verwendet Mongo DB also, um zu kommunizieren?
‫Wenn wir hier auf unser Beispiel zurückkommen, mussten wir Sie alle nach relationalen Datenbanken wie postcrisis oder Mongo
‫fragen.
‫DB hat seine eigene Abfragesprache, und es ist nur die Mongo DB-Abfragesprache.
‫Beide zielen jedoch darauf ab, dasselbe zu tun, nämlich mit der Datenbank zu kommunizieren und
‫dem Server eine einfache Möglichkeit zu bieten, mit der Datenbank zu kommunizieren.
‫Und in diesem Abschnitt werden wir darüber sprechen und wir werden endlich die Punkte verbinden und
‫Ihnen die Leistungsfähigkeit von Datenbanken zeigen, sobald sie mit einem Server verbunden sind.
‫Wir sehen uns im nächsten.