QUEL
Este artigo não cita fontes confiáveis. (agosto de 2020) |
A QUEL é uma antiga linguagem de consulta para bancos de dados relacionais.
A QUEL é muito similar à SQL, mas ela é mais fácil de usar e tem uma escrita mais simples. Ela foi criada como parte do desenvolvimento do Ingres, na Universidade de Berkeley, Califórnia, baseada nas sugestões da linguagem não implementada de E. F. Codd. A QUEL foi usada por um curto período nos programas baseado dos códigos do Ingres, mais notadamente o Informix.
Diferença entre QUEL e SQL
De muitas formas, a QUEL é similar ao SQL. Uma diferença é que as declarações da QUEL são definidas com tuplas variáveis, onde podem ser usadas limitando as entradas ou retornando os resultados.
| Aluno | Materia | Nota | Situação |
|---|---|---|---|
| Alberto | Calculo | 10 | Aprovado |
| Lucas | Banco de Dados | 4 | Reprovado |
| Andréia | Programação | 7 | Aprovado |
| Lucas | Calculo | 4.9 | Reprovado |
| Mariana | Fisica | 7 | Aprovado |
| Fernando | Calculo | 5 | Aprovado |
Um exemplo baseado nos dados acima é mostrado. Queremos pesquisar os nomes de todos os alunos que foram aprovados nas matérias.
range of busca is universidade retrieve nome = busca.Aluno where busca.nota >= 5
Nesta busca, nome é o nome da tupla a ser mostrada. Neste caso, todas as linhas contendo nota>=5 serão mostradas. Fazendo o mesmo exemplo em SQL percebemos o quanto elas são parecidas:
select busca.Aluno as nome from universidade as busca where busca.nota >= 5
Vamos considerar agora um exemplo para criar a tabela universidade, inserir uma linha de informação, e acessar e modificar uma informação dentro dela. Em QUEL temos:
create universidade (Aluno = c20, Materia = c15, Nota = i2, Situação = c10) append to universidade(Aluno = "Mariana", Materia = "Fisica", Nota = 7, Situação = "Aprovada")
range of P is universidade retrieve (busca.all) where P.materia = "fisica print P
range of P is universidade replace universidade(Nota = p.Nota + 1) print P
Abaixo está a mesma declaração em SQL:
create table universidade (Aluno char(20), Materia char(15), Nota int, Situação char(10)
insert universidade (Aluno, Materia, Nota, Situação), values ("Mariana", "Fisica", 7, "Aprovada")
select from universidade as p where p.Materia = "Fisica"
update universidade set Nota = Nota + 1
Note que cada comando em QUEL usa uma sintaxe única, porém em SQL, cada comando similar como INSERT e UPDATE usa estilos completamente diferentes.
Outra vantagem da QUEL foi construir um sistema interno para movimentar uma grande massa de dados para fora do banco de dados. Considere o comando:
copy universidade(Aluno=c0, comma=d1, Materia=c0, comma=d1, Nota=c0, comma=d1, situação=c0, nl=d1) into "/estudantes.txt"
que cria uma vírgula como delimitador de campo para cada registro na tabela universidade. O d1 indica um delimitador, ao invés de um tipo de dados. Modificando o into para from revertemos o processo. Comandos similares estão disponíveis em muitos sistemas SQL, mas geralmente como ferramentas externas, ao invés de serem internos à linguagem SQL. Isso os torna indisponíveis para as "stored procedures" ("funções armazenadas").
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.