Prévia do material em texto
Um Overview sobre Banco de Dados
Tecnologias e
Linguagens de
Banco de Dados
Diretor Executivo
DAVID LIRA STEPHEN BARROS
Gerente Editorial
ALESSANDRA VANESSA FERREIRA DOS SANTOS
Projeto Gráfico
TIAGO DA ROCHA
Autoria
ALAN DE OLIVEIRA SANTANA
JOÃO DANILO NOGUEIRA
LEANDRO C. CARDOSO
AUTORIA
Alan de Oliveira Santana
Olá. Sou mestre em Sistemas da Computação pela Universidade
Federal do Rio Grande do Norte (2017) e possuo graduação em Ciência
da Computação pela Universidade do Estado do Rio Grande do Norte,
Natal, RN (2016). Tenho experiência na área de Ciência da Computação,
com ênfase em Ciência da Computação, atuando principalmente nos
seguintes temas: Tutores virtuais, Chatbots e Jogos educativos. Por isso
fui convidado pela Editora Telesapiens a integrar seu elenco de autores
independentes. Estou muito feliz em poder ajudar você nesta fase de
muito estudo e trabalho. Conte comigo!
João Danilo Nogueira
Olá. Sou graduado em Ciência da Computação pelo Centro
Universitário da Grande Fortaleza (Unigrande) e amo programar. Atualmente,
o foco de minha expertise é na área de gerenciamento de projetos, teoria
dos números, RSA e criptografia. Vai ser um prazer enorme ajudar você a
se tornar um excelente desenvolvedor de software ou administrador de
banco de dados. Conte comigo para lhe ajudar nessa trajetória rumo ao seu
desenvolvimento profissional! Muito sucesso para você.
Leandro C. Cardoso
Olá. Sou graduado em Comunicação Social com habilitação em
Design Digital, e mestre em Tecnologias da Inteligência e Design Digital
pela Pontifícia Universidade Católica de São Paulo (PUC-SP), com mais
de 20 anos de experiência em direção de arte e criação. Passei por
empresas como a Laureate International Universities – FMU/Fiam-Faam,
a Universidade Anhembi Morumbi e o Centro Paula Souza (Fatec-Etec). Já
atuei como analista de desenvolvimento pedagógico sênior, coordenador
de curso técnico de Design Gráfico e revisor técnico e validador para curso
EAD para clientes Laureate International Universities, DeVry Brasil, Unef,
FAESF, Faculdade Positivo, Uninter e Platos Soluções Educacionais S.A.
(Krotonn – Universidade Anhanguera). Além disso, sou autor de mais de 24
livros didáticos e um dos organizadores da Maratona de Criação e Design
do Curso de Comunicação Visual da Etec Albert Einstein. Sou apaixonado
pelo que faço e adoro transmitir minha experiência de vida àqueles que
estão iniciando em suas profissões. Por isso fui convidado pela Editora
Telesapiens a integrar seu elenco de autores independentes. Estou muito
feliz em poder ajudar você nesta fase de muito estudo e trabalho. Conte
comigo!
ICONOGRÁFICOS
Olá. Esses ícones irão aparecer em sua trilha de aprendizagem toda vez
que:
OBJETIVO:
para o início do
desenvolvimento
de uma nova
competência;
DEFINIÇÃO:
houver necessidade
de apresentar um
novo conceito;
NOTA:
quando necessárias
observações ou
complementações
para o seu
conhecimento;
IMPORTANTE:
as observações
escritas tiveram que
ser priorizadas para
você;
EXPLICANDO
MELHOR:
algo precisa ser
melhor explicado ou
detalhado;
VOCÊ SABIA?
curiosidades e
indagações lúdicas
sobre o tema em
estudo, se forem
necessárias;
SAIBA MAIS:
textos, referências
bibliográficas
e links para
aprofundamento do
seu conhecimento;
REFLITA:
se houver a
necessidade de
chamar a atenção
sobre algo a ser
refletido ou discutido;
ACESSE:
se for preciso acessar
um ou mais sites
para fazer download,
assistir vídeos, ler
textos, ouvir podcast;
RESUMINDO:
quando for preciso
fazer um resumo
acumulativo das
últimas abordagens;
ATIVIDADES:
quando alguma
atividade de
autoaprendizagem
for aplicada;
TESTANDO:
quando uma
competência for
concluída e questões
forem explicadas;
SUMÁRIO
Funcionalidades dos SGBDs .................................................................. 14
O que é um SGBD? ........................................................................................................................ 14
Funcionalidades de um SGBD ............................................................................................... 17
Ambientes de Gerenciamento de Banco de Dados ....................24
Interface Gráfica Versus Caractere .....................................................................................24
O Ambiente MySQL .......................................................................................................................27
Linguagens de Manipulação de Banco de Dados ........................ 31
As Linguagens de um SGBD .................................................................................................. 31
SGBDs Disponíveis no Mercado ............................................................39
Classificação Quanto ao Porte e tipo de Licenciamento .................................. 39
Classificação Quanto ao Paradigma ................................................................................. 40
11
UNIDADE
01
Tecnologias e Linguagens de Banco de Dados
12
INTRODUÇÃO
Você sabia que uma das etapas iniciais do aprendizado nas
tecnologias e linguagens de banco de dados é adquirir uma visão
geral sobre os sistemas de gerenciamento de banco de dados (SGBDs)
disponíveis no mercado, bem como suas funcionalidades, ambientes
e linguagens de manipulação? Isso mesmo. Para isso, você deve saber
conceituar o que é um SGBD. A melhor maneira é “mergulhar” no universo
dos sistemas gerenciadores de banco de dados, compreendendo as
funcionalidades típicas desses softwares, assim como seus ambientes de
gerenciamento, suas linguagens de manipulação e atualização de banco
de dados, além de conhecer seus principais modelos e arquiteturas
disponíveis no mercado. Entendeu? Ao longo desta unidade letiva você
vai “mergulhar” neste universo!
Tecnologias e Linguagens de Banco de Dados
13
OBJETIVOS
Olá. Seja muito bem-vindo à Unidade 1 – Um overview sobre
banco de Dados. Nosso objetivo é auxiliar você no desenvolvimento
das seguintes competências profissionais até o término desta etapa de
estudos:
1. Identificar as funcionalidades de um SGBD.
2. Compreender como funcionam os ambientes de gerenciamento
de banco de dados.
3. Entender o funcionamento das linguagens de manipulação de
banco de dados.
4. Identificar os principais gerenciadores de banco de dados
disponíveis no mercado mundial.
Tecnologias e Linguagens de Banco de Dados
14
Funcionalidades dos SGBDs
OBJETIVO:
Ao término deste capítulo, você será capaz de compreender
as funcionalidades de um SGBD. Isso será fundamental
para o exercício de sua profissão. E então? Motivado para
desenvolver esta competência? Então, vamos lá. Avante!
O que é um SGBD?
Para começarmos a entender realmente o que é um SGBD,
precisamos internalizar a ideia de que se trata de um tipo de software
muito especial. Dependendo do porte, este pode não passar de um
mero programa de computador, ou exercer a função de um ambiente
operacional que assume o controle de um servidor de rede.
DEFINIÇÃO:
SGBD é a sigla para sistema de gerenciamento de banco
de dados, podendo ser denominado, também, como
Database Management System (DBMS). Os SGBDs são
conjuntos de softwares que, operando em sincronismo,
conseguem oferecer as funções de gerenciamento de um
ou mais bancos de dados ao seu usuário principal, mais
conhecido como administrador de dados (ou Database
Administrator) (ROCHA; DIAS, 2015).
A necessidade de ter um SGBD vem de longas datas. No princípio
da história recente dos computadores, quando os dados deixaram
de ser armazenados em cartões perfurados e fitas magnéticas para
serem gravados e atualizados dinamicamente em discos magnéticos,
os programadores começaram a estabelecer um marco divisor entre
processamento de dados em memória e atualização de dados em disco.
Tecnologias e Linguagens de Banco de Dados
15
Figura 1 – Osdados passaram a ser processados na CPU e gravados em disco rígido
Fonte: Nogueira (2017b).
Com a invenção do disco rígido, as organizações passaram a
digitalizar cada vez mais suas informações, estabelecendo, assim, um
“divisor de águas” entre a guarda de documentos físicos e digitais. Os
bancos foram os pioneiros nessa difícil transição. Até o final da década
de 1970, o acervo de informações bancárias era, oficialmente, guardado
em documentos físicos de movimentação de contas-correntes. Os
extratos bancários eram microfilmados e armazenados em pastas até sua
consolidação contábil no final do ano.
SAIBA MAIS:
Veja a seguir o processo de microfilmagem em vídeo. Para
acessar, clique aqui.
Ao longo da década de 1980, os dados foram deixando de ter o
meio físico como principal forma de armazenagem, até desaparecerem
por completo do papel no início da década de 1990
Tecnologias e Linguagens de Banco de Dados
https://youtu.be/IRJadfEoKhs
16
Figura 2 – Leitor de microfilmagem
Fonte: Wikimedia Commons.
No entanto, o conceito de SGBD, formalmente dito, data de bem
antes. Ainda na década de 1960, a International Business Machines
Corporation (IBM) iniciou uma série de pesquisas sobre rotinas de
automação de escritório, quando lançou o primeiro conceito de
bancos de dados relacionais. Com esse novo conceito, a empresa
pretendia reduzir o trabalho operacional que as empresas despendiam
na organização e na indexação dos dados. Esse trabalho passou a ser
realizado automaticamente por esses softwares, batizados de “sistemas
de gerenciamento de banco de dados”.
Tecnologias e Linguagens de Banco de Dados
17
VOCÊ SABIA?
A IBM é a mais antiga empresa do segmento de Tecnologia
da Informação em todo o mundo. Também conhecida
como “Big Blue”, reinou absoluta no mercado da década
de 1950 até meados de 1990, quando a Microsoft passou
a liderar o segmento dos sistemas operacionais para
microcomputadores pessoais, com o Windows 95.
Mas foi no início da década de 1980 que uma empresa chamada
Oracle inovou o conceito de banco de dados relacional, com o lançamento
de um SGBD baseado na linguagem padrão para manipulação e
atualização de dados, intitulada Structured Query Language (SQL). Com
isso, a Oracle, com o seu SGBD denominado “Oracle 2”, passou a ser a
principal concorrente da IBM, que lançou o SQL/DS logo em seguida.
Os SGBDs foram sendo aprimorados ao longo da década de 1980. Nesse
período houve o surgimento de inúmeros concorrentes para a Oracle e a
IBM, começando pela própria Microsoft, que lançou o seu SGBD em 1988,
em parceria com a empresa Sybase: o Microsoft SQL Server. Mas foi na
década de 1990 que houve os mais significativos avanços dos sistemas
de gerenciamento de banco de dados. Um dos marcos mais importantes
dessa década foi o lançamento dos primeiros SGBDs de código aberto do
mercado, começando com o MySQL em 1995, seguido do PostgreSQL
(1997), entre outros. Também, a partir da década de 1990, começou
uma forte escalada do aumento da capacidade de armazenamento de
informações por parte dos SGBDs, saindo da casa dos megabytes (década
de 1980) até os terabytes da atualidade (NOGUEIRA, 2017b).
Funcionalidades de um SGBD
Mas, afinal, para que servem os SGBDs? Por que eles são tão
importantes e necessários no mundo da Tecnologia da Informação? As
respostas a esses questionamentos podem ser deduzidas facilmente
se voltarmos no tempo, desde a época em que os programadores
Tecnologias e Linguagens de Banco de Dados
18
desenvolviam programas para interagir diretamente com os arquivos de
dados. Antigamente, esses profissionais tinham que deter uma lógica de
programação bastante apurada, além de um cuidado redobrado com as
atualizações dos dados naqueles arquivos. Qualquer deslize poderia ser
fatal para a integridade das informações armazenadas. Imagine que um
programa precise realizar as seguintes operações a cada vez que um
lançamento bancário é efetuado em uma conta-corrente:
• Debitar ou creditar o valor do lançamento na conta.
• Recalcular o saldo da conta com base neste lançamento.
Se o programador esquecer de atualizar o saldo da conta-corrente
após um desses lançamentos, teremos um dado inconsistente em um
dos arquivos da base de dados (ContaCorrente). Imaginou o tamanho
do problema? É para prevenir situações dessa natureza que os SGBDs
costumam agir. Se um banco de dados relacional é criado e formatado
em um SGBD também relacional, mesmo que o programador esqueça
alguns detalhes como esse, a integridade dos dados será assegurada,
pois o SGBD atua como interface entre o programa e os arquivos de dados
(as tabelas). É isso que chamamos de “integridade referencial”.
DEFINIÇÃO:
É a propriedade que os SGBDs relacionais têm que
garante o respeito às regras de negócio estabelecidas
entre as tabelas geradas a partir do modelo de
entidade-relacionamento de um banco de dados
(ROCHA; DIAS, 2015).
Os SGBDs impõem restrições quanto à atualização indiscriminada
em tabelas de acordo com as regras de negócio definidas desde a criação
do banco de dados.
Tecnologias e Linguagens de Banco de Dados
19
Figura 3 – Os SGBDs impõem restrições quanto à atualização indiscriminada em tabelas de
acordo com as regras de negócio definidas
Fonte: Nogueira (2017b).
Antes da criação desse banco de dados, existe uma fase
denominada “Modelagem de dados”, em que as entidades de dados
(que se transformarão em tabelas) são desenhadas e associadas umas
às outras por meio de relacionamentos de 1:1 (um para um), 1:N (um para
muitos) ou N:N (muitos para muitos).
Figura 4 – Na modelagem de dados, as entidades de dados são desenhadas e associadas
umas às outras por meio de relacionamentos
Fonte: Nogueira (2017b).
Tecnologias e Linguagens de Banco de Dados
20
Mas, será que os SGBDs só servem para isso? Negativo. Existem
inúmeras outras funcionalidades de um sistema de gerenciamento de
banco de dados, além da garantia da integridade referencial. É importante
conhecer sobre controle de acessos concorrentes, por exemplo, quando
muitos usuários acessam e atualizam dados simultaneamente em uma
mesma tabela, isso pode gerar dados inconsistentes. Os SGBDs têm
dispositivos que iniciam e fecham uma transação de atualização de dados,
evitando que, por exemplo, dois clientes efetuem saques em uma mesma
conta-corrente a partir de diferentes dispositivos ao mesmo tempo. Se
isso ocorrer, o SGBD enfileira essas transações de tal modo que a primeira
seja totalmente processada para, somente depois, acontecer o mesmo
com a segunda.
Além disso, a política de permissões e restrições de acesso a dados
é importante, pois nem todo mundo pode ter acesso a todos os dados de
um banco de dados. Os usuários do departamento de Recursos Humanos
(RH), por exemplo, podem ter acesso aos dados cadastrais dos clientes
de um banco, mas não aos saldos de suas contas-correntes. Assim, como
podemos informar essa regra de negócio a todos os programadores
que trabalham nessa instituição financeira? Isso não é necessário. O
próprio SGBD dispõe de recursos para restringir o acesso a cada dado
de cada tabela do banco de dados, independentemente da vontade do
programador ou de erros ocasionais cometidos na lógica algorítmica
desses programas.
A rastreabilidade dos dados é fundamental, pois mesmo quando
ocorre um “furo” na política de segurança de acesso a dados, como um
usuário utilizar a senha de outro a partir de um dispositivo móvel ou de
sua própria casa, o SGBD dispõe de meios para rastrear o histórico de
acessos e atualizações de cada dado do banco de dados. Na prática, para
cada dado, de cada tabela, o SGBD armazena o que chamamos de “log”,
a partir do qual é possível, não apenas descobrir quem alterou o que,
quando e de onde, como também voltar ao status anterior àquela suposta
atualização fraudulenta.
Tecnologias e Linguagens de Banco de Dados21
Figura 5 – Quando acontecem falhas na política de segurança, o SGBD dispõe de meios
para rastrear o histórico de acessos e atualizações de cada dado do banco de dados
Fonte: Freepik
Sobre backup e restore, os SGBDs permitem que os dados de um
banco de dados sejam copiados para outro espaço físico, no próprio
servidor, em outro servidor ou na Nuvem. Esse mecanismo pode ser
manual ou automático; nessa última hipótese, o administrador de dados
pode definir rotinas diárias, semanais, mensais etc., para efetuar o backup
de parte ou de todo o banco de dados.
Figura 6 – Backup na Nuvem: o administrador de dados pode definir rotinas para efetuar o
backup de parte ou de todo o banco de dados
Fonte: Freepik.
Tecnologias e Linguagens de Banco de Dados
22
De modo análogo, os SGBDs também dispõem de mecanismos de
recuperação (ou restore) de dados, sendo capazes de repor o banco de
dados exatamente no mesmo status em que estavam em determinada
data e hora. Essa recuperação de dados também pode ser seletiva, ou seja,
de uma ou mais tabelas do banco, por exemplo. Em relação à interface
interativa, os primeiros SGBDs funcionavam apenas como interface entre
programas e dados. À medida que esses sistemas foram se aprimorando,
suas interfaces foram ficando mais e mais amigáveis, de modo que,
atualmente, é possível extrair inúmeros tipos de relatórios e consultas
diretamente do SGBD, sem a necessidade de recorrer a programas ou à
inserção de comandos SQL no ambiente de gerenciamento de banco de
dados.
SAIBA MAIS:
Para se aprofundar nos temas desta aula, recomendamos o
acesso ao artigo a seguir. Para acessar, clique aqui.
As interfaces dos SGBDs têm se desenvolvido bastante, oferecendo
uma experiência de altíssimo valor agregado ao usuário final, como
o Business Intelligence (BI), que significa “inteligência de negócio”,
que consiste na geração automática de informações provenientes de
inteligência artificial. Essas informações são capazes de alertar o cliente
final sobre tendências e fenômenos imprevisíveis no universo de suas
informações. Alguns SGBDs oferecem recursos de assistentes e tutoriais
para gerar informações de alto valor agregado para o próprio usuário final,
com gráficos e subtotalizadores amigáveis.
Tecnologias e Linguagens de Banco de Dados
https://livrozilla.com/doc/424454/import%C3%A2ncia-do-banco-de-dados-nas-aplica%C3%A7%C3%B5es
23
RESUMINDO:
E então? Gostou do que lhe mostramos? Aprendeu mesmo
tudinho? Agora, só para termos certeza de que você
realmente entendeu o tema de estudo deste capítulo,
vamos resumir tudo o que vimos. Você deve ter aprendido
o que é um SGBD, que significa “sistema gerenciador de
banco de dados”. Os SGBDs são, na realidade, softwares
robustos que têm por objetivo servirem de interface
entre os programas e os dados armazenados em um
servidor. Se não fossem os SGBDs, não seria possível
garantir a segurança e a integridade dos dados. Esses
sistemas assumem o controle de acesso e atualização das
informações armazenadas nos arquivos de dados, que,
aqui, são chamados de “tabelas”. Além da segurança dos
dados, os SGBDs cuidam da integridade referencial das
tabelas, ou seja, impedem que as tabelas relacionadas
entre si tenham dados alterados ou linhas excluídas em
desrespeito às regras de negócio programadas em sua
estrutura, como deletar um funcionário cadastrado em
uma tabela sem antes deletar seus dependentes em outra,
e assim por diante.
Tecnologias e Linguagens de Banco de Dados
24
Ambientes de Gerenciamento de Banco
de Dados
OBJETIVO:
Ao término deste capítulo, você será capaz de compreender
como funcionam os ambientes de gerenciamento de
banco de dados. Isso será fundamental para o exercício
de sua profissão. E então? Motivado para desenvolver esta
competência? Então, vamos lá. Avante!.
Interface Gráfica Versus Caractere
Normalmente, os SGBDs oferecem dois tipos de interfaces para a
manipulação de seus bancos de dados. São elas, a interface caractere
(ou via comando de Prompt) e a interface gráfica, em que as tabelas e
demais objetos dos bancos de dados podem ser manipulados por meio
de janelas e botões. Usando a interface caractere, temos que conhecer
a sintaxe dos comandos para criação, alteração e eliminação de tabelas.
Figura 7 – Backup na Nuvem
Fonte: Reprodução Prompt de comando Windows.
Tecnologias e Linguagens de Banco de Dados
25
Na interface gráfica, é possível realizar essas operações de forma
intuitiva, mas, antes de avançarmos quanto ao conhecimento desses
ambientes, vamos entender de que maneira um SGBD permite ao
administrador de dados (DBA) realizar tais operações.
Figura 8 – Na interface gráfica, é possível realizar essas operações de forma intuitiva
Fonte: Reprodução MySQL.
Um banco de dados é uma coleção de tabelas relacionadas entre
si, e manipular um banco de dados é, antes de qualquer coisa, ter acesso
à estrutura de suas tabelas. A estrutura de uma tabela é descrita por meio
de linhas e colunas, em que cada linha representa um registro de dados
nela gravado. Cada coluna simboliza um campo de dado (ou atributo), que
se repete em todas as suas linhas. Manipular a estrutura de uma tabela é,
portanto, alterar as propriedades de suas colunas, como tipo, tamanho e
classe (se é uma chave primária, secundária ou estrangeira, por exemplo).
No ato de sua criação, o DBA pode descrever livremente como será a
estrutura de cada uma das tabelas de seu banco de dados, e como estas
irão se relacionar entre si. No entanto, uma vez povoadas com dados reais,
toda e qualquer modificação em sua estrutura poderá acarretar perda de
dados. Imagine que você deseja adicionar a coluna “telefone celular” a
uma tabela de funcionários que já contém cerca de 1.500 linhas gravadas.
Ao incluir mais uma coluna nessa tabela, há de se esperar que seus dados
fiquem em branco até que alguém resolva povoá-los com as informações
Tecnologias e Linguagens de Banco de Dados
26
pertinentes aos telefones celulares dos respectivos funcionários. Em uma
situação ainda mais grave, imagine que uma determinada coluna precise
ser eliminada da estrutura de uma tabela com mais de 10 mil linhas
gravadas? Uma vez eliminada essa coluna, os dados ali povoados serão
perdidos e não mais poderão ser recuperados.
IMPORTANTE:
É grande a responsabilidade do DBA, pois ele tem o poder
de criar e fazer desaparecer toda e qualquer informação da
base de dados da empresa.
Dada a criticidade das operações envolvendo a alteração de
estrutura das tabelas de um banco de dados, o ambiente de gerenciamento
do SGBD deve oferecer um nível máximo de segurança, de modo que
somente o DBA da organização tenha o poder de criar, alterar ou eliminar
colunas nas tabelas de um banco de dados. Ao acionar o ambiente de
gerenciamento de banco de dados, o usuário deve se “logar” no SGBD.
Dependendo dos poderes estabelecidos para o seu perfil, ele poderá
ter acesso pleno a todas as tabelas e dados, ou apenas para leitura
(consulta) das tabelas. Para exemplificar, apresentamos a seguir a forma
de acionamento do ambiente do MySQL (usando a interface caractere ou
comando de Prompt).
EXEMPLO:
C:\mysql\bin> mysql –u usuário senha
Como resultado disso, teremos a seguinte mensagem sendo
exibida pelo MySQL, ainda na interface caractere:
Welcome to the MySQL monitor. Commands end
with ; or \g.
Your MySQL connection id is 1 to server
version: 5.0.27-community-log
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to
clear the buffer.
mysql>_
Tecnologias e Linguagens de Banco de Dados
27
A partir da execução do módulo de gerenciamento (ou administração)
do MySQL, o DBA poderá digitar qualquer comando aceito pelo SGBD
neste estado de Prompt.
O Ambiente MySQL
O MySQL é um SGBD baseado na linguagem SQL, que significa,
em português, linguagem estruturada de consulta. É um dos bancos de
dados mais utilizados no mundo, com clientes comoNASA, HP, Sony,
Nokia, Lufthansa, Forças Armadas dos Estados Unidos, Federal Reserve
Bank, Cisco Systems, Google, entre inúmeras outras organizações. Devido
à sua simplicidade, o MySQL é, normalmente, o primeiro banco de dados
a ser usado pelos programadores iniciantes. Essa é uma das razões de
adotá-lo nesta disciplina como exemplo, visto ser utilizado para iniciantes
da carreira de programador, desenvolvedor de software ou administrador
de dados. Assim, é importante estar sempre atualizado nas versões dos
MySQL, de maneira ilustrativa. E, para aprendizado, está sendo utilizada a
versão 1.0.8. É recomendado acessar o site oficial para obter informações
das versões mais recentes.
Figura 9 – Instalador do MySQL
Fonte: Reprodução MySQL.
Tecnologias e Linguagens de Banco de Dados
28
O MySQL é um software sueco, desenvolvido por David Axmark,
Allan Larsson e Michael “Monty” Widenius. Esses profissionais trabalharam
juntos ao longo da década de 1980 para lançar um gerenciador de banco
de dados de código aberto. O projeto deu tão certo que, atualmente, mais
de 400 profissionais trabalham em cima de sua manutenção ao longo de
todo o mundo, isso sem falar nos mais de 1.000 usuários que testam o
MySQL e o integram com outros produtos. Em 2008, a Sun Microsystem
adquiriu a empresa MySQL AB, fabricante do MySQL. A transação girou
em torno de US$ 1 bilhão, uma vez que a ferramenta envolvida na compra
foi um software livre. Apenas um ano mais tarde, a Oracle comprou a Sun
Microsystems, juntamente com o MySQL, o Java e outros produtos da
empresa.
O sucesso do MySQL, enquanto produto comercial, se deu em
função de sua fácil integração com a linguagem de programação para web
PHP. A dobradinha PHP e MySQL é, até a atualidade, um pacote obrigatório
na hospedagem de sites da internet. Todavia, foi a altíssima performance
do produto que atraiu a atenção da Sun e da Oracle, performance esta
que fez com que a NASA, Yahoo, Motorola, Silicon Graphics e Texas
Instruments adotassem o MySQL como solução em banco de dados de
missão crítica. A Wikipédia, por exemplo, utiliza o MySQL em seus sites,
uma verdadeira “prova de fogo” para essa ferramenta.
O SGBD MySQL é compatível com o padrão Unicode de caracteres.
Esse padrão permite ao banco de dados representar textos em quaisquer
sistemas de escrita (idiomas e alfabetos) existentes, sendo constituído
de cerca de 107 mil símbolos e caracteres, além de inúmeros diagramas
visuais (ideogramas), com metodologia de ordenação alfabética e
renderização. O MySQL permite ainda Full Text Indexes (indexação por
textos completos), além de replicação de dados, cópias de segurança
dinâmicas (Hot Backup), Geographic Information System (GIS), Online
Analytical Processing (Olap) e mais:
• Portabilidade para qualquer plataforma atual (Oracle, SQL Server,
PostgreSQL etc).
Tecnologias e Linguagens de Banco de Dados
29
• Disponibilidade de drivers ODBC, JDBC, .NET (dot Net) e módulos
de interface para linguagens como Delphi, Visual Basic, C/C++,
C#.Net, Java, Python, Perl, PHP, ASP.Net e Ruby).
• Alto desempenho e estabilidade.
• Leveza, ou seja, não requer muitos recursos de hardware.
• Simplicidade de operação.
• Software livre com base na General Public License (GPL, ou
licença pública geral).
IMPORTANTE:
No caso dos softwares com licenças baseadas na GPL, o
software resultante de seu uso também deverá ter licença
GPL, caso contrário, uma licença comercial deverá ser
adquirida.
O MySQL permite, também, utilizar vários robôs de armazenagem
(storage engines), tais como o Falcon, MyISAM, BDB, InnoDB, Federated,
Archive, Solid, CSV, entre outros; além de usar controle transacional e
gatilhos (ou triggers).
SAIBA MAIS:
Normalmente, quem começa a programar utilizando o
MySQL como SGBD experimental, migra para o PostgreSQL
na sequência. Por que será? Descubra o motivo no artigo a
seguir. Para acessar, clique aqui.
É compatível com Cursors (Non-Scrollable e Non-Updatable), além
de implementar o conceito de stored procedures e functions, replicação
de tabelas facilmente configuráveis e interfaces gráficas alternativas,
como o MySQL Toolkit.
Tecnologias e Linguagens de Banco de Dados
https://www.devmedia.com.br/postgresql-x-mysql-qual-escolher/3923
30
RESUMINDO:
E então? Gostou do que lhe mostramos? Aprendeu mesmo
tudinho? Agora, só para termos certeza de que você
realmente entendeu o tema de estudo deste capítulo,
vamos resumir tudo o que vimos. Você deve ter aprendido
que os SGBDs dispõem de interfaces para propiciar o
gerenciamento dos bancos de dados. Essas interfaces,
normalmente, oferecem recursos interativos de acesso e
manipulação das tabelas dos bancos de dados. Assim, é
importante entender como são apresentadas as interfaces
típicas de um ambiente de gerenciamento de banco de
dados e como o acesso e a manipulação das tabelas se
comportam.
Tecnologias e Linguagens de Banco de Dados
31
Linguagens de Manipulação de Banco de
Dados
OBJETIVO:
Ao término deste capítulo, você será capaz de entender
como funcionam as linguagens de manipulação de banco
de dados. Isso será fundamental para o exercício de
sua profissão. E então? Motivado para desenvolver esta
competência? Então, vamos lá. Avante!.
As Linguagens de um SGBD
Os SGBDs relacionais são baseados em um conjunto de linguagens
script com referência na SQL (NOGUEIRA, 2017c). Essa linguagem foi
convencionada pela American National Standards Institute – ANSI, ou
Instituto Nacional Americano de Padrões. Isso significa que a linguagem
SQL é um padrão internacional praticamente imutável de um SGBD para
outro. Mas, quando se trata de definir, manipular e implementar rotinas de
controle da segurança dos dados de um SGBD, os comandos começam
a modificar-se significativamente de um ambiente para outro. Por isso,
os comandos aceitos pelas linguagens dos SGBDs, de um modo geral,
foram classificados em quatro grupos distintos, como mostra a Figura 10.
Figura 10 – Grupos de comandos aceitos pelas linguagens dos SGBDs
Fonte: Nogueira (2017c).
Tecnologias e Linguagens de Banco de Dados
32
A SQL foi a primeira das linguagens de banco de dados a ser criada
e convencionada pelo ANSI, e seu objetivo primordial é permitir a consulta
a dados em um banco de dados relacional.
DEFINIÇÃO:
A sigla SQL significa Structured Query Language, ou
linguagem estruturada de consultas, e é utilizada por todos
SGBDs com bancos de dados relacionais.
Por ser uma linguagem script, a SQL pode ser utilizada dentro
de programas escritos nas mais variadas linguagens de programação
do mercado mundial, tais como Java, PHP, Visual Basic, C#.Net e até
linguagens bastante antigas como o Cobol, por exemplo. É enorme a
variação de cláusulas e condições empregáveis em um comando SQL,
e uma das mais importantes está relacionada ao comando SELECT. Para
tanto, é recomendado praticarmos exaustivamente a sua utilização em
programas e scripts de consulta a tabelas de banco de dados.
Sobre a linguagem DDL, antigamente era considerada como uma
parte da SQL; anos mais tarde, ganhou o status de linguagem autônoma.
Atualmente, é utilizada, de um modo geral, para declarar e descrever as
estruturas de dados de um banco de dados.
DEFINIÇÃO:
Traduzindo “ao pé da letra”, podemos afirmar que a DDL
significa “linguagem de definição de dados”, do inglês Data
Definition Language. O objetivo da DDL é oferecer um
conjunto de comandos que permite a criação e modificação
das estruturas de um banco de dados.
Os comandos DDL são capazes de criar, alterar e eliminar estruturas
de dados, como tabelas, visões e associações (relacionamentos) entre elas.
Uma vez criadas, essas estruturas incorporam os parâmetros utilizados no
comando de criação/alteração da linguagem DDL, que ficam registrados
no dicionário de dados do banco de dados.
Tecnologias e Linguagens de Banco de Dados33
IMPORTANTE:
O dicionário de dados é um conjunto de arquivos que
contém os dados descritivos das estruturas do banco de
dados como tabelas, visões e relacionamentos. A esses
dados descritivos damos o nome de “metadados”, que
são consultados pelo próprio banco de dados a cada
transação envolvendo suas estruturas. Para entender
melhor, imagine que certo programa queira manipular
alguns campos como nome e endereço de uma tabela
de clientes. Nesse momento, o SGBD verificará se
esses campos, de fato, pertencem a essa tabela, se
estão associados a outras tabelas ou a índices (arquivos
organizadores da tabela), entre outros requisitos definidos
no ato da criação daquela tabela.
A linguagem DDL é, portanto, uma linguagem interpretada, ou seja,
é processada por um interpretador incorporado ao próprio SGBD, que
podemos chamar, também, de DDL. São esses os comandos interpretados
pelo DDL:
• CREATE: esse comando constrói uma nova estrutura de dados,
desde o próprio banco de dados até suas estruturas mais simples,
como tabelas, índices e consultas pré-programadas (que ficam
armazenadas em forma de tabelas independentes). Dependendo
do tipo de SGBD utilizado, algumas estruturas podem e outras
não podem ser criadas por esse comando. No entanto, todos eles
aceitam, pelo menos, a criação de tabelas, índices e usuários. O
comando CREATE tem várias formas de declaração.
• DROP: esse comando faz o oposto do CREATE, ou seja, elimina
uma estrutura de dados, isto é, é capaz de remover tabelas, visões,
consultas armazenadas, índices, usuários etc.
• ALTER: finalmente, o comando ALTER serve para modificar
as estruturas de dados criadas anteriormente pelo comando
CREATE, aplicando-se, portanto, a todos os tipos suportados
Tecnologias e Linguagens de Banco de Dados
34
por aquele comando, como tabelas, índices, usuários, consultas
armazenadas etc.
Vejamos alguns exemplos desses comandos.
EXEMPLO:
CREATE TABLE funcionarios (
Id INTEGER PRIMARY KEY,
Nome CHAR(50) null,
Sobrenome CHAR(75)
not null,
Aniversario DATE
null
);
O comando acima cria uma tabela de funcionários chamada
“funcionários”.
EXEMPLO:
ALTER TABLE funcionários ADD Salario INTERGER;
Este altera a tabela “funcionários”, adicionando-lhe uma coluna (ou
campo de dado) intitulada “Salario”.
EXEMPLO:
DROP TABLE funcionarios;
Além de outros comandos, por exemplo, o que elimina a tabela
“funcionários” recém-criada.
IMPORTANTE:
Não se preocupe em entender a sintaxe desses comandos
agora, voltaremos a ela mais adiante, com muitos exercícios
e variações de casos.
Tecnologias e Linguagens de Banco de Dados
35
Sobre a linguagem DML, para começarmos nossa conversa sobre
ela, vamos colocar uma controvérsia logo de saída: o SQL faz ou não faz
parte da DML? Antes de respondermos a essa pergunta, vamos entender,
primeiramente, o que vem a ser DML.
DEFINIÇÃO:
A sigla DML vem do inglês e significa Data Manipulation
Language, ou seja, linguagem de manipulação de dados.
Em termos práticos, a linguagem DML tem por finalidade
permitir a manipulação de dados, com as operações de
inclusão, remoção e modificação de informações dentro
das estruturas do banco de dados (NOGUEIRA, 2017c).
Pela definição de DML, vemos que “manipular dados” tem a ver
com modificá-los. No entanto, alguns autores defendem que a linguagem
SQL faz parte desse conjunto, uma vez que, ao definir uma consulta à
base de dados, uma estrutura de dados é criada, ainda que virtualmente.
Ao realizar uma consulta a um banco de dados, por mais simples que
seja, o SGBD cria uma tabela temporária para conter apenas os dados
resultantes do argumento daquela consulta. Assim, ao ser executado
um comando SQL, uma “visão” daquele conjunto de dados é gerada
dinamicamente. Inclusive, como veremos mais adiante, essa “visão” pode
ser salva e manipulada como se fosse uma tabela independente. São
estes os comandos integrantes da linguagem DML:
• INSERT: esse comando é capaz de adicionar linhas a uma tabela,
declarando todos os valores a serem gravados nos campos de
dados dessa nova linha.
• UPDATE: com uma sintaxe bastante similar à do INSERT, esse
comando é capaz de regravar dados em uma ou mais linhas da
tabela que satisfaçam determinada condição. Esta é declarada
como um parâmetro do comando UPDATE, exatamente da mesma
forma como se declara em um comando SELECT da linguagem
SQL.
Tecnologias e Linguagens de Banco de Dados
36
• DELETE: esse comando remove, logicamente, uma ou mais linhas
de uma tabela. Assim como o UPDATE, o comando DELETE utiliza
instruções declarativas para determinar que conjunto de linhas
deve ser excluído da tabela. A exclusão lógica provocada pelo
processamento de um comando DELETE significa, por assim
dizer, que as linhas podem ser recuperadas posteriormente.
Não obstante, essa operação tem uma série de implicações e,
dependendo do SGBD, nem mesmo é permitida. Vamos visualizar
alguns exemplos desses comandos.
EXEMPLO:
INSERT INTO funcionários(nome,
salario)
VALUES (‘Mário Alberto’,
4500);
O comando acima adiciona uma nova linha na tabela “funcionarios”
para o funcionário “Mário Alberto”, com um salário de R$ 4.500,00.
EXEMPLO:
UPDATE funcionarios;
SET salario = salario * 1,1
WHERE salario > 1000
;
Já o comando acima altera o salário de todos os funcionários que
ganham mais de R$ 1.000,00, com um aumento de 10%.
EXEMPLO:
DELETE FROM f u n c i o n a r i o s ;
WHERE situacao = “INATIVO”
;
Tecnologias e Linguagens de Banco de Dados
37
Por fim, temos o comando DELETE que, no exemplo acima, exclui,
logicamente, todos os funcionários cujo campo “situação” aparece como
“INATIVO”.
A linguagem DCL é a última linguagem de nosso estudo de banco
de dados. Diferentemente de SQL e DML, os comandos dessa linguagem
diferem bastante de SGBD a SGBD, pois trata dos aspectos relacionados
à segurança da informação.
DEFINIÇÃO:
A sigla DCL vem do inglês e significa Data Control Language,
ou seja, linguagem de controle de dados. A linguagem DCL
tem em vista permitir a criação e a revogação de políticas
de acessos e restrições aos dados das tabelas e demais
estruturas de dados de um banco de dados (NOGUEIRA,
2017c).
Basicamente, a linguagem DCL contempla três comandos: o
primeiro recebe o nome de GRANT. Esse comando concede direitos a
usuários e programadores para acessar, modificar e/ou eliminar tabelas e
outras estruturas de dados de um banco de dados. O segundo comando
recebe o nome de DENY e implementa um estado de exceção, ou seja,
restringe a alguns usuários o acesso que acaba de ser dado por um
comando GRANT, porém sem afetar os demais usuários que obtiveram
acesso. O terceiro recebe o nome de REVOKE. Este comando realiza a
operação inversa do GRANT, isto é, revoga uma permissão atribuída a
alguém anteriormente.
SAIBA MAIS:
Acesse este link de aprofundamento e conheça os
principais comandos da família de linguagens SQL. Para
acessar, clique aqui.
Diferentemente dos comandos SQL e DML propriamente ditos, os
comandos DCL variam muito de gerenciador a gerenciador de banco de
Tecnologias e Linguagens de Banco de Dados
https://becode.com.br/comandos-sql-nao-pode-viver-sem/
38
dados, alguns deles, por exemplo, sequer permitem que esses comandos
sejam executados a partir de outros programas.
RESUMINDO:
E então? Gostou do que lhe mostramos? Aprendeu mesmo
tudinho? Agora, só para termos certeza de que você
realmente entendeu o tema de estudo deste capítulo,
vamos resumir tudo o que vimos. Você deve ter aprendido
que para aprender a codificar instruções de consulta,
atualização e definição de dados, primeiro, é fundamental
compreender as formas de aplicação das linguagens no
ambiente interativo e em programas, nas mais variadas
linguagens. Para tanto, é necessário entender o princípio
defuncionamento das linguagens, por exemplo, SQL, DDL,
DML e DCL. Cada linguagem reúne comandos capazes de
consultar, definir, manipular e controlar a segurança dos
dados em um SGBD.
Tecnologias e Linguagens de Banco de Dados
39
SGBDs Disponíveis no Mercado
OBJETIVO:
Ao término deste capítulo, você conhecerá exemplos de
gerenciadores de banco de dados. Isso será fundamental
para o exercício de sua profissão. E então? Motivado para
desenvolver esta competência? Então, vamos lá. Avante!
Classificação Quanto ao Porte e tipo de
Licenciamento
Para quem deseja um alto nível de segurança e um excelente
desempenho no processamento de grandes volumes de dados, existem
várias opções, mas é importante estar sempre atualizado sobre novos
sistemas de banco de dados que estão por vir, são exemplos de alguns
já existentes:
• Oracle.
• SQL Server da Microsoft.
• DB2 da IBM.
• PostgreSQL.
Os três primeiros SGBDs citados são proprietários de arquitetura
fechada, com licenciamento pago; o último, o PostgreSQL, é uma
alternativa para quem deseja um sistema robusto gratuito de código
aberto. Por outro lado, existem SGBDs menos robustos, que podem
ser utilizados em aplicações domésticas ou corporativas, mas com
algumas limitações, quer em termos de segurança da informação ou em
desempenho para processar grandes volumes de dados. Entre esses
SGBDs podemos destacar os seguintes:
• MySQL.
• Microsoft Access.
Tecnologias e Linguagens de Banco de Dados
40
O MySQL, como já dissemos anteriormente, é um SGBD de
código aberto (open-source) e licença gratuita (freeware). Apesar de ser
considerado menos robusto que o PostgreSQL, ele consegue suportar
aplicações profissionais, a exemplo de vários serviços como Wikipédia,
NASA, Bradesco, entre outras organizações nacionais e internacionais,
que “apostaram suas fichas” na leveza e versatilidade do MySQL. Mas,
para quem não precisa de tanto, o Microsoft Access pode ser uma
solução de SGBD puramente doméstico, baseado em arquitetura cliente-
servidor, bastante limitado para aplicações não profissionais, mas, por
outro lado, extremamente simples, didático e versátil. O Microsoft Access,
diferentemente do MySQL, é um SGBD proprietário, com arquitetura
fechada e licença paga. A sua licença é barata, uma vez que é voltado ao
usuário doméstico. A característica que torna o Access um SGBD popular
é a sua interface intuitiva e didática. Sem conhecer absolutamente nada
de programação ou de conceitos mais sólidos sobre bancos de dados,
o usuário final é perfeitamente capaz de criar e manter o seu banco de
dados.
IMPORTANTE:
Apesar de toda essa simplicidade, o Access permite que
visualizemos e editemos as consultas diretamente na
linguagem SQL.
Todas as operações de modelagem, criação e manipulação de
dados no Access são realizadas por meio de assistentes, com caixas de
diálogos de simples entendimento.
Classificação Quanto ao Paradigma
Ao longo da história da Informática, os gerenciadores de banco de
dados passaram por inúmeras transformações, vamos relembrar como
esses modelos evoluíram até os dias atuais. O modelo tabular (ou plano)
era baseado em matrizes bidimensionais, constituídas por números
inteiros, reais etc., esse modelo se assemelha a uma planilha eletrônica,
como a conhecemos hoje.
Tecnologias e Linguagens de Banco de Dados
41
Figura 11 – O modelo tabular ou plano era baseado em matrizes bidimensionais,
constituídas por números inteiros, reais etc.
Fonte: Nogueira (2017a).
O modelo em rede utilizava ponteiros (ou apontadores) para
conectar várias tabelas entre si, que eram utilizadas simultaneamente.
Desse modo, as tabelas eram relacionadas umas às outras por meio de
números indexadores. Era o começo do paradigma relacional.
Figura 12 – O modelo em rede utilizava ponteiros (ou apontadores) para conectar várias
tabelas entre si
Fonte: Nogueira (2017a).
Tecnologias e Linguagens de Banco de Dados
42
No modelo hierárquico, tratava-se de um tipo particular de modelo
em rede. Neste, os apontadores eram posicionados de modo que as
ligações entre as tabelas eram sempre organizadas de forma hierárquica,
assemelhando-se com uma estrutura em árvore (tronco e galhos).
Figura 13 – No modelo hierárquico, os apontadores eram posicionados de modo que as
ligações entre as tabelas eram sempre organizadas de forma hierárquica
Fonte: Nogueira (2017a).
No modelo relacional, a ligação entre as tabelas passava a se dar
em função dos próprios dados armazenados, surgindo os conceitos de
chave primária, chave secundária e chave estrangeira. Ao estabelecer uma
relação entre duas tabelas, gerava-se o que chamamos de “integridade
referencial”, que passava a ser gerenciada diretamente pelo SGBD. O
modelo não relacional, os SGBDs não relacionais, também conhecidos
como “NoSQL”, são, ainda, considerados emergentes. Esse tipo de
SGBD não implementa o conceito do modelo entidade-relacionamento,
tampouco utiliza a linguagem SQL para acesso e manipulação de dados,
daí o seu nome “NoSQL”. Os bancos de dados não relacionais são indicados
para as aplicações que lidam com grandes volumes de dados (Big Data).
Tecnologias e Linguagens de Banco de Dados
43
IMPORTANTE:
Os bancos de dados relacionais são baseados na
organização de dados em tabelas, em que cada
informação apresenta uma mesma formatação de colunas,
por exemplo: o registro de um funcionário sempre será
{matrícula, nome, endereço, salário, departamento ...} para
toda e qualquer linha da tabela. Já no caso dos bancos
de dados não relacionais (ou NoSQL), os dados não são
armazenados de forma estruturada. Dependendo do tipo
de banco de dados NoSQL, os dados podem ser indexados
por chaves múltiplas, grafos etc.
Os SGBDs que lidam diretamente com bancos de dados não
relacionais podem ser classificados da seguinte forma:
• Orientados a colunas: esse modelo de banco de dados NoSQL
é baseado na filosofia de família de colunas, ou seja, em vez de
trabalhar armazenando os dados de cada registro em uma linha,
o SGBD agrupa as colunas para agilizar a recuperação dos dados
solicitados para elas. Em termos práticos, em vez de armazenar
{Matrícula-1, Nome-1, Salário-1, Departamento-1} na linha 1, e
{Matrícula-2, Nome-2, Salário-2, Departamento-2} na linha 2; os
dados ficariam assim gravados em um banco NoSQL (BigTable):
{Matrícula-1, Matrícula-2}, {Nome-1, Nome-2}; {Salário-1, Salário-2},
{Departamento-1, Departamento-2}. Como exemplos desse
modelo de banco de dados não relacional temos Google BigTable,
Hadoop, HyperTable, Cassandra, Amazon SimpleDB, entre outros.
• Orientados a grafos: ao contrário dos bancos de dados orientados
a colunas, o modelo orientado a grafos está associado a um
modelo previamente estabelecido. A filosofia desse modelo
é a representação dos esquemas de dados como grafos
dirigidos. Esse modelo é mais recomendado para situações
em que as informações sobre a interconectividade dos dados
são mais relevantes que os dados em si. O modelo de grafos
apresenta os seguintes componentes: os nós (vértices), os
relacionamentos (arestas) e as propriedades (atributos) dos nós
Tecnologias e Linguagens de Banco de Dados
44
e seus relacionamentos. Por exemplo, se quisermos representar
os dados de uma pesquisa sobre de que bairros as pessoas que
desembarcam em uma estação são procedentes, e para onde
vão, esse é o modelo mais recomendado.
• Não seria muito fácil representar esses dados em um banco
de dados relacional, em virtude da grande quantidade de
junções e possibilidades de junções, fato que, certamente,
degradaria a performance da aplicação. No entanto, utilizando
os relacionamentos representados pelos grafos, a recuperação
desses dados ficaria bem mais fácil e direta. São exemplos desses
bancos de dados: Neo4J, Infinite Graph, HyperGraphDB etc.
• Orientados a documentos: os bancos de dados orientados a
documentosdizem respeito a coleções de atributos multivalorados.
Esses bancos de dados não têm esquema, isto é, não necessitam
de uma estrutura pré-formatada em comum, como alguns dos
demais modelos estudados. Alguns dos bancos de dados que
utilizam esse modelo são MongoDb, CouchDB, RavenDb etc.
• Esquema chave/valor: também denominadas “tabelas de hash
distribuídas”, esse modelo de SGBDs armazena objetos indexados
por chaves, permitindo a busca por eles a partir de suas chaves.
Os sistemas gerenciadores de bancos de dados a seguir fazem
uso desse padrão: DynamoDb, Riak, Azure Table Storage, Redis,
Tokyo Cabinet, entre outros.
Os bancos de dados não relacionais já são uma realidade nas
aplicações de Big Data, no entanto, eles não decretaram a morte dos
bancos de dados relacionais.
SAIBA MAIS:
Para se aprofundar nos estudos sobre bancos de dados
não relacionais, consulte o artigo a seguir. Para acessar,
clique aqui.
Tecnologias e Linguagens de Banco de Dados
http://www2.unifap.br/oliveira/files/2016/02/35-124-1-PB.pdf
45
As grandes corporações utilizam bancos de dados não relacionais
como complementação de seus bancos de dados relacionais, como é o
caso do Facebook, do LinkedIn, entre outros.
Figura 14 – Corporações utilizam bancos de dados não relacionais como complementação
de seus bancos de dados relacionais, como é o caso do Facebook
Fonte: Freepik
Mesmo que os bancos de dados NoSQL consigam altíssimas taxas
de desempenho para grandes volumes de dados, eles não conseguem
impor integridade referencial, uma característica fundamental para
prevenir erros durante as transações de atualização do banco de dados.
RESUMINDO:
E então? Gostou do que lhe mostramos? Aprendeu mesmo
tudinho? Agora, só para termos certeza de que você
realmente entendeu o tema de estudo deste capítulo,
vamos resumir tudo o que vimos. Você deve ter aprendido
que é importante conhecer quais são as principais
funcionalidades de um SGBD típico e suas linguagens de
programação. O mercado mundial está repleto de soluções
para quem precisa armazenar dados, desde pequenos e
domésticos até robustos e corporativos, são inúmeras
opções de SGBDs de arquitetura aberta e fechada, gratuitos
e pagos. Para isso, é essencial estudar os principais SGBDs
oferecidos pelo mercado, identificando suas características,
vantagens e desvantagens de uns sobre os outros.
Tecnologias e Linguagens de Banco de Dados
46
REFERÊNCIAS
MICROFILMAGEM BALVF. [S. l.: s. n.], 2015. 1 vídeo (1 min). Publicado
pelo canal Marina Valadares. Disponível em: https://www.youtube.com/
watch?v=IRJadfEoKhs&ab_channel=MarinaValadares. Acesso em: 22 fev.
2022.
NOGUEIRA J. Tecnologias e linguagens de banco de dados:
SGBDS disponíveis no mercado. Recife: Unissau, 2017a.
NOGUEIRA, J. Tecnologias e linguagens de banco de dados:
funcionalidades dos SGBDs. Recife: Unissau, 2017b.
NOGUEIRA, J. Tecnologias e linguagens de banco de dados:
linguagens de manipulação de banco de dados. Recife: Unissau, 2017c.
OLIVEIRA, K. A. PostgreSQL x MySQL: qual escolher? DevMedia,
[20--?]. Disponível em: https://www.devmedia.com.br/postgresql-x-
mysql-qual-escolher/3923. Acesso em: 22 fev. 2022.
OLIVEIRA, S. S. Bancos de dados não-relacionais: um novo
paradigma para armazenamento de dados em sistemas de ensino
colaborativo. Revista da Escola de Administração Pública do Amapá,
Macapá, v. 2 n. 1, p. 184–194, 2014. Disponível em: http://www2.unifap.br/
oliveira/files/2016/02/35-124-1-PB.pdf. Acesso em: 22 fev. 2022.
ROCHA, J. F.; DIAS, J. W. Importância do banco de dados nas
aplicações. Curitiba: Unipar, 2015. Disponível em: https://livrozilla.
com/doc/424454/import%C3%A2ncia-do-banco-de-dados-nas-
aplica%C3%A7%C3%B5es. Acesso em: 22 fev. 2022.
ZANETTE, A. Os 10 comandos SQL que você não pode viver sem!
Becode, 2015. Disponível em: https://becode.com.br/comandos-sql-nao-
pode-viver-sem. Acesso em: 22 fev. 2022.
Tecnologias e Linguagens de Banco de Dados
OLE_LINK2
OLE_LINK3
OLE_LINK1
OLE_LINK4
Funcionalidades dos SGBDs
O que é um SGBD?
Funcionalidades de um SGBD
Ambientes de Gerenciamento de Banco de Dados
Interface Gráfica Versus Caractere
O Ambiente MySQL
Linguagens de Manipulação de Banco de Dados
As Linguagens de um SGBD
SGBDs Disponíveis no Mercado
Classificação Quanto ao Porte e tipo de Licenciamento
Classificação Quanto ao Paradigma