Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Suche nach der richtigen Datenbankplatform





Frage

Hallo liebe Forumleute, ich habe folgendes Anliegen: Vor einigen Monaten habe ich für meine damalige Zivildienststelle eine Excel-Datei mit VBA-Makros und Userforms erstellt. Die Datei kann Folgendes (bzw. sollte können): - Eingabe und Archivierung von personenbezogenen Datensätzen - Eingabe und Archivierung von verschiedenen personenbezogenen Leistungs- und Lohnbewertungen - Berechnung und Analyse von verschiedenen Datensätzen anhand der geätigten Eingaben - Errechnung eines Arbeitsentgeldes anhand der getätigten Eingaben sowie mathematischer Konstanten - Änderung der Datensätze sowie der grundlegenden Konstanten durch entsprechend befugtes Personal - Import von Datensätzen, die die immerselbe Struktur aufweisen - sicheres Speichern dieser Datenbank + Schutz vor unbefugtem Zugriff Soweit so gut. Die Anforderung an die Datenbank wären damit einigermaßen abgesteckt bzw. sind mir auch im Detail klar. Meine Frage an euch: Da ich die Version jetzt finalisieren soll, muss ich wissen, ob ich mit meinem VBA-Makro-Excel-Gebastel (die Nachteile des Arbeitens mit Excel liegen auf der Hand; Excel ist ja kein Datenbanktool) auf dem Holzweg bin und wenn ja, welches Tool/welche Softwareplatform/Programmiersprache für meine Anforderungen die richtige ist? Vielen Dank schonmal Euer Jan

Antwort 1 von Nessus

Hi,

wenn du dich schon in VBA auskennst, dürfte Access nicht mal das schlechteste sein.
Wenn nicht kannst du auch alternativ dies via MySQL machen.
Dann solltest du dies allerdings als Webapplikation machen (Apache/MySQL/PHP) .
Wobei diese Lösung am schwierigsten, wenn auch am flexibelsten ist.

HTH

Nessus

Antwort 2 von lleopard

Hallo Jan,

Nessus hat absolut recht. Access sollte alle deine Ansprüchen genügen. Im Einzelnen:

- Eingabe und Archivierung von personenbezogenen Datensätzen

Ganz einfach zu realisieren über ein eingabeformular

- Eingabe und Archivierung von verschiedenen personenbezogenen Leistungs- und Lohnbewertungen

dito

- Berechnung und Analyse von verschiedenen Datensätzen anhand der geätigten Eingaben

Dafür gibt es in Access die Möglichkeit wie in Excel Berechnungen durchzuführen und du kansnt Berichte entwickeln, um eine vernünftige Darstellung zu bekommen

- Errechnung eines Arbeitsentgeldes anhand der getätigten Eingaben sowie mathematischer Konstanten

siehe oben. Berechnen kein Problem. Ausgabe auch net


- Änderung der Datensätze sowie der grundlegenden Konstanten durch entsprechend befugtes Personal

zB kann mit in Access eine MDE erstellen. Damit schützt du deinen Code vor Veränderung. Du kannst denen, die Änderungen machen dürfen aber auch die MDB zur Verfügung stellen. Die können dann deine Datenbank weiterentwickeln. Es gibt aber auch andere Möglichkeiten...


- Import von Datensätzen, die die immerselbe Struktur aufweisen

In Access sehr gut gelöst. Es gibt zahlreiche Importfilter, die man allesamt automatisieren kann... zur Not auch per VBA völlig frei entwickeln kann


- sicheres Speichern dieser Datenbank + Schutz vor unbefugtem Zugriff

siehe oben. Darüberhinaus kannst du selber ein Datenbankkennwort hinterlegen, oder eine entsprechende VBA-Routine schalten, ohne die man nix machen kann...

Es gibt meines Wissens keine so gute Lösung wie Access um sowas zu realieren. Ferner kannst du das meiste, was du bisher in Excel entwickelt hast, übernehmen oder kannst es nach kleineren Anpassungen laufen lassen.

