Lektion 9: Angeben einer Nachschlageentität

Möglicherweise enthalten einige Entitäten nur ein Attribut, das für Benutzer, die Berichte erstellen, von Interesse ist. Beispielsweise ist für Benutzer des Berichts-Generators das Attribut Name möglicherweise das einzige interessante Attribut in der Product SubCategory-Entität. Anstatt von den Benutzern eines Modells zu verlangen, dass sie jedes Mal, wenn sie ihrem Bericht das Attribut hinzufügen möchten, zu der Entität navigieren, in der dieses eine Attribut enthalten ist, können Sie die Rolle in eine Nachschlageentität ändern. Wenn eine Rolle in eine Nachschlageentität umgewandelt wird, wird das identifizierende Attribut als ein Feld in der übergeordneten Entität angezeigt. Beispiel: Wenn die Product SubCategory-Entität in eine Nachschlageentität umgewandelt wurde, wird Benutzern des Berichts-Generators das Name-Attribut von Product SubCategory nicht als Rolle, sondern als Feld der Product-Entität angezeigt.

Das Ändern einer Rolle in eine Nachschlageentität ist im Allgemeinen hilfreich, wenn Ihre Informationen in einem hierarchischen Format vorliegen. Wenn Sie beispielsweise zwei separate Entitäten für City und State/Province haben und State/Province eine Rolle der City-Entität ist, bietet es sich an, die State/Province-Rolle in eine Nachschlageentität umwandeln, damit sie innerhalb der City-Entität als Feld angezeigt wird. Wenn die Country-Entität eine Rolle der State/Province-Entität ist, sollten Sie ggf. zusätzlich die Country-Rolle als eine Nachschlageentität kennzeichnen und anschließend heraufstufen, damit sie als Nachschlageentität behandelt und Benutzern des Berichts-Generators ebenfalls als Feld in der City-Entität angezeigt wird. Ein gängiger Modellierungsbegriff für diese Aktion ist "Denormalisieren einer Hierarchie".

Für Entitäten, die Sie als Nachschlagentitäten verwenden möchten, darf nur ein Attribut in der IdentifyingAttribute-Eigenschaft angegeben sein. Ein identifizierendes Attribut ist ein Attribut, das die Entität eindeutig kennzeichnet; beispielsweise wird mit dem Name-Attribut von Product Category die jeweilige Produktkategorie eindeutig identifiziert. Das als identifizierendes Attribut angegebene Attribut ist das Attribut, das in der übergeordneten Entität angezeigt wird, wenn die Entität in eine Nachschlageentität umgewandelt wird.

Um eine Entität in eine Nachschlageentität umzuwandeln, ändern Sie die IsLookup-Eigenschaft in True. Um eine hierarchische Auflistung mit Entitäten in Nachschlageentitäten umzuwandeln, müssen Sie zusätzlich die PromoteLookup-Eigenschaft auf True festlegen. Angenommen, die Country-Rolle innerhalb der State/Province-Entität ist eine Nachschlageentität, und Sie möchten nun veranlassen, dass die Country-Rolle in der City-Entität als Feld angezeigt wird. Dazu müssen Sie auch die PromoteLookup-Eigenschaft der Country-Rolle aus der State-Entität auf True festlegen. In dieser Lektion ändern Sie die Product Subcategory-Rolle so, dass sie eine Nachschlageentität für die Product-Entität ist. Anschließend wandeln Sie die Product Category-Rolle in eine Nachschlageentität der Product Subcategory-Entität um und stufen dann die Rolle herauf, damit sie auch in der Product-Entität als Feld angezeigt wird.

So geben Sie eine Nachschlageentität an

  1. Kehren Sie zum AdventureWorks2008R2-Modell im SQL Server Business Intelligence Development Studio-Fenster zurück.

  2. Erweitern Sie in der Strukturansicht den Ordner Product Details.

  3. Wählen Sie die Product Subcategory-Entität aus.

    Die Product Subcategory-Entität hat nur ein Attribut in IdentifyingAttributes: das Feld Name. Eine Nachschlageentität darf nur ein Attribut in IdentifyingAttributes haben.

  4. Suchen Sie im Fenster Eigenschaften die IsLookup-Eigenschaft, und wählen Sie dann True aus.

    Beim Bereitstellen des Berichtsmodells wird die Product Subcategory-Entität in der Product-Entität als Feld angezeigt.

So stufen Sie eine Entität in eine Nachschlageentität herauf

  1. Erweitern Sie in der Strukturansicht die Product Category-Entität.

  2. Suchen Sie im Fenster Eigenschaften die IsLookup-Eigenschaft, und wählen Sie dann True aus.

  3. Erweitern Sie in der Strukturansicht die Product Subcategory-Entität.

  4. Erweitern Sie in der Listenansicht die Product Category-Rolle.

  5. Suchen Sie im Fenster Eigenschaften die PromoteLookup-Eigenschaft, und wählen Sie dann True aus.

    Durch Festlegen dieser Eigenschaft wird die Product Category-Nachschlageentität heraufgestuft, sodass auch sie in der Product-Entität als ein Attribut angezeigt wird.

So ändern Sie die Reihenfolge der Attribute innerhalb einer Entität

  1. Wählen Sie in der Strukturansicht die Product-Entität aus.

  2. Klicken Sie in der Listenansicht mit der rechten Maustaste auf die Product Subcategory-Entität, und wählen Sie dann Nach oben aus.

  3. Klicken Sie so lange auf Nach oben, bis die Product Subcategory-Entität direkt unter dem Attribut Name angezeigt wird.

  4. Klicken Sie im Menü Datei auf Alles speichern.

Nächste Schritte

Jetzt müssen Benutzer zum Suchen nach Kategorie- oder Subkategorienamen nicht mehr zu den Product Category- oder Product Subcategory-Entitäten navigieren. Stattdessen wird jede Entität als ein Feld in der Product-Entität angezeigt, das Benutzer wie jedes andere Feld ihrem Bericht hinzufügen können.

In der nächsten Lektion ändern Sie die Eigenschaften einer Entität, damit diese die Felder einer anderen Entität erbt. Siehe Lektion 10: Erben von Eigenschaften aus anderen Entitäten.