2017-02-08 2 views
0

Я застрял в этой концепции создания матрицы на SQL Server, где она создана в Excel. Я не мог найти хороший ответ в Интернете. В первой строке есть номера номеров, а в первом столбце есть функциональные требования. Так, например, когда в одной из комнат есть камера, я помещу знак X в нужную координату столбца и столбца, чтобы указать, что она содержит один. Я приложил образец Excel, чтобы лучше объяснить. Excel Matrix.pngКак реализовать концепцию матрицы в SQL Server

ответ

2

Вместо того, чтобы иметь несколько столбцов для каждого возможного функционального требования, использовать соответствующие реляционные методы для многих к-май отношений:

Rooms 
------ 
Id 
RoomName 

Functions 
--------- 
Id 
FunctionName 

RoomFunctions 
------------- 
RoomId 
FunctionId 

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

+0

Благодарим вас. Мне нравится эта концепция, но как вы думаете, ее более стабильный подход, когда ее легко будет обновить в будущем по сравнению с тем, который был дан ниже, by @IronicMuffin? – Adam

+0

Ну, я не совсем понимаю это решение, поэтому не могу сказать, но я бы определенно не имел нескольких столбцов для представления функционалов. Каждый раз, когда вы добавляете другую функцию, вам нужно добавить столбец, который не масштабируется. –

0

Не имея данных для работы, вам трудно привести пример.

С учетом этого метод pivot может помочь вам. У вас может быть только фиктивный столбец с 1 или 0 на основе того, имеет ли он «X» в ваших данных. Затем в точке поворота вы просто делаете max для этого для различных значений.

Может потребоваться массировать ваши данные в более удобный формат, но он должен быть выполнимым.

Смежные вопросы