Why use SQL database? [geschlossen

Ich bin mir nicht sicher, ob stackoverflow ein Ort für eine solche allgemeine Frage ist, aber probieren wir es aus.

a ich der Notwendigkeit ausgesetzt war, Anwendungsdaten irgendwo zu speichern, habe ich immer MySQL oder SQLite verwendet, nur weil es immer so gemacht wird. Anscheinend verwendet die ganze Welt diese Datenbanken (vor allem Softwareprodukte, Frameworks usw.). Daher fällt es einem anfänglichen Entwickler wie mir schwer, darüber nachzudenken, ob dies eine gute Lösung ist oder nicht.

Ok, sagen wir, wir haben eine objektorientierte Logik in unserer Anwendung und Objekte sind irgendwie miteinander verwandt. Wir müssen diese Logik der Speicherlogik zuordnen, daher sind auch Beziehungen zwischen Datenbankobjekten erforderlich. Dies führt dazu, dass wir relationale Datenbanken verwenden, und ich bin damit einverstanden. Einfach gesagt, müssen unsere Datenbanktabellenzeilen manchmal Verweise auf die Zeilen anderer Tabellen enthalten.Aber warum sollte man die SQL-Sprache für die Interaktion mit einer solchen Datenbank verwenden?

SQL-Abfrage ist eine Textnachricht. Ich kann verstehen, dass dies cool ist, um zu verstehen, was es tut, aber ist es nicht albern, Texttabellen- und Spaltennamen für einen Teil der Anwendung zu verwenden, den nach der Bereitstellung noch niemand gesehen hat? Wenn Sie einen Datenspeicher von Grund auf neu schreiben müssten, hätten Sie nie eine solche Lösung verwendet. Persönlich hätte ich einen 'compiled db query'-Bytecode verwendet, der einmal in einer Clientanwendung zusammengestellt und an die Datenbank übergeben würde. Und es würde sicherlich Tabellen und Doppelpunkte nach ID-Nummern benennen, nicht nach ASCII-Zeichenfolgen. Bei Änderungen in der Tabellenstruktur können diese Byte-Abfragen nach einem neuen DB-Schema kompiliert, in XML oder ähnlichem gespeichert werden.

Was sind die Probleme meiner Idee? Gibt es einen Grund, warum ich es nicht selbst schreibe und stattdessen die SQL-Datenbank verwende?

BEARBEITE Um meine Frage klarer zu machen. Die meisten Antworten geben an, dass SQL als Textabfrage den Entwicklern hilft, die Abfrage selbst besser zu verstehen und leichter zu debuggen. Persönlich habe ich schon eine Weile nicht mehr gesehen, wie Leute SQL-Abfragen von Hand geschrieben haben. Jeder, den ich kenne, einschließlich mir, verwendet ORM. Diese Situation, in der wir eine neue Abstraktionsebene aufbauen, um SQL zu verbergen, führt zu der Überlegung, ob wir SQL benötigen oder nicht. Ich wäre Ihnen sehr dankbar, wenn Sie einige Beispiele nennen könnten, in denen SQL ohne ORM absichtlich verwendet wird und warum.

EDIT2 SQL ist eine Schnittstelle zwischen einem Menschen und einer Datenbank. Die Frage istWarum müssen wir es für die Interaktion zwischen Anwendung und Datenbank verwenden? Ich frage immer noch nach Beispielen von Menschen, die SQL schreiben / debuggen.

Antworten auf die Frage(50)

Ihre Antwort auf die Frage