Я использую SQL Server. На данный момент в моей базе данных есть две таблицы.
Одна таблица - CmsContents
, которая представляет страницы для моего блога, вторая таблица - CmsImagesContents
, которая собирает информацию об изображениях, связанных с конкретной страницей.
Отношение между двумя таблицами имеет тип One to Many
, на одной странице может быть много изображений, но на одном изображении может быть только одна страница.
Я понимаю, что этот дизайн довольно прост, и я начал осознавать некоторые ограничения, вот мои вопросы:
Мне нужно добавить изображение в базу данных, прежде чем связать его со страницей, я не большой поклонник значений NULL. Какие варианты доступны в моем дизайне?
Не могли бы вы предложить мой дизайн для этого сценария? Вы знаете лучшую альтернативу?
Спасибо за вашу помощь!
CREATE TABLE [dbo].[CmsImagesContents](
[ImageContentId] [int] IDENTITY(1,1) NOT NULL,
[ContentId] [int] NOT NULL,
[RowGuid] [uniqueidentifier] NOT NULL,
[Title] [varchar](64) NOT NULL,
[AltTag] [nvarchar](256) NOT NULL,
[Caption] [nvarchar](256) NOT NULL,
[CopyrightNote] [nvarchar](256) NOT NULL,
CONSTRAINT [PK_CmsImagesContents_ImageContentId]
PRIMARY KEY CLUSTERED ([ImageContentId] ASC)
)
ALTER TABLE [dbo].[CmsImagesContents] WITH CHECK
ADD CONSTRAINT [FK_CmsImagesContents_ContentId]
FOREIGN KEY([ContentId]) REFERENCES [dbo].[CmsContents] ([ContentId])