Mysqlはスーパー経営管理システムを設計し、従業員在庫表(stock)と倉庫表(warehouse)を含む.
5022 ワード
インターネット技術学院週間測定機試験問題(三)
一、需要分析
チェーンスーパーの経営管理をさらに改善し、管理効率を高め、管理コストを減らすために、商品管理システムを開発し、日常の管理に使用することを決定した.本システムは商品管理、従業員管理、店舗管理、在庫管理などの機能モジュールに分けられる.今回の開発は、主に在庫管理機能に対して、各種商品の在庫量、仕入れ管理などを表示する機能を備えており、具体的なデータベースの設計は以下の通りで、需要に応じてデータベースの設計と相応の機能を完成してください.
二、データ辞書
表1:在庫表(stock)
シーケンス番号
フィールド名
説明
データ型
拘束
コメント
1
Sid
在庫番号
Int
プライマリ・キー、自動成長
2
Goodsname
商品名称
Varchar
長さ50、空でない
3
Num
在庫数量
Int
4
Wid
倉庫番号
Int
外部キー、倉庫テーブルを参照するプライマリ・キー
5
Title
注意事項
Varchar
長さ20
表2:倉庫表(warehouse)
シーケンス番号
フィールド名
説明
データ型
拘束
コメント
1
wid
倉庫番号
Int
プライマリ・キー、自動成長
2
wname
倉庫名
Varchar
長さ20、空でない
テストデータ
stockテーブル:
Sid
Goodsname
Num
Wid
Title
1
フィリップスSP 100浄化器
20
1
貴重品
2
山東紅富士りんご(一級果)
60
3
ファスト·カット商品
3
康さんのバケツ入りインスタントラーメン(牛肉麺の赤焼き)
100
2
ファスト·カット商品
4
グリスNS-8823周波数変換エアコン
10
1
在庫が少ない
5
タイ山竹特級
150
3
賞味期限が近づく
warehouse:
wid
wname
1
華北1号倉庫
2
華北2号倉庫
3
華南2号倉庫
三、機能実現
1、華南2号倉庫に30台のジェイアントBT 22自転車を追加し、注意事項は貴重品である.
2、華北のすべての倉庫の商品名と在庫数量を表示する.
3、各倉庫の在庫商品総量を統計し、倉庫名と在庫商品総量を表示する.
4、タイ山竹特級販売100 KGを修正した後、残りの在庫量.
5、康さんの樽詰めインスタントラーメン(牛肉麺を焼く)の倉庫名を「華北4号倉庫」に変更した.
データベースの完全なインポートコード:
一、需要分析
チェーンスーパーの経営管理をさらに改善し、管理効率を高め、管理コストを減らすために、商品管理システムを開発し、日常の管理に使用することを決定した.本システムは商品管理、従業員管理、店舗管理、在庫管理などの機能モジュールに分けられる.今回の開発は、主に在庫管理機能に対して、各種商品の在庫量、仕入れ管理などを表示する機能を備えており、具体的なデータベースの設計は以下の通りで、需要に応じてデータベースの設計と相応の機能を完成してください.
二、データ辞書
表1:在庫表(stock)
シーケンス番号
フィールド名
説明
データ型
拘束
コメント
1
Sid
在庫番号
Int
プライマリ・キー、自動成長
2
Goodsname
商品名称
Varchar
長さ50、空でない
3
Num
在庫数量
Int
4
Wid
倉庫番号
Int
外部キー、倉庫テーブルを参照するプライマリ・キー
5
Title
注意事項
Varchar
長さ20
CREATE TABLE stock(
sid int PRIMARY KEY auto_increment,
goodsname VARCHAR(50) NOT NULL,
num int,
wid int,
CONSTRAINT fk_wid FOREIGN KEY(wid) REFERENCES warehouse(wid),
title VARCHAR(20) NOT NULL
);
表2:倉庫表(warehouse)
シーケンス番号
フィールド名
説明
データ型
拘束
コメント
1
wid
倉庫番号
Int
プライマリ・キー、自動成長
2
wname
倉庫名
Varchar
長さ20、空でない
CREATE TABLE warehouse(
wid int PRIMARY KEY auto_increment,
wname VARCHAR(20) NOT NULL
);
テストデータ
stockテーブル:
Sid
Goodsname
Num
Wid
Title
1
フィリップスSP 100浄化器
20
1
貴重品
2
山東紅富士りんご(一級果)
60
3
ファスト·カット商品
3
康さんのバケツ入りインスタントラーメン(牛肉麺の赤焼き)
100
2
ファスト·カット商品
4
グリスNS-8823周波数変換エアコン
10
1
在庫が少ない
5
タイ山竹特級
150
3
賞味期限が近づく
INSERT INTO `stock` VALUES (1, ' SP100 ', 20, 1, ' ');
INSERT INTO `stock` VALUES (2, ' ( )', 60, 3, ' ');
INSERT INTO `stock` VALUES (3, ' ( )', 100, 2, ' ');
INSERT INTO `stock` VALUES (4, ' NS-8823 ', 10, 1, ' ');
INSERT INTO `stock` VALUES (5, ' ', 150, 3, ' ');
warehouse:
wid
wname
1
華北1号倉庫
2
華北2号倉庫
3
華南2号倉庫
INSERT INTO `warehouse` VALUES (1, ' 1 ');
INSERT INTO `warehouse` VALUES (2, ' 2 ');
INSERT INTO `warehouse` VALUES (3, ' 2 ');
三、機能実現
1、華南2号倉庫に30台のジェイアントBT 22自転車を追加し、注意事項は貴重品である.
INSERT INTO stock VALUES(null,' BT22 ',30,3,' ')
2、華北のすべての倉庫の商品名と在庫数量を表示する.
SELECT wname,goodsname,num FROM stock s,warehouse w WHERE s.wid=w.wid AND wname LIKE ' %'
3、各倉庫の在庫商品総量を統計し、倉庫名と在庫商品総量を表示する.
SELECT wname,SUM(num) FROM stock s,warehouse w WHERE s.wid=w.wid GROUP BY wname
4、タイ山竹特級販売100 KGを修正した後、残りの在庫量.
UPDATE stock SET num=(num-100) WHERE goodsname=' '
5、康さんの樽詰めインスタントラーメン(牛肉麺を焼く)の倉庫名を「華北4号倉庫」に変更した.
UPDATE warehouse SET wname=' 4 ' WHERE wid=(SELECT wid FROM stock
WHERE goodsname=' ( )')
データベースの完全なインポートコード:
-- ----------------------------
-- Table structure for stock
-- ----------------------------
DROP TABLE IF EXISTS `stock`;
CREATE TABLE `stock` (
`sid` int(11) NOT NULL AUTO_INCREMENT,
`goodsname` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
`num` int(11) NULL DEFAULT NULL,
`wid` int(11) NULL DEFAULT NULL,
`title` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
PRIMARY KEY (`sid`) USING BTREE,
INDEX `fk_wid`(`wid`) USING BTREE,
CONSTRAINT `fk_wid` FOREIGN KEY (`wid`) REFERENCES `warehouse` (`wid`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of stock
-- ----------------------------
INSERT INTO `stock` VALUES (1, ' SP100 ', 20, 1, ' ');
INSERT INTO `stock` VALUES (2, ' ( )', 60, 3, ' ');
INSERT INTO `stock` VALUES (3, ' ( )', 100, 4, ' ');
INSERT INTO `stock` VALUES (4, ' NS-8823 ', 10, 1, ' ');
INSERT INTO `stock` VALUES (5, ' ', 50, 3, ' ');
-- ----------------------------
-- Table structure for warehouse
-- ----------------------------
DROP TABLE IF EXISTS `warehouse`;
CREATE TABLE `warehouse` (
`wid` int(11) NOT NULL AUTO_INCREMENT,
`wname` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
PRIMARY KEY (`wid`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of warehouse
-- ----------------------------
INSERT INTO `warehouse` VALUES (1, ' 1 ');
INSERT INTO `warehouse` VALUES (2, ' 2 ');
INSERT INTO `warehouse` VALUES (3, ' 2 ');
INSERT INTO `warehouse` VALUES (4, ' 4 ');