AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Gibt es ein DBMS mit einer Art Pointer-Typ?
Thema durchsuchen
Ansicht
Themen-Optionen

Gibt es ein DBMS mit einer Art Pointer-Typ?

Ein Thema von Medium · begonnen am 17. Okt 2017 · letzter Beitrag vom 17. Okt 2017
Antwort Antwort
Medium

Registriert seit: 23. Jan 2008
3.688 Beiträge
 
Delphi 2007 Enterprise
 
#1

AW: Gibt es ein DBMS mit einer Art Pointer-Typ?

  Alt 17. Okt 2017, 09:59
Hmm, was mir hier fehlt ist der cast der Datentypen. Ich Lese ja keine Strings aus der SPS, sondern Binärdaten. Mit einem Substr() werde ich da glaube ich nicht anrücken können, oder?
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#2

AW: Gibt es ein DBMS mit einer Art Pointer-Typ?

  Alt 17. Okt 2017, 10:25
Ich sehe da am ehesten Oracle und im Nocost Bereich Postgres.
Beide verfügen über mächtige Programmierfähigkeit und Typenfähigkeiten.
Auch wenn ich Dich so verstanden habe, dass Du die nur indirekt (über SQL) nutzen willst. Im Notfall wären noch anonymous blocks einsetzbar.
Clientseitig kann man natürlich beliebiges SQL zusammensetzen und "viel" erreichen. Ich stelle mir das allerdings an zentraler Stelle serverseitig "schöner" vor, halt nicht so basisdemokratisch.
Unabhängig von der Programmierung sehe ich auf jeden Fall JSON bzw. konkret JSONB als Typ bei Postgres.
Alternativ noch Key/Value Implementierungen.
M.E. kann man Variable:Wert:Typ aber sehr gut und dynamisch mit JSON(B) abfackeln (plus andere nicht unerhebliche Themen wie Indizierung, Konvertierung, ..)
Meine Vorstellung würden entgegen einer clientseitigen Implementierung in Richtung Interfacing auf DB Seite gehen. Also ein Set von Views, Schemata, vlt ein paar SP und definierte JSON Strukturen, mit denen Du die "Tabellen" definierst und baust, die Deine gewünschten Abfragen ermöglichen.

P.S.: Cast/Typisierungs Möglichkeiten bei Postgres würde ich als "herrlich" bezeichnen.
Gruß, Jo
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.688 Beiträge
 
Delphi 2007 Enterprise
 
#3

AW: Gibt es ein DBMS mit einer Art Pointer-Typ?

  Alt 17. Okt 2017, 10:39
Ui, da sind ein paar Techniken und Begriffe bei, zu denen ich erst etwas mehr lesen muss Klingt aber grob nach der richtigen Richtung. Danke!
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von TigerLilly
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.241 Beiträge
 
Delphi 12 Athens
 
#4

AW: Gibt es ein DBMS mit einer Art Pointer-Typ?

  Alt 17. Okt 2017, 11:11
Hmm, was mir hier fehlt ist der cast der Datentypen. Ich Lese ja keine Strings aus der SPS, sondern Binärdaten. Mit einem Substr() werde ich da glaube ich nicht anrücken können, oder?
Naja, ich kenn deine Daten ja nicht + wie gesagt: Pseudocode. Wenn du Binärdaten in Text umwandeln möchtest, bevor du darauf zugreifst, kannst du sie ja umwandeln. Ob du CAST verwendest oder dir eine Funktion schreibst, hängt von deinen Daten ab.

Was du auch machen kannst, ist ein zweites Feld, in dem die konvertierten Daten landen. Dann benutze für das INSERT schnelles schreiben + beim erstmaligen Zugriff konvertierst du die Daten + greifst in Folge auf diese zu. Also viele Möglichkeiten :- )

Ob du das Clientseitig machst oder im Server via Trigger/stored procedures/functions/views etc. ist noch mal eine andere Sache.
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.688 Beiträge
 
Delphi 2007 Enterprise
 
#5

