|
|
|
Как правильно использовать алиасы таблиц?:)
|
|||
|---|---|---|---|
|
#18+
Возник вопрос (задали на дом:)) как правильно при запросах называть алиасы таблиц? Допустим запрос select * from Operations a join Players b ON b.Login = a.Login можно написать так: select * from Operations op join Players pl ON pl.Login = op.Login как все же лучше писать? на скорость это не влияет видимо может есть какие то другие мнения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2008, 13:59 |
|
||
|
Как правильно использовать алиасы таблиц?:)
|
|||
|---|---|---|---|
|
#18+
Правильно так, как устроит задавшего это задание. Модератор: Тема перенесена из форума "Microsoft SQL Server". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2008, 14:02 |
|
||
|
Как правильно использовать алиасы таблиц?:)
|
|||
|---|---|---|---|
|
#18+
Раз вам задали задание, значит вас уже двое... Правильно составить на БД таблицу: Код: plaintext 1. 2. 3. 4. 5. Что будет написано в AliasRoot - либо сообща договариваетесь, либо опустят сверху :) Лично я за op и pl вместо a и b - думаю, мои аргументы понятны... (+ автоматическое формирование алиаса по данному соответствию в таблице инструментом + инструмент контроля соблюдения правила в системе контроля версий -- но это уже совсем другая история...). И в запросах писать соответствующий AliasRoot. Если таблица упоминается несколько раз или хочется добавить ещё некий смысл - через подчерк дописывать суффикс... Который фиксировать в аналогичной таблице :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2008, 14:42 |
|
||
|
Как правильно использовать алиасы таблиц?:)
|
|||
|---|---|---|---|
|
#18+
АнатоЛойРаз вам задали задание, значит вас уже двое... Правильно составить на БД таблицу: Код: plaintext 1. 2. 3. 4. 5. Что будет написано в AliasRoot - либо сообща договариваетесь, либо опустят сверху :) Лично я за op и pl вместо a и b - думаю, мои аргументы понятны... (+ автоматическое формирование алиаса по данному соответствию в таблице инструментом + инструмент контроля соблюдения правила в системе контроля версий -- но это уже совсем другая история...). И в запросах писать соответствующий AliasRoot. Если таблица упоминается несколько раз или хочется добавить ещё некий смысл - через подчерк дописывать суффикс... Который фиксировать в аналогичной таблице :) В целом +1 А вообще - A и B - слабо понятные алиасы. Гораздо проще разбирать код, когда все понятно. Вы же не называете таблицы A и B, а почему-то назвали их Operations и Players. К алиасам - то же требование - понятность, плюс еще одно: краткость, т.к. чаще напрягает писать алиас длиной в несколько десятков символов. Все ИМХО ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2008, 15:07 |
|
||
|
Как правильно использовать алиасы таблиц?:)
|
|||
|---|---|---|---|
|
#18+
Алиас прежде всего должен быть синтаксически правильным. Концептуально, алиас может обозначать роль таблицы в запросе, поэтому следует придумывать говорящие имена алиасов, но в то же время краткие. Не стоит перегружать алиас информацией. Все данные об алиасе содержаться в одном запросе, так что в случае надобности не составит большого труда уточнить, что обозначает алиас. Вообще говоря алиас имеет смысл только в рамках запроса в котором он объявлен, так что создавать глобальные таблицы алиасов может быть не вполне разумно, однако в подавляющем большинстве случаев роль таблицы во всех запросах одинакова, соответственно алиас ей следует назначать один и тот же. Это позволит не вчитываясь в секцию from понять про что запрос. Приведу пример, когда это может быть не так. Таблица люди и таблица счета. В запросе по счетам, человек будет выступать в роли плательщика, получателя, там... кассира и т.д. Алиасами таблицы люди могут быть "ПТ", "ПЧ", "КС". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2008, 17:58 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=35705379&tid=1543531]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
164ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 463ms |

| 0 / 0 |
