AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi [SQL] - Stored Procedure bzw. Funktion vs. Direktabfrage
Thema durchsuchen
Ansicht
Themen-Optionen

[SQL] - Stored Procedure bzw. Funktion vs. Direktabfrage

Offene Frage von "Aviator"
Ein Thema von Aviator · begonnen am 29. Sep 2016 · letzter Beitrag vom 30. Sep 2016
Antwort Antwort
jobo

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

AW: [SQL] - Stored Procedure bzw. Funktion vs. Direktabfrage

  Alt 30. Sep 2016, 11:50

Freiheiten bei Modelländerungen erhält man nicht nur durch SP, sondern auch durch die Nutzung von Views, statt (komplexen) SQL Anweisungen.
Wenn ich jetzt gezielter drüber nachdenken würde, dann würden sich bestimmt noch die ein oder anderen Abfragen finden die per View erstellt werden könnten, aber so spontan fällt mir da nicht mehr ein. Aber Views sind nicht per se aus meinem Konzept gestrichen. Da wo ich sie benutzen kann, da werde ich sie auch nutzen.
Ok, die Sache mit "Statisch" ist ja schon geklärt.
Was Du eingangs von den SP geschrieben hast, mit denen Du alles kapseln kannst, wäre dann konsequent zu Ende gedacht/gemacht, wenn alle Datenquellen aus Prinzip als View angelegt werden.
Code:
create table document (...);
create view iDocument as Select ... from document;
Wäre der erste Schritt.
Verfeinerungen, die direkt bestimmte gejointe Daten liefern, wäre der nächste.
Verstecken von Modelländerungen usw. wäre dann irgendwann später dran. Das ist sicher nicht das primäre Ziel.
Gruß, Jo
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: [SQL] - Stored Procedure bzw. Funktion vs. Direktabfrage

  Alt 30. Sep 2016, 12:21
Verstecken von Modelländerungen usw. wäre dann irgendwann später dran. Das ist sicher nicht das primäre Ziel.
Das ist wohl richtig. Erst mal muss das Programm überhaupt mal funktionieren. Ich will zwar so viel wie möglich vorab schon richtig machen, aber irgendwo muss ich natürlich auch mal eine Grenze ziehen.

Habe noch so viele Baustellen wo ich Dinge in DLLs auslagern will weil die Daten auch von anderen Programmen abgerufen werden sollen. Allerdings habe ich noch nie wirklich eine DLL geschrieben und tue mich schwer, damit diverse Dinge abzubilden.

Ein einfaches Laden von Benutzern aus der Datenbank macht mir da irgendwie schon Probleme. Ein Benutzer hat ja mehrere Eigenschaften die ich normalerweise in einer Klasse zusammenfassen würde. Aber dann fängt es ja schon an, dass man nicht so einfach Objekte über die DLL Grenze hinweg austauschen kann/sollte. Also wie funktioniert es dann ...

Ist zwar ein anderes Thema, hat aber ja doch etwas mit der Abfrage von Daten aus der DB zu tun.
  Mit Zitat antworten Zitat
jobo

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

AW: [SQL] - Stored Procedure bzw. Funktion vs. Direktabfrage

  Alt 30. Sep 2016, 12:44

Habe noch so viele Baustellen wo ich Dinge in DLLs auslagern will weil die Daten auch von anderen Programmen abgerufen werden sollen. Allerdings habe ich noch nie wirklich eine DLL geschrieben und tue mich schwer, damit diverse Dinge abzubilden.
Das wirft auch wieder ein etwas anderes Licht auf die Sache. Ich weiß nicht, ob ich heute noch mit DLL anfangen würde.

