Hello,
ich habe Zugang zu den Tabellen gemeint, weil ich das so verstanden hatte, und ich bleibe dabei, dass "Unsinn" dafür der geeignete Begriff ist. Ich publiziere mein Datenbankschema nicht. Damit binde ich mir einen Klotz an's Bein, der zukünftige Schemaänderungen extrem erschwert.
Dann bin ich ja beruhigt!
Dass man möglichst alle diejenigen Geschäftsregeln in der Datenbank kapselt, die dort auch sinnvoll verwaltet werden können, ist schon seit Jahren meine Kernaussage. Wenn Du hier schon länger mitliest (tust Du doch?), dann solltest Du wissen, dass ich ein Freund von stored Routines (Procedures, Functions, Triggers) bei MySQL bin (bei anderen DBMS sowieso. Ich habe früher Informix und bTrieve-scalable bespielt.
Und dass man seine Tabellen nicht nach außen kehrt, sondern dafür Zugriffsfunktionen (Stored Procedures) erstellt, das weiß Jeder, der über Historie schreiben muss, auch über Selects und diejenigen, die sich jemals mit vertikalen Rechten beschäftigt haben.
Zugang zu Stored Procedures ist eine andere Sache.
Ausschließlicher Zugang zur DB über Stored Routines sollte immer das Ziel sein! Sowas baut man selbstverständlich nicht für eine Webapplikation mit 30 Zugriffen am Tag und einem Nutzer (Webserver) :-O
Da habe ich die Chance, Schemaänderungen zu kapseln. Dennoch sollte man das nicht tun, weil man dann einen DB-Server des Unternehmens von außen erreichbar machen muss. Sprich: den DB-Server in der DMZ aufstellen oder einen Tunnel durch die DMZ bohren. Ersteres wäre ein DB-Server, der replizierte Daten bereitstellen kann, oder der über eine Serverkopplung Views auf einen DB-Server im Backend bereitstellt. Tunnel durch die DMZ sollte man aus Security-Gründen definitiv vermeiden.
Oder man stellt gleich einen DB-Server für die Außenkontakte in die DMZ. Der enthält dann selbstverständlich nur replizierte Daten. Er muss aber genau definierte und überwachte Statements mit dem "innereren DB-Server" austauschen können.
Irgendwo muss immer kommuniziert werden! Wenn Du keinen Kontakt nach außen wünschst, dann kannst Du deinen Laden gleich schließen.
Ich wehre mich hier immer gegen die Pauschalschelte.
Liebe Grüße
Tom S.
Es gibt nichts Gutes, außer man tut es!
Das Leben selbst ist der Sinn.