An open API service indexing awesome lists of open source software.

https://github.com/designliquido/lincones

Especificação da Linguagem de Consulta Estruturada, ou SQL em português
https://github.com/designliquido/lincones

hacktoberfest portugues portuguese sql

Last synced: 3 months ago
JSON representation

Especificação da Linguagem de Consulta Estruturada, ou SQL em português

Awesome Lists containing this project

README

          

# LinConEs











Acompanhe a Design Líquido nas redes sociais:







LinConEs = Linguagem de Consulta Estruturada, ou SQL em português (Structured Query Language).

Aqui é apenas o repositório da especificação comum da linguagem. Implementações ficam em outros repositórios da Design Líquido, e demais especificidades de cada tecnologia também.

## Motivação

A mesma das outras linguagens de programação em português da Design Líquido:

- Melhorar o acesso a leigos;
- Quebrar a barreira do inglês;

## Especificação

LinConEs segue o mesmo padrão de SQL, que é de consultar o banco de dados usando uma sintaxe muito parecida com a linguagem natural. Por exemplo:

```sql
SELECIONAR NOME, EMAIL
DE USUARIOS
ONDE ID = 1
```

O que traduz para SQL ANSI como:

```sql
SELECT NOME, EMAIL
FROM USUARIOS
WHERE ID = 1
```

### Seleção de dados

```sql
SELECIONAR NOME, EMAIL
DE USUARIOS
ONDE ID = 1
```

Tradução:

```sql
SELECT NOME, EMAIL
FROM USUARIOS
WHERE ID = 1
```

### Inserção de dados

```sql
INSERIR EM USUARIOS (NOME, EMAIL)
VALORES ("Irmão do Jorel", "irmao@jorel.com")
```

Tradução:

```sql
INSERT INTO USUARIOS (NOME, EMAIL)
VALUES ("Irmão do Jorel", "irmao@jorel.com")
```

### Atualização de dados

```sql
ATUALIZAR USUARIOS
DEFINIR EMAIL = "jorel@jorel.com"
ONDE ID = 2
```

Tradução:

```sql
UPDATE USUARIOS
SET EMAIL = "jorel@jorel.com"
WHERE ID = 2
```

### Exclusão de dados

```sql
EXCLUIR USUARIOS
ONDE ID = 2
```

Tradução:

```sql
DELETE FROM USUARIOS
WHERE ID = 2
```

### Criação de tabelas

```sql
CRIAR TABELA clientes(
ID INTEIRO NAO NULO CHAVE PRIMARIA AUTO INCREMENTO,
NOME TEXTO(100) NAO NULO,
IDADE INTEIRO NAO NULO,
EMAIL TEXTO(255) NULO,
ATIVO LOGICO NAO NULO
);
```

Tradução:

```sql
CREATE TABLE clientes(
ID INT NOT NULL PRIMARY KEY AUTOINCREMENT,
NOME VARCHAR(100) NOT NULL,
IDADE INT NOT NULL,
EMAIL VARCHAR(255) NULL,
ATIVO BOOLEAN NOT NULL
);
```

### Alteração de Tabelas

O comando para alterar tabelas permite realizar diversas operações, como:

### Adicionar Coluna

```sql
ALTERAR TABELA usuarios
ADICIONAR COLUNA email TEXTO(80);
```

Tradução:

```sql
ALTER TABLE USUARIOS
ADD COLUMN email VARCHAR(80);
```

### Modificar Coluna

```sql
ALTERAR TABELA usuarios
MODIFICAR COLUNA nome
TEXTO(100);
```

Tradução:

```sql
ALTER TABLE usuarios
MODIFY COLUMN nome
VARCHAR(100);
```

### Remover Coluna

```sql
ALTERAR TABELA produtos
EXCLUIR COLUNA descricao;
```

Ou

```sql
ALTERAR TABELA produtos
REMOVER COLUNA descricao;
```

Tradução:

```sql
ALTER TABLE produtos
DROP COLUMN descricao;
```

### Renomear Coluna

```sql
ALTERAR TABELA usuarios
RENOMEAR COLUNA email PARA correio_eletronico;
```

Tradução:

```sql
ALTER TABLE usuarios
RENAME COLUMN email TO correio_eletronico;
```

Importante: o comando de renomear coluna tem diferentes implementações dependendo da tecnologia.

### Adicionar Restrição

```sql
ALTERAR TABELA pedidos
ADICIONAR RESTRIÇÃO chave_estrang
CHAVE ESTRANGEIRA (cliente_id)
REFERENCIA clientes (id);
```

Tradução:

```sql
ALTER TABLE pedidos
ADD CONSTRAINT chave_estrang
FOREIGN KEY (cliente_id)
REFERENCES clientes (id);
```

### Remover Restrição

```sql
ALTERAR TABELA fornecedores
REMOVER RESTRIÇÃO unique_nome;
```

Tradução:

```sql
ALTER TABLE fornecedores
DROP CONSTRAINT unique_nome;
```

## Implementações

- https://github.com/DesignLiquido/lincones-mysql
- https://github.com/DesignLiquido/lincones-postgresql
- https://github.com/DesignLiquido/lincones-sqlite