Heim >Datenbank >MySQL-Tutorial >Wie entwerfe ich die Tabellenstruktur eines Lagerverwaltungssystems in MySQL, um den Lagerein- und -ausgang zu verwalten?
Wie entwerfe ich die Tabellenstruktur des Lagerverwaltungssystems in MySQL, um den Lagerein- und -ausgang zu verwalten?
Mit der rasanten Entwicklung des E-Commerce sind Lagerverwaltungssysteme zu einem unverzichtbaren Bestandteil vieler Unternehmen geworden. Im Lagerverwaltungssystem sind der Ein- und Ausgang von Lagerbeständen zwei sehr wichtige Glieder. Daher ist es von entscheidender Bedeutung, eine geeignete Tabellenstruktur zu entwerfen, um den Ein- und Ausgang des Lagerbestands zu verwalten. In diesem Artikel wird detailliert beschrieben, wie die Tabellenstruktur des Lagerverwaltungssystems in MySQL entworfen wird, um den Ein- und Ausgang von Lagerbeständen zu verwalten, und es werden entsprechende Codebeispiele bereitgestellt.
Das Folgende ist das entsprechende MySQL-Codebeispiel:
CREATE TABLE goods ( id INT(11) NOT NULL AUTO_INCREMENT, name VARCHAR(100) NOT NULL, price DECIMAL(10, 2) NOT NULL, PRIMARY KEY (id) ); CREATE TABLE inbound ( id INT(11) NOT NULL AUTO_INCREMENT, goods_id INT(11) NOT NULL, quantity INT(11) NOT NULL, inbound_time DATETIME NOT NULL, PRIMARY KEY (id), FOREIGN KEY (goods_id) REFERENCES goods(id) ); CREATE TABLE outbound ( id INT(11) NOT NULL AUTO_INCREMENT, goods_id INT(11) NOT NULL, quantity INT(11) NOT NULL, outbound_time DATETIME NOT NULL, PRIMARY KEY (id), FOREIGN KEY (goods_id) REFERENCES goods(id) );
Inventar abfragen
Um eine Bestandsverwaltung zu erreichen, müssen wir die Bestandsmenge häufig abfragen. Dazu können wir die folgende SQL-Abfrageanweisung verwenden:
SELECT g.name, SUM(i.quantity) - SUM(o.quantity) AS stock FROM goods g LEFT JOIN inbound i ON g.id = i.goods_id LEFT JOIN outbound o ON g.id = o.goods_id GROUP BY g.id;
Diese SQL-Anweisung gibt den Namen jedes Produkts und die entsprechende Lagerbestandsmenge zurück.
Lagerbetrieb
Wenn Waren ins Lager gebracht werden, müssen wir einen Datensatz in die Lagertabelle einfügen. Das Folgende ist eine Beispiel-SQL-Anweisung zum Einfügen eines Lagerdatensatzes:
INSERT INTO inbound (goods_id, quantity, inbound_time) VALUES (1, 10, NOW());
Die obige SQL-Anweisung legt 10 Warenstücke mit der Warennummer 1 in das Lager und zeichnet die aktuelle Zeit als Lagerzeit auf.
Ausgangsvorgang
Wenn Waren aus dem Lager versendet werden, müssen wir einen Datensatz in die Ausgangstabelle einfügen und gleichzeitig die Lagerbestandsmenge aktualisieren. Das Folgende ist ein Beispiel für eine SQL-Anweisung zum Einfügen von Ausgangsdatensätzen und zum Aktualisieren der Lagerbestandsmenge:
INSERT INTO outbound (goods_id, quantity, outbound_time) VALUES (1, 5, NOW()); UPDATE goods SET quantity = quantity - 5 WHERE id = 1;
Die obige SQL-Anweisung sendet 5 Warenstücke mit der Warennummer 1 aus und zeichnet die aktuelle Zeit als Ausgangszeit auf. Gleichzeitig wird die Lagermenge entsprechend um 5 Stück reduziert.
Das obige ist der detaillierte Inhalt vonWie entwerfe ich die Tabellenstruktur eines Lagerverwaltungssystems in MySQL, um den Lagerein- und -ausgang zu verwalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!