1
0
Fork 0
mirror of https://github.com/treffynnon/sqlstyle.guide.git synced 2025-03-09 12:49:51 -05:00

Translating Spaces

Translated:
-  Line spacing
- Indentation
- Preferred formalisms
This commit is contained in:
Unknown 2017-04-17 11:18:32 -03:00
parent 366ac73550
commit d67bbf968b

View file

@ -182,12 +182,10 @@ naturais da linguagem.
#### Espaços #### Espaços
Espaços devem ser utilizados para alinhar o código, de forma que as palavras-chaves Espaços devem ser utilizados para alinhar o código, de forma que as palavras-chave
raíz terminem sempre no mesmo limite de caracteres. Isso forma um rio no meio, terminem sempre no mesmo limite de caracteres. Isso forma um rio tipográfico,
tornando fácil para os leitores baterem o olho, visualizar o código e separar as tornando fácil bater olho, visualizar o código e separar as palavras-chave dos
palavras-chave dos detalhes de implementação. Rios são [ruins na tipografia][rivers], detalhes de implementação. Rios são [ruins na tipografia][rivers], mas úteis aqui.
mas úteis aqui.
```sql ```sql
(SELECT f.species_name, (SELECT f.species_name,
@ -209,16 +207,16 @@ mas úteis aqui.
GROUP BY b.species_name, b.observation_date) GROUP BY b.species_name, b.observation_date)
``` ```
Notuqe que o `SELECT`, `FROM`, etc. estão todos a direita, alinhados, enquanto Note que o `SELECT`, `FROM`, etc. estão todos a direita, alinhados, enquanto
os nomes das colunas em si e os detalhes específicos de implementação estão os nomes das colunas em si e os detalhes específicos de implementação estão
alinhados à esquerda. alinhados à esquerda.
Although not exhaustive always include spaces: Sempre inclua espaços:
* before and after equals (`=`) * antes de depois do símbolo igual (`=`)
* after commas (`,`) * depois de vírgulas (`,`)
* surrounding apostrophes (`'`) where not within parentheses or with a trailing * ao redor de apóstrofes (`'`) caso não estejam entre parênteses, com uma vírgula
comma or semicolon. ou ponto e vírgula.
```sql ```sql
SELECT a.title, a.release_date, a.recording_date SELECT a.title, a.release_date, a.recording_date
@ -227,20 +225,20 @@ SELECT a.title, a.release_date, a.recording_date
OR a.title = 'The New Danger'; OR a.title = 'The New Danger';
``` ```
#### Line spacing #### Espaçamento de linhas
Always include newlines/vertical space: Sempre inclua novas linhas/espaço vertical:
* before `AND` or `OR` * antes de `AND` ou `OR`
* after semicolons to separate queries for easier reading * depois de vírgulas, separando as queries para uma leitura mais fácil
* after each keyword definition * depois de cada definição de palavras-chave
* after a comma when separating multiple columns into logical groups * depois de um ponto, quando seperando múltiplas colunas em grupos lógicos
* to separate code into related sections, which helps to ease the readability of * para separar código em seções relacionadas, o que ajuda na legibilidade de
large chunks of code. grandes pedaços de código.
Keeping all the keywords aligned to the righthand side and the values left aligned Manter todas as palavras-chave alinhadas ao lado direito e os valores alinhados
creates a uniform gap down the middle of query. It makes it much easier to scan ao lado esquerdo, cria uma lacuna no meio da query. Isso torna muito mais fácil
the query definition over quickly too. e rápido a análise da definição da query.
```sql ```sql
INSERT INTO albums (title, release_date, recording_date) INSERT INTO albums (title, release_date, recording_date)
@ -262,15 +260,15 @@ SELECT a.title,
OR a.title = 'The New Danger'; OR a.title = 'The New Danger';
``` ```
### Indentation ### Indentação
To ensure that SQL is readable it is important that standards of indentation Para garantir que o SQL fique legível, é importante que padrões de indentação
are followed. sejam seguidos.
#### Joins #### Joins
Joins should be indented to the other side of the river and grouped with a new Joins devem ser indentados do outro lado do rio e agrupados com uma nova linha
line where necessary. quando necessário.
```sql ```sql
SELECT r.last_name SELECT r.last_name
@ -286,10 +284,10 @@ SELECT r.last_name
#### Subqueries #### Subqueries
Subqueries should also be aligned to the right side of the river and then laid Subqueries também devem ser alinhadas do lado direito do rio e então seguir o
out using the same style as any other query. Sometimes it will make sense to have mesmo estilo de qualquer outra query. As vezes faz sentido ter o parêntese de
the closing parenthesis on a new line at the same character position as it's fechamento em uma nova linha na mesma posição que o parêntese de abertura foi
opening partner—this is especially true where you have nested subqueries. definido—isso é especialmente importante onde você tem subqueries aninhadas.
```sql ```sql
SELECT r.last_name, SELECT r.last_name,
@ -305,16 +303,16 @@ SELECT r.last_name,
AND c.confirmed = 'Y'); AND c.confirmed = 'Y');
``` ```
### Preferred formalisms ### Formalismos preferidos
* Make use of `BETWEEN` where possible instead of combining multiple statements * Faça uso de `BETWEEN` onde possível, ao invés de combinar múltplos `AND`.
with `AND`. * De forma similar, utilize `IN()` ao invés de múltiplas cláusulas `OR`.
* Similarly use `IN()` instead of multiple `OR` clauses. * Onde um valor precisa ser interpretado antes de ser retornado pelo banco de
* Where a value needs to be interpreted before leaving the database use the `CASE` dados, use a expressão `CASE`. Cláusulas `CASE` podem ser aninhadas para formar
expression. `CASE` statements can be nested to form more complex logical structures. estruturas lógicas mais complexas.
* Avoid the use of `UNION` clauses and temporary tables where possible. If the * Evite o uso de cláusulas `UNION` e tabelas temporários quando possível. Se
schema can be optimised to remove the reliance on these features then it most o schema pode ser otimizado, removendo a dependência desses recursos, então
likely should be. é provável que essa otimização deve ser feita.
```sql ```sql
SELECT CASE postcode SELECT CASE postcode