Green-IT und Datenbanken - ODBMS
Green-IT und Datenbanken - ODBMS
Green-IT und Datenbanken - ODBMS
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
6.1 TPC-H Benchmark-Schema in Caché<br />
Datenbank-Klassen: Die Datenbank Caché ist eine proprietäre, im Kern hierarchische<br />
Datenbank. Daher ist eine objektorientierte <strong>und</strong> relationale Bearbeitung der<br />
Daten möglich. Tabellen sind in der objektorientierten Darstellung Klassen, wie am<br />
Beispiel der Tabelle region gezeigt wird:<br />
Class User.REGION Extends %Persistent [ClassType = persistent,<br />
DdlAllowed, Owner = UnknownUser,<br />
ProcedureBlock, SqlRowIdPrivate,<br />
SqlTableName = REGION,<br />
StorageStrategy = Default]<br />
{<br />
Property RREGIONKEY As %Library.Integer(<br />
MAXVAL = 2147483647, MINVAL = 0)<br />
[Required, SqlColumnNumber = 2,<br />
SqlFieldName = R_REGIONKEY];<br />
}<br />
Property RNAME As %Library.String(MAXLEN = 25)<br />
[Required, SqlColumnNumber = 3,<br />
SqlFieldName = R_NAME];<br />
Property RCOMMENT As %Library.String(MAXLEN = 152)<br />
[SqlColumnNumber = 4, SqlFieldName = R_COMMENT];<br />
In dieser Klassendefinition sind die Parameter für die Tabelle <strong>und</strong> deren einzelne<br />
Spalten festgehalten, alle SQL-relevanten Definitionen lassen sich unmittelbar in der<br />
Klassendefinition finden, zusätzlich sind noch Aspekte der objektorientierten Bearbeitung<br />
implementiert. Bearbeitungen des Klassenschemas haben unmittelbare Auswirkungen<br />
auf die relationale Darstellung der Tabelle.<br />
Globals: Globals sind persistente Variablen in denen die Datensätze der Datenbank<br />
gespeichert sind - für jeden Datensatz ein Global. Zur eindeutigen Identifikation jedes<br />
Datensatzes einer Tabelle übernimmt der Global den Primärschlüssel des Datensatzes<br />
als ID. Im Folgenden ist beispielhaft die Menge der Globals angegeben, die der<br />
Tabelle nation zugeordnet ist.<br />
1:^User.NATIOND(0)= $lb("",0,"ALGERIA",0,"haggle. carefu")<br />
2:^User.NATIOND(1)=$lb("",1,"ARGENTINA",1,"al foxes ...")<br />
3:^User.NATIOND(2)=$lb("",2,"BRAZIL",1,"y alongside ...")<br />
4:^User.NATIOND(3)=$lb("",3,"CANADA",1,"eas hang iro...")<br />
5:^User.NATIOND(4)=$lb("",4,"EGYPT",4,"y above the c...")<br />
6:^User.NATIOND(5)=$lb("",5,"ETHIOPIA",0,"ven packag...")<br />
7:^User.NATIOND(6)=$lb("",6,"FRANCE",3,"refully fina...")<br />
8:^User.NATIOND(7)=$lb("",7,"GERMANY",3,"l platelets...")<br />
81