Ich denke du fährst mit Access am besten. Die Umstellung von Excel nach Access ist auch net so schwer. Und außerdem hast du doch das Forum dafür, wenn du Fragen hast... ;-)

Grüße

Leo

Antwort 3 von RalfH

Salve,
Ich möchte auch gerne meinen Senf dazugeben ;-)

Keine Frage ist MS Access eine gute Alternative was die Erstellung und Aufbereitung angeht.

Der Knackpunkt aus meiner Sicht ist der Sicherheits-Aspekt, gerade im Bezug auf Personen bezogenen Daten, wie Du sie in deiner Frage beschreibst.

1. Kann die Access DB einfach kopiert werden.

2. MDE Dateien sind auch nicht mehr sicher, im Netz existieren (leider !) Tools, mit denen man trotzdem an die Quellcodes gelangt. Siehe Hier

3. Passwortschutz , zwar ganz nett, doch lassen die sich auch mit Tools aushebeln.

Ich würde MS SQL Server Express als Backend empfehlen, Kostenlos, Sicherheitsorientiert , kann einige Tausend Zugriffe vertragen und ist gut Dokumentiert.

Allerdings gibt es auch andere Anbieter die Ihre abgespeckten Versionen Kostenlos anbieten( Oracle,DB2) oder Freeware( MySQL, PostgreSql), die Du als Backend nutzen kannst, einfach mal ein bisschen schlau machen.

Als Frontend MS Access weils eben leicht und bequem ist ;-)


Gruß Ralf

Antwort 4 von lleopard

Hallo Ralf,
Hallo @all,

Danke für diesen tollen Link. Der Artikel von André Minhorst ist sehr interessant für mich als Entwickler von Access-Datenbanken.

Eine befriedigende Datensicherheit erreicht man natürlich nicht allein durch Kennwörter und ein paar Tools, mit denen man es unbedarften Anwendern schwerer macht an die Daten zu kommen.

Und Access ist in dieser Hinsicht auch zu knacken, wie in dem Artikel ja zu lesen ist. Das ist also nicht die Frage. Datensicherheit erlangt man also nicht allein durch geschützte Datenbanken. Dafür muß ein Sicherheitskonzept her, das den Bedürfnissen des Anwenders entspricht. Die Frage wie hoch dieser Schutz sein muß, hängt ja meistens nicht zuletzt von den Kosten dafür ab.

Wie sicher ist zB der Zugang zum System an sich? Wie leicht läßt sich eine Festplatte aus einem PC ausbauen? Baut man sie dann in einen anderen PC ein, hat man quasi uneingeschränkten Zugriff auf alle darauf befindlichen Daten, vorausgesetzt man bedient sich eines Betriebssystems, welches die Partition lesen kann. Aber wo ist da das Problem?

Also müßte man damit anfangen alle PC's mit vertraulichen Daten so zu verschließen, daß man nicht an die Hardware kommt. Kosten?

Wir haben hier ein Firmeninternes Netzwerk, SQL Server 2005 und mit Sicherheit einen gut abgeschirmten Serverbereich. Aber ich würde meine Hand nicht dafür ins Feuer legen, daß es keiner schaffen könnte an die Server zu kommen oder mit etwas Geschick an die darauf befindlichen Daten.

Und nun sag mir doch mal wie sicher ist zB MySQL, wenn ich als Frontend Access einsetze und dort ja auch die Zugangsdaten für den Server hinterlegen muß?

Sicherheit ist teuer! Und auch wenn eine MDE zu knacken ist, es ist und bleibt ein guter Schutz vor unerwünschten Veränderungen. Und wie in dem Artikel ja auch zu lesen ist, werden nur Datenbanken per RE angenommen, deren Besitz man auch nachweisen kann.

Gruß Leo

Antwort 5 von RalfH

