2009-03-12 4 views
1

Disons que j'ai une base de données pleine d'artistes de la musique. Considérez les artistes suivants:Affichage vs recherche ou tri des chaînes dans une base de données

Les Beatles - "The" fait officiellement partie du nom, mais nous ne voulons pas le trier avec les "T" si nous sommes en train d'alphabétiser. Nous ne pouvons pas facilement le stocker comme "Beatles, The" parce que nous ne pouvons pas le chercher correctement.

Beyoncé - Nous devons permettre à l'utilisateur de pouvoir rechercher "Beyonce" (sans le signe diacritique) et obtenir les bons résultats. Aucun utilisateur ne saura ou ne prendra le temps de taper le caractère diacritique spécial sur le dernier "e" lors de la recherche, mais nous voulons évidemment l'afficher correctement lorsque nous devons le sortir.

Quelle est la meilleure façon de contourner ces problèmes? Il semble inutile de conserver un "nom officiel", un "nom de recherche" et un "nom de tri" dans la base de données, car une très grande majorité des entrées seront exactement les mêmes, mais je ne vois pas d'autre options

Répondre

2

Les bibliothécaires ont une réponse standard pour cela. Les règles de dépôt ALA couvrent tous ces cas de manière parfaitement standard.

Vous parlez de l'ordre de tri grammatical. C'est un sujet discutable. Certaines personnes seraient en désaccord avec votre position.

Généralement, vous transformez le titre en une forme normalisée: "Beatles, The". En général, vous le laissez comme ça. Puis trier.

Vous pouvez lire les règles de catalogage ici: http://en.wikipedia.org/wiki/Library_catalog#Cataloging_rules

Pour les caractères « étendus », vous avez plusieurs choix. Pour certaines personnes, é est une lettre de première classe et le diacritique en fait partie. Ils ne sont pas confus. Pour les autres, tous les caractères diacritiques sont mappés sur des caractères sans ornement. Ce mappage est une fonctionnalité de certains outils de traitement Unicode.

Vous pouvez lire Unicode diacritique stripping ici: http://lexsrv3.nlm.nih.gov/SPECIALIST/Projects/lvg/current/docs/designDoc/UDF/unicode/NormOperations/stripDiacritics.html

http://www.siao2.com/2005/02/19/376617.aspx

Questions connexes