互联网技术学院周测机试题(一)
一 需求分析
为进一步完善连锁超市经营管理,提高管理效率,减少管理成本,决定开发一套商品管理系统,用于日常的管理。本系统分为商品管理、员工管理、店铺管理,库存管理等功能模块。本次开发,主要针对商品管理功能,具备添加商品,修改商品信息等功能,具体数据库设计如下,请你根据需求完成数据库的设计与相应功能。
二 数据字典
表1:商品信息表(goods)
CREATE TABLE goods( goodsid int PRIMARY KEY auto_increment, goodsname VARCHAR(20) NOT NULL, price DECIMAL(6,2), goodstype int, place VARCHAR(50), CONSTRAINT id_fk FOREIGN KEY(goodstype) REFERENCES goodstype(Typeid) );
表2:商品类型表(goodstype)
CREATE TABLE goodstype( Typeid int PRIMARY KEY auto_increment, typename VARCHAR(20) NOT NULL, content VARCHAR(50) );
1、测试数据
Goods 表:
INSERT INTO `goods` VALUES (1, '飞利浦SP100净化器', 2500.00, 1, '武汉'); INSERT INTO `goods` VALUES (2, '山东红富士苹果(一级果)', 12.50, 3, '山东'); INSERT INTO `goods` VALUES (3, '康师傅桶装方便面(红烧牛肉面)', 4.50, 2, '杭州'); INSERT INTO `goods` VALUES (4, '格力NS-8823变频空调', 2350.00, 1, '珠海'); INSERT INTO `goods` VALUES (5, '泰国山竹特级', 25.00, 3, '泰国');
goodsType 表:
INSERT INTO `goodstype` VALUES (1, '家用电器', '电器类商品为高价值商品,重点维护'); INSERT INTO `goodstype` VALUES (2, '食品饮料', '注意加强检查'); INSERT INTO `goodstype` VALUES (3, '水果生鲜', '');
2、功能实现
1、实现商品进货,商品名称“光明发酵酸奶500ml”,商品价格8.50元,商品类型食品饮料,产地为内蒙古。
INSERT INTO goods VALUES(6,'光明发酵酸奶500ml',8.5,2,'蒙古');
2、显示所有商品的信息,按照价格的降序排列。
SELECT * FROM goods ORDER BY price desc
3、统计各类商品的平均单价,显示商品的类型和平均单价。
SELECT goodstype 商品类型,AVG(price) 商品平均单价 FROM goods GROUP BY goodstype
4、超市进行商品促销,现对所有商品进行8.5折销售,显示商品名称和折扣后价格,四舍五入保留两位小数。
SELECT goodsname,ROUND(price*0.85,2) FROM goods
5、修改“泰国山竹特级”的价格为23元。
UPDATE goods SET price=23 WHERE goodsname='泰国山竹特级'
数据库完整导入代码:
-- ---------------------------- -- Table structure for goods -- ---------------------------- DROP TABLE IF EXISTS `goods`; CREATE TABLE `goods` ( `goodsid` int(11) NOT NULL AUTO_INCREMENT, `goodsname` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, `price` decimal(6, 2) NULL DEFAULT NULL, `goodstype` int(11) NULL DEFAULT NULL, `place` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, PRIMARY KEY (`goodsid`) USING BTREE, INDEX `id_fk`(`goodstype`) USING BTREE, CONSTRAINT `id_fk` FOREIGN KEY (`goodstype`) REFERENCES `goodstype` (`typeid`) ON DELETE RESTRICT ON UPDATE RESTRICT ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of goods -- ---------------------------- INSERT INTO `goods` VALUES (1, '飞利浦SP100净化器', 2500.00, 1, '武汉'); INSERT INTO `goods` VALUES (2, '山东红富士苹果(一级果)', 12.50, 3, '山东'); INSERT INTO `goods` VALUES (3, '康师傅桶装方便面(红烧牛肉面)', 4.50, 2, '杭州'); INSERT INTO `goods` VALUES (4, '格力NS-8823变频空调', 2350.00, 1, '珠海'); INSERT INTO `goods` VALUES (5, '泰国山竹特级', 25.00, 3, '泰国'); -- ---------------------------- -- Table structure for goodstype -- ---------------------------- DROP TABLE IF EXISTS `goodstype`; CREATE TABLE `goodstype` ( `Typeid` int(11) NOT NULL AUTO_INCREMENT, `typename` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, `content` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, PRIMARY KEY (`Ttpeid`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of goodstype -- ---------------------------- INSERT INTO `goodstype` VALUES (1, '家用电器', '电器类商品为高价值商品,重点维护'); INSERT INTO `goodstype` VALUES (2, '食品饮料', '注意加强检查'); INSERT INTO `goodstype` VALUES (3, '水果生鲜', '');