A tarefa de desenvolver software que necessita realizar acesso a informações contidas em bancos de dados de diferentes fabricantes pode se tornar um tanto complexa por existirem particularidades na utilização de instruções SQL em cada SGBD. Neste contexto, o objetivo deste artigo é demonstrar as principais diferenças entre as instruções SQL utilizadas nos SGBDs Oracle, Microsoft SQL Server e MySQL.
Em que situação o tema útil:
Devido à constante evolução no mundo dos negócios, em muitas empresas surge a necessidade de desenvolver softwares que tenham acesso a informações contidas nos mais variados bancos de dados, que muitas vezes não são de um único fabricante. Sendo assim, os desenvolvedores precisam saber utilizar a linguagem SQL e suas variações de maneira a trabalhar com os SGBDs envolvidos no processo.
Resumo DevMan
Neste artigo serão abordadas as principais diferenças nas instruções SQL utilizadas pelos SGBDs Oracle, SQL Server e MySQL, tendo como objetivo demonstrar as particularidades de cada um deles.
Com a grande evolução dos recursos de tecnologia da informação (TI), atualmente as organizações não podem deixar de acompanhar os avanços tecnológicos oferecidos. Algumas empresas procuram novas tecnologias para ter um diferencial competitivo no mercado, porém outras buscam inovações por uma questão de necessidade, como é o caso de organizações que sofrem uma evolução rápida em seus negócios.
Essa evolução pode envolver diversas tecnologias e produtos de diferentes fabricantes. Um grande exemplo disso é a utilização dos mais diferentes SGBDs, onde inicialmente as organizações não possuem um planejamento para esse tipo de situação e muitas vezes acabam por sentir a necessidade de adquirir ou desenvolver um novo sistema para melhorar o fluxo de informações interno ou até mesmo externo.
Outra situação muito comum em que podemos destacar a utilização de SGBDs de diferentes fabricantes são as fusões corporativas, onde as informações contidas nos sistemas das empresas envolvidas no processo não podem ser descartadas, necessitando assim realizar o acesso às diferentes bases de dados utilizadas por cada sistema envolvido no processo.
O acesso a estas informações pode se tornar uma tarefa muito complexa por existirem padrões diferentes entre os fabricantes de SGBDs. Com base em situações como estas que foi realizado um estudo sobre as principais diferenças existentes na utilização da linguagem SQL em três SGBDs: SQL Server, Oracle e MySQL.
Diferenças entre instruções SQL
Atualmente a competitividade entre as empresas que desenvolvem sistemas de bancos de dados é muito grande, e para garantir uma maior satisfação de seus utilizadores, algumas delas, como a Oracle e a Microsoft, resolveram aderir a um padrão próprio para utilização da linguagem SQL em seus SGBDs.
Apesar dessas empresas possuírem suas particularidades, a própria linguagem SQL tem uma base subjacente onde suas instruções podem ser utilizadas em praticamente todos os fornecedores de SGBDs. Deste modo, a partir de agora analisaremos alguns dos principais recursos destas opções de armazenamento explicitando as diferenças entre elas.
Tipos de dados
Tipos de dados definem que tipo de dados a coluna irá conter. Cada banco possui muitos tipos de dados que podem ser definidos, mas neste artigo serão apresentados apenas os mais comuns, que geralmente são os numéricos, caracteres e data/hora.
Existe uma grande variedade de tipos numéricos, entre eles os inteiros, decimais, números reais e bits, que são representados pelos valores 0 ou 1. Na Tabela 1 é apresentado um exemplo de tipos de dados nos bancos Oracle, Microsoft SQL Server e MySQL.
Descrição Geral |
SQL Server |
MySQL |
Oracle |
Exemplo |
Bit |
bit |
bit |
(não) |
1 |
Inteiro |
int |
int |
number |
25 |
decimal |
decimal |
decimal |
number |
58.63 |
real |
float |
float |
number |
80.62345 |
Tabela 1. Tipos de dados.
Os tipos de dados caracteres podem ser referidos como caractere ou cadeia de caracteres, onde é possível conter qualquer tipo de informação inclusive os caracteres especiais, desde que seu valor esteja cercado por uma aspa simples, ao contrário dos tipos de dados numéricos, que não são cercados por aspas simples. Um exemplo disso está exemplificado na Tabela 2.
Descrição Geral |
SQL Server |
MySQL |
Oracle |
Exemplo |
Cadeia de caracteres |
varchar |
varchar |
... |
Confira outros conteúdos:
Perguntas frequentes
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.