Propriétés de la Base de données Oxygène
Oxygène possède un SGBD propriétaire. Cependant certaines tables peuvent être stockées sur Microsoft SQL Server.
Caractéristiques
Les principales caractéristiques du SGBD propriétaire d'Oxygène sont :
- fortement intégré au langage et à l'environnement Oxygène
- stockage des données à plat dans des fichier (ISAM)
- enregistrements à taille fixe (même vide)
- base de données relationnelle mais ...
- ... sans contrôle d'intégrité relationnelle
- deux types d'index : "Séquentiels" (B-Tree) ou "Hash-code"
- type de données : Chaine, Date (sans heure), Entier, Simple, Double, Monnaie
- pas de type de données à taille variable ou de type blob
Limites
La taille maximale d'une table est de 2Go. Concrètement, cela signifie que le fichier contenant les données de la table ($D1) ne doit pas dépasser 2Go.
Cette limite est la limite recommandée car définie à la conception.
En pratique, elle peut être franchie et le fichier peut grossir en théorie jusqu'à 4Go.
Oxygène étant en 32 bits, la taille de 4Go (soit 232) est la limite absolue car c'est la taille maximale d'adressage mais aussi d'un fichier Windows.
Cependant au-delà de la limite recommandée, on s'expose tôt ou tard à des problèmes, notamment à des risques d'index cassés quand le nombre d'enregistrement devient très important (> 2~3 millions).
Le nombre d'enregistrement maximum dépend mécaniquement de la taille des enregistrements.
Remarque : la taille d'un enregistrement est fixe et ne dépend pas du contenu.
Exemple : si un enregistrement fait 512 octets la table pourra contenir 4 millions d'enregistrements.
Afin de ne pas brider le nombre maximal d'enregistrement par les index, vérifiez que le "Nombre prévu d'enregistrements" dans la structure de la table est cohérent.
Le nombre de base et de table n'est pas limité.
Le code d'une base est limité à 8 caractères.
Le code d'une table est limité à 12 caractères.
Une table peut avoir au maximum 1024 champs, en comptant les champs indexés.
Le code d'un champ est limité à 20 caractères.
La taille du contenu d'un champ est limité à 255.