重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 28|回复: 0
打印 上一主题 下一主题

SQLSERVER 中 AdventureWorksLT 数据库是干什么的

[复制链接]
跳转到指定楼层
楼主
发表于 2026-4-21 13:26:20 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 郑全 于 2026-4-21 13:35 编辑

用过ORACLE的都知道,安装ORACLE时,我们可以安装演示数据,HR,自动带了 EMPLOYEES,DEPARTMENTS,JOBS等一堆HR演示表,那么SQLSERVER呢,也有类似的演示表,那就是 AdventureWorksLT 库。
下面我们让豆包老兄帮我们来解读一下 AdventureWorksLT :

AdventureWorksLT (SQL Server / Azure SQL 官方轻量示例库)

AdventureWorksLT(LT = Lightweight 轻量版)是微软官方最常用、体积最小、适合入门学习的 SQL Server 电商示例数据库,完整精简版 AdventureWorks OLTP,无生产冗余表、数据量小、启动快、适合练 SQL、教学、Azure 测试


一、基础概念与版本区别
1. 是什么
模拟自行车零售电商公司业务库:客户、产品、订单、销售、地址、库存基础业务,无复杂生产表、无生产流程 / 工时 / 员工薪酬、无数据仓库维度表,结构极简。

2. 三大库对比(必分清)

库名
全称
特点
适用场景
体积
AdventureWorksLTLightweight 轻量版精简、表少、数据小、无复杂对象新手入门、SQL 练习、Azure 快速创建、测试极小(几十 MB)
AdventureWorks完整版 OLTP全业务、生产级复杂表、存储过程多高级 SQL、生产场景练习大(GB 级)
AdventureWorksDW数据仓库版维度建模、星型模型、BI 分析数据仓库、SSAS、报表、BI

3. 版本与官方下载链接(最新全版本 .bak 备份)
微软官方直链(直接下载 .bak 备份文件:


通用建议:本地 SQL Server 用 2022 版;Azure SQL 直接一键内置创建,无需下载

二、库结构(所有核心表,极简清单)

总共仅9 张基础业务表,无多余系统表,非常好上手:

  • SalesLT.Customer 客户信息
  • SalesLT.Product 产品(自行车、配件)
  • SalesLT.ProductCategory 产品分类
  • SalesLT.ProductModel 产品型号
  • SalesLT.SalesOrderHeader 销售订单头(主订单)
  • SalesLT.SalesOrderDetail 订单明细(行项目)
  • SalesLT.Address 收货地址
  • SalesLT.CustomerAddress 客户 - 地址关联(多地址绑定)
  • SalesLT.ShipMethod 配送方式


统一架构前缀 SalesLT,主键全为 ID 自增,外键关系清晰,无分区、无复杂索引、无存储过程、无触发器

三、本地 SQL Server(SSMS)还原导入(完整步骤)

方法 1:SSMS 图形化还原(新手首选)
  • 下载对应版本 .bak 备份文件
  • 打开 SSMS 连接本地 SQL Server
  • 左侧数据库 → 右键 → 还原数据库
  • 源:选择设备 → 浏览选中下载的 .bak 文件
  • 目标数据库自动填充 AdventureWorksLT2022,直接确定等待还原完成。

方法 2:T-SQL 一键还原脚本(直接复制运行)

-- 请把路径替换成你本地 .bak 文件存放路径
RESTORE DATABASE AdventureWorksLT2022
   FROM DISK = 'C:\你的路径\AdventureWorksLT2022.bak' WITH REPLACE, RECOVERY;GO

四、Azure SQL 一键创建

Azure SQL 数据库原生内置,无需下载、无需上传备份,网页门户一键生成:

  • 进入 Azure 门户 → 创建 Azure SQL 数据库
  • 数据源选项,直接选择:示例 AdventureWorksLT

  • 其余配置默认,创建完成后,库内直接自带完整数据。

Azure SQL 用 T-SQL 手动创建示例库

CREATE DATABASE AdventureWorksLT
AS COPY OF [master.[AdventureWorksLT;

GO

五、常用入门测试 SQL(直接复制运行)
1. 查看所有表


USE AdventureWorksLT2022;

SELECT name FROM sys.tables WHERE schema_id = SCHEMA_ID('SalesLT');
GO

2. 查询所有产品

SELECT ProductID, Name, ProductNumber, ListPrice, Color
FROM SalesLT.Product;

GO

3. 关联查询:订单 + 客户 + 产品(多表联查经典练习)


USE AdventureWorksLT2022;
SELECT     soh.SalesOrderID,    c.FirstName, c.LastName,    p.Name AS ProductName,    sod.OrderQty, sod.UnitPrice,    soh.OrderDate

FROM SalesLT.SalesOrderHeader soh
JOIN SalesLT.SalesOrderDetail sod
   ON soh.SalesOrderID = sod.SalesOrderID
JOIN SalesLT.Product p
   ON sod.ProductID = p.ProductID
JOIN SalesLT.Customer c
   ON soh.CustomerID = c.CustomerID;
GO

4. 统计每个产品销售总量

SELECT p.Name, SUM(sod.OrderQty) AS TotalSales
FROM SalesLT.Product pLEFT JOIN SalesLT.SalesOrderDetail sod

  ON p.ProductID = sod.ProductID
GROUP BY p.NameORDER BY TotalSales DESC;
GO

六、常见问题与坑
  • 还原报错:备份版本不兼容
    解决:下载 SQL Server版本对应的 bak 文件(如 SQL2022 只能还原 LT2022)。
  • Azure RDP 连库找不到该库
    Azure Windows VM 内自建 SQL Server 需要手动还原 bak;只有Azure SQL PaaS 库才内置一键示例库。
  • 表前缀都是 SalesLT,不要漏写架构名,否则提示对象不存在。
  • 无冗余数据,非常适合做增删改查、连接查询、子查询、分组统计、窗口函数入门全套练习



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2026-4-30 08:57 , Processed in 0.230845 second(s), 21 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表