Datenbank, Organisation, Bilder, Dateien

Gast #4485263
Lesenswert?

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
Gast #4485317
Lesenswert?

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!"
#4485327
Lesenswert?

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
Gast #4485335
Lesenswert?

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.
Gast #4485412
Lesenswert?

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.
#4485532
Lesenswert?

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?
Gast #4485708
Lesenswert?

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.
Gast #4485709
Lesenswert?

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.
Gast #4490198
Lesenswert?

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!
Gast #4490294
Lesenswert?

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.
#4490553
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren