Datenbank-Idee so okay, oder muss ich was ändern?

projekt

Enthusiast
Thread Starter
Mitglied seit
23.03.2006
Beiträge
4.495
Hallo liebe Luxxer!

Da ich mich sehr für Datenbanken interessiere, wollte ich mal Fragen, ob meine unten angeführte Idee, die bisher nur auf dem Papier besteht nun in die Tat umsetzen kann!
Mein Ziel ist es eine kleine Lagerverwaltung zu basteln, mit der man ganz einfach und vorallem schnell alle eingetragenen Waren finden und sehen kann!
Diese idee ist für meinen ehemaligen Praktikumsbetrieb gedacht, den ich diese Lagerverwaltung, wenn es denn so klappt wie vorgestellt, zeigen wollte!
Datenbankengrundlagen (1ste Form, 2te Form und 3te Form) sind mir bekannt, jedoch bin ich mir unsicher, ob ich alles eingehalten habe!

Daher wäre es sehr nett, wenn einer von euch mal über die Datenbakidee schauen könnte!

Hier die Datenbankidee:

Teil 1:
Bild
Teil 2:
Bild

Vielen Dank
euer
projekt
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Hihi,

An sich ist auf den ersten Blick nichts falsch.
Nur möchte ich auf ein paar Optionen hinweißen.

Die zweite und dritte Tabelle wird nämlich nur gebraucht, wenn du mehrere Zulieferer hast. Vielleicht überlegst du dir, ob du dich nicht auf einen Lieferer pro Ware beschränkst.
Dann musst du einfach nur "LieferantenNr" und "Lieferanten-Name" in die Tabelle "Waren" einfügen.

Die Tabelle "Bestand" erscheint mir etwas sinnlos, weil du sie komplett in "Waren" einfügen kannst. Denn eine Ware hat nicht mehrer Bestände, sondern nur einen (Außer du hast verschieden Lager, oder Standorte, aber dann müsstest du das ganz anders machen ^^).
Den Tabellen-eintrag "Min" verstehe ich nicht so ganz. Denn ich kann mir nicht vorstellen, dass du speichern möchtest das der Minimale-Bestand immer "0" ist. ^^
"Max" kannst du lassen, ist aber nicht ist wichtig, denn vielleicht kommst du mal in die Situation, in der du mehr Grakas brauchst als in dem Max-Wert steht. Dann musst du diesen Wert ändern. Und für Abfragen ist der Wert nicht wichtig.

Als Zusatz könntest du noch eine Tabelle "Hersteller" mit einfügen.
Code:
________________________
|  Tbl. HERSTELLER     |
|    Prim. HerstellerID|
|    Name              |
|    Website           |
|    ...               |
------------------------
Dann fügst du einfach noch in "Waren" einen Eintrag "herstellerID" ein.

Hier ein kleines Beispiel für die Tabelle "Waren": (Sry für die Abkürzungen)
Code:
WAREN | ArtNr | EkP | VkP | SpNr | WgID | Beschreibung | LieferNr | LieferName | herstellerID
___________________________________________________________________________________________
      | 100   | 10€ | 20€ | 9285 | 4    | Tolle Graka  | 3        | LuxX       | 5

Ich hoffe ich konnte dir helfen. An sich ist die Idee und der DB-Auszug vollkommen richtig.

Frohe Ostern und mit freundlichen Grüßen,
Logen
 
Zuletzt bearbeitet:
Hi!

Ich habe nun ein anderes Problem! Unzwar kann ich die benutzer und deren rechte nicht ändern!
wie muss ich da die tabelle machen, damit eine update abfrage erstellen kann?

thx
für die hilfe!
 
Hi,

Dass Problem ist so ohne Weiteres nicht zu lösen.
Aber die Ursache ist klar. Du selbst hast nicht das Recht Benutzer zu bearbeiten (INSERT,UPDATE, ...).

Zuerst schreib erstmal welche Software du benutzt dann kann ich Genaueres sagen.
Auch sollte ich wissen, ob du weißt was ein root -Benutzer ist, und ob du das ganze über einen Anbieter machst, oder privat mit eigenem Server(-Programm, also Apache, oda sowas).

Das Problem liegt nicht an der Tabelle, sondern an den Benutzern.

Mfg
Logen
 
okay!

Ich habe diese Sache auf einem localen Computer al laufen! So per Xammp und als mySQL Datenbank!
Ich möchte dann per Visual Basic drauf zugreifen können, wenn das möglich ist!

mfg
projekt
 
Hi,
Also mit Visual Basic hab ich wenig Erfahrung.
Aber wesentlich einfacher wärs, wenn du einfach über die console auf die Datenbank zugreifst.
Am besten ich erstell hier kurz ne Einführung wie du auf mysql mit vorher installiertem Xampp zugreifst und arbeitest.
Aba ich schreib erst morgen zurück, weil ich heute noch was Anderes zu erledigen hab.

Mfg
Prolapper
 
das wäre echt top! ;)

weil xammp läuft auf meinem kleinen mimi-computer und ich möchte vom Desktop pc darauf zugreifen! ;)
 
Soah ... Morgen.

Das ist dann nochmal ein bisschen schwieriger ^^. Zugreifen von nem anderen Pc ist nicht ganz so leicht, aber dazu sag ich später noch was.
Geh am Besten erstmal auf deinen Mi[n]i-Pc und Stell da erstma bissi was ein.

1. Console öffnen


Am Anfang musst du natürlich den Apache Server starten. Wenn du Xampp benutzt geh einfach ins Control Panel und starte dort den Apache Server. Direkt drunter siehst du auch gleich einen Mysql eintrag. Akriviere auch Mysql.
Jetzt gehst du als erstes unter START auf "Ausführen", dann "cmd" eingeben und "OK" klicken.
Nun Öffnet sich die Console.

Step1.bmp



2. Mysql starten und Einstellen


Als Nächstes musst du einiges eingeben. Ein Zeilenwechsel steht für die Enter-Taste muss nach jeder Zeile gedrückt werden. Wenn du Xampp standardgemäß installiert hast, kannst du folgendes genau so eingeben, ansonsten musst du den Pfad noch überprüfen:
Code:
Cd C:\xampp\mysql\bin
mysql -u root
use mysql
delete from user where User='';
quit
mysqladmin -u root reload
Kurz zur Erklärung: In der ersten Zeile wählen wir den Pfad aus, in dem unsere mysql exe liegt (Und noch einiges anderes). In der zweiten Zeile melden wir uns bei mysql als "root" an. "-u" singalisiert mysql, dass wir uns nicht anonym, sondern als User anmelden möchten. ( Nach "User=" stehen zwei einfache Anfürhrungszeichen --> ' <--.)
Was genau in den nächsten beiden Zeilen steht ist vorerst unwichtig. Es wird auf die mysql Datenbank zugegriffen und der Anonyme-Benutzer gelöscht, so dass man sich nicht mehr ohne "-u" anmelden kann.
"quit" beendet mysql.
Anschließend wird mysql neu geladen.

Als nächstes ändern wir noch das Passwort des "root"s.:
Code:
Cd C:\xampp\mysql\bin
mysqladmin -u root password [your_password]
mysqladmin -u root -h [your_host_name] password [your_password]
Jetzt melden sie sich folgendermaßen bei mysql an:
Code:
Cd C:\xampp\mysql\bin
mysql -u root -p [your_password]

Wenn das funktioniert funktioniert alles richtig. Es kann sein, dass das Löschen des Anonymen Benutzers nicht geht, weil keiner mehr da ist. Das hat dan Xampp bei der Installation schon gemacht.

Nun kannst du auch schon Datenbanken erstellen und bearbeiten. Hier mal ne Liste der Befehle, die du da etz brauchst.
  1. Create database [db_name];
  2. Use [db_name];
    Wählt die Datenbank aus, um sie zu bearbeiten.
  3. Create Table [table_name(column_name{mit "," getrennt})];
    Bsp:
    Code:
    create table customers 
        ( customerid int unsigned not null auto_increment primary key,
        name char(50) not null,
        address char(100) not null,
        city char(30) not null
        );
    Wie du siehst muss/kann man hinter den Spaltennamen noch einige Parameter hinzufügen, die an dieser Stelle aber nicht alle erklären kann.
  4. Insert into [table_name] [(column1, column2, column3,...)] values (value1, value2, value3,...);
    Bsp:
    Code:
    insert into customers (name, address) values
        ('projekt pwnz','Straße 3');
  5. Select [columns] From [table_name]
    Bsp:
    Code:
    Select name,city
    from customers;

Mehr Befehle solltest du vorerst nicht brauchen. Mir ist auch klar, dass du jetzt mit diesem Fachchinesisch nichts anfangen kannst, aber google eifnach mal die Befehle, und such nach genaueren Beschreibungen. Ich müsste ca. 15 Seiten schreiben, um dir die Befehle genau zu erklären. Ich habe dir nur einen Anhaltspunkt gegeben. Mehr Befehle solltest du für deine Datenbank nicht brauchen.

Nun zu deinem Dektop Pc. Direkt mit der Console könnts ziemlich schwierig werden auf den anderen Pc zuzugreifen, aber das ganze kann man sehr schön mit php lösen. Wenn du willst kann ich dir 5 Skripts schreiben, die genau die Paar Befehle ausführen, sodass du nur noch in deinem firefox rein musst und das Einzufügende oder zu Verändernde eingeben musst.
Für nen Anfänger sehr viel Arbeit, aber für nen geübten kein Problem.
Vorteil ist, dass du wenn du xampp hast nichts weiter installieren, oder verändern musst.

Ich hoffe ich konnte dir ein bisschen helfen.
Logen

P.S: Schreib wenn du des Zaugs haben willst, dann sollte ichs morgen fertig haben.
 
Ich teste das erstmnal in einer VM :bigok:
 
Eine Frage habe ich noch!

Ich will das hier ausführen:
"DELETE tblWaren.ArtNr, tblWaren.ArtBez, tblWaren.EKPreis, tblWaren.VKPreis, tblWaren.StellplatzNr, tblWaren.WarengruppeID, tblWaren.Beschreibung, tblWaren.LieferrantenID, tblWaren.Bestand, tblWaren.Min, tblWaren.Max FROM tblWaren WHERE (((tblWaren.ArtNr)='" & txtArtNr.Text & "'));"

Und er sagt mir immer:
"Datentypen in Kriterienausdruck unverträglich"

Was soll das heißen?

mfg
projekt
 
bei delete gibts du die felder nicht an. es recht einfach nur "DELETE FROM tabl WHERE..."
 
was soll das statement denn machen?

wo die artikelnummer dem text in der spalte entspricht? oder ist der txtArtNr.Text etwas aus deiner Anwendung?
 
okay

Das Statement soll die gesamte zeile löschen, wo die artikelnummer = einer eingabe in einer TextBox meiner Anwendung ergibt!
Sprich:
txtArtNr.Tex ist aus meiner Anwendung

klappt jetzt!

Nun das nächste Problem:

"UPDATE tblWaren SET tblWaren.ArtBez = '" & txtBez.Text & "', tblWaren.EKPreis = '" & txtEK.Text & "', tblWare.VKPreis = '" & txtVK.Text & "', tblWaren.StellplatzNr = '" & txtStellplatz.Text & "', tblWaren.WarengruppeID = '" & WarengruppenID & "', tblWaren.Beschreibung = '" & txtBesch.Text & "', tblWaren.LieferrantenID = '" & LieferrantenID & "', tblWaren.Bestand = '" & txtBestand.Text & "', tblWaren.[Min] = '" & txtMin.Text & "', tblWaren.[Max] = '" & txtMax.Text & "' WHERE tblWaren.ArtNr =" & txtArtNr.Text & ";"

was passt da nicht?
 
Zuletzt bearbeitet:
spontan sehen fuer mich tblWaren.[Min] und tblWaren.[Max] komisch aus
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh