Я хочу создать структуру таблицы для хранения клиентов, и передо мной стоит задача: для каждого клиента у меня может быть несколько имен, одно из которых является основным, а другие - альтернативными.
Первоначальный анализ таблиц выглядит следующим образом:
CREATE TABLE dbo.Customer (
CustomerId INT IDENTITY(1,1) NOT NULL --PK
-- other fields below )
CREATE TABLE dbo.CustomerName (
CustomerNameId INT IDENTITY(1,1) NOT NULL -- PK
,CustomerId INT -- FK to Customer
,CustomerName VARCHAR(30)
,IsPrimaryName BIT)
Хотя имя клиента является частью сущности «Клиент», и я считаю, что оно принадлежит таблице «Клиент».
Есть ли лучший дизайн для этой ситуации?
Спасибо