sql – wikipédia, a enciclopédia livre

Upload: roberto-reis

Post on 21-Feb-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/24/2019 SQL Wikipdia, A Enciclopdia Livre

    1/5

    28/10/2015 SQL Wikipdia, a enciclopdia livre

    https://pt.wikipedia.org/wiki/SQL 1/5

    SQL banco de dados.

    Imagem de acesso a um banco de dados SQL

    Paradigma Multiparadigma

    Surgido em 1974

    ltimaverso

    SQL:2008 (2008)

    Criado por Donald D. ChamberlinRaymond F. Boyce

    Estilo detipagem:

    Forte

    Dialetos: SQL-86, SQL-89, SQL-92,SQL:1999, SQL:2003,SQL:2008

    Influenciadapor

    Datalog

    Influenciou Agena, CQL,LINQ, WindowsPowerShell

    Tabela 'T' Consulta Resultado

    C1 C2

    1 a

    2 b

    Select * from T C1 C2

    1 a

    2 b

    C1 C2

    1 a

    2 b

    Select C1 from T C1

    1

    2

    C1 C2

    1 a

    2 b

    Select * from T where C1=1 C1 C2

    1 a

    SQL

    Origem: Wikipdia, a enciclopdia livre.

    Structured Query Language, ou Linguagem de Consulta Estruturadaou SQL, a linguagem de pesquisa declarativa padro para banco de dados relacional (base dedados relacional). Muitas das caractersticas originais do SQL foram inspiradas na

    lgebra relacional.O SQLfoi desenvolvido originalmente no incio dos anos 70 nos laboratrios daIBM em San Jose, dentro do projeto System R, que tinha por objetivo demonstrar aviabilidade da implementao do modelo relacional proposto por E. F. Codd. Onome original da linguagem era SEQUEL,acrnimo para "Structured English Query

    Language"(Linguagem de Consulta Estruturada, em Ingls)[1], vindo da o facto de,at hoje, a sigla, em ingls, ser comumente pronunciada "squel" ao invs de "s-ki-l", letra a letra. No entanto, em portugus, a pronncia mais corrente a letra aletra: "sse-qu-le".

    A linguagem um grande padro de banco de dados. Isto decorre da suasimplicidade e facilidade de uso. Ela se diferencia de outras linguagensde consulta abanco de dados no sentido em que uma consulta SQL especifica a forma doresultado e no o caminho para chegar a ele. Ela uma linguagem declarativa emoposio a outras linguagens procedurais. Isto reduz o ciclo de aprendizado daquelesque se iniciam na linguagem.

    Embora o SQL tenha sido originalmente criado pela IBM, rapidamente surgiramvrios "dialectos" desenvolvidos por outros produtores. Essa expanso levou necessidade de ser criado e adaptado um padro para a linguagem. Esta tarefa foirealizada pela American National Standards Institute (ANSI) em 1986 e ISO em1987.

    O SQL foi revisto em 1992 e a esta verso foi dado o nome de SQL-92. Foi revisto novamente em 1999 e 2003 para se tornar

    SQL:1999 (SQL3) e SQL:2003, respectivamente. O SQL:1999 usa expresses regulares de emparelhamento, queriesrecursivas egatilhos (triggers). Tambm foi feita uma adio controversa de tipos no-escalados e algumas caractersticas de orientao aobjeto. O SQL:2003 introduz caractersticas relacionadas ao XML, sequncias padronizadas e colunas com valores de auto-generalizao (inclusive colunas-identidade).

    Tal como dito anteriormente, embora padronizado pela ANSI e ISO, possui muitas variaes e extenses produzidos pelosdiferentes fabricantes de sistemas gerenciadores de bases de dados. Tipicamente a linguagem pode ser migrada de plataforma paraplataforma sem mudanas estruturais principais.

    Outra aproximao permitir para cdigo de idioma procedural ser embutido e interagir com o banco de dados. Por exemplo, oOracle e outros incluem Java na base de dados, enquanto o PostgreSQL permite que funes sejam escritas em Perl, Tcl, ou C,entre outras linguagens.

    ndice

    1 Exemplo2 Subconjuntos do SQL

    2.1 DML - Linguagem de Manipulao de Dados2.2 DDL - Linguagem de Definio de Dados2.3 DCL - Linguagem de Controle de Dados2.4 DTL - Linguagem de Transao de Dados2.5 DQL - Linguagem de Consulta de Dados

    3 Palavras-chave em SQL3.1 Clusulas3.2 Operadores Lgicos3.3 Operadores relacionais3.4 Funes de Agregao

    4 Sistemas de Banco de Dados que usam SQL5 Referncias6 Ligaes externas

    http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-https://pt.wikipedia.org/wiki/Oracle_(banco_de_dados)https://pt.wikipedia.org/wiki/Linguagem_de_programa%C3%A7%C3%A3o_Javahttps://pt.wikipedia.org/wiki/PostgreSQLhttps://pt.wikipedia.org/wiki/Perlhttps://pt.wikipedia.org/wiki/Tclhttps://pt.wikipedia.org/wiki/Sistema_de_gerenciamento_de_banco_de_dadoshttps://pt.wikipedia.org/wiki/Express%C3%B5es_regulareshttps://pt.wikipedia.org/wiki/1992https://pt.wikipedia.org/wiki/1999https://pt.wikipedia.org/wiki/2003https://pt.wikipedia.org/wiki/1987https://pt.wikipedia.org/wiki/Windows_PowerShellhttps://pt.wikipedia.org/wiki/Dataloghttps://pt.wikipedia.org/wiki/Tipo_de_dadohttps://pt.wikipedia.org/w/index.php?title=Raymond_F._Boyce&action=edit&redlink=1https://pt.wikipedia.org/wiki/Vers%C3%A3ohttps://pt.wikipedia.org/wiki/Ficheiro:Sql_ledger_login.pnghttps://pt.wikipedia.org/wiki/Modelo_relacionalhttps://pt.wikipedia.org/wiki/Edgar_Frank_Coddhttps://pt.wikipedia.org/wiki/Ficheiro:Sql_ledger_login.pnghttps://pt.wikipedia.org/wiki/Ficheiro:Sql_ledger_login.pnghttps://pt.wikipedia.org/wiki/%C3%81lgebra_relacionalhttps://pt.wikipedia.org/wiki/Ficheiro:Sql_ledger_login.pnghttp://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-https://pt.wikipedia.org/wiki/C_(linguagem_de_programa%C3%A7%C3%A3o)https://pt.wikipedia.org/wiki/Tclhttps://pt.wikipedia.org/wiki/Perlhttps://pt.wikipedia.org/wiki/PostgreSQLhttps://pt.wikipedia.org/wiki/Linguagem_de_programa%C3%A7%C3%A3o_Javahttps://pt.wikipedia.org/wiki/Oracle_(banco_de_dados)https://pt.wikipedia.org/wiki/Banco_de_dadoshttps://pt.wikipedia.org/wiki/Sistema_de_gerenciamento_de_banco_de_dadoshttps://pt.wikipedia.org/wiki/XMLhttps://pt.wikipedia.org/wiki/Orienta%C3%A7%C3%A3o_a_objetohttps://pt.wikipedia.org/wiki/Gatilho_(banco_de_dados)https://pt.wikipedia.org/wiki/Express%C3%B5es_regulareshttps://pt.wikipedia.org/wiki/2003https://pt.wikipedia.org/wiki/1999https://pt.wikipedia.org/wiki/1992https://pt.wikipedia.org/wiki/1987https://pt.wikipedia.org/wiki/Organiza%C3%A7%C3%A3o_Internacional_para_Padroniza%C3%A7%C3%A3ohttps://pt.wikipedia.org/wiki/1986https://pt.wikipedia.org/wiki/American_National_Standards_Institutehttp://-/?-https://pt.wikipedia.org/wiki/Edgar_Frank_Coddhttps://pt.wikipedia.org/wiki/Modelo_relacionalhttps://pt.wikipedia.org/wiki/System_Rhttps://pt.wikipedia.org/wiki/International_Business_Machineshttps://pt.wikipedia.org/wiki/%C3%81lgebra_relacionalhttps://pt.wikipedia.org/wiki/Banco_de_dados_relacionalhttps://pt.wikipedia.org/wiki/Windows_PowerShellhttps://pt.wikipedia.org/wiki/LINQhttps://pt.wikipedia.org/w/index.php?title=Common_Query_Language&action=edit&redlink=1https://pt.wikipedia.org/wiki/Agenahttps://pt.wikipedia.org/wiki/Dataloghttps://pt.wikipedia.org/w/index.php?title=SQL:2008&action=edit&redlink=1https://pt.wikipedia.org/w/index.php?title=SQL:2003&action=edit&redlink=1https://pt.wikipedia.org/w/index.php?title=SQL:1999&action=edit&redlink=1https://pt.wikipedia.org/w/index.php?title=SQL-92&action=edit&redlink=1https://pt.wikipedia.org/wiki/Tipo_de_dadohttps://pt.wikipedia.org/w/index.php?title=Raymond_F._Boyce&action=edit&redlink=1https://pt.wikipedia.org/wiki/Donald_Chamberlinhttps://pt.wikipedia.org/wiki/Vers%C3%A3ohttps://pt.wikipedia.org/wiki/Multiparadigmahttps://pt.wikipedia.org/wiki/Paradigma_de_programa%C3%A7%C3%A3ohttps://pt.wikipedia.org/wiki/Ficheiro:Sql_ledger_login.png
  • 7/24/2019 SQL Wikipdia, A Enciclopdia Livre

    2/5

    28/10/2015 SQL Wikipdia, a enciclopdia livre

    https://pt.wikipedia.org/wiki/SQL 2/5

    Exemplo

    A pesquisa SELECT * FROM T, no exemplo da tabela direita acima, ter como resultado todos os elementos de todas as linhas databela chamada T. Partindo da mesma tabela T, a pesquisa SELECT C1 FROM Tter como resultado todos os elementos da colunaC1 da tabela T. O resultado da pesquisa SELECT * FROM T WHERE C1=1ser todos os elementos de todas as linhas onde o valor decoluna C1 '1'.

    Subconjuntos do SQL

    A linguagem SQL dividida em subconjuntos de acordo com as operaes que queremos efetuar sobre um banco de dados, taiscomo:

    DML - Linguagem de Manipulao de Dados

    O primeiro grupo a DML (Data Manipulation Language - Linguagem de manipulao de dados). DML um subconjunto dalinguagem SQL que utilizado para realizar incluses, consultas, alteraes e excluses de dados presentes em registros. Estastarefas podem ser executadas em vrios registros de diversas tabelas ao mesmo tempo. Os comandos que realizam respectivamenteas funes acima referidas so Insert, Select, Update e Delete.

    funo comandos

    SQL descrio do comando exemplo

    incluses INSERT usada para inserir um registro (formalmente uma

    tupla) a uma tabela existente.Insert into Pessoa (id, nome, sexo) value;

    alteraes UPDATE para mudar os valores de dados em uma ou mais

    linhas da tabela existente.UPDATE Pessoa SET data_nascimento ='11/09/1985' WHERE id_pessoa = 7

    excluses DELETE permite remover linhas existentes de uma tabela. DELETE FROM pessoa WHERE id_pessoa = 7

    possvel inserir dados na tabela AREAusando o INSERT INTO:

    Insert into AREA (arecod, aredes) values (100, "Informtica"), (200, "Turismo"), (300, "Higiene e Beleza");

    DDL - Linguagem de Definio de Dados

    O segundo grupo a DDL (Data Definition Language - Linguagem de Definio de Dados). Uma DDL permite ao utilizadordefinir tabelas novas e elementos associados. A maioria dos bancos de dados de SQL comerciais tem extenses proprietrias noDDL.

    Os comandos bsicos da DDL so poucos:

    CREATE: cria um objeto (uma Tabela, por exemplo) dentro da base de dados.DROP: apaga um objeto do banco de dados.

    Alguns sistemas de banco de dados usam o comando ALTER, que permite ao usurio alterar um objeto, por exemplo, adicionandouma coluna a uma tabela existente.

    Outros comandosDDL:

    CREATE TABLE

    CREATE INDEX

    CREATE VIEW

    ALTER TABLE

    ALTER INDEX

    DROP INDEX

    DROP VIEW

    DCL - Linguagem de Controle de DadosO terceiro grupo o DCL (Data Control Language - Linguagem de Controle de Dados). DCL controla os aspectos de autorizaode dados e licenas de usurios para controlar quem tem acesso para ver ou manipular dados dentro do banco de dados.

    Duas palavras-chaves da DCL:

    https://pt.wikipedia.org/wiki/Linguagem_de_controle_de_dadoshttps://pt.wikipedia.org/wiki/Tabelas_(banco_de_dados)https://pt.wikipedia.org/wiki/DDLhttps://pt.wikipedia.org/wiki/DMLhttps://pt.wikipedia.org/wiki/DML
  • 7/24/2019 SQL Wikipdia, A Enciclopdia Livre

    3/5

    28/10/2015 SQL Wikipdia, a enciclopdia livre

    https://pt.wikipedia.org/wiki/SQL 3/5

    GRANT- autoriza ao usurio executar ou setar operaes.

    REVOKE- remove ou restringe a capacidade de um usurio de executar operaes.

    DTL - Linguagem de Transao de Dados

    BEGIN WORK(ou START TRANSACTION, dependendo do dialeto SQL) pode ser usado para marcar o comeo de umatransao de banco de dados que pode ser completada ou no.

    COMMITfinaliza uma transao dentro de um sistema de gerenciamento de banco de dados.

    ROLLBACKfaz com que as mudanas nos dados existentes desde o ltimo COMMIT ou ROLLBACK sejam descartadas.

    COMMITe ROLLBACKinteragem com reas de controle como transao e locao. Ambos terminam qualquer transao aberta eliberam qualquer cadeado ligado a dados. Na ausncia de um BEGIN WORK ou uma declarao semelhante, a semntica de SQL dependente da implementao.

    DQL - Linguagem de Consulta de Dados

    Embora tenha apenas um comando, a DQL a parte da SQL mais utilizada. O comando SELECT permite ao usurio especificaruma consulta ("query") como uma descrio do resultado desejado. Esse comando composto de vrias clusulas e opes,possibilitando elaborar consultas das mais simples s mais elaboradas.

    funo comandos

    SQL descrio do comando exemplo

    consultas SELECT O Select o principal comando usado em SQL para realizar consultas a dados

    pertencentes a uma tabela.Select * From

    Pessoa;

    Palavras-chave em SQL

    Clusulas

    As clusulas so condies de modificao utilizadas para definir os dados que deseja selecionar ou modificar em uma consulta.

    FROM Utilizada para especificar a tabela que se vai selecionar os registros.WHERE Utilizada para especificar as condies que devem reunir os registros que sero selecionados.GROUP BY Utilizada para separar os registros selecionados em grupos especficos.HAVING Utilizada para expressar a condio que deve satisfazer cada grupo.ORDER BY Utilizada para ordenar os registros selecionados com uma ordem especifica.DISTINCT Utilizada para selecionar dados sem repetio.UNION - combina os resultados de duas consultas SQL em uma nica tabela para todas as linhas correspondentes.

    Operadores Lgicos

    AND E lgico. Avalia as condies e devolve um valor verdadeiro caso ambos sejam corretos.OR OU lgico. Avalia as condies e devolve um valor verdadeiro se algum for correto.NOT Negao lgica. Devolve o valor contrrio da expresso.

    Operadores relacionais

    O SQL possui operadores relacionais, que so usados para realizar comparaes entre valores, em estruturas de controle.

    Operador Descrio

    < Menor

    > Maior

    = Maior ou igual

    = Igual

    Diferente

    https://pt.wikipedia.org/wiki/Opera%C3%A7%C3%B5es_SET_(SQL)https://pt.wikipedia.org/w/index.php?title=Order_by&action=edit&redlink=1https://pt.wikipedia.org/w/index.php?title=Having_(SQL)&action=edit&redlink=1https://pt.wikipedia.org/w/index.php?title=Where_(SQL)&action=edit&redlink=1https://pt.wikipedia.org/w/index.php?title=From_(SQL)&action=edit&redlink=1https://pt.wikipedia.org/wiki/Select_(SQL)
  • 7/24/2019 SQL Wikipdia, A Enciclopdia Livre

    4/5

    28/10/2015 SQL Wikipdia, a enciclopdia livre

    https://pt.wikipedia.org/wiki/SQL 4/5

    BETWEEN Utilizado para especificar valores dentro de um intervalo fechado.LIKE Utilizado na comparao de um modelo e para especificar registros de um banco de dados. "Like" + extenso %significa buscar todos resultados com o mesmo incio da extenso.IN- Utilizado para verificar se o valor procurado est dentro de um a lista. Ex.: valor IN (1,2,3,4).

    Funes de Agregao

    As funes de agregao, como os exemplos abaixo, so usadas dentro de uma clusula SELECT em grupos de registros paradevolver um nico valor que se aplica a um grupo de registros.

    AVG Utilizada para calcular a mdia dos valores de um campo determinado.COUNT Utilizada para devolver o nmero de registros da seleo.SUM Utilizada para devolver a soma de todos os valores de um campo determinado.MAX Utilizada para devolver o valor mais alto de um campo especificado.MIN Utilizada para devolver o valor mais baixo de um campo especificado.

    Sistemas de Banco de Dados que usam SQL

    Sybase Advantage Database Server (http://www.sybase.com.br/products/databasemanagement/advantagedatabaseserver)Apache DerbyCachDB2

    FirebirdHSQLDB (banco de dados implementado em Java)IDMS (banco de dados hierrquico)IMS (banco de dados hierrquico)InformixIngresInterBaseMicrosoft AccessMicrosoft SQL ServerMySQLOraclePointBase Micro (banco de dados relacional implementado em Java)PostgreSQLSQLiteLiteBase Mobile (dedicado plataformas mveis como: Palm OS, Pocket PC, WinCE, Symbian)Sybase Adaptive Server EnterpriseTeradata (primeiro RDBMS com arquitetura paralela do mercado)

    Referncias

    1. Chamberlin, D. D., Astrahan, M. M., Blasgen, M. W., Gray, J. N., King, W. F., Lindsay, B. G., Lorie, R., Mehl, J. W., Price, T. G.,Putzolu, F., Selinger, P. G., Schkolnick, M., Slutz, D. R., Traiger, I. L., Wade, B. W., and Yost, R. A. 1981. A history and evaluation ofSystem R. Commun. ACM 24, 10 (Oct. 1981), 632-646. http://doi.acm.org/10.1145/358769.358784

    Navathe, S. B. and Elmasri, R.. Sistemas de banco de dados Fundamentos e aplicaes. LTC: 2002.

    Ligaes externas

    Padro SQL 2003 (http://www.acm.org/sigmod/record/issues/0403/index.html#standards) (em ingls)SQL tutorial (http://sqlwoz.com)Jupitermedia Corporation's online SQL tutorial (http://sqlcourse.com/) (em ingls)

    A Gentle Introduction to SQLby Andrew Cumming (http://sqlzoo.net/) (em ingls)Database Debunking (http://www.dbdebunk.com/) (em ingls)Online SQL Formatter (http://www.text-utils.com/sql-formatter) (em ingls)Curso de SQL Gratuito(http://www.softblue.com.br/site/curso/id/3/CURSO+SQL+COMPLETO+BASICO+AO+AVANCADO+ON+LINE+BD03)(em portugus)SQL for beginners (http://www.cfxweb.net/modules.php?name=News&file=article&sid=161) (em ingls)Oracle SQL FAQ (http://www.orafaq.com/faqsql.htm) (em ingls)LiteBase (http://www.litebase.org/) (em portugus)Tutorial de SQL (http://www.1keydata.com/pt/sql/) (em portugus)Oracle SQL tutorials (http://freeitsolutions.com/oracle-tutorials/?search=sql) (em ingls)

    https://pt.wikipedia.org/wiki/L%C3%ADngua_inglesahttp://freeitsolutions.com/oracle-tutorials/?search=sqlhttps://pt.wikipedia.org/wiki/L%C3%ADngua_portuguesahttp://www.1keydata.com/pt/sql/https://pt.wikipedia.org/wiki/L%C3%ADngua_portuguesahttp://www.litebase.org/https://pt.wikipedia.org/wiki/L%C3%ADngua_inglesahttp://www.orafaq.com/faqsql.htmhttps://pt.wikipedia.org/wiki/L%C3%ADngua_inglesahttp://www.cfxweb.net/modules.php?name=News&file=article&sid=161https://pt.wikipedia.org/wiki/L%C3%ADngua_portuguesahttp://www.softblue.com.br/site/curso/id/3/CURSO+SQL+COMPLETO+BASICO+AO+AVANCADO+ON+LINE+BD03https://pt.wikipedia.org/wiki/L%C3%ADngua_inglesahttp://www.text-utils.com/sql-formatterhttps://pt.wikipedia.org/wiki/L%C3%ADngua_inglesahttp://www.dbdebunk.com/https://pt.wikipedia.org/wiki/L%C3%ADngua_inglesahttp://sqlzoo.net/https://pt.wikipedia.org/wiki/L%C3%ADngua_inglesahttp://sqlcourse.com/http://sqlwoz.com/https://pt.wikipedia.org/wiki/L%C3%ADngua_inglesahttp://www.acm.org/sigmod/record/issues/0403/index.html#standardshttp://doi.acm.org/10.1145/358769.358784https://pt.wikipedia.org/wiki/RDBMShttps://pt.wikipedia.org/wiki/Teradatahttps://pt.wikipedia.org/wiki/Sybasehttps://pt.wikipedia.org/w/index.php?title=LiteBase_Mobile&action=edit&redlink=1https://pt.wikipedia.org/wiki/SQLitehttps://pt.wikipedia.org/wiki/PostgreSQLhttps://pt.wikipedia.org/wiki/PointBase_Microhttps://pt.wikipedia.org/wiki/Oracle_(banco_de_dados)https://pt.wikipedia.org/wiki/MySQLhttps://pt.wikipedia.org/wiki/Microsoft_SQL_Serverhttps://pt.wikipedia.org/wiki/Microsoft_Accesshttps://pt.wikipedia.org/wiki/InterBasehttps://pt.wikipedia.org/wiki/Ingres_(SGBD)https://pt.wikipedia.org/wiki/Informixhttps://pt.wikipedia.org/wiki/IMShttps://pt.wikipedia.org/w/index.php?title=IDMS&action=edit&redlink=1https://pt.wikipedia.org/wiki/Java_(linguagem_de_programa%C3%A7%C3%A3o)https://pt.wikipedia.org/wiki/HSQLDBhttps://pt.wikipedia.org/wiki/Firebird_(servidor_de_base_de_dados)https://pt.wikipedia.org/wiki/DB2https://pt.wikipedia.org/wiki/Cach%C3%A9https://pt.wikipedia.org/wiki/Apache_Derbyhttp://www.sybase.com.br/products/databasemanagement/advantagedatabaseserverhttps://pt.wikipedia.org/wiki/Intervalo_(matem%C3%A1tica)
  • 7/24/2019 SQL Wikipdia, A Enciclopdia Livre

    5/5

    28/10/2015 SQL Wikipdia, a enciclopdia livre

    https://pt.wikipedia.org/wiki/SQL 5/5

    Obtida de "https://pt.wikipedia.org/w/index.php?title=SQL&oldid=43575888"

    Categorias: SGBDs Linguagens de computador Linguagens de programao declarativasLinguagens de modelagem de dados Linguagens de consulta SQL

    Esta pgina foi modificada pela ltima vez (s) 09h46min de 5 de outubro de 2015.Este texto disponibilizado nos termos da licena Creative Commons - Atribuio - Compartilha Igual 3.0 No Adaptada(CC BY-SA 3.0) pode estar sujeito a condies adicionais. Para mais detalhes, consulte as Condies de Uso.

    https://wikimediafoundation.org/wiki/Condi%C3%A7%C3%B5es_de_Usohttps://creativecommons.org/licenses/by-sa/3.0/deed.pthttps://pt.wikipedia.org/wiki/Categoria:SQLhttps://pt.wikipedia.org/wiki/Categoria:Linguagens_de_consultahttps://pt.wikipedia.org/wiki/Categoria:Linguagens_de_modelagem_de_dadoshttps://pt.wikipedia.org/wiki/Categoria:Linguagens_de_programa%C3%A7%C3%A3o_declarativashttps://pt.wikipedia.org/wiki/Categoria:Linguagens_de_computadorhttps://pt.wikipedia.org/wiki/Categoria:SGBDshttps://pt.wikipedia.org/wiki/Especial:Categoriashttps://pt.wikipedia.org/w/index.php?title=SQL&oldid=43575888