Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Allgemeine Amateurfrage zu DBs (https://www.delphipraxis.net/202786-allgemeine-amateurfrage-zu-dbs.html)

derseitzer 9. Dez 2019 09:05

Datenbank: - • Version: - • Zugriff über: -

Allgemeine Amateurfrage zu DBs
 
Hallo,

Ich kenne zwar ein paar Namen der bekannteren Datenbanken wie MySQL, SQLLite oder Firebird, würde aber gerne mehr darüber wissen wollen.
Ich habe ein paar ganz allgemeine Fragen zu Datenbanken:
1. In welchen Dateiformaten speichern Datenbanken ihre Daten? SQL sollte zwar die Datenbanksprache sein, aber mit welchem Format werden die Daten eigentlich gespeichert?
2. Welche Dateiformate können in DBs gespeichert werden? Texte, Bilder, 3D-Objekte.. ist das alles ohne weiteres möglich?
3. Ich würde gerne unter anderem 3D-Objekte (Format ".stl") in einer DB speichern. ich habe von jmd gehört, der diese in seiner "MongoDB" in JSON speichert. Ist das notwendig solche Objekte zu konvertieren oder ist das Speichern auch direkt als stl möglich?

DieDolly 9. Dez 2019 09:08

AW: Allgemeine Amateurfrage zu DBs
 
Zitat:

2. Welche Dateiformate können in DBs gespeichert werden? Texte, Bilder, 3D-Objekte.. ist das alles ohne weiteres möglich?
Sowas speichert man als BLOB würde ich sagen.

Große Dateien würde ich gar nicht erst in eine Datenbank speichern. Im besten Fall speichert man die Datei auf dem Dateisystem ab und hat in der Datenbank einen Verweis zur Datei.

Luckie 9. Dez 2019 09:19

AW: Allgemeine Amateurfrage zu DBs
 
Zu Punkt eins: Das kann dir egal sein, deswegen gibt es ja SQL, damit es keine Rolle spielt, wie die Datenbank die Daten speichert.

derseitzer 9. Dez 2019 09:21

AW: Allgemeine Amateurfrage zu DBs
 
Ok danke erstmal. Ich werfe hier mal eine weitere Frage in den Raum:
3D-Objekte sollten doch ebenfalls im SAP gespeichert werden können, wenn ich mich recht entsinne.
Wäre das als Speicher für die 3D-Objekte besser geeignet?

Jasocul 9. Dez 2019 09:25

AW: Allgemeine Amateurfrage zu DBs
 
Zitat:

Zitat von derseitzer (Beitrag 1453005)
Ich habe ein paar ganz allgemeine Fragen zu Datenbanken:
1. In welchen Dateiformaten speichern Datenbanken ihre Daten? SQL sollte zwar die Datenbanksprache sein, aber mit welchem Format werden die Daten eigentlich gespeichert?

Die Datenbank speicher die Daten in einem eigenen Format.
Aber ich denke, du meinst, ob man Datentypen hat. Ja, die hat man. Du kannst Zahlen- und Text-Formate nutzen. Es gibt auch noch CLOB und BLOB, was für deinen Fall relevant ist. BLOB steht für Binary Large OBject. Da kannst du eigentlich alles drin ablegen. Allerdings ist die maximale Größe bei den Datenbanken unterschiedlich.

Zitat:

Zitat von derseitzer (Beitrag 1453005)
2. Welche Dateiformate können in DBs gespeichert werden? Texte, Bilder, 3D-Objekte.. ist das alles ohne weiteres möglich?

Ohne weiteres nicht. Meistens muss da noch etwas Code eingebaut werden. Aber der Aufwand hält sich aber sehr in Grenzen. In BLOB geht notfalls alles rein, sofern die maximale Größe nicht überschritten wird.

Zitat:

Zitat von derseitzer (Beitrag 1453005)
3. Ich würde gerne unter anderem 3D-Objekte (Format ".stl") in einer DB speichern. ich habe von jmd gehört, der diese in seiner "MongoDB" in JSON speichert. Ist das notwendig solche Objekte zu konvertieren oder ist das Speichern auch direkt als stl möglich?

Man kann vieles machen, auch Daten vorher umwandeln. Notwendig ist das in der Regel nicht.
Es ist auch möglich, so vorzugehen, wie DieDolly das beschrieben hat. Das erfordert aber unter Umständen zusätzlichen Aufwand, da bei dem Verfahren die Dateien verändert, verschoben oder gelöscht werden könnten. Das bekommt dann die Datenbank, bzw. die Anwendung nicht mit.
Ob man es in der DB oder extern speichern, darüber kann man lange und ausführlich diskutieren. Beides hat Vor- und Nachteile.

mkinzler 9. Dez 2019 09:25

AW: Allgemeine Amateurfrage zu DBs
 
Zitat:

1. In welchen Dateiformaten speichern Datenbanken ihre Daten? SQL sollte zwar die Datenbanksprache sein, aber mit welchem Format werden die Daten eigentlich gespeichert?
Die Implementierung erfolgt Systemspezifisch (DBMS).
Zitat:

2. Welche Dateiformate können in DBs gespeichert werden? Texte, Bilder, 3D-Objekte.. ist das alles ohne weiteres möglich?
In BLOB verpackt ist alles möglich. Nur dann verwendet man das DBMS nur als Speichersystem und nutzt somit die Vorteile nur bedingt.
Zitat:

Große Dateien würde ich gar nicht erst in eine Datenbank speichern. Im besten Fall speichert man die Datei auf dem Dateisystem ab und hat in der Datenbank einen Verweis zur Datei.
Das kommt darauf an. Eine Speicherung in der Datenbank kann sinnvoll sein oder nicht, je nachdem welches DBMS man einsetzt und was man bezweckt.
Zitat:

3. Ich würde gerne unter anderem 3D-Objekte (Format ".stl") in einer DB speichern. ich habe von jmd gehört, der diese in seiner "MongoDB" in JSON speichert. Ist das notwendig solche Objekte zu konvertieren oder ist das Speichern auch direkt als stl möglich?
In einen BLOB ja.
Dann nutzt man die Vorteile eines DBMS aber nicht.

https://pdfs.semanticscholar.org/689...96fcac5c69.pdf

derseitzer 9. Dez 2019 09:32

AW: Allgemeine Amateurfrage zu DBs
 
Danke für die vielen Antworten. So wie ich das verstanden hab, macht eine DB also nur bedingt Sinn.
Wenn ich nun Programme schreibe, die z.B. beim Start automatisch 3D-Objekte hochladen sollen, wäre es
dann nicht sinnvoller eine DB für diese Objekte zu haben? Wie finde ich die beste DB für mein
Vorhaben? Sollte ich vor allem auf die maximale Speichergröße schauen?

Edit: Das Konvertieren zu JSON macht also schon relativ viel Sinn, so wie ich das verstanden habe, da somit keine Blobs verwendet werden müssen und die DB gut genutzt werden kann.

hoika 9. Dez 2019 09:34

AW: Allgemeine Amateurfrage zu DBs
 
Hallo,
Zitat:

und die DB gut genutzt werden kann
Wenn Du direkt im JSON suchen willst, OK ...
Das erschließt sich mir gerade nicht.

Was außer Acht gelassen wurde, sind die Rechte in der DB.
Das kann ja nach DB sehr feingranular (schönes Wort ;) ) gesetzt werden.
Wenn die Datei im Dateisystem liegt und ein Link in der DB steht,
muss der jeweilige Nutzer auch die entsprechenden Rechte im Dateisystem haben.
Und wenn es ein Server ist, müssen die Freigaben für alle Nutzer gleich sein (z.B. Z:\)

