Welche Abfragesprache von verwenden No-SQL Datenbanken? Kann man da auch SQL verwenden?

3 Antworten

Von Experte BeamerBen bestätigt

NoSQL-Datenbanken sind Datenbanken die NICHT auf einem relationalem Schema basieren, und daher mit "normalem" SQL nicht angesprochen werden.

Zwar gibt es in der Erweiterung von 2003 in SQL auch Definitionen für Objektrelationale DBS, das wars dann aber auch, und die sind ja auch noch basierend auf relationalen DBS.

Und zu denken dass jede Datenbank bzw. jedes DBVS sich an SQL hält ist auch eine Illusion... Ich darf mich derzeit mit Postgresql rumärgern, und die halten sich quasi gar nicht an den SQL Standard...

Man muss aber auch der fairness sagen, wenn eine Datenbank nicht Relational oder OBjektrelational ist, dann belegt die eine absolute Nische (Graphdatenbanken mal abgesehen)

Nichtsnutz12 
Fragesteller
 10.06.2023, 20:15

Ok. Ist MySQL eine Abfragesprache für relationale Datenbanken?

0
Valentin1720653  10.06.2023, 20:18
@Nichtsnutz12

MySQL ist keine Abfragesprache sondern ein Datenbankenverwaltungssystem für Relationale Datenbanken.

Du kannst auf MySQL SQL-Anfragen auf relationalen Datenbanken machen, da MYSQL eine Verwaltung für eine Relationale Datenbank ist.

MySQL hält sich auch sehr an den SQL-Standard, das was da also drin steht wird sich in MYSQL nicht viel Abweichen.

2
Ifm001  01.10.2023, 16:30
Ich darf mich derzeit mit Postgresql rumärgern, und die halten sich quasi gar nicht an den SQL Standard...

Hmmm ... eigentlich ist PostgresSQL eines der Produkte, welches nahe dem Standard verhält. Aktuell ipst der Grossteil von SQL:2011 erfüllt.

Meistens ist eher problematisch, dass die vor der Standardisierung genutzte propitäre Syntax aus Kompatibilitätsgründen weiterhin funktioniert und sich so manch ein Programmierer nicht um den Standard schert, so dass man am Ende beim Lesen auch die "alte" Syntax kennen muss.

Aber vom Grundsatz gebe ich dir natürlich Recht. Es ist halt nicht mit der Standardisierung einer Steckdose vergleichbar.

0

Prinzipiell hat Valentin1720653 das schon super erklärt.

Alle SQL Datenbankmanagementsysteme wie MySQL haben quasi ihren eigene Version die mehr oder weniger SQL Standards implementieren, in denen eben wirklich festgelegt ist wie SQL funktionieren soll. Allerdings bringen DBMS eben auch eigene Features und eigene Erweiterungen mit, daher ist SQL eben nicht gleich SQL.

Bei NoSQL Datenbanken wird oft keine SQL ähnliche Sprache verwendet, die Kategorie umfasst verschieden Ansätze Daten zu speichern, etwa Dokument basiert, und haben eigentlich nur wirklich gemein, dass sie Probleme vereinfachen können die in einem relationalen Ansatz komplizierter sein könnten.

Es gibt also keine allgemeine NoSQL Sprache, der Zugriff auf auf die Daten kann komplett unterschiedlich erfolgen, manche erlauben eventuell sogar SQL angelehnte Abfragen, andere nicht.

Woher ich das weiß:Berufserfahrung – Software Entwickler / Devops
Nichtsnutz12 
Fragesteller
 12.06.2023, 23:48

Kann man in NoSQL Tabellen speichern also so wie bei der relationalen Variante

0
BeamerBen  13.06.2023, 00:15
@Nichtsnutz12

Nicht unbedingt, in einer noSQL Datenbank wie Cassandra hast du Tabellen und eine SQL ähnliche Sprache, allerdings ohne Features wie Joins. Obwohl du Tabellen hast nutzt du keinen relationalen Ansatz.

In anderen NoSQL Datenbanken wie etwa MongoDB nutzt man einen Dokumente basierten Ansatz, z.B. indem man Daten in einem JSON (ähnlichem) Format speichert.

Da wie bereits erklärt NoSQL eine breite Kategorie ist und mehr oder weniger alle Datenbanken umfasst die keinen relationellen SQL Ansatz verfolgen kann sich das stark unterscheiden, andere NoSQL Datenbanken speichern etwa key value pairs, oder sind darauf optimiert bestimmte Arten von Daten wie etwa Daten über Zeiträume zu speichern.

1

Nein. Darum sind es No SQL Datenbanken. Sie haben ihre eigenen Abfragesprachen.

Nichtsnutz12 
Fragesteller
 10.06.2023, 19:58

Und zwar welche? Der Name NoSQL steht ja aber für „not only sql“

0
Nichtsnutz12 
Fragesteller
 10.06.2023, 20:14
@W00dp3ckr

Ok danke. Ist MySQL auch eine Abfragesprache? Oder haben relationale Datenbanken auch verschiedene abfragesprachen?

0