Je conçois les tables comme ci-dessous pour le système
qui ressemble à un système de livraison de paquets.Conception de table de base de données
Par exemple, après que l'utilisateur a reçu le paquet, postier doit enregistrer dans le système,
et l'état (tableau historique) est « livré », et l'opérateur est ce facteur,
l'état actuel (table d'état) est de bien sûr « livré »
history table:
+---------------+--------------------------+
| Field | Desc |
+---------------+--------------------------+
| id | PRIMARY KEY |
+---------------+--------------------------+
| package_id | package_tacking_id |
+---------------+--------------------------+
| state | package_state |
+---------------+--------------------------+
| operators | operators |
+---------------+--------------------------+
| create_time| create_time |
+---------------+--------------------------+
state table:
+---------------+--------------------------+
| Field | Desc |
+---------------+--------------------------+
| id | PRIMARY KEY |
+---------------+--------------------------+
| package_id | package_tacking_id |
+---------------+--------------------------+
| state | latest_package_state |
+---------------+--------------------------+
au-dessus est juste les informations de base pour enregistrer, d'autres informations (comme
facture, destination, ...) doivent être enregistrées aussi bien.
Mais il existe différents types de services tels que s1 et s2, s1 il n'est pas nécessaire
pour enregistrer la facture, mais s1 besoin, et peut-être s1 besoin d'autres informations pour enregistrer
(comme tel de l'utilisateur final). Après tout, à la livraison des stations de chemin, il y a des informations supplémentaires à enregistrer,
et pour différents types de services, le type d'information est différent.
Mes questions:
- Pour différents types de service, aurais-je besoin de déclarer différentes tables (option A) ou tout simplement
une grande table qui permet d'enregistrer toutes les informations pour tous les types (option B)? - Si l'option A, étant donné que l'information de base ci-dessus est DOIT, comment
peut empêcher de déclarer qu'il y a des champs dupliqués dans des tables différentes?