WPML: Modelle
Überblick
Modele sind Datenobjekte, mit denen Prozesse im System durchgeführt werden. Typische Beispiele hierfür sind das Laden oder Speicher von Daten in der Datenbank oder das Darstellen oder Bearbeiten von Daten auf einer Seite.
Modeldefinition
Innerhalb einer Bibliothek oder eines Modules wird ein Datenmodel wie folgt definiert:
MODEL Entry { id ObjectID; name String; date Date; PKEY id; INDEX names name; }
Nach dem Schlüsselwort MODEL folgt ein eindeutiger Bezeichner für das Model. Datenbanktabellen besitzten später den Namen des Models mit einem angehängten s (dies ist von der Rechtsschreibung gesehen im Englischen nicht immer richtig, jedoch technisch nicht mit sinnvollem Aufwand besser umzusetzten).
Hierrauf folgt die Definition der einzelnen Attribute des Objekts.
Abschliesend können noch Primärschlüssel und Indices angegeben werden, die erstellt werden sollen.
Attributdefinition
[~] {Name} [NULLABLE] [LOCALIZED] [{Basistyp}|{Erweiterter Typ}];
- ~
- Macht das Attribut transistent, d.h. es wird nicht in der Datenbank gespeichert bzw keine Tabellenspalten hierfür angelegt.
- {Name}
- Der Name des Models
- NULLABLE
- Definiert, dass das Attribut auch NULL enthalten darf
- LOCALIZED
- Für Texttypen: Macht das Attribut mehrsprachenfähig. Hierdurch entsteht eine zweite Tabelle, die nur die Texte dieses Models enthält, den Primärschlüssel zur Verknüpfung sowie eine Spalte für den Sprachcode.
- {Basistyp}
- Einer der folgenden Datentypen (Liste wird bei Bedarf erweitert):
- Boolean
Wahrheitswert (true/false) - Long
64-bit Ganzzahlen - Integer
32-bit Ganzzahlen - Short
16-bit Ganzzahlen - Float
Kommazahlen - String(Länge)
Zeichenketten bis 255 Zeichen - Text
Langtexte - BinString(Länge)
Binärdaten bis 255 Byte - Blob
Große Binärdaten - Date
Datum - Time
Uhrzeit - DateTime
Datum mit Uhrzeit - ObjectID
Eine automatisch genertierte, tabellenweit eindeutige Ganzzahl (Attribut muss auch im Primärschlüssel aufgenommen werden) - UserID
Benutzer-ID - GroupID
Gruppen-ID - EMail
E-Mail-Adresse - URL
Internet-Adresse - HTML
HTML-Dokument oder Fragment - Money
Geldbetrag - Percent
Prozentbetrag - Password
Passwort - Object
Generisches Objekt
- Boolean