Hallo Leute, ich habe keine professionelle Erfahrung mit Datenbanken, privat habe ich mal was mit Mysql getestet. Jetzt muss ich für unsere kleine Firma eine Datenbank aufbauen für: Infos, Bilder, Pdf, Produktionsdateien,... Gibt es ein gutes Buch, Link, Pdf,.. die sowas erklären? Wie man am besten die Datenbank organisiert? Vielen Dank
Chef: "Müller, sofort in mein Büro!" Chef: "Warum haben sie das Dokument von vor drei Jahren gelöscht?" Müller: "Hab ich nicht, liegt im Verzeichnis -superlangerpfad-" Chef: "Müller, Sie sind verantwortlich für den Saustall!" Müller: "Wir haben keine Datenbank!" Chef: "Sie sind entlassen!" Chef: "Martin, sofort in mein Büro!" Chef: "Wir müssen Digitalisieren und in's Web 4.0!" Chef: "Wir brauchen eine Datenbank. Sie haben bis Montag Zeit!"
Chef: "Tipp-Geber, warum das Gelaber?, haben Sie nichts anders zu tun?, Sie sind entlassen!"
ganz ehrlich: das wird nix! Ich entwickle seit mehr als 20 Jahren Datenbankanwendungen im Hauptberuf, deshalb maße ich mir an, das zu beurteilen. Für einen Anfänger viel zu komplex. Mit der reinen Datenbank ist es ja nicht getan ... Du brauchst auch noch ein Frontend, um das Zeugs rein und wieder raus zu bekommen / wieder zu finden. Und gerade Inhalt wie Du ihn aufzählst, wird meist überhaupt nicht in der Datenbank selbst gespeichert sondern auf einem Netzwerklaufwerk und nur der Pfad dorthin kommt in die Datenbank. Such lieber nach einem fertigen Content- oder Wissens-Management-System (gibt's auch reihenweise auch als durchaus brauchbare Freeware), das für Eure Bedürfnisse passt. Falls Du es aber dennoch versuchen möchtest, google mal nach Begriffen wie: - Normalisierung (z. B. https://de.wikipedia.org/wiki/Normalisierung_%28Datenbank%29) - Objekt-Orientierte-Analyse - ER Modelle
:
Bearbeitet durch User
Martin schrieb: > Jetzt muss ich für unsere kleine Firma eine Datenbank aufbauen für: > Infos, Bilder, Pdf, Produktionsdateien,... Nun ja, die Dateien sind ja schon da (in Verzeichnissen) aber nach was willst du suchen ? Bild ob hübsche Mädels drauf sind, PDF ob sie an einen bestimmten Kunden versendet wurden, Produktionsdaten ob sie auch wirklich eingehalten wurden ? Das Problem ist die Suche, für die die Schlüsselwerte vorhanden sein müssen, nicht die Daten. Man kann nach Codd'scher Vorstellung die megabyte-Dateien als BLOB in die Datenbank stopfen, oder bloss den Pfadnamen und die Datei in einem externen Verzeichnis speichern. Überlege also für welche Suche du speichern willst.
Günter M. schrieb: > Falls Du es aber dennoch versuchen möchtest, google mal nach Begriffen > wie: > - Normalisierung (z. B. > https://de.wikipedia.org/wiki/Normalisierung_%28Datenbank%29) > - Objekt-Orientierte-Analyse > - ER Modelle > Codd'scher Vorstellung Das fängt schon mal gut an! also macht ihr euch keine Sorgen ob ich das kann oder nicht, war auch nicht die Frage. Aber wenn Ihr Tips /Bücher /Links habt, dann bin sehr dankbar. Nachher muss nur eine Tabelle (html) mit Produktnamen dargestellt werden, und wenn man auf einem Bildnamen, pdf,.. klickt muss das Bild oder pdf geöffnet werden, sonst nichts. Ich werde es eh nachher so einfach wie möglich halten.
ich denke immer noch, dass Du mit einer fertigen Lösung besser fährst. Installier ein Wiki und gut is. Ansonsten folge der Anleitung aus dem von mir verlinken Wikipedia Beitrag und bring Deine Daten in die sog. 3. Normalform ... das reicht. Dann musst Du Dich entscheiden, mit welcher Technologie Du das umsetzen willst. Da Du mit MySQL schon angefangen hat, bietet sich das als Datenbank an. Üblicherweise nimmt man dann PHP als Sprache für das Frontend. Dazu brauchst Du also auch noch einen Webserver (üblicherweise einen Apache) und PHP5. Tutorials für PHP gibt es zuhauf im Netz. Alternativ kannst Du das Frontend z. B. auch in einer .NET Sprache oder per VBA basteln. Aber unterschätz das alles nicht. Selbst wenn das am Ende des Tages wirklich nur eine Tabelle sein sollte (was ich nicht glaube), bleibt das noch komplex genug. Und wenn der Datenbank und/oder der Webserver bei einem Provider im Internet steht, bekommt auch der Sicherheits-Aspekt eine ganz andere Bedeutung. Wie sollen die Daten denn in die Datenbank rein kommen?
:
Bearbeitet durch User
kennst Du phpmyadmin? Damit kann man schon mal eine Datenbank erstellen, wenn ein mySQL-Server im Hintergrund läuft. Kannst Du ein bißchen PHP programmieren oder hast schon mal Webseiten gemacht? Da findest Du Befehle, mit denen Du dann auf die Datenbank zugreifen kannst, ist nicht so kompliziert, wie es aussieht. Günter M. schrieb: > Wie sollen die Daten denn in die Datenbank rein kommen? Ich würde mal sagen, jemand tippt die Daten in ein Eingabefeld. Das Eingabefeld muss natürlich vorhanden sein. MySQL ist manchmal etwas verzwickt, wenn man kompliziertere Abfragen erstellen muss und z.B. mehrere Joins miteinander zu kombinieren hat. Es könnte sein, dass eine andere Datenbanksystemanwendung da vlt. besser ist, schau doch einfach mal auf der Homepage von IBM und such nach DB2. Die Idee mit dem Wiki ist auch cool. Wir haben bei uns in der Firma ein Wissenswiki auf einem Server laufen, da kann jeder sein eigenes Wiki erstellen und auch mit anderen Kollegen teilen. Dazu laufen im Hintergrund manchmal auch Datenbanksysteme, aber nicht immer.
Günter M. schrieb: > Und wenn der Datenbank und/oder der Webserver bei > einem Provider im Internet steht, bekommt auch der Sicherheits-Aspekt > eine ganz andere Bedeutung. Genau, und schau z.B. mal nach SQL-Injection, wenn Du Datenbankabragen z.B. mit Python, C oder PHP erstellst.
Z.B Standardwerk von Kemper: http://www.amazon.de/Datenbanksysteme-Eine-Einf%C3%BChrung-Alfons-Kemper/dp/3486576909%3FSubscriptionId%3DAKIAILSHYYTFIVPWUY6Q%26tag%3Dduckduckgo-ffsb-de-21%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D3486576909 Für deine Anforderungen reicht allerdings eine google/youtube Recherche. Für eine einfach Zuordnung von Dokument -> Ablageort braucht es nicht mal 3. Normalform etc. Das würde zwar Redundanz und Ahnliches vermeiden, dafür aber eine Abstraktionsebene einbringen, die es nicht unbedingt braucht. - solange dein Chef später nicht auf die Idee kommt und mehr Anforderungen stellt. Die sollten vorher klar und deutlich festgehalten werden. Das Problem sehe ich hier weniger im Datenbankdesign, sondern auf Server- und Applikationsseite. Stichworte dazu wude schon genannt: Unter anderen die Sicherheitsaspekte und Zugriffrechtemanagement. Viel Erfolg!
Das wäre das erste Mal, dass einem Chef später nicht noch was einfällt :-) Ein versautes Datenmodell macht die Arbeit später um so aufwendiger. Deshalb von Anfang an ein richtig normalisiertes Design erstellen.
Ich habe beim Studium auch Datenbankvorlesungen gehört, hätte also die Grundlagen. Trotzdem würde ich das nicht machen. Der Grund liegt in der Dynamik der Sache. Sobald irgendwas funktioniert, kommen neue Wünsche und Anforderungen. Dann ist man dabei, das Modell zu ändern, noch ein paar Scripts dazu zu packen, dort noch mal was umzuschreiben. Und dieser Przoess hört nie auf, weil immer wieder was dazu kommt. Also wirst du bis spät in die Nacht sitzen, deine existierenden Datenbankmodelle verfluchen, Wrapper und Konverterprogramme schreiben. Kauf was fertiges. Dann bist du nicht für jeden Fehler verantworlich. Die Kauf-Software ist auch getestet. Und der Wunsch, noch viele andere Dinge damit zu machen, entfällt auch.
Günter M. schrieb: > Üblicherweise nimmt man dann PHP als Sprache für das > Frontend. ...ich suche verzweifelt die Stelle im Eingangspost, in der der Wunsch nach einem Web-Frontend formuliert ist... Es gibt sicherlich auch noch andere Möglichkeiten DB-Clients zu programmieren, oder?
Martin schrieb: > Jetzt muss ich für unsere kleine Firma eine Datenbank aufbauen für: > Infos, Bilder, Pdf, Produktionsdateien,... Mit welchem Ziel? Welche(s) Problem(e) soll(en) mit dem Datenbank gelöst werden? Was soll dann besser/schneller/einfacher gehen als wenn die Daten einfach auf einem (Netz)Laufwerk liegen?
db-admin schrieb: > Günter M. schrieb: >> Üblicherweise nimmt man dann PHP als Sprache für das >> Frontend. > ...ich suche verzweifelt die Stelle im Eingangspost, in der der Wunsch > nach einem Web-Frontend formuliert ist... > > Es gibt sicherlich auch noch andere Möglichkeiten DB-Clients zu > programmieren, oder? deshalb habe ich ja auch auf andere Möglichkeiten hingewiesen wie zum Beispiel einem Frontend in einer .NET Sprache. "Richtige" Datenbankmanagementsysteme (wie MSSQL, Oracle oder von mir aus auch MySQL) bringen keine eigene Möglichkeit für ein Frontend mit (und das ist auch gut so). Es gibt zwar Zwittter-Systeme wie MS-Access oder Filemaker, die versuchen, beides zu vereinen ... allerdings immer mit Abstrichen (meist auf beiden Seiten). Deshalb: wenn das Backend eine MySQL Datenbank sein soll, braucht es noch eine weitere Technologie für die Erstellung des Frontends. PHPMyAdmin halte ich da für gänzlich ungeeignet. Datenbank-Anwendungen sollen benutzerfreundlich sein und den ganzen komplexen Kram vor dem Benutzer verbergen. PHPMyAdmin ist deshalb kein Tool für ein produktives Frontend. Es ist, wie der Name schon sagt, ein Tool für den DB Admin (und nebei gesagt noch ein schlechtes). Rund 30% aller Hack-Attacken auf unser eigenes System versuchen beispielsweise genau dieses Tool anzugreifen. Das wäre nicht so, wenn PHPMyAdmin nicht leichte Beute wäre. Alleine vor diesem Hintergrund kann ich nur jedem davon abraten, der nicht wirklich genau weiß, was er tut.
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.