美文网首页
第四天上午、项目分析

第四天上午、项目分析

作者: 别学编程 | 来源:发表于2020-08-05 10:50 被阅读0次

项目分析

分析用户表,此处包含用户名密码,就需要一个用户表。包含用户名(账号,电话)、密码


用户表

此处有各种各样的商品,就需要一个商品表。包含产品名字、产品价格、产品编号


订单表
订单编号即订单表。订单编号、用户表(账号,电话号码)、创建时间()、总价格
image.png

所属账户必须有一个所属用户


所属用户
生成时间
生成时间
订单详情表。包含订单编号(外键,对应订单表中的订单编号)、购买数量、产品编号
订单详情表
最后还有分析图标用到的表就是产品类别表。包含产品编号、类别名字
image.png

分析完成即可创建表,把结构写出来,然后编写SQL语句来创建。

1.产品类目表 tb_category
        1.主键 cate_id number(11)  主键
        2.类目名称 cate_name varchar2(50) not null:手机、笔记本、服装
        3.创建时间 create_date varchar2(40) 
    2.产品表tb_product
        1.主键 pro_id number(11)  主键
        2.产品名字 pro_name varchar2(100) not null
        3.产品的图片 pro_pic varchar2(200)
        4.产品价格 pro_price number(20) 单位 分
        5.产品描述 pro_des varchar2(200) 
        6.产品类目 cate_id number(11) 外键(tb_category中主键)
        7.创建时间 create_date varchar2(40)
        8.产品品牌 pro_brand varchar2(20):小米、苹果、天堂..
    3.用户表tb_user
        1.主键 user_id number(11) 主键 
        2.账户 user_account varchar2(20)  电话号码 
        3.昵称 user_name varchar2(50) 
        4.密码 password varchar2(50)
        5.创建时间 create_date varchar2(40)
    4.订单表tb_orders
        1.主键 o_id number(11) 主键 
        2.订单编号 o_code varchar2(50)
        3.订单所属账号 o_user_account(20) 外键(tb_user中账户)
        4.订单总价: o_total number(30) 单位:分
        5.创建时间:create_date varchar2(40)
    5.订单产品表tb_orders_product
        1.主键  op_id number(11) 主键
        2.产品id pro_id number(11) 外键(tb_product中主键)
        3.订单编号 o_code varchar2(50)
        4.产品购买数量 pro_count number(10)

创建表代码:

create table tb_category
(   cate_id number(11) primary key,
    cate_name varchar2(50) not null,
    create_date varchar2(40)
)
create table tb_product
(   pro_id number(11)  primary key,
    pro_name varchar2(100) not null,
    pro_pic varchar2(200),
    pro_price number(20), --单位 分
    pro_des varchar2(200),
    cate_id number(11) references tb_category(cate_id),
    create_date varchar2(40),
    pro_brand varchar2(20) --小米、苹果、天堂..
)
create table tb_user
(   user_id number(11) primary key,
    user_account varchar2(20), --电话号码 
    user_name varchar2(50),
    password varchar2(50),
    create_date varchar2(40)
)
create table tb_orders
(   o_id number(11) primary key, 
    o_code varchar2(50),
    o_user_account varchar2(20),
    o_total number(30), --单位:分
    create_date varchar2(40)
)
create table tb_orders_product
(   op_id number(11) primary key,
    id_pro_id number(11) references tb_product(pro_id),
    o_code varchar2(50),
    pro_count number(10)
)

数据库文件,把这个用oracle打开执行以下,即可得到大量的数据,用于做项目


创建表和数据代码
执行数据

功能初始思路:

功能1:根据输入的名称和密码查找数据库

--根据输入的名称和密码查找数据库
select *
from tb_user
where user_account = 'xxx' and password = 'xxx';

--功能2:订单查看
--显示:序号、订单编号,所属账户,生成时间,商品信息(商品名字,购买数量,商品单价),订单的总价

--显示:序号、订单编号,所属账户,生成时间,商品信息(商品名字,购买数量,商品单价),订单的总价
--先思考需要那些列
select rownum 序号,o_code 订单编号,
       o_user_account 所属账户,
       create_date 生成时间,
       o_total 订单总价
from tb_orders;
--正式代码
select rownum 序号,o.o_code 订单编号,
       o.o_user_account 所属账户,
       o.create_date 生成时间,
       p.pro_name 商品名称,
       p.pro_price 商品单价,
       op.pro_count 购买数量,
       o.o_total 订单总价
from tb_orders o,tb_orders_product op,tb_product p
where o.o_code = op.o_code
and op.op_id = p.pro_id;

功能3:销售额统计(根据用户选择的年份,统计当前每月销售额)

--功能3:销售额统计(根据用户选择的年份,统计当前每月销售额)
select substr(create_date,6,2) 月份,sum(o_total)
from tb_orders
where substr(create_date,1,4) = '2018'
group by substr(create_date,6,2)
order by 月份 ;

功能4:销售记录统计(根据用户选择的年份,统计当前本年每月订单的数量)

--功能4:销售记录统计(根据用户选择的年份,统计本年每月订单的数量)
select substr(create_date,6,2) 月份,count(1) 数量 from tb_orders
where substr(create_date,1,4) = '2018' 
group by substr(create_date,6,2)
order by substr(create_date,6,2);

功能5:商品销售占比统计(根据用户选择的年份,统计本年品牌销售数量的占比)

--功能5:商品销售占比统计(根据用户选择的年份,统计本年品牌销售数量)
select p.pro_brand,sum(op.pro_count) 销售数量,sum(op.pro_count*p.pro_price)销售额 from tb_orders o,tb_orders_product op,tb_product p
where o.o_code=op.o_code
and op.pro_id = p.pro_id
and substr(o.create_date,1,4) = '2018'
group by p.pro_brand;

相关文章

网友评论

      本文标题:第四天上午、项目分析

      本文链接:https://www.haomeiwen.com/subject/skzarktx.html