0

SQL の初心者です。ブログを作成しようとしています。計画では、1 つのブログに 1 つの AUTHOR しか持てず、1 つのブログに複数のブログを持つことができ、1 つのブログに複数の画像を含めることができます。

SQLマッピングでこれとの関係がどのようになるかを理解してもらえますか??

4

3 に答える 3

2
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);

上記の関係では、 と を持つテーブルBlogImagesblogIdありますImageId。つまり、単一imageIDの に複数の を含めることができるblogIdsため、要件を満たす同じ画像を使用する複数のブログ

于 2013-07-31T05:40:28.330 に答える
1

著者 ----> ブログ -------> 画像..

ということで、プランの説明を少し。

著者のすべての詳細を含むテーブル authors があります。PK は author_id です。ブログテーブルにはブログの詳細が含まれます。Blog_id は PK であり、author テーブルによって参照される外部キー author_id を持ちます。画像テーブルには画像の詳細が含まれます。image_id は pk であり、blog テーブルによって参照される外部キー blog_id を持ちます。

この動作は、1 対多の関係として知られています。

于 2013-07-31T05:35:14.457 に答える
0

ID を使用して author テーブルを設定します。ブログ テーブルでブログの一意の ID を使用し、著者 ID を列として含めます。最後に、画像テーブルにブログ ID と、場合によっては著者 ID を含めます。次のようなものを取得する必要があります。

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

これにより、作成者 ID またはブログ ID で SQL Join を使用して、次のテーブルのデータを取得できます。

于 2013-07-31T05:41:01.730 に答える