47-网上商城数据库-订单数据操作

简介: 47-网上商城数据库-订单数据操作

47-网上商城数据库-订单数据操作

项目描述

在电子商务兴起的大环境下,建立利用互联网开拓销售渠道,帮助企业及时调整商品结构,协助经销商打开货源的信息门户成为解决信息流通不畅的有效方案,电子商务有利于企业转换经营机制,建立现代企业制度,提高企业的销售水平和竞争力,实现了在网上直接浏览商品、购买商品、创建订单、查看各类新品、特价商品、热销商品等,留言、客户管理、商品管理、商品资料搜索、订单管理、商品分类管理、公告/反馈管理等一系列的网上购物服务,本项目就是实现订单信息表Orders、商品信息表goods、顾客信息表Customs的操作。

网上商城系统数据库操作要求如下:

1)数据库EshopDB。

2)订单信息表Orders,表结构如表J2-48-1所示。

​ 表J2-47-1 Orders表

字段名 字段说明 数据类型 允许为空 备注
O_ID ID 整型 主键,自增(增量为1)
Goods_ID 商品ID 整型 外键
B_Num 购买数量 整型
CustomsID 顾客ID 整型 外键

3)商品信息表Goods,表结构如表J2-47-2所示。

表J2-47-2 Goods表

字段名 字段说明 数据类型 允许为空 备注
ID 商品ID 整型 主键,自增(增量1)
GoodsName 商品名称 字符(100)
Price 价格 货币(money)
BoughtNum 已购数量 整型

4)顾客信息表Customs,表结构如表J2-47-3所示。

表J2-47-3 Customs表

字段名 字段说明 数据类型 允许为空 备注
C_ID 顾客ID 整型 主键,自增(增量1)
C_Name 收货人姓名 字符(20)
C_Address 地址 字符(100)
C_Phone 固定电话 字符(50)
C_Tel 手机号码 字符(20)
C_EMail 电子邮箱 字符(100)

5)在信息表之间建立关联,Orders表的Goods_ID与Goods表的ID关联;Orders表的CustomsID与Customs的C_ID关联。

6)表Goods 基础数据如表J2-47-4所示。

表J2-47-4 Goods表基础数据

ID GoodsName Price BoughtNum
1 lenovo 799.00 10
2 Vivo 1299.00 50
3 HTC 1589.00 20
4 nokia 1899.00 30

(1)任务描述

任务1:用SQL语言创建网上商城系统数据库EshopDB

1)主数据库文件初始值10MB,最大20MB,按5MB进行递增。

2)日志文件初始值为5MB,最大为10MB,按10%进行递增。

IF DB_ID('EshopDB') IS NOT NULL DROP DATABASE EshopDB
GO
CREATE DATABASE EshopDB
ON PRIMARY
(
    NAME=EshopDB,
    FILENAME='D:\xxxx\EshopDB.mdf',
    SIZE=10MB,
    MAXSIZE=20MB,
    FILEGROWTH=5MB
)
LOG ON
(
    NAME=EshopDB_log,
    FILENAME='D:\xxxx\EshopDB_log.ldf',
    SIZE=5MB,
    MAXSIZE=10MB,
    FILEGROWTH=10%
)

任务2:用SQL语言创建订单信息表Orders、商品信息表goods、顾客信息表Customs

1)按照提供的表J2-47-1、J2-47-2、J2-47-2结构创建数据库表,并设主键、外键。

CREATE TABLE Goods
(
    ID INT NOT NULL PRIMARY KEY IDENTITY(1,1),
    GoodsName NVARCHAR(100) NOT NULL,
    Price MONEY NOT NULL,
    BoughtNum INT NOT NULL,
)
CREATE TABLE Customs
(
    C_ID INT NOT NULL PRIMARY KEY IDENTITY(1,1),
    C_Name NVARCHAR(20) NOT NULL,
    C_Address NVARCHAR(100) NOT NULL,
    C_Phone NVARCHAR(50),
    C_Tel NVARCHAR(20) NOT NULL,
    C_EMail NVARCHAR(100),
)

CREATE TABLE Orders
(
    O_ID INT NOT NULL PRIMARY KEY IDENTITY(1,1),
    Goods_ID INT NOT NULL,
    B_Num INT NOT NULL,
    CustomsID INT NOT NULL,
    FOREIGN KEY(Goods_ID) REFERENCES Goods(ID),
    FOREIGN KEY(CustomsID) REFERENCES Customs(C_ID),
)

任务3:用SQL语言对订单信息表Orders、商品信息表goods、顾客信息表Customs进行操作

