Datenbanksichten vom Typ View
Datenbanksichten mit dem Typ View repräsentieren Teilausschnitte der zugrunde liegenden Tabellen. Datenbanksichten mit dem Typ View werden hauptsächlich für die Abbildung von Rollen verwendet. So sind beispielsweise die Datenbanksichten Department, Locality und Profitcenter Teilausschnitte der Basistabelle Basetree.
Datenbanksichten mit dem Typ View sind vordefinierte Datenbanksichten. Für die Spalten dieser Datenbanksichten können Bildungsregeln und Formatierungsregeln definiert werden.
Zur Definition einer Datenbanksichten vom Typ View werden folgende Informationen verwendet.
Tabelle 17: Eigenschaften für die Definition einer Datenbanksicht vom Typ View
Tabelle |
Bezeichnung der Tabelle im Datenmodell. |
Typ |
Typ der Tabelle View. |
Basistabelle |
Basistabelle, auf der die Datenbanksicht basiert. |
Bedingung für Sichtdefinition |
Einschränkende Bedingung für die Erstellung der Datenbanksicht als Where-Klausel für Datenbankabfragen. Die Bedingung bezieht sich auf die zugrunde liegende Basistabelle. |
Spalten |
Für jede Spalte der Datenbanksicht wird ein Verweis auf die Spalte der zugrunde liegenden Basisspalte benötigt. Die Zuordnung treffen Sie in der Spaltendefinition. |
Einzufügende Werte |
Standardeinstellungen für einzelne Spalten, die beim Einfügen eines neuen Datensatzes zugewiesen werden. Die Angaben erfolgt in VB.Net-Syntax. |
Auswahlskript |
Auswahlskript als VB.Net-Ausdruck, um zur Laufzeit zu bestimmen, ob das übergebene Objekt zu dieser Datenbanksicht gehört. |
Beispiel
Die Tabelle Department ist als Datenbanksicht vom Typ View definiert. Bei Einfügen von Daten in die Tabelle Department soll die Spalte UID_OrgRoot mit dem Wert QER-V-Department belegt werden.
Tabelle 18: Beispiel für Definition einer Datenbanksicht vom Typ "View"
Tabelle |
Department |
Typ |
View |
Basistabelle |
BaseTree |
Bedingung für Sichtdefinition |
UID_OrgRoot = 'QER-V-Department' |
Einzufügende Werte |
base.putvalue("UID_OrgRoot", "QER-V-Department") |
Auswahlskript |
Value = (String.Equals($UID_OrgRoot$, "QER-V-Department", StringComparison.OrdinalIgnoreCase)) |
Spalten-->Basisspalten (Auszug aus der Spaltendefinition) |
Department.DepartmentName-->BaseTree.Ident_Org
Department.Description-->BaseTree.Description |
Resultierende Sichtdefinition |
create view dbo.Department as
select
Ident_Org as DepartmentName,
Description as Description,
...
from BaseTree
where UID_OrgRoot = 'QER-V-Department' |
Verwandte Themen
Datenbanksichten vom Typ Proxy
Datenbanksichten mit dem Tabellentyp Proxy sind Vereinigungssichten verschiedener Tabellen. Die Abbildung der Spalten zwischen einer Datenbanksicht vom Typ Proxy und den zugrunde liegenden Tabellen erfolgt über die Spaltendefinitionen und über die Erweiterungen zur Proxyview. Der DBQueue Prozessor berechnet abhängig von der Spaltenabbildung die aktuelle Sichtdefinition. Dabei werden nur Tabellen berücksichtigt, die nicht per Präprozessorbedingung deaktiviert sind. Für die Spalten dieser Datenbanksichten können keine Bildungsregeln und Formatierungsregeln definiert werden.
Datenbanksichten vom Typ Proxy werden vorrangig für die Abbildung des Unified Namespace eingesetzt. So wird beispielsweise die Abbildung der Tabellen ADSDomain oder LDAPDomain im Unified Namespace die Datenbanksicht UNSRoot verwendet.
Für Definition einer Datenbanksichten vom Typ Proxy werden folgende Informationen verwendet.
Tabelle 19: Eigenschaften für die Definition einer Datenbanksicht vom Typ Proxy
Tabelle |
Bezeichnung der Tabelle im Datenmodell. |
Typ |
Typ der Tabelle Proxy. |
Zusätzlich Sichtdefinition |
Generierte Datenbankabfragen für die Erstellung der Datenbanksicht als Select-Anweisung. Die Erweiterungen zur Sichtdefinition werden durch den DBQueue Prozessor generiert. Bei der Generierung werden berücksichtigt:
- Tabellen, in denen die Datenbanksicht als Proxyview eingetragen
- Spalten, die einen Verweis auf ein Spalte der Proxyview besitzen
- Spalten, die als Erweiterungen zur Proxyview definiert sind.
Die Erweiterungen werden intern über den Union-Operator miteinander verknüpft. |
Bedingung für Sichtdefinition |
Einschränkende Bedingung für die Erstellung der Datenbanksicht als Where-Klausel für Datenbankabfragen. |
Spalten |
Spalten der Datenbanksicht. |
Beispiel
Damit die Tabelle ADSDomain im Unified Namespace auf die Datenbanksicht UNSRoot abgebildet werden kann, sind folgende Abbildungen notwendig.
- In der Tabelle ADSDomain ist die Datenbanksicht UNSRoot als Proxview eingetragen.
- Die Spalten der Tabelle ADSDomain, die im Unified Namespace abgebildet werden sollen, erhalten einen Verweis auf die korrespondierende Spalten der Proxyview.
Beispielsweise wird die Spalte Ident_Domain der Tabelle ADSDomain auf die Spalte Ident_UNSRoot der Proxyview UNSRoot abgebildet.
- Spalten die in der Datenbanksicht UNSRoot erwartet werden, jedoch nicht in der Tabelle ADSDomain vorhanden sind, sind an der Tabelle ADSDomain als Erweiterungen zur Proxyview eingetragen.
Beispielsweise erwartet die Sicht UNSRoot in der Spalte UID_DPRNameSpace die Angabe des Zielsystemtyps. Diese Spalte ist an den Tabellen ADSDomain nicht vorhanden. Daher wird an der Tabelle ADSDomain als Erweiterung zur Proxyview 'ADS-DPRNameSpace-ADS' as UID_DPRNameSpace eingetragen.
Aus den Informationen generiert der DBQueue Prozessor die Erweiterung zur Sichtdefinition. Das nachfolgende Statement zeigt einen Auszug aus der generierten Erweiterung.
select ... Ident_Domain as Ident_UNSRoot..., 'ADS-DPRNameSpace-ADS' as UID_DPRNameSpace from ADSDomain
Verwandte Themen
Datenbanksichten vom Typ Union
Datenbanksichten mit dem Tabellentyp Union sind Vereinigungssichten verschiedener Tabellen und dienen zur Zusammenfassung verschiedener Objekttypen gleichen Kontextes. So wird beispielsweise in der Vereinigungssicht QERAccProductUsage ermittelt, welche Leistungspositionen in welchen IT Shop Produkten verwendet werden.
Datenbanksichten mit dem Typ Union sind vordefinierte Sichten. Für die Spalten dieser Datenbanksichten können keine Bildungsregeln und Formatierungsregeln definiert werden. In der Sichtdefinition muss die Objektschlüsselspalte (XObjectkey) referenziert werden. Somit ist die Erzeugung eines Einzelobjektes mit den dafür geltenden Rechten möglich.
Datenbanksichten vom Typ Union werden hauptsächlich bei der Bearbeitung der Benutzeroberfläche und für die Erstellung von Berichten verwendet.
Für Definition einer Datenbanksichten vom Typ Union werden folgende Informationen verwendet.
Tabelle 20: Eigenschaften für die Definition einer Datenbanksicht vom Typ Union
Tabelle |
Bezeichnung der Tabelle im Datenmodell. |
Typ |
Typ der Tabelle Union. |
Zusätzliche Sichtdefinition |
Datenbankabfragen für die Erstellung der Datenbanksicht als Select-Anweisung.
HINWEIS: Selektieren Sie niemals NULL as <Spalte>. Konvertieren Sie stattdessen explizit in die gewünschte Wertart.
Beispiele:
convert(nvarchar(max), NULL) as <Spalte>
convert(varchar(38), NULL) as UID_<Spalte>
convert(varchar(138), NULL) as ObjectKey<Spalte>
Es können mehrere Erweiterungen zur Sichtdefinition definiert werden. Die Erweiterungen werden intern über den Union-Operator miteinander verknüpft.
Wenn Sie eine Spalte hinzufügen, wird ein Eintrag in der Tabelle DialogColumn erzeugt. Wenn Sie eine Spalte löschen, wird der Eintrag in der Tabelle DialogColumn entfernt. |
Bedingung für Sichtdefinition |
Einschränkende Bedingung für die Erstellung der Datenbanksicht als Where-Klausel für Datenbankabfragen. |
Spalten |
Spalten der Datenbanksicht. |
Beispiel
Die Tabelle QERAccProductUsage ist als Datenbanksicht vom Typ Union definiert. In der Vereinigungssicht wird ermittelt, welche Leistungspositionen in welchen Produkten verwendet werden. Nachfolgendes Beispiel zeigt einen Auszug aus der Definition am Beispiel Systemberechtigungen (Tabelle ESet) und Berichtabonnements (Tabelle RPSReport).
Tabelle 21: Beispiel für Definition einer Datenbanksicht vom Typ Union
Tabelle |
QERAccProductUsage |
Typ |
Union |
Spalten |
TableName, UID_AccProduct, XObjectKey |
Erweiterung 1: Zusätzliche Sichtdefinition |
ESet |
Erweiterung 1: Abfrage |
select 'ESet' as TableName, g.XObjectKey, g.UID_AccProduct
from ESet g |
Erweiterung 2: Zusätzliche Sichtdefinition |
RPSReport |
Erweiterung 2: Abfrage |
select 'RPSReport' as TableName, g.XObjectKey, g.UID_AccProduct
from RPSReport g |
Resultierende Sichtdefinition |
create view dbo.QERAccProductUsage as
select * from
(
select convert(varchar(11), null) as TableName, convert(varchar(38), null) as UID_AccProduct, convert(varchar(138), null) as XObjectKey where 1=0
union all
select xxTab.TableName, xxTab.UID_AccProduct, xxTab.XObjectKey
from (
select 'ESet' as TableName, g.XObjectKey, g.UID_AccProduct
from ESet g
) as xxTab
union all
select xxTab.TableName, xxTab.UID_AccProduct, xxTab.XObjectKey
from (
select 'RPSReport' as TableName, g.XObjectKey, g.UID_AccProduct
from RPSReport g
) as xxTab
) as x |
Verwandte Themen
Datenbanksichten vom Typ Read only
Datenbanksichten mit dem Tabellentyp Read only können sowohl Teilausschnitte als auch Vereinigungsmengen der zugrunde liegenden Tabellen sein. Datenbanksichten mit dem Typ Read only sind vordefinierte Datenbanksichten. Für die Spalten dieser Datenbanksichten können keine Bildungsregeln und Formatierungsregeln definiert werden.
Datenbanksichten vom Typ Read only dienen nur zur Anzeige und werden hauptsächlich bei der Bearbeitung der Benutzeroberfläche und für die Erstellung von Berichten verwendet.
Für Definition einer Datenbanksichten vom Typ Read only werden folgende Informationen verwendet.
Tabelle 22: Eigenschaften für die Definition einer Datenbanksicht vom Typ Read only
Tabelle |
Bezeichnung der Tabelle im Datenmodell. |
Typ |
Typ der Tabelle Read only. |
Zusätzliche Sichtdefinition |
Datenbankabfragen für die Erstellung der Datenbanksicht als Select-Anweisung.
HINWEIS: Selektieren Sie niemals NULL as <Spalte>. Konvertieren Sie stattdessen explizit in die gewünschte Wertart.
Beispiele:
convert(nvarchar(max), NULL) as <Spalte>
convert(varchar(38), NULL) as UID_<Spalte>
convert(varchar(138), NULL) as ObjectKey<Spalte>
Es können mehrere Erweiterungen zur Sichtdefinition definiert werden. Die Erweiterungen werden intern über den Union-Operator miteinander verknüpft.
Wenn Sie eine Spalte hinzufügen, wird ein Eintrag in der Tabelle DialogColumn erzeugt. Wenn Sie eine Spalte löschen, wird der Eintrag in der Tabelle DialogColumn entfernt. |
Bedingung für Sichtdefinition |
Einschränkende Bedingung für die Erstellung der Datenbanksicht als Where-Klausel für Datenbankabfragen. Die Bedingung wird an die aus der Erweiterung generierte Sichtdefinition angehängt. |
Spalten |
Spalten der Datenbanksicht. |
Verwandte Themen