Einzelnen Beitrag anzeigen

Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#4

Re: Simultaner Zugriff auf Datenbank (Multiuser)

  Alt 23. Nov 2006, 13:25
Zitat von Phoenix:
Das was Du willst ist ein Lock - bzw. eine Datensatzsperre. Soweit ich weiss, kann MySQL nur ganze Tabellen sperren.

Das was Du vor hast widerspricht aber ehrlich gesagt dem Datenbankkonzept.
Prinzipiell ist es so, dass eigentlich alle immer bearbeiten dürfen (so sie denn dürfen) und beim Schreiben der Daten in die Datenbank der Client zu prüfen hat, ob die Daten vllt. vorher geändert wurden und hier dann einen Konflikt anzeigt.

Weil: Was, wenn ein Client die Tabelle lockt und dann abschmiert? Dann kann kein einziger User mehr Daten verändern, bis ein Admin die Sperre aufgehoben hat.
Gut, das ist nicht schlecht zu wissen, da ich bisher nicht all zu viel über Datenbanken und die dahinter steckenden Prinzipien weiß. Ich nutze sie halt!

Jetzt stellt sich mir halt die Frage, wie du das sinnvoll umsetzen würdest?!

Denn es macht meines Erachtens nach keinen Sinn, jeden Benutzer gleichzeitig auf die Daten zugreifen, diese ändern und dann, wenn er es speichern will, ihm eine Nachricht zukommen zu lassen, dass leider schon ein anderer Benutzer die Daten geändert hat. Das finde ich nicht sehr sinnig... Ich weiß nur nicht, wie ich das sonst machen will?!

Bzgl dem sperren einzelner Datensätze: den Absturz eines Clients (sei es ein Systemabsturz oder einfache Trennung vom Netz) habe ich durchaus berücksichtigt und hatte vor, jede Nacht um 12 Uhr (da arbeitet mit Sicherheit keiner mehr an den Daten) aller Verbindungen zu trennen und alle Daten wieder freizugeben.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat