SQL-Sichten

<< 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