Vraag : Het gebruiken van „primair“ FK

Droevig over de minder-dan-beschrijvende titel.  Ik heb een harde tijd zettend de kwestie in words.

zeggen ik een lijstKLANTEN heb die enkel 2 kolommen heb: Identiteitskaart en NAME

And ik een andere lijst heb RICHTEN die standaardadresinformatie (straat, stad, staat, pit, enz.) en FK aan KLANTEN heeft (dit bijvoorbeeld, zal ik het CUSTOMER_FK vragen).  Om het even welke klant kan veelvoudige die addresses.

I hebben om wordt gewild om één rij van ADRESSEN toewijzen om het het facturerings/standaard „primaire“ adres voor een klant te zijn.  Een klant zou één het factureren/gebrek/primaire address.

My de aanvankelijke gedachte een kolom aan KLANTEN moest toevoegen genoemd BILLING_ADDRESS die FK aan de rij in ADRESSEN was die als het factureren/gebrek/primair adres dienden.  Dit schijnt lichtjes overtollig, niettemin, en maakt wat nog belangrijker is toevoeging minder dan een weinig elegant.  Bij het creëren van een nieuwe klant van gebruikersinput, bijvoorbeeld, zou ik de rij van KLANTEN moeten tot stand brengen eerst, greep dat identiteitskaart, dan tot de rij die van ADRESSEN (enkel geproduceerde identiteitskaart van KLANTEN overgaan tot CUSTOMER_FK) leidt, dan ga terug en werk de rij van KLANTEN met identiteitskaart van het pas gecreëerde te dienen ADRES bij aangezien FK voor het factureren/het gebrek/primaire de gedachte address.

Another aan, in plaats van bovengenoemd was, toevoegen een kolom aan ADRESSEN die een indicator van Boole was van al dan niet de rij het factureren/het gebrek/het primaire adres voor die klant was, maar AFAIK is er geen manier te verzekeren dit tot één enkel adres voor om het even welk beperkt is customer.

I am dit veronderstellen is niet zeldzaam dat, en er is waarschijnlijk een ingebouwde oplossing dat ik niet me bewust van ben.  Als niet, is er een ongecompliceerdere oplossing iedereen kon voorstellen?

TYIA

Using MySQL 5 (en PHP 5.3, als die kwesties).

Antwoord : Het gebruiken van „primair“ FK

Ik denk…

voeg gebied ADDRESSTYPE aan de lijst van ADRESSEN toe (dit gebied zal worden gebruikt om het type van adres aan te duiden -- het factureren/gebrek/primair -- u kunt 1/2/3 voor plotseling gebruiken)

dan stel dit bevel in werking:

VERANDER DE ADRESSEN VAN DE LIJST TOEVOEGEN UNIEK (CUSTOMER_FK, ADDRESSTYPE);

steun eerst alles!

Dat zou de COMBINATIE van klant/adres uniek type moeten maken…
Andere oplossingen  
 
programming4us programming4us