Sie sind auf Seite 1von 5

28/10/2015

SQL Wikipdia, a enciclopdia livre

SQL
Origem:Wikipdia,aenciclopdialivre.

StructuredQueryLanguage,ouLinguagemdeConsultaEstruturadaouSQL,
alinguagemdepesquisadeclarativapadroparabancodedadosrelacional(basede
dadosrelacional).MuitasdascaractersticasoriginaisdoSQLforaminspiradasna
lgebrarelacional.
OSQLfoidesenvolvidooriginalmentenoinciodosanos70noslaboratriosda
IBMemSanJose,dentrodoprojetoSystemR,quetinhaporobjetivodemonstrara
viabilidadedaimplementaodomodelorelacionalpropostoporE.F.Codd.O
nomeoriginaldalinguagemeraSEQUEL,acrnimopara"StructuredEnglishQuery
Language"(LinguagemdeConsultaEstruturada,emIngls)[1],vindodaofactode,
athoje,asigla,emingls,sercomumentepronunciada"squel"aoinvsde"ski
l",letraaletra.Noentanto,emportugus,apronnciamaiscorrentealetraa
letra:"ssequle".
Alinguagemumgrandepadrodebancodedados.Istodecorredasua
simplicidadeefacilidadedeuso.Elasediferenciadeoutraslinguagensdeconsultaa
bancodedadosnosentidoemqueumaconsultaSQLespecificaaformado
resultadoenoocaminhoparachegaraele.Elaumalinguagemdeclarativaem
oposioaoutraslinguagensprocedurais.Istoreduzociclodeaprendizadodaqueles
queseiniciamnalinguagem.
EmboraoSQLtenhasidooriginalmentecriadopelaIBM,rapidamentesurgiram
vrios"dialectos"desenvolvidosporoutrosprodutores.Essaexpansolevou
necessidadedesercriadoeadaptadoumpadroparaalinguagem.Estatarefafoi
realizadapelaAmericanNationalStandardsInstitute(ANSI)em1986eISOem
1987.

SQLbancodedados.

ImagemdeacessoaumbancodedadosSQL

Paradigma

Multiparadigma

Surgidoem 1974
ltima
verso

SQL:2008(2008)

Criadopor

DonaldD.Chamberlin
RaymondF.Boyce

Estilode
tipagem:

Forte

Dialetos:

SQL86,SQL89,SQL92,
SQL:1999,SQL:2003,
SQL:2008

Influenciada Datalog
por
Influenciou

Agena,CQL,LINQ,Windows
PowerShell

OSQLfoirevistoem1992eaestaversofoidadoonomedeSQL92.Foirevistonovamenteem1999e2003parasetornar
SQL:1999(SQL3)eSQL:2003,respectivamente.OSQL:1999usaexpressesregularesdeemparelhamento,queriesrecursivase
gatilhos(triggers).Tambmfoifeitaumaadiocontroversadetiposnoescaladosealgumascaractersticasdeorientaoa
objeto.OSQL:2003introduzcaractersticasrelacionadasaoXML,sequnciaspadronizadasecolunascomvaloresdeauto
generalizao(inclusivecolunasidentidade).
Talcomoditoanteriormente,emborapadronizadopelaANSIeISO,possuimuitasvariaeseextensesproduzidospelos
diferentesfabricantesdesistemasgerenciadoresdebasesdedados.Tipicamentealinguagempodesermigradadeplataformapara
plataformasemmudanasestruturaisprincipais.
Outraaproximaopermitirparacdigodeidiomaproceduralserembutidoeinteragircomobancodedados.Porexemplo,o
OracleeoutrosincluemJavanabasededados,enquantooPostgreSQLpermitequefunessejamescritasemPerl,Tcl,ouC,
entreoutraslinguagens.

ndice
1Exemplo
2SubconjuntosdoSQL
2.1DMLLinguagemdeManipulaodeDados
2.2DDLLinguagemdeDefiniodeDados
2.3DCLLinguagemdeControledeDados
2.4DTLLinguagemdeTransaodeDados
2.5DQLLinguagemdeConsultadeDados
3PalavraschaveemSQL
3.1Clusulas
3.2OperadoresLgicos
3.3Operadoresrelacionais
3.4FunesdeAgregao
4SistemasdeBancodeDadosqueusamSQL
5Referncias
6Ligaesexternas
https://pt.wikipedia.org/wiki/SQL

Tabela'T' Consulta
Select*fromT
C1 C2
1
2

a
b

Resultado
C1 C2
1 a
2 b

C1 C2
1 a
2 b

SelectC1fromT

C1 C2
1 a
2 b

Select*fromTwhereC1=1 C1 C2
1 a

C1
1
2

1/5

28/10/2015

SQL Wikipdia, a enciclopdia livre

Exemplo
ApesquisaSELECT * FROM T,noexemplodatabeladireitaacima,tercomoresultadotodososelementosdetodasaslinhasda
tabelachamadaT.PartindodamesmatabelaT,apesquisaSELECT C1 FROM Ttercomoresultadotodososelementosdacoluna
C1databelaT.OresultadodapesquisaSELECT * FROM T WHERE C1=1sertodososelementosdetodasaslinhasondeovalorde
colunaC1'1'.