Aber das ist ein schönes Beispiel für den Einsatz von Views, finde ich. Hier geht es dann nicht um Modelländerungen, sondern um sinnvoll Einschränkungen. Ein bestimmtes Programmmodul erlaubt bspw. die Zuordnung von Verantwortlichen zu Dokumenten. Ein View liefert da nun keine anderen Felder, sondern per Definition nur die Menge der Personen, die bestimmte Sachen dürfen, via Where Clause fest eingebaut. In anderen Abteilungen liefern fast identische Views andere User für andere Module. Wenn ein Programmmodul also in der Lage ist, deklarativ mit unterschiedlichen Views zu arbeiten, kann man damit eine Menge machen und zwar zentral, ohne ständig an Prorgammcode zu fummeln.

Ich würde mir nochmal Gedanken machen, was Du alles umsetzen musst (Funktional) und wie Du es technisch einfach und flexibel erreichen kannst. Und vielleicht ist es dann doch keine SP / View Lösung, sondern irgendein JSON Datenprovider oder oder..
Gruß, Jo
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: [SQL] - Stored Procedure bzw. Funktion vs. Direktabfrage

  Alt 30. Sep 2016, 13:30

Habe noch so viele Baustellen wo ich Dinge in DLLs auslagern will weil die Daten auch von anderen Programmen abgerufen werden sollen. Allerdings habe ich noch nie wirklich eine DLL geschrieben und tue mich schwer, damit diverse Dinge abzubilden.
Das wirft auch wieder ein etwas anderes Licht auf die Sache. Ich weiß nicht, ob ich heute noch mit DLL anfangen würde.
Naja sagen wir mal so. DLLs werden in fast jedem Programm eingesetzt. Und die Art wie DLLs programmiert werden ist ja auch sehr einfach. Nur die Verbindung zwischen Anwendung und DLL funktioniert eben nicht so wie ich mir das wünsche. Zumindest verstehe ich es noch nicht so ganz.

Mich jetzt in noch ein anderes System einzuarbeiten würde glaube ich den Rahmen sprengen.

Ich weiß nicht, ob es hier bereits genannt wurde, aber zusätzlich kannst Du mittels SP auch besser Rechte vergeben - je nach Schema-Rechte kann man einen Nutzer dann beschränken, welche Daten er sehen/ändern kann. Laut BSI, sollten Nutzer gar keinen direkten Zugriff auf Daten bekommen, sondern immer mittels Views/SP bedient werden.

......
Wurde soweit ich weiß noch nicht genannt, war mir ausnahmsweise aber auch bekannt.

Nur die Berechtigungen verwalte ich über meine eigene Software.
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.422 Beiträge
 
Delphi 12 Athens
 
#5

AW: [SQL] - Stored Procedure bzw. Funktion vs. Direktabfrage

  Alt 30. Sep 2016, 13:45
Nur die Berechtigungen verwalte ich über meine eigene Software.
Lässt den Nutzer aber dann immer noch mittels OSQL direkt auf die Datenbank und die Daten, wenn die DB selbst keinen Schutz eingebaut hat

......
Lizbeth W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: [SQL] - Stored Procedure bzw. Funktion vs. Direktabfrage

  Alt 30. Sep 2016, 14:17
Nur die Berechtigungen verwalte ich über meine eigene Software.
Lässt den Nutzer aber dann immer noch mittels OSQL direkt auf die Datenbank und die Daten, wenn die DB selbst keinen Schutz eingebaut hat

......
Aber dafür braucht man doch auch noch einen Benutzernamen und ein Passwort. Oder verstehe ich das falsch? Und auf dem Server sind keine Benutzer angelegt außer der Hauptbenutzer. Und das Passwort davon kennt niemand. Und es kennt sich auch niemand so gut mit Rechnern aus, als das da jemand was hacken könnte. Und selbst wenn, dann würden die sich ja ins eigene Fleisch schneiden. Also bringen tut es den Mitarbeitern nix. Die Dokumente selbst sind auch nicht in der DB abgelegt, sodass da auch keiner ohne die Software dran käme da die Dokumente verschlüsselt abgelegt werden.
  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 22:09 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