Zum Inhalt springen

flashpixx

Mitglieder
  • Gesamte Inhalte

    8302
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von flashpixx

  1. Mach kannst Du viel, nur fachlich ist es meiner Ansicht nach falsch. Denn wenn Du sagst, ich entferne aus einer Tabelle irgendwelche Spalten, weil sie gleichen Namen haben, dann impliziert das wiederum, dass Du zwischen den Tabellen eine Beziehung hast. Formal hast Du diese aber nicht.
  2. Ich muss mich noch korrigieren: Das Simplex-Verfahren ist ein O(2^n) Algorithmus und kein polynomieller, wie ich es vorher geschrieben hatte. Bei realen Problemen, ist aber die Laufzeit doch sehr gut Das mit dem -1% ist klar. Der Simplex-Algo ist recht robust, man kann zeigen, dass wenn sich eine Lösung in einer gewissen Schranke verändert, das nicht zu einer Änderung der gesamten Lösung führt. Diese Infos kann man aber recht einfach aus dem Tableau entnehmen. Naja, das "sooo viel" lass ich mal etwas im Raum stehen, denn es müssten 2^n Möglichkeiten sein, die man theoretisch hat. bei 2^10 oder 2^100 ist das schon ein Unterschied.
  3. flashpixx

    JProgressbar

    Wobei man dann sagen muss, dass dann aber letztendlich das Programm zu aufwendig ist, denn diese "Copy&Past" Struktur kann man viel effizienter machen
  4. Ich will es mal anders ausdrücken. Datenbanken sind im Grunde mengentheoretische Sachen. Eine Tabelle ist eine Menge. Was Du hier ablieferst sind leere Tabellen. Redundanzen können entweder innerhalb einer Tabelle / Menge sein oder eben zwischen mehreren Tabellen / Mengen. Für erstes brauche ich Daten, für zweiteres Beziehungen + Daten. Beides lieferst Du nicht, somit ist die Aufgabe in meinen Augen fachlich unsinnig und formal somit auch falsch. Genau diesen Zusammenhang hat man in der Normalisierung.
  5. Wo steht denn in Deinem Modell, dass die beiden Kundennummern identisch sind !? Das fällt im Moment einfach vom Himmel, dass Du annimmst, dass beide identisch sind.
  6. Hosting mag ein Teil für einen Fachinformatiker sein, sprich die Fachrichtung Systemintegration. Programmierung (egal in welcher Art, Skript, Datenbank usw) gehört zu der Fachrichtung Anwendungsentwickler. Die Gemeinsamkeit besteht letztendlich in dem kaufmännischen Bereich beider Berufe. Schau evtl einmal in Wikipedia nach, da sollte einiges zu finden sein
  7. Wo sind denn bitte überhaupt Redundanzen !? Nur weil zwei Spalten gleichen Namen haben, muss das nicht redundant sein. Redundanzen entstehen dadurch, dass Daten als Kopie gespeichert werden und genau das beseitigt man durch die Normalisierung. Nur Du brauchst auch dafür überhaupt Beziehungen zwischen den Entities / Tabellen und die sehe ich nicht. Ich will es mal so sagen, Du lieferst hier einzelne Textdateien, in denen Komma separiert Feldnamen stehen. Das reicht nicht an Informationen !
  8. flashpixx

    JProgressbar

    Schau Dir bitte das erste Beispiel auf der verlinkten Seite an "ProgressBarDemo.java".
  9. flashpixx

    JProgressbar

    Wie wäre es, wenn Du einfach Deine Befehle in einer Schleife durch iterierst, vor allem, würde dann der Code auch leserlicher. Zusätzlich brauchst Du dann nur ein Wait-Commando codieren, denn Du führst es eh nach jedem Befehl aus. Zusätzlich kannst Du dann nach jedem Wait auch die Progressbar updaten
  10. deutsche Tutorials kenn ich kein einziges. Ich würde mir an Deiner Stell eine Flex und Bison anschauen. Natürlich solltest Du das theoretische Wissen über Automaten und Grammatiken haben, denn sonst wird es schon schwer, dass Du überhaupt eine Grammatik formuliert bekommst, die man dann weiter verarbeiten kann. Je nachdem solltest Du erst mein einer LL1 Grammatik beginnen. Mit ANTLR Parser Generator kann man schon einiges an Arbeit durchführen und testen. Wenn Du dann einen Compiler in C/C++ schreiben willst, dann musst Du die entworfene Grammatik mit Bison und Flex zu einem Parser & Scanner erweitern.
  11. flashpixx

    JProgressbar

    Was verstehst Du nicht von How to Use Progress Bars (The Javaâ„¢ Tutorials > Creating a GUI With JFC/Swing > Using Swing Components) das man nach einfacher Google Suche findet?
  12. Die Informationen, die Du aber hier lieferst reichen aber nicht aus. Du lieferst hier nur Tabellen und deren Spaltenbezeichnungen. Keine Verknüpfungen, keine Daten, die brauchst Du für die Normalisierung usw. Ohne weitere Infos, ist keine Hilfe möglich
  13. Naja nur die Feldnamen sind an sich erst einmal zu wenig, denn Du brauchst auch die Verknüpfungen. Schau Dir die Normalisierung (Datenbank) ? Wikipedia an, das ist das was Du suchst
  14. Verwende bitte Code Tags, ich habe sie nachträglich eingefügt. Dein Code ist so syntaktisch nicht korrekt, denn 3 ist eine Zahl und keine Methode. Was newErfahrung ist geht aus Deinem Code nicht hervor. Ohne dass Du mehr Informationen lieferst, wird man Dir wohl nicht helfen können. Ich würde Dir raten, dass Du Dir einmal anschaust, wie Klassen und deren Methoden, sowie Datentypen in Java richtig verwendet werden
  15. flashpixx

    Debian als Proxy/NAT

    @Lalelu: Iptables sind dafür nicht notwendig, das geht alleine mit dem SSH Dienst
  16. Ich hatte mit Qt 3 angefangen und durch OSX und Linux bin ich eben eher Konsole gewöhnt. Heute nutze ich aber auch den Creator, nur wenn ich eigene Makefiles schreibe, dann muss eben eben doch wissen wie es funktioniert. Ansonsten full'ack
  17. .NET ist sicher auch ein schönes Framework, aber leider halt nur auf MS Systeme beschränkt. Man kann zwar mit Mono auch portieren, aber das ist natürlich immer etwas bedenklich Das stimmt, das habe ich noch nicht getestet, aber die Videos, die ich dazu gesehen habe, sehen sehr viel versprechend aus. Bei Qt muss man sich zu Beginn immer etwas an die Struktur gewöhnen und dass man eben aus seinen Klassen die moc-Klassen erzeugt, die dann erst kompiliert werden. Ich kenne im Moment kein Framework, dass auf so vielen Plattformen verfügbar ist und sich so gut integrieren lässt.
  18. Ergänzung: Das was die If-Bedingung ist, nennt sich Pivotelement, d.h. Du brauchst "irgendetwas", das Du bildlich in Deinen Datensatz stichst und dann die Tabelle um 90° drehst, so dass eben aus der Zeile eine Spalte wird. Das Pivotelement muss halt für den Datensatz bekannt sein, Du möchtest im Grunde so etwas wie die Sortierung verwenden, aber wie schon gesagt, das musst Du im Datensatz ablegen. Eine Idee wäre eben ein weiteres Feld in die Tabelle einzufügen z.b. "index", in das Du 1 bis 5 rein schreibst, wenn da eine 1 steht, dann wird es Rabatt 1 usw. (als Alternative könntest Du so etwas auch über den Primärschlüssel des Datensatzes der Tabelle über eine Stored Procedure feststellen lassen, wobei aber dabei zu beachten ist, dass diese Procedure für jeden Datensatz ausgeführt wird und man sich dann das evtl überlegen sollte, wie man diese konzipiert) So wie Du das aktuell haben willst, fehlt Dir das Pivotelement
  19. Schau Dir das Bild einmal bitte an. Woran identifizierst Du Deinen Rabatt 1 und Deine Menge 1 im Datensatz? Für mich sieht das so aus, als wolltest das Pivot darin bilden, dass der erste Datensatz immer in die erste Spalte, der zweite in die zweite usw kommt. So wie mir scheint gehst Du von einer Sortierung der Daten aus. Wenn ich die Ordnung des Sortierschlüssels ändere, dann wäre z.B. auf einmal von Deinem Eintrag 1122 der 1. Rabatt (20,12) und der 2. (5,4) Geh immer davon aus, dass die Datensätze innerhalb der Tabelle nie so sortiert sind, wie es Dir irgendwelche Tools optisch aufbereiten. Wenn ich den Datensatz 1111 - 2 - 1 nehme, woran weißt Du, dass der Rabatt 1 wird und nicht Rabatt 3? D.h. Du brauchst ein Kriterium für jeden Datensatz, warum dieser genau der eine Rabatt wird. Du muss Dir aus meinem vorherigen Post die "If-Bedingung" überlegen, wobei da natürlich eben der Datentyp des Feldes eine Rolle spielt. Wie man das dann aufbereitet, sprich was an Information in die Spalte kommt, ist dann der nächste Schritt. Trotzdem scheint mir das ganze nicht wirklich durchdacht zu sein, denn dass Du hier mit einer Art Sortierung arbeitest, führt oft zu Problemen, wenn man später einfach die Sortierung ändert, dann stimmt der von Dir entwickelte Code nicht mehr.
  20. Ich arbeite sehr gerne mit Qt, da ich cross-plattform entwickle und somit der Code ohne großen Aufwand portierbar ist. Man muss sich eben die Doku zu den einzelnen Qt Komponenten anschauen, aber ich finde sie gut verständlich. Ich arbeite mit den GUI Komponenten, OpenGL, Network und Database.
  21. Du willst ja Rabatt 1..n berechnen und wie oft dieser vorkommt, so verstehe ich die Aufgabe. Ich mach das jetzt mal exemplarisch am Rabatt 1: Wie ist der denn definiert? Da Du nen decimal hast, muss ja gesagt werden, wenn da der Wert ?? drin steht, ist das Rabatt 1. Das könnte z.B. sein, wenn der Wert zwischen 0 und 5 liegt. Das wäre dann Rabatt 1. Nun willst Du halt wissen, wie oft in Deinen Daten eben Rabatt 1 drin vorkommt. D.h. Du müsstest so etwas machen "sum(if rabatt > 0 and rabatt < 5 ? 1 ? 0)". Die Datenbank läuft jetzt bei einem Select jeden Datensatz durch und prüft die If Bedinung, wenn sie True ist, dann kommt 1, falls nicht 0 in die Summe. Gedanklich heißt das nun, dass dort wo der Rabatt zwischen 0 und 5 liegt eine 1 gezählt wird, ansonsten 0, d.h. da Du nur 0 oder 1 in der Summe hast. entspricht das nun eben der Anzahl der Zeilen, die den Rabatt in dem Bereich 0 und 5 haben. (rein technisch kann man da auch Ansatt sum andere Funktionen nehmen, eben so wie man es braucht). Du kannst Dir das auch einfach als For-Schleife über alle Datensätze vorstellen: rabatte = array[4]; for (over all rows) { switch row.rabatt { case 0..5 : rabatt[0]++ case 5..10 : rabatt[1]++ case 10..15 : rabatt[2]++ otherwise : rabatt[3]++; } if rabatt[3] > 0 echo "es wurden Rabatte gefunden, die zu viel sind" for i=0:2 echo "Rabatt "+(i+1)+ " => "+rabatt[i] Da Deine Rabattspalte ein decimal ist, kannst Du da nicht einfach mit +-1 dran gehen, denn da kann ja irgendein dezimaler Wert wie z.b. auch 3,1234 stehen. Zu welcher Rabattgruppe würde der gehören? So wie ich das oben in dem Pseudocode habe, würde bei 3,1234 das in das erste case reinfallen, d.h. er würde zu Rabatt 0 (bzw in der Ausgabe 1) gezählt werden. Du musst Dir als erstes überlegen, wie ist Dein Rabatt n definiert, d.h. woran machst Du in einem Datensatz fest, dass er Rabatt n ist. Das wäre das if in dem Statement.
  22. Also meiner Ansicht nach ist da nur ein kleiner Fehler: if (a) if b => ergiben richtig "A und B" dann hast Du einmal "nicht(b)" , was auch in Ordnung ist Nur sobald Dein C ins Spiel kommt müsstest Du, da sich das C aus dem else-Zweig des nicht( ergibt ganz korrekt "C und nicht(nicht()" schreiben. Damit würde ich von: (A && || !B || (C && !! ausgehen. Wobei die Klammern kannst Du weg lassen, da && stärker bindet als ||. Wenn ich mich jetzt nicht verrechnet habe, müsste dann nach meinem Ausdruck folgendes raus kommen: * = &&, + == || A*B + !B + C*!!B A*B + !B + C*B (A+C) * B + !B // getauscht und ausgeklammert !!( (A+C) * + !B //DeMorgan anwenden !!(A+C) + !B + !B //idempotente Terme zusammen fassen !!(A+C) + !B //Negation auflösen (A+C) + !B A + !B + C [/code] Hoffe, dass ich das g'rade richtig gemacht habe, bitte noch mal kontrollieren
  23. Du sollst nicht die Struktur ändern, sondern Deine Formulierungen. Bitte lies doch einmal den ersten Satz des Wikipedia-Artikels. Es geht darum kurz, knapp und präzise zu schreiben. Du musst die wesentlichen Punkte in Deinem Antrag formulieren. Vermeide vor allem Wiederholungen. Nur weil Du ein einzelnes Wort austauschst wird davon der Antrag nicht besser. Versuche Dein Projekt einmal in 5 kurzen Sätzen zu beschreiben und von dort beginnst Du dann die einzelnen Antragspunkte abzuarbeiten. Dein Antrag ist mir im Grunde zu viel Text und zu wenig Inhalt. Dein Projekt kann ich im Moment in einen Satz formulieren: "Ein paar Rechner kaufen, Windows installieren und absichern". Die Frage ist, wo sind die wichtigen Punkte, so dass ein Kaufmann das bearbeiten muss
  24. Ich würde da evtl dann 6 d'raus machen und alles was evtl > 5 ist, dann in den 6ten hinein werfen. Wenn der == Null ist, dann passt es, wenn nicht, hast Du ein Indiz, dass es eben mehr Rabatte gibt Zum Code: Ich würde erst mal das Pivot vollständig bauen und als View in die Datenbank einfügen. An diesen View solltest Du dann alle weiteren Informationen anhängen, d.h. Du hast pro Artikel Deine Row und verknüpfst dann diesen Eintrag mit einem Join. Wenn das funktioniert, kommt das nächste. Alles in ein Select so direkt aus dem Kopf zu formulieren ist schwierig. Wenn Du es über Views machst, kannst Du immer stückchenweise das Select erweitern und kannst sicher sein, dass die vorherigen Ausgaben korrekt sind. Wenn dann alles fertig ist, kannst Du das auch dann in einen View zusammenfügen. Deine Aussage "ist Müll" ist nicht hilfreich, denn Dein SQL Select ist syntaktisch korrekt, sonst würde es kein Ergebnis liefern. Du hast ein semantisches Problem, dafür müsstest Du Daten + Tabellenstrukturen auszugsweise einstellen. Ich weiß nicht wie Deine Tabellenstrukturen aussehen, aber das Beispiel arbeitet mit Ints, so dass da immer die Summen passend gebildet werden. Wenn Du, wovon ich ausgehe, für Rabat und Menge double / foat hast, dann musst Du ggf Deine Summen anders bilden und ggf mit If und eben Bereichen arbeiten: sum(if value >= 5 and value <=10)...)
  25. Also Du machst definitiv keine Marktforschnung ( Marktforschung ? Wikipedia ), das solltest Du ändern, denn es ist einfach falsch. Wenn ich Deinen Antrag lese, hab ich den Eindruck, dass da viel Luft um ein ganz banales Problem ist. Ich würde Dir empfehlen den Antrag nach dem KISS-Prinzip ? Wikipedia zu schreiben. Mir ist der viel zu lang zu detailreich. Kurze präzise Worte. Z.B.: Geht in "Vorstellung der eingeholten Angebote mit Kosten-Nutzen-Analyse" Weiterhin fehlt ein Zeitplan, das ganze finde ich sehr unstrukturiert, da Du Dich mit diversen Punkten in 3.2 und 3.3 wiederholst. 3.2 und 4.3 sind auch fast deckungsgleich. Den Anteil an wirklich kaufmännischen ist immer noch recht dünn. Im Grund suchst Du nur ein paar Terminals raus und entscheidest, ob Kauf, Leasing usw.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...