Если вы строили базу данных со столами Документы, клиенты, пользователи и фирмы, где в Фирмах вы могли бы хранить компании, которые используют программное обеспечение, как бы вы создали первые три таблицы для поддержки нескольких Фирм хранить в них? Итак, в документах мы хотим хранить документы для всех фирм, конечно, нам нужно как-то сказать им appart, поэтому нам понадобится столбец, такой как FirmID. Мы также можем поместить это в Клиенты и Пользователи.Дизайн базы данных для поддержки нескольких клиентов
Теперь следующее требованием является то, что каждая фирма может иметь свои собственные идентификаторы для документов, клиентов, потому что obviosuly при добавлении новой фирмы, их идентификаторы для то, что они создают должны начать с 1.
я что-то думать как это, но для этого требуется ручное построение всех полей, но RowID.
CREATE TABLE [dbo].[ClientTest](
[RowID] [int] IDENTITY(1,1) NOT NULL,
[FirmID] [int] NOT NULL,
[ClientFirmID] [int] NOT NULL,
[ClientFirmPrettyID] [varchar](10) NOT NULL,
CONSTRAINT [PK_ClientTest] PRIMARY KEY CLUSTERED
(
[RowID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
RowID будет работать автоматически в этом случае, но это бесполезно для нас, потому что за все, что мы делаем, мы должны использовать ClientFirmID и ClientFirmPrettyID. Есть ли способ автоматизировать создание этих двух?
Я добавил другое решение для ответа – garik
Я добавил изображение и некоторый код. – garik
обновлено. – garik