Я должен всегда полностью определять имена столбцов в SQL?

Как уже упоминалось в комментарии, вы можете проанализировать URL в методе с помощью директивы v-bind:is . Вы, наверное, уже поняли это, но вот моя быстрая попытка.

const content = {
  content: [{
    '@id': '4effb045',
    '@type': 'http://url/images.json',
    _meta: {
      name: 'TestingImage'
    }
  }, {
    '@id': '4effb046',
    '@type': 'http://url/videos.json',
    _meta: {
      name: 'TestingVideo'
    }
  }]
}

new Vue({
  el: '#app',

  data() {
    return {
      content
    }
  },

  methods: {
    extractName(content) {
      const [name] = /[^\/]*(?=\.\w+$)/.exec(content['@type']);

      return name;
    }
  },

  components: {
    Images: {
      template: ''
    },

    Videos: {
      template: '
Some video component
' } } })


Кстати, я бы не советовал использовать зарезервированные слова HTML в качестве имен компонентов (как в вашем случае ), поскольку он может не скомпилироваться. Смотрите эту связанную проблему на GitHub.

[Vue warn]: не используйте встроенные или зарезервированные элементы HTML в качестве идентификатора компонента: диалог

blockquote>

11
задан Andy Lester 17 February 2009 в 16:33
поделиться

10 ответов

Лучше, если Вы делаете - это не добавляет сложности, и это может предотвратить ошибки в будущем.

Но в четко определенной системе, Вы не должны иметь к - она похожа на пространства имен на языках программирования. Идеал не должен иметь конфликтов, но он может создать помехи коду лишним использованием явных имен.

- Adam

11
ответ дан 3 December 2019 в 05:59
поделиться

Я обычно следую этим правилам:

При использовании единственной таблицы не необходимо использовать префикс имени таблицы:

SELECT col1, col2 FROM table1

Для нескольких таблиц используйте полное имя таблицы. Псевдонимы могут сбивать с толку, особенно при выполнении нескольких соединений:

SELECT table1.col1, table2.col2 FROM table1 INNER JOIN table2 on 
            table1.id = table2.id

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

Если может, однако, стать необходимым для использования псевдонима столбца, когда столбцы имеют то же имя. В этом случае:

    SELECT table1.col1, table2.col1 as table2_col1 FROM table1 
            INNER JOIN table2 on 
            table1.id = table2.id
5
ответ дан 3 December 2019 в 05:59
поделиться

Если бы Вы только запрашиваете одну таблицу - я сказал бы "нет". Это более читаемо тот путь.

1
ответ дан 3 December 2019 в 05:59
поделиться

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

1
ответ дан 3 December 2019 в 05:59
поделиться

Я поместил бы это как персональное предпочтение. Это только имело бы значение, если бы Вы начали присоединяться к таблицам, которые содержат дублирующиеся имена столбцов.

Кроме того, вместо того, чтобы выписывать имя таблицы полностью, используйте псевдоним:

ВЫБЕРИТЕ t.column1, таблица t.column2 FROM как t

2
ответ дан 3 December 2019 в 05:59
поделиться

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

0
ответ дан 3 December 2019 в 05:59
поделиться

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

SELECT Dep.Name,Emp.Name
FROM Department DEP INNER JOIN Employee Emp
ON Dep.departmentid=Emp.DepartmentID 
0
ответ дан 3 December 2019 в 05:59
поделиться

Нет.

Необходимо всегда искажать таблицы, и необходимо всегда квалифицировать имена столбцов с псевдонимами таблицы.

select
    p.FirstName,
    p.LastName,
    p.SSN
from Person p
where p.ID = 345
0
ответ дан 3 December 2019 в 05:59
поделиться

Не решайте проблемы, которые Вы еще не имеете. (По крайней мере это - то, что мой руководитель группы всегда говорит мне.) я уверен обезьяна, которая когда-нибудь должна добавить, что СОЕДИНЕНИЕ к Вашему оператору может понять это.

0
ответ дан 3 December 2019 в 05:59
поделиться

Я предпочитаю использовать псевдоним таблицы, когда больше чем 1 таблица находится в игре.

0
ответ дан 3 December 2019 в 05:59
поделиться
Другие вопросы по тегам:

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