Es hat alles Vor- und Nachteile.
Das musst Du abwägen.

Lemmy 9. Dez 2019 09:42

AW: Allgemeine Amateurfrage zu DBs
 
Zitat:

Zitat von derseitzer (Beitrag 1453014)
Danke für die vielen Antworten. So wie ich das verstanden hab, macht eine DB also nur bedingt Sinn.
Wenn ich nun Programme schreibe, die z.B. beim Start automatisch 3D-Objekte hochladen sollen, wäre es
dann nicht sinnvoller eine DB für diese Objekte zu haben?

nein, dann wäre es sinnvoll, dass das Programm die Objekte korrekt hochlädt. Per FTP, REST Aufruf, je nach Anforderung halt.

Wenn die Frage noch dazu kommt wo das Programm die Objekte her bekommt, da könnte(!) dann eine Datenbank mit ins Spiel kommen. Eine Empfehlung für eine DB (oder was anderes) kannst Du hier aber nur dann erhalten, wenn Du mehr Informationen über dein Wunschprojekt lieferst... ;-)

philipp.hofmann 9. Dez 2019 10:18

AW: Allgemeine Amateurfrage zu DBs
 
Noch eine Anmerkung zum Speichern der 3D-Objekte als JSON: Diese würden dann auch nicht als normaler Text in der Datenbank gespeichert (wo normalerweise nach 255 Zeichen Schluss ist bzw. bei Oracle nach 4.000 Zeichen), sondern als CLOB.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:52 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz