Diskussion:Gespeicherte Prozedur

aus Wikipedia, der freien Enzyklopädie
Letzter Kommentar: vor 8 Jahren von GiftBot in Abschnitt Defekter Weblink
Zur Navigation springen Zur Suche springen

Ich bin noch nicht lange bei Wikipedia, deshalb besser ich's nicht gleich aus sondern frag erstmal nach: Ist es sinnvoll, englische Begriffe zusätzlich zur deutschen nochmal mit der englischen Übersetzung zu beschreiben? Und Client und Server an dieser Stelle überhaupt zu übersetzen?

Und was hat SQL-Injection mit SPs zu tun? -- BiffZ 08:26, 30. Aug 2005 (CEST)

Diese Frage stellt sich mir auch. Wenn die SP die Übergabeparameter nicht prüft, dürfte die Injektion genauso funktionieren wie bei Abfragen außerhalb der Datenbank. --217.231.27.55 16:11, 19. Feb. 2013 (CET)Beantworten

An diesem Artikel muss unbedingt mal gearbeitet werden. Es kann doch nicht sein, dass hier nicht mal das Erstellen von Stored Procedured erklärt wird (zum Beispiel exemplarisch anhand des Microsoft SQL Servers 2005 Express Editon). Unterstützten MySQL und SQLite eigentlich solche fortgeschrittenen Techniken? Das sollte hier auch unbedingt mal abgehandelt werden. Fener würde mich mal interessieren, wir man darauf kommt, dass .NET eine Programmierspreche wäre?!?!?!? --87.162.95.30 12:36, 9. Jul. 2007 (CEST)Beantworten

Wikipedia ist keine Bedienungsanleitung. --217.231.27.55 16:11, 19. Feb. 2013 (CET)Beantworten

Ist ein Macro ein verwandter Begriff ? --Max0913 18:53, 13. Jul. 2008 (CEST)Beantworten

"... die sonst durch viele einzelne Befehle vom Client ausgeführt werden würden ... Mitunter wird dadurch die Leistung gesteigert, da weniger Daten zwischen Client und Datenbanksystem ausgetauscht werden müssen"[Quelltext bearbeiten]

Der Client führt keine Befehle aus. Er setzt sie an das DBMS ab. Eine Leistungssteigerung durch Stored Procedures ist grundsätzlich kaum zu erwarten. Natürlich werden "weniger Daten" zwischen Client und DBMS ausgetauscht - allerdings nur, wenn man die entsprechende Abfrage "Daten" nennt.

Eigentlich lohnen sich meiner Meinung nach SPs nur, wenn man man häufiger benötigte Abläufe in verschiedenen Triggern benutzt, --217.231.19.94 10:29, 5. Dez. 2013 (CET)Beantworten

WIE BITTE? Entschuldige bitte, aber scheinbar verstehen sehr viele Laien unter einer Datenbank lediglich ein Container für Daten in Tabellenform. Auch wenn es Stored Procedures schon eine geraume Zeit gibt, scheint es immernoch sehr Viele zu geben, die eine Datenbank wie anno dunnemals ansprechen und munter ihre SQL-Abfragen und Inserts/Updates munter im Quelltext der Aplikation verteilen.
Der Hauptvorteil und wesentliche Grund für Stored Procedures ist die Trennung der Datenabstraktion von der Applikationsschicht. Die Applikation muss nicht mehr wissen, wie die Datenstrukturen aufgebaut sind und wie diese Normalisiert sind. Eine SP ist eine Schnittestelle nach außen. So könnte z.B. eine SP p_NeuenKundenAnlegen, der nur die notwendigen Daten übergeben werden, den Kunden in den Stammdaten anlegen, die Buchungsstrukturen erzeugen, einen Zahlplan anlegen und ein Bestellkonto initialisieren. Während in der klassischen Lösung dies alles die Applikation machen muss, ruft man hier nur eine SP auf. Sollte sich nun im Zuge der weiteren Entwicklugn herausstellen, das die Datenstruktur geändert werden muss, kann dies durchgeführt werden ohne dass die Application angefasst werden muss - solange die Parameter der SP nicht geändert werden.
Dadurch dass die SP durch den Optimizer der Datenbank muss, sind die Aufrufe und die Laufzeiten sehr kurz. Zum einen müssen die Daten nicht über das Netzt übertragen werden und zum anderen profitiert eine SP von den ganzen Optimierungsmechanismen des DBMS. In modernen Softwarearchitekturen hat die Applikationsschicht keinen direkten Tabellenzugriff mehr. Sie bedient sich der Views und der Stored Porcedures. Bei einem korrekten Entwurf ist es selbst einer noch so dilletantisch entwickelten Client-Software nicht mehr möglich, die DB in einen inkonsistenten Zustand zu fahren. 79.212.156.242 23:46, 9. Mär. 2014 (CET)Beantworten

Defekter Weblink[Quelltext bearbeiten]

GiftBot (Diskussion) 04:18, 1. Dez. 2015 (CET)Beantworten