zoukankan      html  css  js  c++  java
  • 数据库: 商城案例

    通过对商城项目的部分表关系进行分析,完成数据库表的设计

    1 表关系分析

     

     

     

     

    2 建库,建表

      1.创建名为 store的数据库, 对应商城项目

    create database db6 character set utf8;

      

       2. 创建用户表

    CREATE TABLE user (
      uid varchar(32) PRIMARY KEY,  -- 用户ID
      username varchar(20) , -- 用户名
      password varchar(20) , -- 密码
      telephone varchar(20) , -- 电话
      birthday date , -- 生日
      sex varchar(10) -- 性别
    );
    INSERT INTO USER VALUES 
    ('001','渣渣辉','123456','13511112222','2015-11-04',''),
    ('002','药水哥','123456','13533334444','1990-02-01',''),
    ('003','大明白','123456','13544445555','2015-11-03',''),
    ('004','长海','123456','13566667777','2000-02-01',''),
    ('005','乔杉','123456','13588889999','2000-02-01','');
    1. 创建订单表

    CREATE TABLE orders (
      oid varchar(32)   PRIMARY KEY, -- 订单id
      ordertime datetime ,    -- 下单时间 
      total double , -- 总金额
      name varchar(20), -- 收货人姓名
      telephone varchar(20) , -- 电话
      address varchar(30) , -- 地址
      state int(11) ,  -- 订单状态
      uid varchar(32), -- 外键字段 对应用户表id
      CONSTRAINT ofk_0001 FOREIGN KEY (uid) REFERENCES user (uid)
    );
    -- 插入一条订单数据
    INSERT INTO orders 
    VALUES('order001','2019-10-11',5500,'乔杉','15512342345','皇家洗浴',0,'001');

      

    1. 创建商品分类表

    CREATE TABLE category (
      cid varchar(32) PRIMARY KEY,
      cname varchar(20)
    ); 
    INSERT INTO `category` VALUES ('1','手机数码'),('2','电脑办公'),('3','运动鞋服'),('4','图书音像');
    1. 创建商品表

    CREATE TABLE product (
      pid varchar(32)  PRIMARY KEY,    -- 商品id
      pname varchar(50) , -- 商品名称 
      price double, -- 商品价格
      pdesc varchar(255), -- 商品描述
      pflag int(11) , -- 商品状态 1 上架 ,0 下架
      cid varchar(32) , -- 外键对应 分类表id
      KEY sfk_0001 (cid), 
      CONSTRAINT sfk_0001 FOREIGN KEY (cid) REFERENCES category (cid)
    );
    INSERT INTO `product` VALUES 
    ('1','小米6',2200,'小米 移动联通电信4G手机 双卡双待',0,'1'),
    ('2','华为Mate9',2599,'华为 双卡双待 高清大屏',0,'1'),
    ('3','OPPO11',3000,'移动联通 双4G手机',0,'1'),
    ('4','华为荣耀',1499,'3GB内存标准版 黑色 移动4G手机',0,'1'),
    ('5','华硕台式电脑',5000,'爆款直降,满千减百',0,'2'),
    ('6','MacBook',6688,'128GB 闪存',0,'2'),
    ('7','ThinkPad',4199,'轻薄系列1)',0,'2'),
    ('8','联想小新',4499,'14英寸超薄笔记本电脑',0,'2'),
    ('9','李宁音速6',500,'实战篮球鞋',0,'3'),
    ('10','AJ11',3300,'乔丹实战系列',0,'3'),
    ('11','AJ1',5800,'精神小伙系列',0,'3');

      6. 订单项表 (中间表)

    -- 订单项表
    CREATE TABLE orderitem (
      itemid VARCHAR(32) PRIMARY KEY, -- 订单项ID
      pid VARCHAR(32),  -- 外键 对应商品表 id
      oid VARCHAR(32), -- 外键 对应订单表 id
      KEY fk_0001 (pid),
      KEY fk_0002 (oid),
      CONSTRAINT fk_0001 FOREIGN KEY (pid) REFERENCES product (pid),
      CONSTRAINT fk_0002 FOREIGN KEY (oid) REFERENCES orders (oid)
    );
    -- 向中间表中插入两条数据
    INSERT INTO orderitem VALUES('item001','1','order001');
    INSERT INTO orderitem VALUES('item002','11','order001');
  • 相关阅读:
    vue 文件分段上传
    深度clone
    js 导出excel
    js 校验
    设计模式原则
    多态
    数据库sql
    Redis快速入门
    C#中使用Redis学习二 在.NET4.5中使用redis hash操作
    在c#中使用servicestackredis操作redis
  • 原文地址:https://www.cnblogs.com/JasperZhao/p/15070013.html
Copyright © 2011-2022 走看看