2013-07-31 2 views
0

Хэя Я новичок в SQL вещи Я пытаюсь сделать блог план выходит как один блог может иметь только один АВТОР где автор может иметь более чем один блог и в одном блоге может быть несколько изображенийSQL отношения между блогом и автором

может кто-нибудь заставляет меня понять, как отношения будут связаны с этим для отображения sql?

+0

Я забыл сказать что-то В блоге будет много изображений и стилей виз Это одно изображение можно также использовать в нескольких блогах ... Тогда как установить отношения? – user2631770

ответ

1
Create table Author 
(
Id int 
, Name nvarchar(max) 
); 

Create table Image 
(
Id int 
,ImagePath nvarchar(max) 
); 

Create table Blog 
(
Id int 
,Name nvarchar(max) 
,AuthorId int 
); 

Create table BlogImages 
(
Id int 
,BlogId int 
,ImageId int 
); 

ALTER TABLE Blog 
ADD FOREIGN KEY (AuthorId) 
REFERENCES Author(Id); 

ALTER TABLE BlogImages 
ADD FOREIGN KEY (BlogId) 
REFERENCES Blog(Id); 

ALTER TABLE BlogImages 
ADD FOREIGN KEY (ImageId) 
REFERENCES Image(Id); 

В вышеприведенном соотношении мы имеем таблицу BlogImages, имеющую blogId и ImageId, что означает единый imageID может иметь несколько blogIds, поэтому несколько блогов, используя один и тот же образ, который удовлетворяет вашим требованиям

+0

Я забыл что-то сказать В блоге будет много изображений и стилей виз Это одно изображение также можно использовать в нескольких блогах ... Тогда как я установил отношения? – user2631770

+0

Вышеуказанная структура таблицы точно соответствует вашему требованию .. – Bharadwaj

+0

Мы указали в приведенной выше структуре ImageId карты для BlogId в отдельной таблице .. так что одно изображение может храниться с несколькими блогами, поэтому удовлетворяет ваши требования. одно изображение может использоваться в нескольких блогах также – Bharadwaj

1

Автор ----> Блоги -------> Изображения ..

Итак, позвольте мне объяснить этот план немного.

Будут авторы таблицы, имеющие все детали авторов. PK является author_id. В таблице блога будет информация о блогах. Blog_id является PK и будет иметь внешний ключ author_id, на который ссылается авторская таблица. Таблица изображений будет содержать детали изображений. image_id является pk и будет иметь внешний ключ blog_id, на который ссылается таблица в блоге.

поведение известно как one to many relation

+0

спасибо, но как мне его отобразить? – user2631770

+0

Я имею в виду, что у одного блога может быть один автор. Но у одного автора может быть несколько блогов. Какое отношение это будет? – user2631770

0

Настройте стол автора с идентификатором. В вашей таблице блога используйте уникальный идентификатор для блога и укажите идентификатор автора в качестве столбца. Наконец, в таблице изображений укажите идентификатор блога и, возможно, идентификатор автора. Вы должны получить что-то вроде этого:

Author id -------------> Blog Id -------------->Image ID 
Other Author details  AuthorID    Blog Id 
         Other Blog details  Author ID 
               Other Image data 

С помощью этого вы можете использовать SQL Регистрация на Автор ID или идентификатор блога, чтобы получить данные в следующей таблице.

Смежные вопросы