2010-09-23 30 views
0

Je crée une base de données client et cas dans Access 2003. La table client parent contient des champs pour les noms des clients, la société (le cas échéant), le statut (liste de valeurs) une note supplémentaire (texte ou type de mémo), et une boîte à bascule Y/N pour notre liste de diffusion. Le PK est en incrémentation AutoNumber. Après une pointe de normalisation d'un fil ailleurs, les adresses et les numéros de téléphone auront leurs propres tables, comme ceci:Index supplémentaire pour la liste des clients

tbl_Client

tbl_Address 
    tbl_AddressType 
tbl_Phone 
    tbl_PhoneType 

(tbl_Client lieront à tbl_Address et tbl_Phone via des tables de jonction, mais je n » Je sais comment représenter cela.)

Mes recherches suggèrent que les tables doivent avoir au moins deux colonnes indexées non dupliquées - une PK et une autre unique. La seule autre colonne unique garantie dans tbl_Client est le champ mémo - les noms de famille peuvent réapparaître et nous pouvons avoir plus d'un client dans une entreprise donnée. Donc, voici ma question: est-il préférable d'indexer le champ Note, d'interdire les doublons, ou d'accepter simplement que le numéro d'identification ClientID sera la seule valeur unique?

(Bien sûr, cette question repose sur l'hypothèse que l'ensemble ci-dessus structure n'est pas irrémédiablement défectueux. Si tel est le cas, s'il vous plaît ne hésitez pas à exprimer votre horreur.)

Répondre

0

Ma recherche suggère que les tables doivent avoir au moins deux colonnes indexées et non dupliquées - une PK et un champ unique supplémentaire. Votre PK devrait identifier de façon unique chaque rangée.

Je ne comprends pas l'exigence d'un second champ unique.

* La seule autre colonne unique de garantie dans tbl_Client est le champ mémo - noms de famille peuvent réapparaître et nous pouvons avoir plus d'un client dans une entreprise donnée *

Ne pas indexer un champ mémo tellement. vous pouvez avoir un deuxième champ unique.