Я ищу лучший способ настроить мои таблицы SQL в следующем сценарии.Настройка таблицы в MSSQL
Я сделаю все возможное, чтобы объяснить свою ситуацию.
Например, у меня есть 10 тестов, Test1, Test2, Test3, ...., Test10. Все они используют аналогичную область, но некоторые тесты будут использовать разные поля в зависимости от теста.
Предположим, что Test1 использует Field1, Field2, Field3. Test2 использует Field1, Field2, Field4, Field5. Мне нужно сохранить нужную информацию о поле в таблицу, но мне также нужно сохранить те поля, которые используются в каждом тесте. Я буду получать доступ к этой информации с помощью VB.net.
Я ищу лучший способ установить это. Он должен быть несколько прост в обслуживании, но также иметь довольно хорошую производительность.
Моя первоначальная мысль состояла в том, чтобы установить две таблицы. В одной таблице будут храниться результаты каждого теста и та, которая хранит поля, используемые для каждого теста. Тот, который хранит результаты каждого теста, будет иметь все возможные столбцы, которые могут использовать любые из тестов. Таблица, для каких полей будет использоваться каждый тест, также будет иметь все возможные столбцы. В этом случае каждая строка будет тестом, и каждый столбец будет тем, какие поля используются для этого теста. Итак, Test1 будет иметь 1 в столбцах 1, столбце2 и столбце3. Test2 будет иметь 1 в столбцах 1, столбце2, столбце4 и столбце5. Это сообщит нам, какие поля необходимо использовать при выборе, обновлении или вставке в нашу таблицу результатов.
Надеюсь, это имеет смысл в отношении того, что я пытаюсь выполнить. Я не уверен, что это лучший способ выполнить мои требования или нет.
Любые указания здесь были бы очень признательны.
Спасибо, Тони
UPDATE Я просто хочу уточнить, что я с помощью MS SQL.
UPDATE Я также хотел бы уточнить, что мои имена полей на самом деле не поле 1, Field2 и т.д. Я просто использовать это, чтобы попытаться объяснить, что я пытаюсь сделать.
MySQL и SQL Server - это 2 совершенно разные базы данных. Вам нужна таблица для создания связи между тестом и используемыми полями. – Plutonix
Посмотрите ответы, найденные здесь; http://dba.stackexchange.com/questions/58036/how-to-handle-table-design-with-variable-columns. Я много раз боролся с этим. Моя рекомендация - использовать базу данных NoSql, такую как MongoDB, или использовать базу данных, такую как MS-SQL или PostreSQL, которая поддерживает собственный тип данных XML, который может быть запрошен. В более позднем сценарии сохраните свои метаданные в полях и вашем объекте (тесте) в xml. – SteveJ