AW: Gibt es ein DBMS mit einer Art Pointer-Typ?

  Alt 17. Okt 2017, 11:44
Die Frage war ja eben welche DBMS sowas in z.B. SPs ermöglichen. Ich muss ja in der SP auf ein BLOB zugreifen, und dort ein paar beliebige Bytes herausfischen, casten (und sogar die Byte-Order vertauschen) und zurückgeben. Das wären low-level Funktionen, die mir bisher nicht in SQL begegnet sind.
Ich will das auch definitiv alles serverseitig machen! Der Client soll auf eine Abfrage hin einfach seinen einen, fertig aufbereiteten Wert bekommen, wie bisher auch. (Und das am besten noch mit nur kleinen Änderungen an der Abfrage, ich will nicht jedes Mal ein 8k langes Script mit schicken müssen )
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#6

AW: Gibt es ein DBMS mit einer Art Pointer-Typ?

  Alt 17. Okt 2017, 12:19
Schau bitte mal, ob Du in dem Umfeld von PostGres: SQL Binary String Functions and Operators Funktionalitäten findest, die für Deine Problemlösung hilfreich sein könnten.

Wenn ja, müssten sich damit Datenbankfunktionen schreiben lassen können, die eingebunden in Selects, Views ..., Deinen Vorstellungen nahekommen.

Wenn ich Deine Aufgabenstellung und die Dokumentation zu PostGres halbwegs rechts verstanden haben sollte, müsste damit sowas in der Art SELECT Funktion_Ist_Wert(Blobspalte) as ist_Wert FROM analogwerte WHERE feldname = 'DRUCK_1.0' funktionieren.

Eingebetten in Views dürfte dann im Programm Dein gewünschtes SELECT ist_wert FROM analogwerte WHERE feldname = 'DRUCK_1.0' funktionieren.
  Mit Zitat antworten Zitat
Benutzerbild von TigerLilly
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.241 Beiträge
 
Delphi 12 Athens
 
#7

AW: Gibt es ein DBMS mit einer Art Pointer-Typ?

  Alt 17. Okt 2017, 12:32
Wenn ich dich richtig verstanden habe, benutzt du mySQL:
Zitat:
In some cases, it may be desirable to store binary data such as media files in BLOB or TEXT columns. You may find MySQL's string handling functions useful for working with such data.
https://dev.mysql.com/doc/refman/5.7...functions.html

Da ist alles, was du brauchst. Da gehen auch so Sachen wie SUBSTRING deines BLOBs oder select where BLOB = x'...' zum binären Vergleich etc.

Solltest du weitersuchen wollen, so haben Oracle, Postgres, MSSQL, Firebird etc ähnliches an Bord. Vor allem Oracle, aber auch MSSQL 2016 können da ein paar wirklich coole Sachen,. aber ich hätte dein Problem nicht so verstanden, dass du deshalb umsteigen müsstest.

Aber vielleicht übersehe ich etwas.
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#8

AW: Gibt es ein DBMS mit einer Art Pointer-Typ?

  Alt 17. Okt 2017, 13:06
Mein Hinweis auf PostGres war nur als Idee gedacht.

Frei nach dem Motto: Oh, die haben sowas, dann such' ich mal, ob's das auch für meine DB gibt.

Es war nicht als Vorschlag für "Erstmal die Datenbank wechseln und dann weitersehen" gedacht.

Hiermit Bei Google suchenBinary String Functions and Operators gibt es Ergebnisse quer durch die Datenbankwelt.
  Mit Zitat antworten Zitat
Benutzerbild von TigerLilly
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.241 Beiträge
 
Delphi 12 Athens
 
#9

AW: Gibt es ein DBMS mit einer Art Pointer-Typ?

  Alt 17. Okt 2017, 13:46
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.688 Beiträge
 
Delphi 2007 Enterprise
 
#10

AW: Gibt es ein DBMS mit einer Art Pointer-Typ?

  Alt 17. Okt 2017, 13:48
Cool, jetzt habe ich verstanden worauf ihr hinaus wolltet. Das gibt erstmal einen netten Haufen Bettlektüre

"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz