Tipps&Tricks Unique für proNet START
[an error occurred while processing this directive][an error occurred while processing this directive]
zurück 
 
Kategorie: DBMS spezifisch: Oracle
Fall: 22Plattform: AlleBetriebssystem: Alle
Referenz DB-Erzeugung für Oracle 7.x
 
Die Erklärungen beziehen sich auf Oracle 7.0-7.3 und Personal Oracle 7.2-7.3 bei Verwendung der native Unique Datenbankschnittstelle für Oracle.

Datenbank/Benutzer

Datenbanken in proNet START entsprechen einem Benutzer in Oracle. Der Benutzer kann über proNet START bei der direkten Ausführung nicht erzeugt werden, sondern muß vorher mit Oracle-Dienstprogrammen, z.B. srvmgr oder sqldba erzeugt werden. Bei der Skripterzeugung wird auch der Benutzer erzeugt. Alle Objekte in der Datenbank werden als Objekte erzeugt, die dem Oracle-Benutzer gehören.

Areas

Areas sind im Sprachgebrauch von Oracle Tablespaces. Die Tablespaces werden von proNet START bei Bedarf erzeugt, alle Verweise auf Areas bei Tabellen und Indizes werden beachtet. Dem Oracle-Benutzer wird die Standard-Area, die in proNet START definiert ist, als default tablespace zugewiesen. Das heißt, weitere Objekte in dieser Datenbank werden auch ohne Angabe einer Area von Oracle automatisch in der Standard-Area erzeugt.

Alle Speichereinstellungen für Areas werden beachtet, die Speichereinstellungen in proNet START sind namensgleich mit den Einstellungen in Oracle.

Logging/Log-Area

Ein Oracle-Datenbankserver wird immer mit Logging betrieben. Das Logging wird zentral für den kompletten Server verwaltet, für eine einzelne Datenbank, also einen Oracle-Benutzer kann proNet START keine Parameter ändern, also auch keine Log-Area definieren. Das Logging findet über die Rollbacksegmente, die einen eigenen Tablespace, meist RBS, haben sollten, und über die Redo Log-Dateien statt, die als normale Dateien im Dateisystem angelegt sind.

Speicherformate
proNet START                    Oracle
alphanumeric(n)                 varchar2(n)             (maximal 2000 Zeichen)
varchar(n)                      varchar2(n)             (maximal 2000 Zeichen)
binary(n)                       raw(n)
bit                             number(1,0)
date                            number(8,0)
datetime                        date
image                           <simuliert>
image generic                   long raw
integer1                        number(3,0)
integer2                        number(5,0)
integer4                        number(12,0)
money                           money(14,2)
packed decimal(m,n)             numeric(m+n,n)
packed decimal(m,n) unsigned    numeric(m+n,n)
real4                           number
real8                           number
serial                          number(12,0)
text                            <simuliert>
text generic                    long
time                            number(6,0)
unpacked decimal(m,n)           numeric(m+n,n)
unpacked decimal(m,n) Separate  numeric(m+n,n)

BLOB-Felder

Der Speicherort für BLOB-Felder läßt sich bei Oracle nicht angeben. Die Angabe einer Areas bei einem BLOB-Feld hat deshalb keine Auswirkung. Oracle 7.0-7.3 unterstützen nur ein BLOB-Feld je Tabelle. Aus diesem Grund unterstützt Unique CONCEPT für Oracle die Simulation von BLOBs, die ansonsten nur für einfache dateiorientierte Datenbanken wie Informix C-ISAM/SE notwendig ist. Für die Simulation von BLOBs legt proNet START die notwendigen Datenstrukturen bei Bedarf automatisch an.

Ist bei einem BLOB-Feld der Typ Generisch eingeschaltet, wird ein echtes BLOB-Feld erzeugt. Standardmäßig ist Generisch ausgeschaltet, dann wird ein simuliertes BLOB-Feld erzeugt. Bitte beachten Sie, daß simulierte BLOBs naturgemäß nicht die Performance echter BLOB-Mechanismen haben können. Deshalb sind sie für eine normale Verwendung, zum Beispiel für Textverarbeitungsdokumente geeignet, aber nicht für sehr große BLOBs, zum Beispiel Videofilme.

Serial-Felder

Serial-Felder werden von Oracle 7.x nicht direkt unterstützt, sondern werden simuliert über ein number(12,0) Feld, eine Sequenz und einen Trigger. Auf der Tabelle wird ein Trigger definiert, der beim Einfügen eines neuen Datensatzes einen neue Number aus der Sequenz bezieht und diese Nummer automatisch mitabspeichert. Der Startwert für Serial-Felder wird bei der Definition der Sequenz beachtet. Die Definition der Sequenz und des Triggers sieht folgendermaßen aus:

create sequence <Datenbank>.<Tabelle>$<Feld> increment by 1 start with <Startwert>;
create or replace trigger <Datenbank>.<Tabelle>$<Feld> before insert on <Datenbank>.<Tabelle> for each row declare nextsequence number(10); begin select <Datenbank>.<Tabele>$<Feld>.nextval into nextsequence from dual;:new.<Feld>:=nextsequence; end;

Beim Importieren bestehender Datenbanken werden Serial-Felder als Integer4-Felder importiert.

Tabellen

Alle Speichereinstellungen außer Fill Factor für Tabellen werden beachtet, die Speichereinstellungen in proNet START entsprechen den Einstellungen in Oracle.

Schlüssel/Indizes

Unique CONCEPT unterstützt die Oracle Hints für die Angabe von Indexnamen bei select-Anweisungen. Deshalb müssen die Indexnamen einer bestimmten Syntax folgen, damit die Unique Runtime Engine problemlos auf die Indizes verweisen kann. Indexnamen in Oracle werden von proNet START in der Syntax Tabellenname$Indexname erzeugt.

Primäre Schlüssel innerhalb von proNet START werden als table constraint primary key erzeugt.
Eindeutige Schlüssel innerhalb von proNet START werden als table constraint unique key erzeugt.
Eindeutige Indizes innerhalb von proNet START werden als unique index erzeugt.
Mehrdeutige Indizes innerhalb von proNet START werden als index erzeugt.

Die Schlüssel-/Indexoption Clustered wird von Oracle nicht unterstützt und folglich ignoriert.

Die maximale Anzahl an Schlüsselelementen ist 16 innerhalb von Oracle 7.x.

Die unterschiedliche Sortierung einzelner Indexelemente wird vom DBMS nicht unterstützt. Zwar läßt sich eine Sortierung angeben, diese wird aber ignoriert.

Alle Speichereinstellungen für Indizes werden beachtet, die Speichereinstellungen in proNet START entsprechen den Einstellungen in Oracle bis auf Fill Factor, das in den Oracle Parameter PCTFREE umgesetzt wird ( berechnet als Fill Factor=100-PCTFREE).

Foreign Keys

Foreign Keys werden von Oracle unterstützt. Als Löschregel werden nur 'Keine Aktion' und 'Kaskadierendes Löschen' unterstützt. Änderungsregeln werden nicht unterstützt.

Views

Views werden von Oracle unterstützt.

Namenslänge

Die maximale Länge von Bezeichnern innerhalb von Oracle 7.x ist 30 Zeichen.

 
Letzte Änderung: 13. Oktober 2000
[an error occurred while processing this directive][an error occurred while processing this directive][an error occurred while processing this directive]
 
zurück 

©2014 proNet Informationssysteme GmbH, alle Rechte vorbehalten.