Как спланировать такую ​​базу данных с таким же идентификатором? - PullRequest
0 голосов
/ 16 марта 2012

У меня есть стол покупателя, стол продавца;и у каждого клиента есть много телефонных номеров, как и у продавца.И я решил сделать новую таблицу: Телефон, с IdTelephone, Prefix, Number и IdCustomer или IdSeller, я не знаю, как его идентифицировать, потому что IdCustomer может быть таким же, как IdSeller, как решить эту проблему?Mysql ...

Ответы [ 4 ]

1 голос
/ 16 марта 2012

Вы моделируете его с помощью таблицы обычного человека, и если этот человек является одновременно клиентом и селером, он будет в обеих таблицах с одинаковым идентификатором. Он также будет только в телефоне, адресе и т. Д., Связанном с personID.

Person:
    PersonID
    *Details common to all people
Customer:
     PersonID
     *whatever customer details exist*  
Sellere:
     PersonID
     *whatever seller details exist*  
TelephonePerson:
     PersonId
     TelephoneId 
Telephone:
     PersonID
     Phone Number 
1 голос
/ 16 марта 2012

Вы можете сделать это следующим образом, где TelephonePerson содержит потенциально обнуляемые столбцы для customerId и TelephoneId;

Customer Table:
    Id
    *whatever customer details exist*

Seller Table:
    ID
    *whatever seller details exist*

TelephonePerson:
    SellerId
    CustomerId
    TelephoneId

Telephone:
    ID
    Phone Number

В качестве альтернативы, чтобы избежать дополнительной таблицы, вы можете сделать это следующим образом, если у вас есть linkId и PersonTypeId на вашем телефонном столе. PersonTypeId будет относиться либо к продавцам, либо к клиентам, и в зависимости от того, что вы присоединяете к соответствующей таблице по linkId;

Customer Table:
    Id
    *whatever customer details exist*

Seller Table:
    ID
    *whatever seller details exist*

Telephone:
    ID
    Phone Number
    LinkId
    PersonTypeId
1 голос
/ 16 марта 2012

продавец логических столбцов или нет

0 голосов
/ 16 марта 2012

Наиболее гибкий способ может быть следующим:

Сначала создайте таблицу нейтральных телефонных номеров.

Phone Numbers:
  # Id
    Phone Number
    Prefix

Для каждого вашего контакта (продавец, покупатель и т. Д.) СоздайтеТаблица N-to-N.оба могут иметь общий номер телефона

Вы можете управлять чуть большим количеством таблиц, чем планировалось.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...