Jump to content

An die Datenbankprofis


Hexmaster

Empfohlene Beiträge

Ich brauche mal Hilfe von einem Datenbankprofi. Kurz zu meinem Vorhaben, ich würde gerne eine Datenbank basierend auf SQL aufsetzen, die für folgendes gedacht ist. Wir haben relativ viele Leasing und Wartungsverträge, die ich erfassen möchte und dafür werden zum einen diverse Punkte benötigt.

 

Als Beispiel ( Vertrag , Kostenstelle, Monatspreis, Laufzeit, Kündigungsfrist, Auslaufdatum, vlt noch etwas mehr)

 

Nach diesen Kriterien sollte es dann auch möglich sein, die Einträge zu sortieren zB nach Auslaufdatum oder halt auch zeige alle Verträge einer Kostenstelle etc.

 

Zu allem übel wäre eine Verknüpfung zu dem Vertrag als PDF noch wichtig.

 

Es soll wie gesagt am Besten über sql laufen und auch noch mit Benutzer Log in sein und in meinem Intranet eingebunden werden.

 

Hat wer von euch eine Idee wie ich da anfangen soll ?

 

Thx

Link zu diesem Kommentar
Auf anderen Seiten teilen

Im Kopf hab ich die Struktur ja, eigentlich ja gar nix wildes, jeder Vertrag ein Datensatz mit diversen Einträgen nach denen gesucht sortiert und gefiltert werden kann plus eine Verknüpfung zum Vertrag, den ich als PDF gescannt habe.

 

Das dann halt zu allem Überfluss ins Intranet mit ner Benutzerabfrage, aber das erst mal am Rande.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Fürs Intranet ganz banal mysql webfronted eingeben ;)

Kommt z.B. sowas raus

http://www.thedumbterminal.co.uk/software/webmysql.shtml

 

noch bischen ins Intranet eindesignen..tada

 

selber frickeln macht aber mehr Spass und dann kannst auch gleich ordentlich Dokumentieren. Oder halt phpmyadmin

 

Die Auswahl sachen,sortieren, sollten doch mit ganz einfachn "select * from* where *" funktionieren B)

Beim verknüpfen mit Dateien weiss ich auch nicht. Pfad in die Datenbank schreiben und dann per web interface öffnen lassen, sollte aber funktioneren.

 

Und für die richtigen basics.. http://dev.mysql.com/doc/refman/5.1/de/index.html ^^

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also als erstes wie schon gesagt sich die DB überlegen nix ist schlimmer als ne DB die man nicht mehr erweitern kann etc etc

 

In deinem Fall sehe bis jetzt 2 Tabellen

 

1. Tabelle

Vertrag, Laufzeit usw

 

2. Tabelle

id Kostenstelle

 

Warum die Trennung nun ich nehme jetzt mal an das jede Kostenstelle mehrere Verträge abschliessen kann und auch schon abgeschlossen hat. Somit wäre die Information Kostenstelle oft mit dem Selben wert in der Datenbank vorhanden das widerspricht aber der 2. NF (wenn ich mich net ganz irre) Das keine Daten doppelt vorhanden sein sollen. (Und macht es sehr einfach nach Kostenstelle zu sortieren ^^)

Mir stellt sich auch die Frage mit der Laufzeit sind das Fixwerte z.b. 1/2/5/10/15 etc jahre? oder können das auch krumme sachen wie 2,3 Jahre etc sein? Falls fixwerte ist auch schon ne 3. Tabelle zu setzen ;)

 

Aber ohne Gewähr jetzt alles ohne die Daten an sich gesehen zu haben ist das schwierig ab zuwägen. Wichtig ist das du die Tabellen in die 3. NF (Normalform) bringst. Dann haste später sehr sehr viel weniger arbeit wenn du mal erweitern musst und netter nebeneffekt die datenbank ist performant.

 

Das mit den Dateien ist jetzt so ne Sache Auf der einen Seite gehörts zum Datensatz auf der anderen auch net. ICh würde das in ne eigene Tabelle auslagern. Hat den Vorteil das wenn du Später noch mehr Dateien hinzufügen musst zu einem Vertrag du nicht deine Tabelle erweitern musst sondern einfach in der Dateitabelle erweiterst. Damit bist flexibel was die Dateien angeht (ein Vertag eine datei der andere 10 der 3. nur 4 etc etc)

 

Ist aber jetzt auch nur auf die schnelle gedacht und vllt auch net sinnvoll für deine Anforderungen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

