Beziehungen im Frontend (nur) darstellen

15/08/2010 - 14:25 von Alexander Bierig | Report spam
Hallo miteinander,

ich habe eine Anwendung, deren Daten (übers Intranet innerhalb Europas)
im backend liegen, dort sind auch die Beziehungen udn ref. Integritàten
verankert.

Dazu kommen nun die DAU-Fragen:

Wo passiert die SQL logik?
Bsp: select a.feld1, b.feld2 from tbl as a left join tbll as b on
a.feldx=b.feld y where feldz = Textfeldwert
Im Backend oder im Frontend? (werden dazu dann ale Daten erstmals ans
Frontend geschickt, wie es immer wieder heist).
Welche der Datenbanken prüft die Integritàt? (Back/Frontend/die
Accessanwendung des Frontends?)

Wenn nun der Integritàtsverstoss erfolgt: Wo wird der Fehler generiert?
Backend/Frontend?

und dann: bietet Access dei Möglichkeit, schnell per Menu oder
Einstellungshaken die Beziehungen des Backend im Frontend darszustellen?
Und demzufolge auch eine Aktualisierung?
(damit müsste ich nich jedes mal das Backend öffnen, um anch der
aktuellen Lage der Beziehungen zu gucken)

Was passiert, wenn ich auf den verknüpften Tabellen im Frontend
zusàtzlich (evtl ganz andere) Beziehungen definiere? Wo werden diese
gespeichert?
Kollidieren diese dann mit den anderen im Backend?

Ich habe beim Suchen zwar sehr viele Hinweis auf was sind Beziehunen,
wie definiert man sie, dass sie in Systemtabellen liegen (damit müssten
sie nur in der Datenbank des Definitionsortes liegen), aber so ganz klar
sind mir die dazugehörigen Auswirkungen nicht.

Mfg Alex. Bierig
 

Lesen sie die antworten

#1 Ingo Moch
16/08/2010 - 22:05 | Warnen spam
Hallo Alexander,

Alexander Bierig wrote:

Folgendes alles IMHO:

Wo passiert die SQL logik?
Bsp: select a.feld1, b.feld2 from tbl as a left join tbll
as b on a.feldx=b.feld y where feldz = Textfeldwert
Im Backend oder im Frontend? (werden dazu dann ale Daten
erstmals ans Frontend geschickt, wie es immer wieder
heist). Welche der Datenbanken prüft die Integritàt?
(Back/Frontend/die Accessanwendung des Frontends?)

Wenn nun der Integritàtsverstoss erfolgt: Wo wird der
Fehler generiert? Backend/Frontend?



Das kommt auf das Backend an. Bei dateibasierten
Datenbanksystemen (Jet (*.mdb), dBase, ...) findet die Logik
auf dem Client statt (es gibt ja keine aktiv ansprechbare
Instanz auf dem Server). Das bedeutet aber nicht, dass dann
gleich alle Daten erstmal zum Client geschaufelt werden.
Hier kommt der Index ins Spiel anhand dessen gezielt auf die
"richtigen" Bereiche zugegriffen werden kann. Wieviel Daten
also von Server zum Client wandern, haengt davon ab wie gut
ein Index zur Abfrage passt. Hier gilt, je komplexer eine
Abfrage um so warscheinlicher ist, dass die kompletten
Tabelleninhalte gelesen werden muessen (so genannter
Full-Table-Scan).

Dem stehen serverbasierte Datenbanksysteme gegenueber. Diese
haben eine serverseitige aktive Instanz, die angesprochen
wird und die Abfrage selbst auf dem Server ausfuehren und
immer nur die eigentlich Datensaetze an den Client
zurueckgeben.

Bei passend zur Anwendung desingten Datenbankenstrukturen
werden bei dateibasierten Datenbanken nur wenig mehr Daten
ueber die Leitung gesendet. Serverbasierte Datenbanken
buegeln diesbezueglich nur schlechtes Datenbankdesign aus.
Sie machen eigentlich erst Sinn, wenn es viele zeitgleiche
Zugriffe von verschiedenen Clients zu koordinieren gilt oder
es sehr viele zu speichernde Daten gibt. Ein weiteres
Kriterium kann die bessere Benutzerverwaltung oder auch die
Nutzung von gespeicherten Prozeduren zur Konsistezhaltung
der Daten gegenueber der Anwendung sein.

BTW 1: Diese Newsgroup gibt es offiziell nicht mehr. Siehe
auch http://schneegans.de/usenet/microsoft-umzug/.
Die meisten Regulars findest Du auch in
de.comp.datenbanken.ms-access.

BTW 2: Bitte nicht so unterschiedliche Themen in ein Posting
packen. Es ist in der Regel uebersichtlicher dafuer
je ein separates Posting abzusetzen.

HTH
Ingo

Ähnliche fragen