Dans mon travail, j'ai hérité de plusieurs fichiers de formes provenant de MapInfo que j'apporte dans un nouveau projet dans QGIS. J'ai la possibilité de modifier les noms des colonnes, d'ajouter et de soustraire des colonnes et parce qu'il n'y a pas trop de données en elles, je peux recommencer et ajuster les longueurs de champ aussi.
Je remarque que certaines des longueurs de champ sont beaucoup plus grandes qu'elles ne devraient l'être et je me souviens de la création de bases de données antérieures il y a 20 ans, ou plus, qu'il est préférable de garder les longueurs de champ pour ne pas être plus longues qu'elles ne devraient l'être économiser sur «l'espace», pour améliorer l'efficacité.
Est-ce toujours souhaitable ou la longueur du champ n'a plus d'importance?
la source
Réponses:
La réponse dépend du format des données. Les fichiers dBase-III +, qui sont utilisés dans les fichiers de formes pour les attributs, ont une largeur fixe. Par conséquent, la définition d'une colonne FIPS de 254 largeur utilise 254 octets. Pire encore, dBase a une largeur d'enregistrement maximale de 4000 octets, donc les 249 gaspillés sur un champ de cinq caractères ne sont pas disponibles pour les autres champs (dont il y a un maximum de 100 ou 255, selon qui met en œuvre la norme). Des limites s'appliquent également à la taille totale du fichier dBase (2 Go), qui pourrait être approchée par 536 Ko d'enregistrements à la largeur maximale, alors que 5,36 m d'enregistrements seraient disponibles à une largeur de 400 octets.
Il existe une autre raison de limiter la largeur de champ: la qualité des données. Si un désignateur ne peut légalement contenir que deux caractères, mais que vous le définissez avec dix, vous augmentez la possibilité d'avoir une valeur invalide aux doigts gras acceptée par le fichier de données.
D'un autre côté, si vous ne fournissez que la largeur nécessaire et obtenez des données internationales au format UTF-8, vous risquez de vous retrouver à court d'espace lorsqu'un caractère peut utiliser 2 à 6 octets.
Ainsi, pour les champs de chaîne de base de données (qui incluent la géodatabase fichier), qui sont généralement terminés et ne gaspillent donc pas d'espace de ligne, la flexibilité est une option, mais pour les formats à largeur fixe, les anciennes règles s'appliquent toujours.
la source