SubconjuntosdoSQL
AlinguagemSQLdivididaemsubconjuntosdeacordocomasoperaesquequeremosefetuarsobreumbancodedados,tais
como:

DMLLinguagemdeManipulaodeDados
OprimeirogrupoaDML(DataManipulationLanguageLinguagemdemanipulaodedados).DMLumsubconjuntoda
linguagemSQLqueutilizadopararealizarincluses,consultas,alteraeseexclusesdedadospresentesemregistros.Estas
tarefaspodemserexecutadasemvriosregistrosdediversastabelasaomesmotempo.Oscomandosquerealizamrespectivamente
asfunesacimareferidassoInsert,Select,UpdateeDelete.
funo

comandos
SQL

descriodocomando

exemplo

incluses INSERT

usadaparainserirumregistro(formalmenteuma
tupla)aumatabelaexistente.

Insert into Pessoa (id, nome, sexo) value;

alteraes UPDATE

paramudarosvaloresdedadosemumaoumais
linhasdatabelaexistente.

UPDATEPessoaSETdata_nascimento=
'11/09/1985'WHEREid_pessoa=7

excluses DELETE permiteremoverlinhasexistentesdeumatabela.

DELETEFROMpessoaWHEREid_pessoa=7

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

DDLLinguagemdeDefiniodeDados
OsegundogrupoaDDL(DataDefinitionLanguageLinguagemdeDefiniodeDados).UmaDDLpermiteaoutilizador
definirtabelasnovaseelementosassociados.AmaioriadosbancosdedadosdeSQLcomerciaistemextensesproprietriasno
DDL.
OscomandosbsicosdaDDLsopoucos:
CREATE:criaumobjeto(umaTabela,porexemplo)dentrodabasededados.
DROP:apagaumobjetodobancodedados.

AlgunssistemasdebancodedadosusamocomandoALTER,quepermiteaousurioalterarumobjeto,porexemplo,adicionando
umacolunaaumatabelaexistente.
OutroscomandosDDL:
CREATE TABLE
CREATE INDEX
CREATE VIEW
ALTER TABLE
ALTER INDEX
DROP INDEX
DROP VIEW

DCLLinguagemdeControledeDados
OterceirogrupooDCL(DataControlLanguageLinguagemdeControledeDados).DCLcontrolaosaspectosdeautorizao
dedadoselicenasdeusuriosparacontrolarquemtemacessoparaveroumanipulardadosdentrodobancodedados.
DuaspalavraschavesdaDCL:
https://pt.wikipedia.org/wiki/SQL

2/5

28/10/2015

SQL Wikipdia, a enciclopdia livre

GRANTautorizaaousurioexecutarousetaroperaes.
REVOKEremoveourestringeacapacidadedeumusuriodeexecutaroperaes.

DTLLinguagemdeTransaodeDados
BEGIN WORK(ouSTARTTRANSACTION,dependendododialetoSQL)podeserusadoparamarcarocomeodeuma

transaodebancodedadosquepodesercompletadaouno.
COMMITfinalizaumatransaodentrodeumsistemadegerenciamentodebancodedados.
ROLLBACKfazcomqueasmudanasnosdadosexistentesdesdeoltimoCOMMITouROLLBACKsejamdescartadas.
COMMITeROLLBACKinteragemcomreasdecontrolecomotransaoelocao.Ambosterminamqualquertransaoabertae

liberamqualquercadeadoligadoadados.NaausnciadeumBEGINWORKouumadeclaraosemelhante,asemnticadeSQL
dependentedaimplementao.

DQLLinguagemdeConsultadeDados
Emboratenhaapenasumcomando,aDQLapartedaSQLmaisutilizada.OcomandoSELECTpermiteaousurioespecificar
umaconsulta("query")comoumadescriodoresultadodesejado.Essecomandocompostodevriasclusulaseopes,
possibilitandoelaborarconsultasdasmaissimplessmaiselaboradas.

funo

comandos
SQL

consultas SELECT

descriodocomando
OSelectoprincipalcomandousadoemSQLpararealizarconsultasadados
pertencentesaumatabela.

exemplo
Select * From
Pessoa;

PalavraschaveemSQL
Clusulas
Asclusulassocondiesdemodificaoutilizadasparadefinirosdadosquedesejaselecionaroumodificaremumaconsulta.
FROMUtilizadaparaespecificaratabelaquesevaiselecionarosregistros.
WHEREUtilizadaparaespecificarascondiesquedevemreunirosregistrosqueseroselecionados.
GROUP BYUtilizadaparasepararosregistrosselecionadosemgruposespecficos.
HAVINGUtilizadaparaexpressaracondioquedevesatisfazercadagrupo.
ORDER BYUtilizadaparaordenarosregistrosselecionadoscomumaordemespecifica.
DISTINCTUtilizadaparaselecionardadossemrepetio.

