1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

Bachelorarbeit - Wirtschaftsinformatik

Dieses Thema im Forum "Microsoft SQL Server" wurde erstellt von gs3rr4, 1 März 2012.

  1. gs3rr4

    gs3rr4 Aktiver Benutzer

    Hallo liebe Datenbank Profis! :)

    Ich bin Student der Wirtschaftsinformatik und bereite z.Z. meine Bachelorarbeit vor, welche ich in einem Großunternehmen schreiben werde.

    Ich habe leider noch keine großen Erfahrungen mit Datenbanken sammeln können und brauche daher Einschätzungen, Tipps und Literaturhinweise von erfahrenen Usern.

    Hier mal eine kurze Beschreibung der Situation:

    Das Controlling des Unternehmens muss Projektdaten aus den einzelnen Fachabteilungen sammeln, überprüfen und dann in ein Excel-Sheet(1) übertragen. Die Struktur dieser Tabelle ist festgelegt und wird zu einem späteren Zeitraum in eine Lotus Notes-Anwendung übertragen. In dieser Tabelle werden komplexe Berechnungen durchgeführt.
    Die Erfassung der Daten, welche aus den Fachabteilungen kommen, werden ebenfalls durch eine Excel-Tabelle(2) erfasst. Die Übertragung der Daten in das Excel-Sheet(1) wird manuell ausgeführt.
    Die Projektdaten werden später für Auswertungen benötigt. Problematisch ist, dass wenn sich z.B. der Preis eines Einzelteils ändert, die Daten aller Tabellen angepasst werden müssen. Danach muss eine neue Berechnung ausgeführt werden. Es wird eine Lösung angestrebt, in welcher an einer Stelle der Preis geändert wird und dann automatisch alle Projekte dem neuen Stand angepasst werden. Eine Datenbank würde dieses Problem lösen.
    Es sollte unproblematisch sein Masken zu erstellen, über welche die Fachabteilungen die Daten in die Datenbank übertragen. Diese Daten können dann über eine Exportfunktion in das Excel-Sheet(1) übertragen werden. Ich habe zwar noch wenig Erfahrung im Bereich Datenbanken, aber bis hier hin kann ich mir alles sehr gut vorstellen.
    Im nächsten Schritt müssen nun die Berechnungen erfolgen. Die Frage ist, in welchem Umfang man komplexe Berechnungen in einer Datenbank ausführen kann. Eine Überlegung wäre, die Daten einfach in die Tabelle zu übertragen und dort die Berechnung auszuführen. Im Anschluss kann man die berechneten Werte an die Datenbank zurück geben. Ich bin mir aber nicht sicher, ob dies automatisiert werden kann. Besser wäre es, wenn man die Berechnungen in der Datenbank realisieren könnten.
    Ein weiterer Anspruch ist, dass Veränderungen getrackt werden. Optimal wäre sogar, wenn eine Versionierung implementiert werden könnte. Also immer wenn es eine Änderung an einem Projekt gibt, soll möglich der alte Stand gesichert werden.
    Ein Paar Aspekte, welche zu diesem Zeitpunkt jedoch noch sekundär sind:

    - Einfache Erweiterbarkeit
    - Geringer Aufwand bei der Benutzerverwaltung - Vorhandene Konten Nutzen (Windows-, SAP- oder Lutos Notes-Kennung nutzen)
    - Flexibilität bei der Datenauswertung und den Berichten (Möglichst Excel basiert, da mit den Ergebnissen gearbeitet werden soll)

    Die grundlegenden Fragen die sich für mich stellen sind:

    - Ist ein solches Projekt realisiertbar?
    - Falls ja, in welchem Zeitrahmen? (Ich habe ca. 3 Monate Zeit)

    Mir würde jeder kleine Ratschlag oder Hinweis helfen!

    Vielen vielen Dank an jeden Einzelnen, der sich alles durchgelesen hat!

    lg

    gs3rr4
     
  2. ukulele

    ukulele Datenbank-Guru

    Definitiv realisierbar, aber den Aufwand abzuschätzen ist schwiriger. Insbesondere, wieviel Zeit jemand benötigt, der noch keine Programmier- oder Datenbankerfahrungen aufweisen kann.

    A) Datenmodell:
    Relationale Datebanken sind in deinem Anwendungsbereich ideal. Eigenschaften eines Teils werden auch nur an einer Stelle geändert, so soll es sein. Logfiles sind machbar, bei Versionierung wird es sehr komplex. Das geht sicherlich, aber der Aufwand ist groß. Vieleicht sollte man das am Anfang berücksichtigen, aber erst später umsetzen. Für Anbindung von Active Directory empfiehlt sich hier MSSQL.

    B) Eingabe der Daten:
    Ist für mich der schwerste Part. Du musst verschiedene Punkte beachten:
    - Du kannst mit einer Datenbank keine "Eingabemasken" oder Formulare erstellen, das übernimmt in der Regel eine Anwendung oder ein Webserver mit PHP / Java oder vergleichbarem.
    - Du musst Funktion, Komfort und vor allem Sicherheit gewährleisten.
    Excel ist denkbar, aber irgendwie auch nicht ideal. Access bietet sowas wie Eingabemasken, aber alles andere wird damit schwirieger. Schön ist sicher ein Webserver mit DB Anbindung, garaniert Plattformunabhängigkeit. Man muss natürlich viel selber machen. Es gibt auch Softwareanbieter, wir nutzen ein CRM System, die in der Lage sind, beliebige Masken zur Dateneingabe / Ausgabe zu erstellen.

    C) Verarbeitung
    Kann in einer "professionellen" Datebank (MSSQL, Oracle, Postgres, bedingt auch MySQL) statt finden. Im einfachen Rahmen über Funktionen und Trigger, damit sollten auch Excel Berechnungen problemlos abbildbar sein. Im komplexen Umfeld braucht man dann Software für Datamining etc.

    D) Ausgabe
    Kann natürlich auch nach Excel erfolgen. Excel kann per ODBC auf SQL Daten zugreifen und sie auf Knopfdruck abrufen.
     
    PLSQL_SQL und Walter gefällt das.
  3. gs3rr4

    gs3rr4 Aktiver Benutzer

    Vielen Dank für das erste Feedback!

    Also wenn ich es richtig verstanden habe, dann sollte die Benutzerverwaltung mit Active Directory gut Lösbar sein. Alle zukünftigen Nutzer der Lösung verwenden Windows XP.
    Bei den Eingabemasken habe ich auch an Access gedacht, weil es das einzige Programm ist, mit dem ich schon Datenbanken erstellt habe. Im Controlling wurde schon der der Wunsch geäussert, die Eingabe über Excel zu machen, da die Mitarbeiter mit der Oberfläche vertraut sind. Wenn dies über Excel machbar ist, wäre auch die spätere Erweiterbarkeit einfacher, denke ich. Wie würde mann dann die Verknüpfung zur Datenbank realisieren?
    Könnte man mit Excel dann auch direkt auf die Tabellen wie z.B. "Einzelteile" zugreifen und dort neue Einträge machen? Ich kann mir das nur sehr schwer vorstellen. Eine Access Maske erscheint mir da sinnvoller.

    Bei der Berechnung handelt es sich um den "internen Zinsfuß". Ich hab gerade schon ein Buch gefunden in dem wohl ein Codeschnipsel enthalten ist, der das ganze mit Access umsetzen kann.

    Wie erfolgt bei MSSQL die Erstellung der Tabellen usw.? Kann ich mir das so ähnlich wie bei Access vorstellen oder passiert das alles per Code-Zeilen?

    Ich habe parallel in einem Lotus Notes-Forum angefragt, dort wird vermutet, dass es in 3 Monaten schwer schaffbar ist. Zumindest ohne jemanden der schon sehr viele Kenntnisse in der Richtung hat.
     
  4. ukulele

    ukulele Datenbank-Guru

    Excel kann auf SQL zugreifen, aber nur Inhalte abrufen (SELECTs ausführen). SQL kann auf Excel zugreifen, und z.B. Inhalte auslesen und ggf. in eigene Tabellen übernehmen. Mit SQL Excel schreiben habe ich noch nie gemacht, müsste aber gehen. Wie gesagt, Excel birgt andere Schwirigkeiten:
    - Es erfolgt kein Zugriff aus Excel auf die originalen Daten, das müsste ein (zeitgesteuertes) Script tun.
    - Sicherheit: Keine Prüfung auf korekte Eingabe (z.B. Datumswert nicht erkannt, der ganze Import schlägt fehl) und keine User Authentifizierung (Ich habe auch noch nie mit Active Directory und SQL Zugriffsrechten gearbeitet, immer nur mit eigenen SQL Nutzerkonten, aber das müsste gehen.)

    Eigentlich wäre es dann einfacher, weiter mit Excel Tabellen zu arbeiten. Die können ja auch untereinander Verknüpft werden. Man würde dann die Tabellen wie in einer relationalen Datenbank strukturieren, dazu müsste aber jeder Anwender überhaupt das Prinzip begreifen.

    Beide Varianten scheinen mir eher als "Bastellösung". Der einzige Vorteil den dir Excel zur Dateneingabe bietet ist die Fähigkeit der Anwender, Daten einzugeben und zu bearbeiten. Diese zu verarbeiten wird entweder sehr fehleranfällig oder ein riesen Aufwand. Ich weiss nicht wie intensiv mit den "Eingabedaten" gearbeitet wird, aber ich denke mal wenn man nur Projektdaten eintippen will, geht das auch ohne Excel.
    Die Ausgabe mit Excel zu ermöglichen finde ich hingegen sehr sinnvoll. Die Abfrage von SQL Daten erzwingt auch ein Passwort, schreibt die Daten dann in einen festgelegten Bereich und Excel Formeln können darauf zugreifen.

    Lade dir mal MS SQL Express mit SQL Studio runter. Die Kostenfreie Version hat Einschränkungen aber kann erstmal alles was wichtig ist. Im SQL Studio kann man alles per GUI machen (Nutzerverwaltung, Tabellen anlegen, etc.) und natürlich auch alles per Script. Fast alle Objekte des Servers (Tabellen, Trigger, Funktionen) lassen sich auch per Klick als Script anzeigen. Das sollte dir eine Vorstellung vermitteln.

    Das sehe ich ähnlich, aber ich kann den Umfang schwer einschätzen. Ich sehe das größte Hinderniss in der Eingabe, da steckt viel mehr Aufwand drin als man zunächst annimmt.
     
    PLSQL_SQL gefällt das.
  5. gs3rr4

    gs3rr4 Aktiver Benutzer

    Das Thema ist nun angenommen und auch seit dem 01.04. angemeldet.

    Kurze Zusammenfassung des "neuen" Inhalts:

    Zitat
    Ich erstelle eine Anwendung in MS SQL Server 2008, Lotus Notes oder SAP welche die komplette Datenerfassung abbilden muss. Diese Datenbank soll bestimmte Daten in eine Excel Tabelle exportieren können. Die Struktur der Excel Tabelle ist dabei immer die selber. Es sollte also möglich sein, Daten 1:1 an Felder weiterzugeben und umgekehrt. In der Excel Tabelle wird nun etwas berechnet. Wenn der Controller fertig ist, soll es möglich sein Werte aus dieser Excel Tabelle in die Datenbank zu übertragen. Diese Positionen sind auch immer die selben.
    Ich weiß, dass es sehr fraglich ist ob man die Excel-Tabelle überhaupt braucht. Sie ist jedoch Teil eines weiteren Prozesses und wird unbedingt benötigt.

    Ich soll im Zuge der Bachelorarbeit herausfinden, welches der Systeme (Lotus/SAP/MSSQL) am geeignetsten ist, um das Ganze zu realisieren. Weiterhin soll ich eine Querschnittsanalyse und eine Nutzwertanalyse erstellen, welche bei der Entscheidungsfindung helfen und zugleich den Gesamtnutzen der neuen Anwendung darstellen soll. Bei der Nutzwertanalyse brauche ich Kriterien, welche ich zu einem Katalog zusammenstellen kann um die drei Systeme bewerten zu können.

    Die Berechnung innerhalb der Datenbank sowie mögliche Logging-Konzepte werde ich im Ausblick der Arbeit anschneiden - sozusagen als Erweiterungen für die Zukunft.

    zu den einzelnen Systemen brauche ich jetzt konkret folgendes:

    - Schnittstellen zwischen Excel und MS SQL (Möglichst alle, damit ich vergleichen kann)
    - Vor- und Nachteile die ihr bei diesem Projekt bei MS SQL seht

    Zu den Schnittstellen:
    Ich brauche für jedes Projekt eine einzelne Excel-Tabelle. Das heißt für mich, dass eine Schnittstelle die permanent Daten aktuell hält nicht in Frage kommt. Wie schon gesagt: Die Struktur der Excel Tabelle ist immer gleich. Ich könnte mir also vorstellen, dass man eine Vorlage-Datei zur Verfügung stellt, welche dann von der Anwendung per Knopfdrück mit den Projektdaten des gewünschten Projektes füllt und unter dem Namen Projekt_386.01.xls abspeichert. Das wäre wirklich das optimalste. Andersherum sollten dann Excel-Tabellen "eingelesen" werden können. Also ich wähle die Datei Projekt_386.01.xls aus und übertrage die zuvor in Excel berechneten Daten in die Tabellen der Datenbank ein.
    Ihr könnt mir gerne auch andere Wege vorschlagen oder sagen, dass ich mir den totalen Quatsch zusammendenke. [​IMG]

    Zu den Vor- und Nachteilen:
    Ich stelle mir dazu mehrere Kategorien wie z.B. Erweiterbarkeit, Benutzerverwaltung, Sicherheit oder Zugriffsgeschwindigkeit. Ich brauche halt mehrere Sachen, an denen ich festmachen kann, welches der Systeme am geeignetsten ist.

    Bei Lotus Notes würde ich z.B. als Vorteil sehen, dass es eh schon jeder Mitarbeiter täglich nutzt und damit eine vertraute Oberfläche hat. Die Benutzerverwaltung und Sicherheit sollte damit auch für Lotus Notes sprechen.
    Nachteilig wäre, dass man es schwer erweitern kann, da z.B. Kenntnisse der Scriptsprache erforderlich sind.

    SAP wird noch nicht von jedem Mitarbeiter genutzt, also müsste man sich dort erst einarbeiten und evtl. sogar neue Lizenzen besorgen. Auch hier werden ABAP-Kenntnisse benötigt, um Erweiterungen oder Änderungen vorzunehmen.
    Punkten könnte SAP auch durch Sicherheit und einfacher Nutzerverwaltung. Zudem ist SAP ein System, das gerade für solche Dinge gedacht ist. In Zukunft könnte man sogar gänzlich auf Excel verzichten und das ganze ausschließlich in SAP abbilden. Hier sind auch sehr viele Daten-Analysemöglichkeiten gegeben.

    MS SQL wäre wohl am einfachsten erweiterbar. Bei der Nutzerverwaltung bin ich mir nicht sicher. Import und Export der Daten zu Excel ist hier wohl auch am einfachsten, da beide Produkte vom gleichen Hersteller sind und gute Schnittstellen geschafft wurden.

    Das größte Problem das ich bei meiner Arbeit sehe ist, dass ich shr viel Infos von erfahrenen Nutzern bekomme, welche ich schwer in Büchern wiederfinden kann. Ich bin wirklich sehr dankbar für eure Hilfe, aber könnt ihr mir auch Literatur nennen, in der die Methoden die ihr verwendet beschrieben werden oder habt ihr all euer Wissen nur durch Erfahrungen sammeln können?

    Vielen Dank an alle die das hier lesen und noch mehr an diejenigen, die sogar etwas hilfreiches dazu schreiben!!
     
  6. ukulele

    ukulele Datenbank-Guru

    Also das schwirigste an deiner Arbeit wird es nicht sein, eine Lösung zu finden sondern mehrere mögliche Lösungen zu vergleichen / bewerten (Ich gehe mal davon aus das du nicht jede Variante auch umsetzen kannst). Das ist sicher ein interessantes Projekt aber auch sehr arbeitsintensiv und vor allem ist es wie mit vielen anderen Projekten auch: Welcher Weg der beste ist zeigt sich meist erst hinterher :/

    Mein SQL Wissen habe ich zum teil aus einem Buch über Postgre SQL, allerdings das meiste wirklich aus dem Internet. Ich habe mich vorwiegend mit Abfragen und Triggern befasst. Angefangen mit den Grundlagen der Syntax (da ist ein Buch sinnvoll) und dann von Problem zu Problem durch Google und der Transact SQL Referenz. Hin und wieder mal ein Artikel aber auch die sind mir nicht immer vollständig begreiflich, ich nehme was ich umgesetzt kriege.
     
  7. Hallo,

    erstmal wollte ich kurz loswerden, dass ich dein Thema prinzipiell für sehr interessant und auch machbar halte.
    Habe mein Wissen hauptsächlich durch Berufserfahrung, aber ich würde für die Grundlagen der Syntax auf jeden Fall auch empfehlen, ein gutes Grundlagenbuch heranzuziehen.
    Hab jetzt keinen Titel im Kopf, aber bei Amazon sind einige einschlägige Titel aufgelistet. Ich weiß, dass es meist schneller geht, sich die Informationen aus dem Internet zu holen aber du hast dann hinterher vermutlich vielmehr Arbeit, wenn du im Nachhinein nach Belegen suchst. Kann ich aus eigener Erfahrung sagen.

    Wünsch dir aber auf alle Fälle viel Erfolg,

    Carina
     
  8. gs3rr4

    gs3rr4 Aktiver Benutzer

    Hey Leute!

    Ich habe mich jetzt für MSSQL entschieden. Bei Lotus Notes und SAP bekomme ich einfach zu wenig Support und da kann auch später kaum jemand Änderungen vornehmen, weil das Wissen fehlt.

    Schwer ist jetzt das ganze zu belegen. Klar kann ich so argumentieren, aber ich muss zumindest ein paar Kriterien rein bringen, welche die Systeme zumindest etwas vergleichen.

    Zu welchem Frontend würdet ihr mir raten bzw. welche kommen aus eurer Sicht überhaupt in Frage?
    Excel als Frontend funktioniert hast du ja geschrieben, dass stell ich mir komisch vor, aber es würde mir glaube einiges leichter machen. Neben der den Eigabefunktionen ist ja schon immer Bedingung gewesen, dass man sich auch Auswertungen im Excel-Format aus der Datenbank ziehen lassen können soll.
     
  9. ukulele

    ukulele Datenbank-Guru

    Also du musst erstmal unterscheiden:
    Lotus Notes und SAP sind beides anbieter von A) einer Datenbank und B) einem Frontend. Zugriff auf die Daten erfolgt also über ein herstellerspezifisches Frontend oder ein herstellerspezifische Scpritsprache. Ich weiss nicht genau was zum Einsatz kommt (Datenbank und Scriptsprache), das solltest du nachprüfen! Aber ich würde sagen das du dich von der Syntax für Scripte und der Software in diesen Fällen an einen konkreten Hersteller bindest.

    Transact SQL ist erstmal ein recht verbreiter Standard und wird natürlich von mehr Leuten "gesprochen". MS SQL ist hier eine Implementierung "nahe am Standard", kann aber von jedem mit SQL Kenntnissen modifiziert werden. Allerdings handelt es sich nur um eine Datenbank, nicht um ein Frontend. Das Frontend kann hier unabhängig von der Datenbank gewählt werden und sehr speziell sein (Anderer Hersteller als die DB, eigene Webseite, Excel, etc.).

    Das spricht aus meiner Sicht dafür, natürlich kann ich dir keine Zahlen nennen. Die Argumentation gegen einen fixen Hersteller sollte aber einleuchten.

    PS: Natürlich kann ein wichtiger Punkt auch die Herstellerbindung sein wenn z.B. SAP schon im Einsatz ist und damit sehr viel Datenanalyse betrieben wird oder schon jede Menge Fachkräfte vorhanden sind.
     
    PLSQL_SQL gefällt das.
  10. gs3rr4

    gs3rr4 Aktiver Benutzer

    Jap, das mit SAP und Lotus habe ich verstanden.

    In SAP bräuchte ich keine Datenbank anlegen. Ich würde dort auf der vorhandenen neue Tabellen anlegen und dann mit ABAP versuchen was zu basteln.
    Bei Lotus Notes verhält sich das ähnlich, jedoch habe ich noch nie was mit LotusScript gemacht.

    Da ich nicht so richtig an Vergleichswerte komme versuche ich die Entscheidung durch Argmuente (Pro/Con) zu treffen.

    Ich habe jetzt mal MSSQL Server 2008 in der Express Variante installiert. Das hat alles funktioniert und ich habe auch Zugriff per Studio. Tabellen erstellen ist kein Problem und ich bekomme die Daten auch in Excel angezeigt. Das Updaten von Daten wird jetzt schon komplexer wie es aussieht. Gibt es dort einfachere Wege, als das ganze manuell mit SQL-Befehlen zu beschreiben?

    Zu Transact SQL habe ich mir gerade kurz was durchgelesen, dass hört sich ja sehr gut an.

    Ich überlege jetzt wie ich das ganze am geschicktesten anstelle. Excel als Frontend wäre eig schon sehr gut. Ich denke ich erstelle erstmal das Datenmodell.
     
  11. PLSQL_SQL

    PLSQL_SQL Datenbank-Guru

    Hey,

    ich bin zwar noch neu im Forum, gebe aber trotzdem sehr gerne meinen Senf dazu! *g*

    Prinzipiell finde ich dein Projekt sehr interessant.
    Was ich nicht verstehe, ist, dass du Daten in eine Datenbank eintragen möchtest (einfache Erfassungsmaske im Web oder sonst wie umgesetzt),
    aber anschließend die Daten ins Excel exportieren möchtest um manuell Berechnungen durchzuführen (welche immer die gleichen sein werden!!!! da die Excel-Datei sich nicht verändern wird) und anschließend wieder in die Datenbank importieren möchtest.


    1. genaue Klärung der Anforderungen
    2. Daraus ein Datenbankmodell erstellen
    3. Erfassungsmasken "Usability" (wie auch immer) erstellen
    4. Berechnungen können direkt in der Datenbank durchgeführt werden, entweder automatisiert, oder wenn dies zuviel Zeit in Anspruch nimmt, da die Berechnungen sehr umfangreich sind, eventuell über Nacht oder durch einen händischen Anstoß, mit der Info im Frontend, dass dies einige Zeit dauern kann!
    5. Export FERTIGER Zahlen ins Excel zur Verfügung stellen
    In der Datenbank wäre eine Art Versionierung leicht möglich, indem eine Loggingtabelle erstellt wird, in welcher die geänderten Daten (Wert ALT, NEU) mit Zeitstempel und UserID bei jeglicher Änderung eines bereits erfassten Datensatzes eingetragen wird. (Stichwort: Trigger)
    Anschließend könnte anhand diesem eine Historienauswertung (Ansicht) je Projekt in der Oberfläche (Goodie) zur Verfügung gestellt werden. usw.
    Die Frage ist eher, wieviel KnowHow besitzt du bzgl. SQL, TSQL (für Trigger, Functions, Procedures) um gewisse Dinge eventuell zu automatisieren, und wieviel KnowHow besitzt du z.B.: in C# (CSharp) um eventuell via .Net-Framework die gewünschten Eingabemasken zur Verfügung zu stellen.
    Dann wäre es leichter, einen entsprechenden Zeitrahmen für die Umsetzung einzuschätzen, wobei darauf geachtet werden muss, dass du noch genügent Zeitpuffer benötigst um deine Bachelorarbeit zu schreiben und deine neuen Erkenntnisse einfließen zu lassen!!!
    LG
     
    Walter gefällt das.
  12. gs3rr4

    gs3rr4 Aktiver Benutzer

    Die Excel-Datei ist zwingend für den Folgeprozess notwendig. Auch wenn ich es gerne anders hätte, darf diese Datei nicht verändert werden und muss genau so bleiben. Das ist auch der Grund, warum andere Fachabteilungen Datenerfassungsblätter bekommen und nicht direkt in die Datei schreiben.
    Ich würde gerne mein Exposé posten, in welchem alles sehr gut beschrieben ist, aber ich darf leider Details herausgeben.

    Mit der Berechnung liegst du natürlich richtig. Anfangs war es so gedacht, dass die Berechnung mit im Datenbanksystem abgebildet wird.
    Ich selber habe 2 Semester Datenbanken gehört und nicht sonderlich viel Erfahrung. Programmieren hab ich auch alle Teile bestanden, aber es ist nicht gerade meine Stärke. Ich wollte die Anforderungen so setzen, dass sie relativ einfach umgesetzt werden können. Die Berechnung um die es hauptsächlich geht ist eine iterative Formel. Es braucht also mehrere Durchläufe bis man auf das Ergebnis kommt, ich wusste nicht genau ob dies ohne weiteres im DBMS abbildbar ist.
     
  13. PLSQL_SQL

    PLSQL_SQL Datenbank-Guru

    >Die Excel-Datei ist zwingend für den Folgeprozess notwendig. Auch wenn ich es gerne anders hätte, darf diese Datei nicht verändert werden und muss genau so >bleiben. Das ist auch der Grund, warum andere Fachabteilungen Datenerfassungsblätter bekommen und nicht direkt in die Datei schreiben.

    Genau das habe ich mit: Daten ins Excel exportieren möchtest um manuell Berechnungen durchzuführen (welche immer die gleichen sein werden!!!! da die Excel-Datei sich nicht verändern wird) und anschließend wieder in die Datenbank importieren möchtest.

    -> Dies könnte natürlich in der Datenbank automatisiert werden, auch wenn mehrere Durchläufe notwendig sind. Ich nehme an, dass du mit mehrere Durchläufe meinst, dass nach der Berechnung1 eine Benutzereingabe erfolgen MUSS. (statische Zahlen, Fakten) Anschließend könnte die Berechnung2 erfolgen usw. Wenn du schlussendlich fertig bist, mit deinem Workflow, würde ich einen fixen fertigen Export zur Verfügung stellen!!

    Dies werden doch fixe Durchläufe sein oder? (Anzahl und Berechnungsschema) Somit wäre es (nur eine Idee) sehr sinnvoll, wenn du den gewünschten Workflow mit einen entsprechenden Frontend (programmieren) bereitstellst und hier entsprechenden Übersichtslisten + Eingabemasken zur Verfügung stellst.

    Aber wie gesagt, da du im Programmieren jetzt nicht so fit bist und bezüglich Datenbanken (hier MSSQL) mit TSQL auch keine Erfahrung hast, wird es nicht leicht werden, dieses Projekt umzusetzen.

    Wie weiter oben beschrieben, wäre Excel als Frontend für die lösbar. Ich sehe hier nur das Problem, dass die Anwender genau aufpassen müssen was sie tun. D.h. es können KEINE Spalten Zeilen eingefügt werden, da der Rückimport nicht mehr funktionieren würde usw.
    Somit ergibt das Excel-File eine sehr hohe Fehleranfälligkeit für DEIN umgesetztes Projekt!!!!

    Da du keine genaueren Details veröffentlichen kannst/darfst (versteh ich) kann ich dir nicht sagen, was aus meiner Sicht die passendste Lösung bzw. effektivste Umsetzungsmöglichkeit wäre. Für micht läuft derzeit alles auf eine Datenbank-Interne Umsetzung. D.h. SQL + TSQL = Procedures, Functions, und zur Automatisierung Trigger!
    Weiters für das Frontend C# mit dem .Net-Framework. Hier können recht schnell tabellarische Ansichten (WebGrid) erstellt werden. (Ich hab selbst damit noch nicht entwickelt aber mir bereits einmal kurz angesehen)

    Auf jeden wünsche ich dir ALLES GUTE und VIEL GLÜCK und SPAß bei der Umsetzung (wie auch immer du dies nun lösen möchtest).

    LG
     
  14. ukulele

    ukulele Datenbank-Guru

    Ich denke beide Varianten sind möglich, also Berechnungen in der DB (da geht eigentlich so ziemlich alles was man machen will) oder in Excel. Das mit Excel habe ich so verstanden, das die User individuelle Berechnungen / Bearbeitungen der Daten vornehmen. Prinzipiell geht das, es gehen auch neue Spalten etc. nur der Re-Import wird dadurch schwieriger. Wenn die Berechnungen natürlich immer die selben sind, würde ich auch zur in DB Lösung raten und nur exportieren.
     
  15. gs3rr4

    gs3rr4 Aktiver Benutzer

    Ich versuche es noch deutlicher zu beschreiben. Ich hoffe ich bekomm es hin :p

    Ich denke so viel kann ich sagen: Es geht um die Berechnung von Angebotspreisen zu Kundenprojekten in einem großen Konzern. Die Anwendung soll aber nicht für alle gedacht sein, sondern nur für einen kleinen Teil dieses Konzerns, also einem Segment.

    Also die IST-Situation:

    Systeme/Dateien die verwendet werden:

    Datenerfassung (Excel):
    Mit der Datenerfassungs-Datei werden die Daten der Fachabteilungen gesammelt. Dort gibt es also Tabellen für Einkauf, Logistik usw. Es gibt immer eine Datei pro Projekt (meiner Meinung nach total chaotisch). Sie wurde nur für das Segment entwickelt, in dem ich die Arbeit schreibe.

    Berechnungsdatei (Excel)
    Diese Datei ist vom Konzern vorgegeben. Die Daten aus der Datenerfassungsdatei werden derzeit manuell in diese weitere Excel-Datei übertragen. Hier gibt es sehr viele Formeln. Manche dieser Formeln (z.B. die Berechnung des internen Zinsfußes) sind Näherungsverfahren. Es gibt also eine Position x die einen Wert y annehmen soll. Nun werden die verknüpften Werte a, b und c so lange geändert bis x den Wert y hat (So hab ichs verstanden). Das kann man in Excel wohl unter anderem mit derIKV-Funktion (Interne-Kapitalverzinsungs-Funktion) darstellen.

    Freigabeworkflow (Lotus Notes)
    Die Berechnungsdatei wir in eine Lotus Notes Anwendung geladen. Es folgt ein Freigabeprozess für das Projekt.

    Also Problematisch ist bei der ganzen Sache, dass die Daten aus der Datenerfassung immer manuell übertragen werden müssen. Das dauert lange und kann natürlich auch zu Fehlern führen. Außerdem ist es total Umständlich eine Übersicht der ganzen Excel-Tabellen zu behalten. Es wäre also toll wenn man eine Datenbank hätte, in der man sich ein bestimmtes Projekt abrufen kann, um dann Änderungen einzupflegen oder was auch immer.
    Was das Controlling möchte ist also Eine Datenbank, in der alle Projekte gespeichert werden. Da es oft Änderungen gibt oder verschiedene Angebote für ein Projekt (wo dann ein paar Werte anders sind) soll es möglich sein verschiedene Projektstände oder -versionen anzeigen zu lassen. Optimal wäre: Projekt900.01 ist im System. Nun gibt es Änderungen an diesem Projekt. Der Controller ruft also das Projekt auf, ändert ein paar Werte und kann es unter Projekt900.02 abspeichern.
    Es sollte außerdem Möglich sein die Projektdaten in die Berechnungsdatei zu übertragen. Selbst wenn die Formeln innerhalb der Datenbank realisierbar sind, braucht das Controlling die gefüllte Datei für den Freigabeworkflow.
    Eine weitere Anforderung ist, dann man hinterher auch mit den Daten arbeiten können soll und zwar im Excel-Format. Also die Berichte sollten sozusagen im Excel-Format erfolgen.

    ---

    Die Frage ist jetzt, wie das ganze am einfachsten zu Lösen ist. Heute sollte ich eigentlich vorstellen, welches der Systeme ich verwenden möchte. Zum Glück wurde der Termin auf morgen verlegt.
    Die Datenbank steht für mich fest: MS SQL Server 2008. Ich habe schon einen Windows 2003 Server, den ich verwenden kann. Dort ist z.Z. MS SQL 2005 installiert. Am Freitag werde ich dann die 2008er aufspielen.

    Beim Frontend bin ich mir extrem unsicher. Mein Problem ist, dass ich sehr wenig Support habe. Der lokale IT-Manager ist leider nicht sonderlich erfahren in diesem Gebiet. Es gibt sicher Leute im Unternehmen, die mir besser helfen könnten, aber die sind an anderen Standorten.
    Das Thema steht jetzt aber fest und ich muss mich entscheiden und anfangen.

    ---

    Excel als Frontend stell ich mir am einfachsten vor. Die Datenerfassung kann ja fast übernommen werden. Es muss nur als Maske dargestellt werden, welche dann verschiedenen Projekte aufrufen kann. Die Frage ist jetzt nur wie das geht. Ich glaube das Übertragen von Daten einer Excel Tabelle in eine andere ist kein Problem.
    Das Problem der Fehleranfälligkeit der Excel-Tabelle sollte doch lösbar sein. Ich habe zwar noch nicht damit gearbeitet, aber es sollte doch möglich sein die Tabellen so zu sperren, dass nur bestimmte Felder zur Eingabe freigegeben sind oder?

    Würde es evtl. mit Access als Frontend leichter gehen?

    Mit C#/.Net-Framework habe ich noch keine Erfahrung. Welche Vorteile siehst du bei einem solchen Frontend im Gegensatz zu Excel?
    Prinzipiell wäre ich auch bereit dort was zu lernen. Ich bin eigentlich bereit alles zu lernen was nötig ist um diese Anwendung fertig zu bekommen. Es sollte aber nicht gerade der aufwendigste Weg sein, denn die Zeit läuft.

    Wenn sich wirklich jemand genau vorstellen kann wie das mit Excel zu lösen ist: Bitte bitte schreibt den groben Weg, die Methoden oder was auch immer, die ich mir aneignen muss. Ich kann mir auch gut Vorstellen, dass es eine solche Lösung schon gibt. Natürlich nicht auf meinen Fall zugeschnitten, aber sozusagen als Vorlagen, mit der man arbeiten kann.

    Vielen Dank für eure Mühe!!
     

Diese Seite empfehlen