требуется оптимизированная архитектура базы данных - PullRequest
0 голосов
/ 17 июня 2011

Я хочу спроектировать базу данных

on my website , a user can have multiple images assigned to it and one image can also have multiple users assigned to it.
one should be able to list how many images a user has Or how many users a image has.

there will be about 1,00,000 users and 1,00,000 images..

как я могу построить это МНОГООБРАЗНОЕ соотношение между двумя с минимальной избыточностью и максимальной эффективностью ... пожалуйста, предложите мне оптимизированную архитектуру ..

Ответы [ 2 ]

1 голос
/ 17 июня 2011

@ Тим Спарг прав: таблица "Связи" или "Мост" - это то, что вам нужно ... Чтобы уточнить подробности его объяснения ...

ImagesTable
ImageID   integer, auto-increment
ImageOtherInfo...

UsersTable
UserID   integer, auto-increment
OtherUserInfo... 

UserImages
UserImageID integer, auto-increment
ImageID    integer -- key to image table
UserID     integer -- key to user table.

Таким образом, вы простонужно выполнить запрос непосредственно к таблице «UserImages», чтобы найти вещи и присоединиться к соответствующим другим, чтобы получить остальные данные ...

0 голосов
/ 17 июня 2011

Чтобы реализовать отношение «многие ко многим», вам нужна таблица ссылок.Создайте таблицу «UserImage», которая разделяет первичные ключи как изображения, так и таблицы User.

Таким образом, вы можете проверить, есть ли у пользователя изображение, или сколько пользователей имеет изображение, не работая непосредственно с изображением.таблица.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...