UNIONcombinaosresultadosdeduasconsultasSQLemumanicatabelaparatodasaslinhascorrespondentes.

OperadoresLgicos
ANDElgico.Avaliaascondiesedevolveumvalorverdadeirocasoambossejamcorretos.
OROUlgico.Avaliaascondiesedevolveumvalorverdadeirosealgumforcorreto.
NOTNegaolgica.Devolveovalorcontrriodaexpresso.

Operadoresrelacionais
OSQLpossuioperadoresrelacionais,quesousadospararealizarcomparaesentrevalores,emestruturasdecontrole.
Operador

Descrio

<

Menor

>

Maior

<=

Menorouigual

>=

Maiorouigual

Igual

<>

Diferente

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

3/5

28/10/2015

SQL Wikipdia, a enciclopdia livre

BETWEENUtilizadoparaespecificarvaloresdentrodeumintervalofechado.
LIKEUtilizadonacomparaodeummodeloeparaespecificarregistrosdeumbancodedados."Like"+extenso%

significabuscartodosresultadoscomomesmoinciodaextenso.
INUtilizadoparaverificarseovalorprocuradoestdentrodeumalista.Ex.:valorIN(1,2,3,4).

FunesdeAgregao
Asfunesdeagregao,comoosexemplosabaixo,sousadasdentrodeumaclusulaSELECTemgruposderegistrospara
devolverumnicovalorqueseaplicaaumgrupoderegistros.
AVGUtilizadaparacalcularamdiadosvaloresdeumcampodeterminado.
COUNTUtilizadaparadevolveronmeroderegistrosdaseleo.
SUMUtilizadaparadevolverasomadetodososvaloresdeumcampodeterminado.
MAXUtilizadaparadevolverovalormaisaltodeumcampoespecificado.
MINUtilizadaparadevolverovalormaisbaixodeumcampoespecificado.

SistemasdeBancodeDadosqueusamSQL
SybaseAdvantageDatabaseServer(http://www.sybase.com.br/products/databasemanagement/advantagedatabaseserver)
ApacheDerby
Cach
DB2
Firebird
HSQLDB(bancodedadosimplementadoemJava)
IDMS(bancodedadoshierrquico)
IMS(bancodedadoshierrquico)
Informix
Ingres
InterBase
MicrosoftAccess
MicrosoftSQLServer
MySQL
Oracle
PointBaseMicro(bancodedadosrelacionalimplementadoemJava)
PostgreSQL
SQLite
LiteBaseMobile(dedicadoplataformasmveiscomo:PalmOS,PocketPC,WinCE,Symbian)
SybaseAdaptiveServerEnterprise
Teradata(primeiroRDBMScomarquiteturaparaleladomercado)

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.,andYost,R.A.1981.Ahistoryandevaluationof
SystemR.Commun.ACM24,10(Oct.1981),632646.http://doi.acm.org/10.1145/358769.358784
Navathe,S.B.andElmasri,R..SistemasdebancodedadosFundamentoseaplicaes.LTC:2002.

Ligaesexternas
PadroSQL2003(http://www.acm.org/sigmod/record/issues/0403/index.html#standards)(emingls)
SQLtutorial(http://sqlwoz.com)
JupitermediaCorporation'sonlineSQLtutorial(http://sqlcourse.com/)(emingls)
AGentleIntroductiontoSQLbyAndrewCumming(http://sqlzoo.net/)(emingls)
DatabaseDebunking(http://www.dbdebunk.com/)(emingls)
OnlineSQLFormatter(http://www.textutils.com/sqlformatter)(emingls)
CursodeSQLGratuito
(http://www.softblue.com.br/site/curso/id/3/CURSO+SQL+COMPLETO+BASICO+AO+AVANCADO+ON+LINE+BD03)
(emportugus)
SQLforbeginners(http://www.cfxweb.net/modules.php?name=News&file=article&sid=161)(emingls)
OracleSQLFAQ(http://www.orafaq.com/faqsql.htm)(emingls)
LiteBase(http://www.litebase.org/)(emportugus)
TutorialdeSQL(http://www.1keydata.com/pt/sql/)(emportugus)
OracleSQLtutorials(http://freeitsolutions.com/oracletutorials/?search=sql)(emingls)

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

4/5

28/10/2015

SQL Wikipdia, a enciclopdia livre

Obtidade"https://pt.wikipedia.org/w/index.php?title=SQL&oldid=43575888"
Categorias: SGBDs Linguagensdecomputador Linguagensdeprogramaodeclarativas
Linguagensdemodelagemdedados Linguagensdeconsulta SQL
Estapginafoimodificadapelaltimavez(s)09h46minde5deoutubrode2015.
EstetextodisponibilizadonostermosdalicenaCreativeCommonsAtribuioCompartilhaIgual3.0NoAdaptada
(CCBYSA3.0)podeestarsujeitoacondiesadicionais.Paramaisdetalhes,consulteasCondiesdeUso.

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

5/5

Das könnte Ihnen auch gefallen