En ce qui concerne la conception de la base de données, quelles sont les tailles de colonne recommandées pour les champs tels que Prénom, Prénom et Nom de famille? De plus, le caractère standard d'un second prénom est-il sûr ou faut-il prévoir un espace supplémentaire pour les initiales? En particulier, je cherche des tailles qui permettront que ceci soit quelque chose que je n'ai pas à craindre pour l'usage international. J'ai vu quelques initiales qui sont deux caractères, donc je doute qu'un seul personnage soit une bonne idée, mais je suis curieux de voir s'il existe déjà des lignes directrices.Quelles sont les tailles de colonne de base de données recommandées pour les noms?
Répondre
L'ISO n'a pas encore publié de normes pour la dénomination des humains, bien que j'entende qu'un avant-projet est transmis aux plus hauts niveaux.
:)
Sérieusement, 64 ou devrait donc être suffisant pour 99,99% des noms et prénoms - dans toutes les langues. Je n'ai jamais vu autre chose qu'un char pour un MI (bien que vous ayez raison, beaucoup de gens en ont plus d'un).
BTW: Sauf erreur, les adresses e-mail - techniquement - peuvent contenir jusqu'à 320 caractères et peuvent contenir! # $% & '* + -/=?^_ `{| } ~ et. à condition que. n'est pas le premier ni le dernier caractère, ni ne peut apparaître deux ou plusieurs fois consécutivement.
PS. Le nom de mon lapin de compagnie est "Sa Majesté Impériale Theopolops Bunny Galore". Inutile de dire que cela a été tronqué dans la base de données du vétérinaire. Je pense qu'ils l'ont comme "His Imperial Maj". Alors ça va.
Je ne suis pas sûr de la longueur, mais si vous voulez vous internationaliser, alors allez absolument avec nvarchar
car cela supportera tous les caractères ASCII "étendus" que vous pourriez rencontrer. L'autre bonne partie à propos de nvarchar
est qu'il a une longueur max fixe, mais ne remplit pas les valeurs à cette longueur.
En d'autres termes, mon nom serait stocké comme
'Andrew'
dans un champ nvarchar(20)
mais seraient stockés sous forme
'Andrew '
dans un champ char(20)
. Donc, dans cet esprit, je tirerais pour un grand nombre de noms avec la pensée étant que vous ne gaspillerez pas cet espace supplémentaire en utilisant nvarchar
.
Cela économisera de l'espace, mais il est plus efficace de lire/écrire dans une table avec des enregistrements de taille fixe. –
@Dana - Je voudrais être sûr que j'ai besoin de l'efficacité avant de prendre la complexité supplémentaire d'avoir à couper les valeurs que je récupère. Mon sentiment personnel est que vous devriez utiliser différents types pour varier les données et les types fixes pour les données fixes. Y/N peut être char (1), mais les noms doivent varier. – tvanfosson
Vous comparez des pommes et des oranges - la version non internationalisée de nvarchar (20) est varchar (20), qui ne remplira pas l'espace car nchar (20) et char (20) le feront. –
Personnellement, je pense que cela se résume à la quantité de données que vous vous attendez raisonnablement à stocker. Même si vous allez avoir un million de noms, cela ne ferait probablement pas de mal d'utiliser un caractère (64) ou plus grand pour chaque nom. Si la taille est un problème, vous pouvez commencer par 32 et augmenter la taille avec la colonne alter, si nécessaire.
Vous avez besoin de 590 caractères combinés si vous souhaitez prendre en charge le world's longest name.
Je pense que c'est l'une des rares réponses sur SO qui peut être liée à www.museumofhoxes.com en tant que lien de support valide. :-) –
Lorsque wikipedia échoue, passez au niveau suivant ... :) – Jeb
- 1. Quelles sont les spécifications HW recommandées pour les virtualisations?
- 2. Abstraction de base de données - quelles sont les options?
- 3. Couches d'abstraction de base de données C++ recommandées
- 4. Quelles sont les ressources recommandées et les didacticiels pour apprendre la boîte à outils VTK Library?
- 5. Quelles sont les meilleures pratiques pour interroger des données binaires à partir d'une base de données?
- 6. Quelles sont quelques-unes des optimisations de base de données pour les applications multi-locataires
- 7. Utilisation de constantes pour les clés de message et les noms de table de base de données et les noms de colonne
- 8. Quelles sont les limitations pour les noms de signets dans Microsoft Word?
- 9. Quelles sont les options disponibles pour VisualSVNServerHooks.exe?
- 10. Façons de réduire les tailles de fichier de sauvegarde de base de données MS SQL
- 11. 2ème colonne est en dessous de la 1ère colonne, quelles sont les causes communes de cela?
- 12. Quelles sont les implications de l'exécution d'une base de données d'accès Microsoft en 2003 et 2007?
- 13. MSSQL - Présenter des données lorsque les noms de colonne sont dynamiques
- 14. quelles sont les options de moteur de template pour PHP?
- 15. Quelles sont les longueurs des types de données communs?
- 16. Quand les données d'espace de noms anonymes sont-elles initialisées?
- 17. Recommandations pour la base de données orientée colonne
- 18. Quelles sont les règles pour nommer les classes AS3?
- 19. DataGridView Modifier les noms de colonne
- 20. Quelles sont les commandes importantes de Ruby?
- 21. Quelles sont les manières non standard d'utiliser les espaces de noms?
- 22. Quelles sont les meilleures pratiques pour la programmation fonctionnelle et l'interaction avec les bases de données?
- 23. Quelles sont les bonnes sources en ligne pour les ensembles de données?
- 24. Quelles sont les exigences techniques et le format de base raisonnable pour une icône de l'iPhone?
- 25. Quelles sont les fonctionnalités cachées de Maven2?
- 26. Quelles sont les pratiques de sécurité de base de formulaire ASP.NET?
- 27. Quelles sont les meilleures pratiques pour gérer les informations sensibles?
- 28. Quelles sont les ressources pour apprendre à écrire les spécifications?
- 29. Comment faire pour supprimer les espaces de fin dans une colonne de base de données?
- 30. Quelles sont toutes les valeurs possibles pour SQLException.getSQLState?
Voir la question SO http://stackoverflow.com/questions/128099/what-is-the-longest-human-name-you-can-expect pour les raisons pour lesquelles de nombreuses hypothèses (longueur du prénom, du milieu ou du nom, nombre de parties distinctes dans les noms et ainsi de suite) peut être complètement faux pour les autres pays. – mghie
@mghie - C'est pourquoi j'essaie de voir quelles sont les lignes directrices recommandées. Les chances sont qu'il va être très difficile d'utiliser une taille qui va attraper tout, mais si nous pouvons attraper 99,9% des prénoms et des noms et donner assez d'espace pour plusieurs initiales du milieu, nous devrions aller bien. – rjzii
@Rob: Eh bien, le lien vers l'autre question était là pour une raison: ce n'est pas si simple. Pas tout le monde a un prénom et un nom de famille et peut-être quelques initiales. Consultez les réponses dans la question liée, certains traitent spécifiquement des besoins des colonnes de la base de données pour les noms. – mghie