再正規化は、Dgraphの非正規化データ・モデルや、複数値属性を分析する場合に重要です。
サンプル・データ・セットでは、次の例に示すように、Employeesソース・レコードがTransactionsに正規化されていませんでした:
属性 | 値 |
---|---|
DimEmployee_FullName | Tsvi Michael Reiter |
DimEmployee_HireDate | 2005-07-01T04:00:00.000Z |
DimEmployee_Title | 営業担当 |
FactSales_RecordSpec | SO49122-2 |
FactSales_SalesAmount | 939.588 |
不正解
RETURN AvgTenure AS SELECT AVG(CURRENT_DATE - DimEmployee_HireDate) AS AvgTenure FROM EmployeeState GROUP BY DimEmployee_Title
訂正
FROM
を使用して操作します:
DEFINE Employees AS SELECT ARB(DimEmployee_HireDate) AS DimEmployee_HireDate, ARB(DimEmployee_Title) AS DimEmployee_Title FROM EmployeeState GROUP BY DimEmployee_EmployeeKey; RETURN AvgTenure AS SELECT AVG(CURRENT_DATE - DimEmployee_HireDate) AS AvgTenure FROM Employees GROUP BY DimEmployee_Title