1)查找出“lenovo”购买的用户姓名。

2)删除“HTC”的购买记录。

3)统计出有多少用户购买手机。

INSERT INTO goods VALUES('lenovo',799.00,10),
('Vivo',1299.00,50),
('HTC',1589.00,20),
('nokia',1899.00,30)


SELECT C_Name FROM Customs WHERE C_ID IN (SELECT CustomsID FROM Orders WHERE Goods_ID=(SELECT ID FROM Goods WHERE GoodsName='lenovo'))

DELETE FROM Orders WHERE Goods_ID=(SELECT ID FROM Goods WHERE GoodsName='HTC')

SELECT COUNT(DISTINCT(CustomsID)) FROM Orders
相关文章
|
1月前
|
存储 人工智能 Cloud Native
云栖重磅|从数据到智能:Data+AI驱动的云原生数据库
在9月20日2024云栖大会上,阿里云智能集团副总裁,数据库产品事业部负责人,ACM、CCF、IEEE会士(Fellow)李飞飞发表《从数据到智能:Data+AI驱动的云原生数据库》主题演讲。他表示,数据是生成式AI的核心资产,大模型时代的数据管理系统需具备多模处理和实时分析能力。阿里云瑶池将数据+AI全面融合,构建一站式多模数据管理平台,以数据驱动决策与创新,为用户提供像“搭积木”一样易用、好用、高可用的使用体验。
云栖重磅|从数据到智能:Data+AI驱动的云原生数据库
|
1月前
|
存储 监控 数据处理
flink 向doris 数据库写入数据时出现背压如何排查?
本文介绍了如何确定和解决Flink任务向Doris数据库写入数据时遇到的背压问题。首先通过Flink Web UI和性能指标监控识别背压,然后从Doris数据库性能、网络连接稳定性、Flink任务数据处理逻辑及资源配置等方面排查原因,并通过分析相关日志进一步定位问题。
176 61
|
2天前
|
存储 Java easyexcel
招行面试:100万级别数据的Excel,如何秒级导入到数据库?
本文由40岁老架构师尼恩撰写,分享了应对招商银行Java后端面试绝命12题的经验。文章详细介绍了如何通过系统化准备,在面试中展示强大的技术实力。针对百万级数据的Excel导入难题,尼恩推荐使用阿里巴巴开源的EasyExcel框架,并结合高性能分片读取、Disruptor队列缓冲和高并发批量写入的架构方案,实现高效的数据处理。此外,文章还提供了完整的代码示例和配置说明,帮助读者快速掌握相关技能。建议读者参考《尼恩Java面试宝典PDF》进行系统化刷题,提升面试竞争力。关注公众号【技术自由圈】可获取更多技术资源和指导。
|
5天前
|
前端开发 JavaScript 数据库
获取数据库中字段的数据作为下拉框选项
获取数据库中字段的数据作为下拉框选项
30 5
|
1月前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
147 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
1月前
|
关系型数据库 MySQL 数据库
GBase 数据库如何像MYSQL一样存放多行数据
GBase 数据库如何像MYSQL一样存放多行数据
|
1月前
|
关系型数据库 分布式数据库 数据库
云栖大会|从数据到决策:AI时代数据库如何实现高效数据管理?
在2024云栖大会「海量数据的高效存储与管理」专场,阿里云瑶池讲师团携手AMD、FunPlus、太美医疗科技、中石化、平安科技以及小赢科技、迅雷集团的资深技术专家深入分享了阿里云在OLTP方向的最新技术进展和行业最佳实践。
|
2月前
|
人工智能 Cloud Native 容灾
云数据库“再进化”,OB Cloud如何打造云时代的数据底座?
云数据库“再进化”,OB Cloud如何打造云时代的数据底座?
|
2月前
|
SQL 存储 关系型数据库
数据储存数据库管理系统(DBMS)
【10月更文挑战第11天】
163 3
|
2月前
|
NoSQL 前端开发 MongoDB
前端的全栈之路Meteor篇(三):运行在浏览器端的NoSQL数据库副本-MiniMongo介绍及其前后端数据实时同步示例
MiniMongo 是 Meteor 框架中的客户端数据库组件,模拟了 MongoDB 的核心功能,允许前端开发者使用类似 MongoDB 的 API 进行数据操作。通过 Meteor 的数据同步机制,MiniMongo 与服务器端的 MongoDB 实现实时数据同步,确保数据一致性,支持发布/订阅模型和响应式数据源,适用于实时聊天、项目管理和协作工具等应用场景。