介绍
SQL Server样例库是一个强大的学习工具,可以帮助开发人员快速学习和熟悉SQL Server数据库技术。该样例库包含了多个示例数据库,每个示例数据库都包含了不同类型的数据,例如图书馆、音乐、采购等。这些示例数据库可以帮助开发人员了解如何在SQL Server中查询、更新和管理数据。
安装SQL Server样例库
首先,需要下载 AdventureWorks演示数据库。该样例库是SQL Server中最受欢迎的示例数据库之一,包含了从销售受注到生产制造的多种流程。可以通过以下两种方式将其安装到SQL Server中:
方法一:使用SQL Server Management Studio(SSMS)
1. 下载AdventureWorks数据库备份文件
USE [master]
RESTORE DATABASE [AdventureWorks2019]
FROM DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Backup\AdventureWorks2019.bak'
WITH MOVE N'AdventureWorks2017_Data' TO N'C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\AdventureWorks2019.mdf',
MOVE N'AdventureWorks2017_Log' TO N'C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\AdventureWorks2019_log.ldf',
NOUNLOAD, STATS = 5
2. 成功还原数据库后,可以在SQL Server Management Studio(SSMS)中打开“Object Explorer”窗口,在左侧面板中展开“Databases”,可以看到新创建的AdventureWorks数据库。
方法二:使用SQL Server数据工具(SSDT)
1. 下载AdventureWorks创建脚本
USE [master]
CREATE DATABASE AdventureWorks2019
CONTAINMENT = NONE
ON PRIMARY
( NAME = N'AdventureWorks2017_Data', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\AdventureWorks2019.mdf' , SIZE = 8192KB , FILEGROWTH = 65536KB )
LOG ON
( NAME = N'AdventureWorks2017_Log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\AdventureWorks2019_log.ldf' , SIZE = 8192KB , FILEGROWTH = 65536KB )
COLLATE SQL_Latin1_General_CP1_CI_AS
2. 在SQL Server数据工具中,选择“数据工具 -> 新建项目”,然后选择“数据库项目”,并为项目指定名称。
3. 在“解决方案资源管理器”中,展开“数据源”选项,并选择SQL Server实例。
4. 右键单击“AdventureWorks2019”数据库,并选择“添加 -> 新建脚本”,然后将此脚本粘贴到新的脚本文件中。
5. 保存文件后,右键单击“AdventureWorks2019”数据库,并选择“部署”,即可成功创建示例数据库。
详细了解SQL Server样例库
使用SQL Server样例库,可以通过执行多个SQL查询来学习和熟悉SQL Server数据库技术。以下是一些有关AdventureWorks示例库的查询示例,以帮助您开始探索该库。
了解Sales.SalesOrderHeader表
Sales.SalesOrderHeader表包含有关AdventureWorks销售订单的详细信息。要查询Sales.SalesOrderHeader表,可以使用以下SQL查询:
SELECT TOP 10 SalesOrderID, OrderDate, TotalDue FROM Sales.SalesOrderHeader
这将返回Sales.SalesOrderHeader表前十个订单的编号、订单日期和总费用。可以使用TOP关键字查询表的任意数量的数据行。
查询产品分类和子分类
AdventureWorks产品分类的类别结构是层次结构。产品类别名称具有树形结构,其中在销售产品时使用“父”类别下的“子”类别。以下查询语句展示了Sales.ProductCategory和Sales.ProductSubcategory表之间的关系:
SELECT cat.Name AS 'Category', sub.Name AS 'Subcategory' FROM Sales.ProductCategory cat
JOIN Sales.ProductSubcategory sub ON cat.ProductCategoryID = sub.ProductCategoryID
该查询将返回AdventureWorks产品分类的所有类别及其对应的子类别。
查找生产的单张加油卡
在AdventureWorks数据库中,使用类似以下查询的几个接收表达式来查找单张加油卡。
SELECT TOP 1 *
FROM Production.Product p
JOIN Production.TransactionHistory th
ON p.ProductID = th.ProductID
JOIN Production.TransactionType tt
ON th.TransactionTypeID = tt.TransactionTypeID
WHERE p.ProductNumber LIKE '%PG%'
AND tt.Name = 'Adjustment'
AND th.Quantity = 1
ORDER BY th.TransactionDate DESC
这个查询提示以此:从Production.Product表中找出某个特定的产品(即ProductNumber列包含“PG”字符串),然后过滤掉与“调整”类型的生产交易有关的所有交易。调整类型的交易仅包括ProductID和Quantity列。最后,根据交易日期以逆序方式返回单个交易。
结论
SQL Server样例库是一个非常有用的工具,可以帮助开发人员快速学习和熟悉SQL Server数据库技术。使用该库,可以了解各种示例应用场景的数据查询方法,加深对SQL Server数据库技术的理解和掌握。