У меня есть база данных, к которой я выполняю большие запросы, которые я хочу упростить с помощью представления. Хотя их больше, таблицы в основном выглядят так (псевдокод):
TABLE document (
Id int PRIMARY KEY,
/*more metadata columns*/
)
TABLE name (
Id int PRIMARY KEY,
documentId int FOREIGN KEY REFERENCES document.Id,
date DATETIME,
text varchar(MAX)
)
TABLE description (
Id int PRIMARY KEY,
documentId int FOREIGN KEY REFERENCES document.Id,
date DATETIME,
text varchar(MAX)
)
Таким образом, идея состоит в том, что таблица 'document' содержит основную информацию о документе и Id, который связывает остальные таблицы с документом. Все остальные таблицы предназначены для отдельных атрибутов документа, которые можно обновлять. Каждое обновление получает свою строку с отметкой времени. Я хочу, чтобы представление получало по одной строке на документ с самыми последними версиями каждого атрибута, содержащимися в других таблицах (если это требует дальнейшей проработки или примера, пожалуйста, дайте мне знать, и я предоставлю). Каков наименее запутанный способ, которым я могу осуществить это? Использование SQL Server 2008.