实验四 实验 电子商务网站的数据库设计

一、实验目的
(1) 理解并掌握数据库设计过程
(2) 熟悉数据库相关操作的命令
二、实验内容

1、完成一个电子商务网站的数据库建设。

2、商品购物流程数据库的设计与实现。

3、完成相关数据库以及表的创建。

三、相关操作

1完成一个电子商务网站的数据库建设

1、创建一个数据库命名为shop

  1. create database shop;
  2. use  shop;
  1. 在数据库中建立各张表。
  1. CREATE TABLE `sh_goods_comment`  (
  2.   `id` int(0UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '评论id',
  3.   `parent_id` int(10UNSIGNED  NOT NULL DEFAULT 0 COMMENT '上级评论id',
  4.   `user_id` int(10UNSIGNED  NOT NULL DEFAULT 0 COMMENT '用户id',
  5.   `goods_id` int(10UNSIGNED  NOT NULL DEFAULT 0 COMMENT '商品id',
  6.   `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '评论内容',
  7.   `is_staff` tinyint(3UNSIGNED  NOT NULL DEFAULT 0 COMMENT '工作人员',
  8.   `is_show` tinyint(3UNSIGNED  NOT NULL DEFAULT 0 COMMENT '是否显示',
  9.   `is_del` tinyint(3UNSIGNED  NOT NULL DEFAULT 0 COMMENT '是否删除',
  10.   `create_time` datetime(0NOT NULL ON UPDATE CURRENT_TIMESTAMP(0COMMENT '创建时间',
  11.   `update_time` datetime(0NULL DEFAULT NULL COMMENT '更新时间',
  12.   PRIMARY KEY (`id`USING BTREE
  13. ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

  1. CREATE TABLE `sh_goods_selector_value`  (
  2.   `id` int(0UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '筛选值id',
  3.   `goods_id` int(10UNSIGNED  NOT NULL DEFAULT 0 COMMENT '商品id',
  4.   `selector_id` int(10UNSIGNED  NOT NULL DEFAULT 0 COMMENT '筛选id',
  5.   `selector_value` varchar(80CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '筛选值',
  6.   PRIMARY KEY (`id`USING BTREE
  7. ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

  1. CREATE TABLE `sh_goods`  (
  2.   `id` int(0UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '商品id',
  3.   `category_id` int(10UNSIGNED  NOT NULL DEFAULT 0 COMMENT '分类id',
  4.   `spu_id` int(10UNSIGNED  NOT NULL DEFAULT 0 COMMENT 'SPU id',
  5.   `sn` varchar(20CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '编号',
  6.   `name` varchar(120CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '名称',
  7.   `keyword` varchar(255CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '关键词',
  8.   `picture` varchar(255CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '图片',
  9.   `tips` varchar(255CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '提示',
  10.   `description` varchar(255CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '描述',
  11.   `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '详情',
  12.   `price` decimal(102UNSIGNED  NOT NULL DEFAULT 0 COMMENT '价格',
  13.   `stock` int(10UNSIGNED  NOT NULL DEFAULT 0 COMMENT '库存',
  14.   `score` decimal(32UNSIGNED  NOT NULL DEFAULT 0 COMMENT '评分',
  15.   `is_on_sale` tinyint(3UNSIGNED  NOT NULL DEFAULT 0 COMMENT '是否上架',
  16.   `is_del` tinyint(3UNSIGNED  NOT NULL DEFAULT 0 COMMENT '是否删除',
  17.   `is_free_shipping` tinyint(3UNSIGNED  NOT NULL DEFAULT 0 COMMENT '是否包邮',
  18.   `sell_count` int(10UNSIGNED  NOT NULL DEFAULT 0 COMMENT '销量计数',
  19.   `comment_count` int(10UNSIGNED NOT NULL DEFAULT 0 COMMENT '评论计数',
  20.   `on_Sale_ time` datetime(0NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP(0COMMENT '上架时间',
  21.   `create_time` datetime(0NOT NULL ON UPDATE CURRENT_TIMESTAMP(0COMMENT '创建时间',
  22.   `update_time` datetime(0NULL DEFAULT NULL COMMENT '更新时间',
  23.   PRIMARY KEY (`id`USING BTREE
  24. ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

  1. CREATE TABLE `sh_goods_attr`  (
  2.   `id` int(0UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '属性id',
  3.   `parent_id` int(10UNSIGNED  NOT NULL DEFAULT 0 COMMENT '上级属性 id',
  4.   `category_id` int(10UNSIGNED  NOT NULL DEFAULT 0 COMMENT '商品分类 id',
  5.   `name` varchar(255CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '名称',
  6.   `sort` int(10UNSIGNED  NOT NULL DEFAULT 0 COMMENT '排序',
  7.   PRIMARY KEY (`id`USING BTREE
  8. ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

  1. CREATE TABLE `sh_goods_attr_value`  (
  2.   `id` int(0UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '属性值id',
  3.   `goods_id` int(10UNSIGNED  NOT NULL DEFAULT 0 COMMENT '商品id',
  4.   `attr_id` int(10UNSIGNED  NOT NULL DEFAULT 0 COMMENT '属性id',
  5.   `attr_value` varchar(80CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '属性值',
  6.   PRIMARY KEY (`id`USING BTREE
  7. ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

  1. CREATE TABLE `sh_goods_category`  (
  2.   `id` int(0UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '分类id',
  3.   `parent_id` int(10UNSIGNED NOT NULL DEFAULT 0 COMMENT '上级id\r\n',
  4.   `name` varchar(100CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '名称',
  5.   `sort` int(10UNSIGNED NOT NULL DEFAULT 0 COMMENT '排序',
  6.   `is_show` tinyint(3UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否显示',
  7.   `create_time` datetime(0NOT NULL ON UPDATE CURRENT_TIMESTAMP(0COMMENT '创建时间',
  8.   `update_time` datetime(0NULL DEFAULT NULL COMMENT '更新时间',
  9.   PRIMARY KEY (`id`USING BTREE
  10. ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

  1. CREATE TABLE `sh_goods_selector`  (
  2.   `id` int(0UNSIGNED NOT NULL COMMENT '筛选id',
  3.   `parent_id` int(10UNSIGNED NOT NULL DEFAULT 0 COMMENT '上级筛选id',
  4.   `category_id` int(10UNSIGNED NOT NULL DEFAULT 0 COMMENT '商品分类id',
  5.   `name` varchar(255CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '名称',
  6.   `sort` int(10UNSIGNED NOT NULL DEFAULT 0 COMMENT '排序',
  7.   PRIMARY KEY (`id`USING BTREE
  8. ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

  1. CREATE TABLE `sh_goods_spec`  (
  2.   `id` int(0UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '规格 id',
  3.   `name` varchar(80CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '规格名称',
  4.   PRIMARY KEY (`id`USING BTREE
  5. ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

  1. CREATE TABLE `sh_goods_spec_item`  (
  2.   `id` int(0UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '规格项id',
  3.   `spec_id` int(10UNSIGNED NOT NULL DEFAULT 0 COMMENT '规格id',
  4.   `name` varchar(80CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '名称',
  5.   `description` varchar(255CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '描述',
  6.   `picture` varchar(255CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '可选图',
  7.   PRIMARY KEY (`id`USING BTREE
  8. ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

  1. CREATE TABLE `sh_goods_spec_set`  (
  2.   `goods_id` int(10UNSIGNED  NOT NULL DEFAULT 0 COMMENT 'SKU id',
  3.   `spec_item_id` int(10UNSIGNED  NOT NULL DEFAULT 0 COMMENT '规格 id',
  4.   PRIMARY KEY (`goods_id`USING BTREE
  5. ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

  1. CREATE TABLE `sh_goods_spu`  (
  2.   `id` int(0UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'SPU id',
  3.   `name` varchar(80CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT 'SPU 名称',
  4.   PRIMARY KEY (`id`USING BTREE
  5. ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

  1. CREATE TABLE `sh_user`  (
  2.   `id` int(0UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '用户id',
  3.   `name` varchar(100CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '用户名',
  4.   `password` varchar(255CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '密码',
  5.   `salt` char(32CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '密码盐',
  6.   `email` varchar(128CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '邮箱',
  7.   `mobile` char(11CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '手机号',
  8.   `level` tinyint(3UNSIGNED NOT NULL DEFAULT 0 COMMENT '用户级别',
  9.   `money` decimal(102UNSIGNED NOT NULL DEFAULT 0 COMMENT '金额',
  10.   `gender` tinyint(3UNSIGNED NOT NULL DEFAULT 0 COMMENT '性别',
  11.   `qq` varchar(20CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT 'QQ',
  12.   `is_active` tinyint(3UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否激活',
  13.   `reg_time` datetime(0NULL DEFAULT NULL COMMENT '注册时间',
  14.   `create_time` datetime(0NOT NULL ON UPDATE CURRENT_TIMESTAMP(0COMMENT '创建时间',
  15.   `update_time` datetime(0NULL DEFAULT NULL COMMENT '更新时间',
  16.   PRIMARY KEY (`id`USING BTREE,
  17.   UNIQUE INDEX `name`(`name`USING BTREE
  18. ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

在每张表中根据情况加入外键:

  1. ALTER TABLE `sb_goods_comment` ADD CONSTRAINT `fk_sb_goods_comment_sb_goods_comment_1` FOREIGN KEY (`goods_id`REFERENCES `sh_goods` (`id`);
  2. ALTER TABLE `sb_goods_comment` ADD CONSTRAINT `fk_sb_goods_comment_sb_goods_comment_2` FOREIGN KEY (`user_id`REFERENCES `sh_user` (`id`);
  3. ALTER TABLE `sb_goods_selector_value` ADD CONSTRAINT `fk_sb_goods_selector_value_sb_goods_selector_value_1` FOREIGN KEY (`selector_id`REFERENCES `sh_goods_selector` (`id`);
  4. ALTER TABLE `sb_goods_selector_value` ADD CONSTRAINT `fk_sb_goods_selector_value_sb_goods_selector_value_2` FOREIGN KEY (`goods_id`REFERENCES `sh_goods` (`id`);
  5. ALTER TABLE `sh_goods` ADD CONSTRAINT `fk_sh_goods_sh_goods_1` FOREIGN KEY (`spu_id`REFERENCES `sh_goods_spu` (`id`);
  6. ALTER TABLE `sh_goods` ADD CONSTRAINT `fk_sh_goods_sh_goods_2` FOREIGN KEY (`category_id`REFERENCES `sh_goods_category` (`id`);
  7. ALTER TABLE `sh_goods` ADD CONSTRAINT `fk_sh_goods_sh_goods_3` FOREIGN KEY (`spu_id`REFERENCES `sh_goods_spec_set` (`goods_id`);
  8. ALTER TABLE `sh_goods_attr_value` ADD CONSTRAINT `fk_sh_goods_attr_value_sh_goods_attr_value_1` FOREIGN KEY (`attr_id`REFERENCES `sh_goods_attr` (`id`);
  9. ALTER TABLE `sh_goods_attr_value` ADD CONSTRAINT `fk_sh_goods_attr_value_sh_goods_attr_value_2` FOREIGN KEY (`goods_id`REFERENCES `sh_goods` (`id`);
  10. ALTER TABLE `sh_goods_spec_item` ADD CONSTRAINT `fk_sh_goods_spec_item_sh_goods_spec_item_1` FOREIGN KEY (`spec_id`REFERENCES `sh_goods_spec` (`id`);
  11. ALTER TABLE `sh_goods_spec_set` ADD CONSTRAINT `fk_sh_goods_spec_set_sh_goods_spec_set_1` FOREIGN KEY (`spec_item_id`REFERENCES `sh_goods_spec` (`id`);

2商品购物流程数据库的设计与实现

1、创建一个数据库命名为shop01

1.create database shop01;

2.use  shop01;

2、在数据库中建立各张表。

  1. CREATE TABLE `sh_goods_score`  (
  2.   `id` int(0UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '评分id',
  3.   `user_id` int(10UNSIGNED  NOT NULL DEFAULT 0 COMMENT '用户id',
  4.   `goods_id` int(10UNSIGNED  NOT NULL DEFAULT 0 COMMENT '商品id',
  5.   `goods_score` tinyint(255UNSIGNED  NOT NULL DEFAULT 0 COMMENT '商品评分',
  6.   `service_score` tinyint(255UNSIGNED  NOT NULL DEFAULT 0 COMMENT '服务评分',
  7.   `express_score` tinyint(255UNSIGNED  NOT NULL DEFAULT 0 COMMENT '物流评分',
  8.   `is_invalid` tinyint(3UNSIGNED  NOT NULL DEFAULT 0 COMMENT '是否有效',
  9.   `create_time` datetime(0NOT NULL ON UPDATE CURRENT_TIMESTAMP(0COMMENT '评分时间',
  10.   PRIMARY KEY (`id`USING BTREE
  11. ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

  1. CREATE TABLE `sh_order`  (
  2.   `id` int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '订单id',
  3.   `user_id` int NOT NULL DEFAULT 0 COMMENT '用户id',
  4.   `total_price` decimal(102UNSIGNED NOT NULL DEFAULT 0.00 COMMENT '订单总价',
  5.   `order_price` decimal(102UNSIGNED NOT NULL COMMENT '应付金额',
  6.   `province` varchar(20CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '省',
  7.   `city` varchar(20CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '市',
  8.   `district` varchar(20CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '区',
  9.   `address` varchar(255CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '具体地址',
  10.   `zip` varchar(20CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '邮编',
  11.   `consignee` varchar(20CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '收件人',
  12.   `phone` varchar(20CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '联系电话',
  13.   `is_valid` tinyint UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否有效',
  14.   `is_cancel` tinyint UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否取消',
  15.   `is_pay` tinyint UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否付款',
  16.   `status` tinyint NOT NULL DEFAULT 0 COMMENT '物流状态',
  17.   `is_del` tinyint NOT NULL DEFAULT 0 COMMENT '是否删除',
  18.   `create_time` datetime(0NOT NULL DEFAULT CURRENT_TIMESTAMP(0COMMENT '创建时间',
  19.   `update_time` datetime(0NULL DEFAULT NULL COMMENT '更新时间',
  20.   PRIMARY KEY (`id`USING BTREE
  21. ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

  1. CREATE TABLE `sh_order_goods`  (
  2.   `id` int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'id',
  3.   `order_id` int UNSIGNED NOT NULL DEFAULT 0 COMMENT '订单id',
  4.   `goods_id` int UNSIGNED NOT NULL DEFAULT 0 COMMENT '商品id',
  5.   `goods_name` varchar(120CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '商品名称',
  6.   `goods_num` int UNSIGNED NOT NULL DEFAULT 0 COMMENT '购买数量',
  7.   `goods_price` decimal(102UNSIGNED NOT NULL DEFAULT 0.00 COMMENT '单价',
  8.   `user_note` varchar(255CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '用户备注',
  9.   `staff_note` varchar(255CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '卖家备注',
  10.   PRIMARY KEY (`id`USING BTREE
  11. ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

  1. CREATE TABLE `sh_user_address`  (
  2.   `id` int NOT NULL AUTO_INCREMENT COMMENT '地址id',
  3.   `user_id` int UNSIGNED NOT NULL DEFAULT 0 COMMENT '用户id',
  4.   `is_default` tinyint UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否默认',
  5.   `province` varchar(20CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '省',
  6.   `city` varchar(20CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '市',
  7.   `district` varchar(20CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '区',
  8.   `address` varchar(255CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '具体地址',
  9.   `zip` varchar(20CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '邮编',
  10.   `consignee` varchar(20CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '收件人',
  11.   `phone` varchar(20CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '联系电话',
  12.   `create_time` datetime(0NOT NULL DEFAULT CURRENT_TIMESTAMP(0COMMENT '创建时间',
  13.   `update_time` datetime(0NULL DEFAULT NULL COMMENT '更新时间',
  14.   PRIMARY KEY (`id`USING BTREE
  15. ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

  1. CREATE TABLE `sh_user_shopcart`  (
  2.   `id` int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '购物车id',
  3.   `user_id` int UNSIGNED NOT NULL DEFAULT 0 COMMENT '用户id',
  4.   `goods_id` int UNSIGNED NOT NULL DEFAULT 0 COMMENT '商品id',
  5.   `goods_price` decimal(102UNSIGNED NOT NULL DEFAULT 0.00 COMMENT '单价',
  6.   `goods_num` int UNSIGNED NOT NULL DEFAULT 0 COMMENT '购买件数',
  7.   `is_select` tinyint UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否选中',
  8.   `create_time` datetime(0NOT NULL DEFAULT CURRENT_TIMESTAMP(0COMMENT '创建时间',
  9.   `update_time` datetime(0NULL DEFAULT NULL COMMENT '更新时间',
  10.   PRIMARY KEY (`id`USING BTREE
  11. ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

在每张表中根据情况加入外键:

  1. ALTER TABLE `sh_order` ADD CONSTRAINT `fk_sh_order_sh_order_1` FOREIGN KEY (`address`REFERENCES `sh_user_address` (`address`);
  2. ALTER TABLE `sh_order` ADD CONSTRAINT `fk_sh_order_sh_order_2` FOREIGN KEY (`user_id`REFERENCES `sh_goods_score` (`user_id``goods_id`);
  3. ALTER TABLE `sh_order_goods` ADD CONSTRAINT `fk_sh_order_goods_sh_order_goods_1` FOREIGN KEY (`order_id`REFERENCES `sh_order` (`id`);
  4. ALTER TABLE `sh_user_shopcart` ADD CONSTRAINT `fk_sh_user_shopcart_sh_user_shopcart_1` FOREIGN KEY (`goods_id`REFERENCES `sh_order` (`user_id`);

E_R图:

  • 问题思考与总结
    1、数据库设计的过程有哪些步骤?

(1)需求分析(2)概念数据库设计(3)逻辑数据库设计(4)物理数据库设计(5)数据库实施(6)数据库运行和维护

  1. 确定数据类型需要注意哪些问题?
  1. 为避免冲突,字段名使用小写字母。
  2. 小数类型为decimal,使用float和double会有精度损失。
  3. varchar是可变长字符串,不会预先分配空间,但长度不能超过5000,如果超过要   

用text类型,且要独立出来一张表。

  1. 字段可以适当冗余提高查询性能。
  1. 其他自己遇到的问题整理总计

本次实验在表的建立上没有太大的问题,所有的问题都出现在E_R图的构建上。首先是外键的设置语句ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY (本表中的某属性) REFERENCES 外表名(外表中的某属性)。其次在设置外键的时候要搞清楚表与表之间的关系,理清楚哪个是父表,哪个是子表。此外,在构建E_R图时,要分别考虑到它的概念模型、逻辑模型和物理模型。

  1. 本章重要命令的总结。

①ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY (本表中的某属性) REFERENCES 外表名(外表中的某属性);//添加外键

②CREATE TABLE 表名(

属性名 属性类型 [数据类型有无符号] 是否为空 是否自增 默认值 注释,

);//创建表

③INSERT INTO 表名 [要赋值的属性字段] VALUES (各字段对应的值), …();//在表中插入数据

④SELECT 要查询的字段 FROM 表名;(*代表所有字段)//查询字段信息值

⑤ALTER TABLE 表名 MODIFY 字段名 字段类型 有无符号 AUTO_INCREMENT;//自增设置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

康桑想毕业

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值