Protocole de création de table
1. [Obligatoire] Les champs qui expriment le concept de oui ou de non doivent être nommés à la manière de is_xxx, et le type de données est tinyint non signé (1 signifie oui, 0 signifie non). .
Remarque : Tout champ doit être non signé s'il s'agit d'un nombre non négatif.
2. [Obligatoire] Les noms de tables et de champs doivent utiliser des lettres minuscules ou des chiffres ; il est interdit de commencer par un chiffre, et il est interdit d'avoir seulement un chiffre entre deux traits de soulignement. La modification des noms de champs de base de données est très coûteuse car la pré-version n'est pas possible, les noms de champs doivent donc être soigneusement examinés.
Exemple positif : getter_admin , task_config , niveau 3_ nom
Contre-exemple : GetterAdmin , taskConfig , niveau _3_ nom
Remarque : Le nom de la table ne doit représenter que le contenu de l'entité dans la table et ne doit pas représenter le nombre d'entités. Le nom de la classe DO correspondante est également au singulier , ce qui est cohérent avec les habitudes d'expression.
Explication : uk _ est la clé unique ; idx _ est l'abréviation d'index.
Remarque : lorsque float et double sont stockés, il existe un problème de perte de précision. Il est très probable que des résultats incorrects soient obtenus lors de la comparaison des valeurs. Si la plage de données stockées dépasse la plage décimale, il est recommandé de diviser les données en nombres entiers et décimaux et de les stocker séparément.
7. [Obligatoire] Si les longueurs des chaînes stockées sont presque égales, utilisez le type de chaîne char de longueur fixe.
8. [Obligatoire] varchar est une chaîne de longueur variable. Aucun espace de stockage n'est alloué à l'avance. La longueur ne doit pas dépasser 5000. Si la longueur de stockage est supérieure à cette valeur, définissez le type de champ comme texte et. créez une table séparée. Utilisez des clés primaires pour correspondre afin d'éviter d'affecter l'efficacité de l'indexation des autres champs.
9. [Obligatoire] La table doit avoir trois champs : id, gmt_create, gmt_modified.
Remarque :
gmt_modified sont tous des types date_time.
10. [Recommandé] Il est préférable de nommer la table avec "nom commercial_fonction de la table".
Exemple positif : Tiger_Task / Tiger_Reader / Mpp_Config
11 [Recommandé] Le nom de la bibliothèque et le nom de l'application doivent être aussi cohérents que possible.
12. [Recommandation] Si vous modifiez la signification du champ ou ajoutez le statut représenté par le champ, vous devez mettre à jour les commentaires du champ à temps.
13. [Recommandé] Les champs permettent une redondance appropriée pour améliorer les performances, mais la synchronisation des données doit être prise en compte. Les champs redondants doivent suivre :
1) Champs qui ne sont pas fréquemment modifiés.
2) Ce n'est pas un champ varchar super long, encore moins un champ de texte.
Exemple positif : Le nom de la catégorie de produits est fréquemment utilisé, la longueur du champ est courte et le nom est fondamentalement inchangé. Le nom de la catégorie peut être stocké de manière redondante dans la table associée pour éviter les requêtes associées.
Remarque : Si le volume de données ne devrait pas atteindre ce niveau dans trois ans, veuillez ne pas diviser la base de données en tableaux lors de la création du tableau.
Exemple positif :
L'âge d'une personne est un tinyint non signé (représentant la plage 0-255, et la durée de vie d'une personne ne dépassera pas 255 ans) tortuedoit être smallint, mais si c'est l'âge du soleil) ; , il doit être int ; si l'âge de toutes les étoiles est additionné, alors bigint doit être utilisé.