So weit so gut, als Exceltabelle habe ich das ganze ja stehen als beispiel

 

 

001 MTF Leasingvertrag Xerox Laser 2000 2009 11/09 Hausverwaltung

002 KTA Mietvertrag XYZ 2001 2010 12/10 Anzeigenverkauf

 

 

etc etc , derzeit kann ich die Spalten der Tabelle halt sortieren , nach Firma, Kostenstelle, Art etc.

 

das ganze möchte ich nun im Intranet machen im Browser, das ich sage, zeige alles der Kostenstell xy oder zeige Alle Verträge die 2009 auslaufen

 

etc

Link zu diesem Kommentar
Auf anderen Seiten teilen

wenn du es richtig machen willst erstellst du dir als erstes ein --> Entity-Relationship-Modell

 

 

in einer ordentlichen DB gibt es keine redundanten Daten! --> heißt wenn du über eine andere Tabelle bestimmte Daten zuordnen kannst dann gehören sie nicht diese Tabelle!

 

 

Hmm also ich arbeite nur mit dem MS SQL Server-> hier gibt es verschiedene Ansätze den Datenschutz zu realisieren --> Kostet aber Geld!

 

du kannst übrigens die PDFs (auch alle anderen Formate) direkt in die DB speichern--> SINN???

 

und dann kann ich mich nur diesem Beitrag anschließen....

 

 

Also als erstes wie schon gesagt sich die DB überlegen nix ist schlimmer als ne DB die man nicht mehr erweitern kann etc etc

 

In deinem Fall sehe bis jetzt 2 Tabellen

 

1. Tabelle

Vertrag, Laufzeit usw

 

2. Tabelle

id Kostenstelle

 

Warum die Trennung nun ich nehme jetzt mal an das jede Kostenstelle mehrere Verträge abschliessen kann und auch schon abgeschlossen hat. Somit wäre die Information Kostenstelle oft mit dem Selben wert in der Datenbank vorhanden das widerspricht aber der 2. NF (wenn ich mich net ganz irre) Das keine Daten doppelt vorhanden sein sollen. (Und macht es sehr einfach nach Kostenstelle zu sortieren ^^)

Mir stellt sich auch die Frage mit der Laufzeit sind das Fixwerte z.b. 1/2/5/10/15 etc jahre? oder können das auch krumme sachen wie 2,3 Jahre etc sein? Falls fixwerte ist auch schon ne 3. Tabelle zu setzen smile.gif

 

Aber ohne Gewähr jetzt alles ohne die Daten an sich gesehen zu haben ist das schwierig ab zuwägen. Wichtig ist das du die Tabellen in die 3. NF (Normalform) bringst. Dann haste später sehr sehr viel weniger arbeit wenn du mal erweitern musst und netter nebeneffekt die datenbank ist performant.

 

Das mit den Dateien ist jetzt so ne Sache Auf der einen Seite gehörts zum Datensatz auf der anderen auch net. ICh würde das in ne eigene Tabelle auslagern. Hat den Vorteil das wenn du Später noch mehr Dateien hinzufügen musst zu einem Vertrag du nicht deine Tabelle erweitern musst sondern einfach in der Dateitabelle erweiterst. Damit bist flexibel was die Dateien angeht (ein Vertag eine datei der andere 10 der 3. nur 4 etc etc)

 

Ist aber jetzt auch nur auf die schnelle gedacht und vllt auch net sinnvoll für deine Anforderungen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • Admin

Um dazu was zu sagen sind wesentlich genauere Informationen nötig damit die Datenbank dann auch im Geschäftsprozess funktioniert.

 

Wenn es nur drum geht die Verträge und Kunden einzupflegen ist der Aufwand nicht sehr gross.

 

Soll allerdings auch der Vertragsgegenstand mit rein und es ist angedacht Wartungseinsätze über die DB zu steuern muss man sich mal ein Ablaufdiagramm des zugrundeliegenden Geschäftsprozesses hernehmen um den Datenbedarf festzustellen und daraus dann die nötige Struktur der DB erarbeiten.

 

Erst wenn das im Ablaufdiagramm funktioniert sieht man welche Datenstrukturen für welchen Vorgang benötigt werden und wo eventuell noch zusätzliche Tabellen für das Reporting benötigt werden.

 

Die GUI ist dann der nächste Schritt und ein Sicherungskonzept gehört auch dazu.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

  • Wer ist Online   0 Benutzer

    • Keine registrierten Benutzer online.
×
×
  • Neu erstellen...