2013-07-05 4 views
0

У меня возникли проблемы с выяснением того, как я должен создать свою базу данных для этого проекта, над которым я сейчас работаю. Рыбалка связанных.Структура SQL с JOIN

Я просто не уверен, как настроить мои таблицы.

Таблица 1 (ID, имя пользователя, адрес электронной почты и т.д.) Таблица 2 (рыба, вес, длина и т.д.)

Как я соединить эти две таблицы? Должен ли я иметь столбец с именем ID во 2-й таблице? Потому что мне нужно знать, какой пользователь загрузил какую рыбу. Я просто не знаю, как это сделать.

Любая помощь приветствуется.

+0

Да, вам нужно добавить столбец для идентификатора пользователя в «Таблице 2», иначе вы не сможете определить, какой u Сер загрузил рыбу. – vee

+0

Есть ли в таблицах какие-либо поля? если нет, то вы не можете напрямую присоединиться к ним. Чтобы использовать базу данных ** RELATIONAL **, вам необходимо иметь данные, которые как-то ** связаны **. –

+0

Нет, никаких отношений прямо сейчас. Я должен буду изучить это. Спасибо –

ответ

0

Посмотрите на структуру таблиц. Я думаю, что лучше всего изменить имя id в таблице 1 на * user_id * и добавить столбец во вторую таблицу также с именем * user_id *. Соединение с использованием колонок затем очень просто с помощью следующего запроса:

SELECT * 
FROM table1 
JOIN table2 USING (user_id) 

Другая возможность заключается в том, чтобы добавить столбец с именем * user_id * (или что-то еще), чтобы table2 и создать запрос типа:

SELECT * 
FROM table1 
JOIN table2 ON table2.user_id = table1.id 

В этом случае вы устанавливаете столбцы для соединения в структуре «ON .. = ..».

0

Да у вас есть, и это называется реляционной БД это пример

Users (UserID, UserName, Password) 
Fish (FishID, UserID, FishName, Length, Weight) 

, а затем подключить их с помощью USERID

select u.UserName, f.FishName, f.Length, f.Weight 
from Users u 
LEFT JOIN Fish f on (f.UserID=u.UserID) 

и если вы ищете конкретный пользователь, то просто добавьте в конце

WHERE [email protected] 
+0

Спасибо за ответ. И это все один большой вопрос? –

+0

по моему опыту - это основной запрос и очень маленький. –