Hallo Leo,

Grundsätzlich ist das Thema Sicherheit im IT Bereich ein Feld in dem man tausende von Beiträgen schreiben könnte. Solange etwas verboten ist, wird es immer für irgenntwelche Individuen Reizvoll sein!

Über MySQL kann ich persönlich nicht viel sagen, da ich diese DB nicht nutze.

MS SQL Server 2005 hat einige Features die beim Thema Sicherheit doch schon sehr durchdacht sind.

Ich habe u.a. MS Access Frontends(MDE) auf SQL Server 2005 laufen, wobei im Frontend schon einige Sicherheitsrelevante Daten abgefragt werden (vom System und vom User),und die Verbindung zum Server jeweils nur von dem PC des Users mit den rechten funktionackelt ( Datenquellen Verwaltung).

Zusätzlich sind im SQL Server, Benutzerrechte und Rollen verteilt .Der User bekommt z.B. nur Zugriff auf Views.
Auf den Tabellen sind Trigger, die bei diversen Ereignissen reagieren ( Email benachrichtigung, Transaktions-RollBack inkl. genauer Protokollierung diverser Parameter) usw.

Zitat:
Wie sicher ist zB der Zugang zum System an sich? Wie leicht läßt sich eine Festplatte aus einem PC ausbauen? Baut man sie dann in einen anderen PC ein, hat man quasi uneingeschränkten Zugriff auf alle darauf befindlichen Daten, vorausgesetzt man bedient sich eines Betriebssystems, welches die Partition lesen kann. Aber wo ist da das Problem?


Hardware Technisch, bietet die Firma Northtec für 49 € ein Alarmsystem an, welches intern am Netzteil angebracht wird( von aussen nicht Sichtbar), das beim Abstöpseln irgenntwelcher Kabel, öffnen der Verkleidung oder das anheben des Rechners Alarm ausübt ( 100db).
Ein und Ausschalten kann man das System mit ner Fernbedienung ( damit die Putzfrau nicht jedesmal schreiend wegrennt ;-)

Gruß Ralf

Antwort 6 von lleopard

Hallo RalfH,

Siehst du, da ist doch schon die erste Krux:

Zitat:
Hardware Technisch, bietet die Firma Northtec für 49 € ein Alarmsystem an, welches intern am Netzteil angebracht wird


Wieviele PC's habt ihr? Wir müßten ca 350 PC's damit ausstatten! Beschränken wir das auf wirklich Sicherheitsrelevante Systeme, dann sind es noch ca 50. Jedenfalls sind wir dann wieder bei den nicht ganz irrelevanten Kosten.

Ich widerspreche dir ja gar nicht was die Sicherheitsaspekte von SQL Server 2005 angeht. Wenn aber eine MDE zu knacken ist, dann sind es auch die hinterlegten Verbindungsparameter. Und schon hast du eine offene Datenquelle... und ganz böswillige Kollegen haben Zugriff auf die Daten.

Zitat:
Zusätzlich sind im SQL Server, Benutzerrechte und Rollen verteilt .Der User bekommt z.B. nur Zugriff auf Views.
Auf den Tabellen sind Trigger, die bei diversen Ereignissen reagieren ( Email benachrichtigung, Transaktions-RollBack inkl. genauer Protokollierung diverser Parameter) usw.


Mal ehrlich, wie sicher sind Administrator-Kennwörter im Unternehmen? Wie schnell wird aus einem User ein Admi und wie schnell hat für niemanden nachvollziehbar jemand Datenklau betrieben? Und das trotz Protokollierung etc PP.

Was ich damit sagen will ist nur, daß es niemals eine 100%ige Sicherheit geben kann. Hacker beweisen es immer wieder:

Nix is unmöglich.

Ja, man könnte 1000e von Beiträge schreiben zu dem Thema. Sicher ist nur eins:

Nix is sicher!

In diesem Sinne...

Grüße Leo

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: