sagegalynsky
@sagegalynsky
Программирую для Web

Как организовать связи между таблицами в PostgreSQL?

Здравствуйте. Имеются две таблицы Log и Stations. Как вы понимаете в таблицу Log я пишу логи машины, в Stations расположены машины и её параметры. Как лучше сделать. Стоит задача вывести логи машины и плюс название, то есть description, который расположен в таблице Stations. Этот вариант думаю можно составить при помощи JOIN наверное. Второй вариант создать в таблице Log поле Description которое буде завязано с Stations.description. Но вот же беда. При таком подходе поле Description должно заполнять автоматически из Stations в зависимости от ID станции. Вообщем я уже наверное вас запутал. Но как посоветуете правильно сделать. Думаю это стандартная ситуация, просто с которой я никогда не сталкивался.
Table Log:
{
"LOG": {
		"id": "INTEGER AUTO_INCREMENT",
		"id_station": "INTEGER",
		"message": "VARCHAR(255)",
		"type": "VARCHAR(12)",
		"date": "TIMESTAMP"
	}
}

Table Stations:
{
"STATIONS": {
		"id": "INTEGER AUTO_INCREMENT",
		"id_station": "INTEGER",
		"description": "VARCHAR(50)",
		"latitude": "FLOAT",
		"longitude": "FLOAT"
	}
}
  • Вопрос задан
  • 7450 просмотров
Пригласить эксперта
Ответы на вопрос 1
Таблицы Log и Stations связать по полю id_station. Поле Description - описание станции, хранить в таблице Stations. При запросе данных из лога присоединять таблицу Stations и брать оттуда описание.
SELECT L.*, S.Description FROM Log as L LEFT JOIN Stations as S ON L.id_station = S.id_station WHERE S.id_station = 5
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы