<< Click to Display Table of Contents >> Navigation: SQL-Server Objekte > SQL-Sichten |
Eine in rimacon omniSuite erstellte SQL-Sicht ist eine echte MS SQL Server SQL-Sicht (View):
▪Eine Sicht ist eine virtuelle Tabelle, deren Inhalt durch eine Abfrage definiert wird, liegt jedoch nicht als gespeicherter Satz von Datenwerten in einer Datenbank vor.
▪Die Sicht (Datenzeilen) wird dynamisch erstellt.
▪Die Sicht kann Daten aus einer oder mehreren Tabellen oder aus anderen Sichten in der aktuellen Datenbank oder anderen Datenbanken (Föderierung) verwenden.
▪Sichten können so definiert werden, dass Daten aus mehreren heterogenen Quellen verwendet werden (Föderierung).
SQL-Sichten können für die weitere Bearbeitung genauso behandelt werden wie andere physische Tabellen auch:
Hinweis: rimacon omniSuite kann nur die selbst erstellten SQL-Sichten verwalten. Falls solch eine SQL-Sicht woanders (z.B. über SQL Server Management Studio) geändert wird, wird zwar die neue Definition gelten, aber beim Öffnen in der Management Console erscheint die alte Definition und nach dem Speichern wird die von SQL Server Management Studio erstellte Definition überschrieben.
SQL-Sichten, die außerhalb von rimacon omniSuite erstellt wurden, sind für rimacon omniSuite nicht sichtbar.
SQL-Sichten werden u.a. genutzt bei:
▪bei dynamischen Spalten
▪bei dynamischen n:m-Beziehungen
▪Föderierung (Anbindung anderer heterogener Datenquellen)
Namenkonventionen
Für die Namen der SQL-Sichten müssen folgende Namenskonventionen eingehalten werden:
a)Prefix "VIEW_"
b)Die nachfolgende Namenseingabe darf nicht nur aus Nummern bestehen, z.B. nicht VIEW_2, VIEW_56, …
c)Zulässige Zeichen sind : a-z, A-Z, 0-9, _
d)Der gesamte Name inkl. Präfix muss mindestens 6 Zeichen lang sein, darf aber höchstens 50 Zeichen lang sein.
Beispiele: VIEW_ora_jobs, VIEW_db2_customers, ...
SQL-Sicht generieren
SQL-Sichten können aus Tabellen der aktuellen Datenbank oder anderer Datenbanken (Föderierung) erstellt werden.
Für die Anbindung von anderen Datenbanken stehen folgende Möglichkeiten zur Verfügung:
Föderierung:
1.OPENDATASOURCE für die Anbindung von Tabellen aus anderen Datenbanksysteme, wie z.B. ORACLE, DB2, MSACCESS oder für die Anbindung von EXCEL-Dateien.
Beispiel:
select convert(int,ID) as ID, name, ort from OPENDATASOURCE ( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="e:\data\provider.xls";Extended properties=Excel 5.0' )...Tabelle1$ T
|
2.Datenbank innerhalb des MSSQL Servers
Beispiel:
select * from buchhalt.dbo.Rechner
|
Weitere Beispiele für die Bildung einer SQL-Sicht:
Tabelle „Rechner“ im rimacon-System |
Tabelle „Rechner“ in der Datenbank „Buchhaltung“ |
VTAB_Rechner VTAB_Rechner_ID VCOL_Name Zeichenfolge(50) VCOL_RAM Nummer (Ganzzahlige) |
Rechner Rechner_ID Rechner_Name Zeichenfolge(50) Rechner_Preis dezimal(10,2) |
SQL-Sicht view_buchhalt_rechner
select BR.Rechner_ID, BR.Rechner_Name, BR.Rechner_Preis, coalesce(RR.VTAB_Rechner_ID,0) as RR__VTAB_Rechner_ID from buchhalt.dbo.Rechner BR inner join rimacon.dbo.VTAB_Rechner RR on dbo.fnc_StringToString(RR.VCOL_Name)=dbo.fnc_StringToString(BR.Rechner_Name)
|
Die Funktion fnc_StringToString verhindert einen Sortierungskonflikt beim Zeichenfolgenvergleich von verschiedenen Sprachen.
Statt
select ID,Name from <…>
|
wird empfohlen
select convert(int,ID) as ID, dbo.fnc_StringToString(Name) as Name from <...>
|
Registerkarte „SQL-Sicht“
tatsächlicher Name
Name der SQL-Sicht
SQL über Assistent generieren
Eingabe von Einstellungen für Tabellen aus anderen Quellen oder Generieren einer Beziehungskette (siehe auch Maske „Assistent - Beziehungskette“). Nach Bestätigung wird das Script für die Generierung der SQL-Sicht erstellt.
Listen von Spalten generieren
Zeigt alle generierten Spalten (mit oder ohne Präfix) der SQL-Sicht. Die aufgelisteten Spalten können entsprechend bearbeitet werden (Spalte markieren und rechte Maustaste)
Test
Zeigt das Ergebnis der generierten SQL-Sicht an.
Button „Benutzerdef. Funktion“
Auswahl von benutzerdefinierten Funktionen