引入示例数据并创建对象和数据
适用于:✅Microsoft Fabric SQL 数据库
可使用 Transact-SQL (T-SQL) 语句将数据输入到 Fabric SQL 数据库中,还可使用其他 Microsoft Fabric 组件(如数据流 Gen2 功能或数据管道)将数据导入数据库。 对于开发,可使用任何支持表格格式数据流 (TDS) 协议的工具(例如 Visual Studio Code 或 SQL Server Management Studio)进行连接。
若要开始本节,可使用提供的 SalesLT 示例数据作为起点。
先决条件
- 完成本教程前面的所有步骤。
在 Fabric 门户中打开查询编辑器
打开在上一教程步骤中创建的 Fabric 数据库中的 SQL 数据库。 可在 Fabric 门户的导航栏中找到它,或在本教程的工作区中找到它。
选择“示例数据”按钮。 这需要一些时间以使用 SalesLT 示例数据填充教程数据库。
在继续操作之前,请检查“通知”区域以确保导入已完成。
“通知”显示示例数据导入完成的时间。 Fabric SQL 数据库现包含
SalesLT
架构及关联的表。
在 SQL 编辑器中使用该 SQL 数据库
Fabric SQL 数据库基于 Web 的 SQL 编辑器提供了基础对象资源管理器和查询执行界面。 新的 Fabric SQL 数据库自动在 SQL 编辑器中打开,而通过在 Fabric 门户中打开现有的数据库,也可在 SQL 编辑器中将其打开。
Web 编辑器的工具栏中有多个项,包括刷新、设置、查询操作和获取性能信息的功能。 在本教程中,你将使用这些功能。
在数据库视图中,首先从图标栏中选择“新建查询”。 随即会显示一个查询编辑器,其中包含 Copilot AI 功能,可帮助你编写代码。 适用于 SQL 数据库的 Copilot 可帮助你完成查询或创建查询。
在查询顶部键入 T-SQL 注释(例如
-- Create a query that shows the total number of customers
),然后按“Enter”。 获取如下所示的结果:按“Tab”键可实现建议的代码:
在查询编辑器的图标栏中选择“解释查询”,在代码中插入注释以解释每个主要步骤:
注意
Copilot 会尽最大努力理解你的意图,但你应始终先检查它创建的代码,然后再运行该代码,并且始终在独立于生产的环境中进行测试。
在生产环境中,你可能已经有了用于日常应用程序操作的规范化格式的数据,你在此处使用 SalesLT 数据模拟了这些数据。 在你创建查询时,它会自动保存在“资源管理器”窗格中的“查询”项中。 你应可看到你的查询为“SQL 查询 1”。 默认情况下,系统对查询进行编号,例如“SQL 查询 1”,但你可选择查询名称旁边的省略号以对该查询进行复制、重命名或删除。
使用 Transact-SQL 插入数据
组织要求你创建新对象以跟踪组织的供应链,因此你需要为应用程序添加一组对象。 在此示例中,在新架构中创建一个对象。 可添加更多表以完全规范化应用程序。 可添加更多数据(例如每个产品有多个组件)、拥有更多供应商信息等。 本教程稍后将介绍如何将数据镜像到 SQL 分析终结点,以及如何使用 GraphQL API 查询数据,以在添加或更改对象时自动进行调整。
以下步骤使用 T-SQL 脚本为用于供应链分析的模拟数据创建架构、表和数据。
选择 SQL 数据库的工具栏中的“新建查询”按钮,以创建新查询。
将以下脚本粘贴到“查询”区域中,然后选择“运行”以执行该脚本。 以下 T-SQL 脚本:
- 创建名为
SupplyChain
的架构。 - 创建名为
SupplyChain.Warehouse
的表。 - 使用
SalesLT.Product
中随机创建的一些产品数据填充SupplyChain.Warehouse
表。
/* Create the Tutorial Schema called SupplyChain for all tutorial objects */ CREATE SCHEMA SupplyChain; GO /* Create a Warehouse table in the Tutorial Schema NOTE: This table is just a set of INT's as Keys, tertiary tables will be added later */ CREATE TABLE SupplyChain.Warehouse ( ProductID INT PRIMARY KEY -- ProductID to link to Products and Sales tables , ComponentID INT -- Component Identifier, for this tutorial we assume one per product, would normalize into more tables , SupplierID INT -- Supplier Identifier, would normalize into more tables , SupplierLocationID INT -- Supplier Location Identifier, would normalize into more tables , QuantityOnHand INT); -- Current amount of components in warehouse GO /* Insert data from the Products table into the Warehouse table. Generate other data for this tutorial */ INSERT INTO SupplyChain.Warehouse (ProductID, ComponentID, SupplierID, SupplierLocationID, QuantityOnHand) SELECT p.ProductID, ABS(CHECKSUM(NEWID())) % 10 + 1 AS ComponentID, ABS(CHECKSUM(NEWID())) % 10 + 1 AS SupplierID, ABS(CHECKSUM(NEWID())) % 10 + 1 AS SupplierLocationID, ABS(CHECKSUM(NEWID())) % 100 + 1 AS QuantityOnHand FROM [SalesLT].[Product] AS p; GO
Fabric 数据库中的 SQL 数据库现包含仓库信息。 在本教程的后续步骤中,你将使用此数据。
- 创建名为
可在“资源管理器”窗格中选择这些表,表数据即会显示 - 无需编写查询即可查看。
使用 Microsoft Fabric 管道插入数据
将数据导入和导出 Fabric SQL 数据库的另一种方法是使用 Microsoft Fabric 数据管道。 数据管道提供了使用命令(而不是使用图形用户界面)的替代方法。 数据管道是共同执行一项数据引入任务的逻辑活动组。 可以使用管道来管理提取、转换和加载 (ETL) 活动,而不必单独管理每个活动。
Microsoft Fabric 管道可包含数据流。 数据流 Gen2 使用 Power Query 接口,可用于对数据执行转换和其他操作。 使用此接口,从 Contoso 与之合作的 Northwind Traders 公司引入数据。 他们当前使用相同的供应商,因此你将导入他们的数据,并使用你将在本教程中的另一步中创建的视图显示这些供应商的名称。
首先,在 Fabric 门户中打开示例数据库的 SQL 数据库视图(如果尚未打开)。
从菜单栏中选择“获取数据”按钮。
选择“新建 Dataflow Gen2”。
在 Power Query 视图中,选择“获取数据”按钮。 这会启动一个引导式过程,而不是跳转到特定的数据区域。
在“选择数据源”视图的搜索框中,键入“odata”。
从“新建源”结果中选择“OData”。
在“连接到数据源”视图的 URL 文本框中,键入文本:
https://services.odata.org/v4/northwind/northwind.svc/
(对于Northwind
示例数据库的 Open Data 源)。 选择下一步按钮以继续。从 OData 源向下滚动到“供应商”表,然后选中其旁边的复选框。 然后,选择创建按钮。
现在,选择“查询设置”的“数据目标”部分旁边的 + 加号,然后从列表中选择“SQL 数据库”。
在“连接到数据目标”页上,确保“身份验证类型”设置为“组织帐户”。 选择“登录”并输入数据库的 Microsoft Entra ID 凭据。
成功连接后,选择“下一步”按钮。
在“选择目标”部分,选择在本教程的第一步中创建的工作区名称。
选择其下方显示的数据库。 确保选中“新建表”单选按钮,并将表的名称保留为“供应商”,然后选择“下一步”按钮。
保留“选择目标设置”视图上的“使用自动设置”滑块设置,并选择“保存设置”按钮。
选择“发布”按钮以启动数据传输。
返回到工作区视图,可在其中找到新的数据流项。
当“已刷新”列显示当前日期和时间时,可在“资源管理器”中选择你的数据库名称,然后展开
dbo
架构以显示新表。 (可能必须选择工具栏中的“刷新”图标。)
数据现已引入你的数据库。 现在,可创建一个查询,它使用此三级表将 Suppliers
表中的数据组合在一起。 稍后,你将在教程中执行此操作。