Prévia do material em texto
Grupo SER Educacional | Tecnologias e Linguagens de Banco de Dados 1
TECNOLOGIAS E LINGUAGENS DE
BANCO DE DADOS
Tecnologias e Linguagens de
Banco de Dados
JOÃO DANILO NOGUEIRA
SGBDs DISPONÍVEIS
NO MERCADO
AULA 04
Diretor Executivo
DAVID LIRA STEPHEN BARROS
Direção Editorial
ANDRÉA CÉSAR PEDROSA
Projeto Gráfico
MANUELA CÉSAR DE ARRUDA
Autor
JOÃO DANILO NOGUEIRA
Desenvolvedor
CAIO BENTO GOMES DOS SANTOS
O Autor
João Danilo Nogueira
Olá. Meu nome é João Danilo. Sou graduado em Ciência da Computação
pela Faculdade Grande Fortaleza (FGF) 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ê.
JOÃO DANILO NOGUEIRA
“
Iconográficos
Olá. Meu nome é Manuela César de Arruda. Sou o responsável pelo
projeto gráfico de seu material. Esses ícones irão aparecer em sua trilha
de aprendizagem toda vez que:
INTRODUÇÃO
para o início do
desenvolvimento de
uma nova
competência;
DEFINIÇÃO
houver necessidade de
se apresentar um novo
conceito;
NOTA
quando forem
necessários
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 sobre;
ACESSE
se for preciso acessar
um ou mais sites
para fazer download,
assistir vídeos, ler
textos, ouvir podcast;
RESUMINDO
quando for preciso se
fazer um resumo
acumulativo das
últimas abordagens;
ATIVIDADES
quando alguma
atividade de
autoaprendizagem for
aplicada;
TESTANDO
quando o
desenvolvimento de
uma competência for
concluído e questões
forem explicadas;
Sumário
1 SGBDS DISPONÍVEIS NO MERCADO ......................................................................... 6
1.1 Classificação quanto ao porte e tipo de licenciamento ........................................... 6
1.2 Classificação quanto ao paradigma ........................................................................ 8
1.2.1 Tipos de SGBDs No-SQL............................................................................. 9
Considerações Finais ................................................................................................ 15
Atividades de Autoaprendizagem .............................................................................. 15
Questionário Avaliativo ............................................................................................ 15
Bibliografia .............................................................................................................. 16
Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 6
1 SGBDs disponíveis no Mercado
INTRODUÇÃO:
Agora que já sabemos quais são as principais funcionalidades de um
SGBD típico e suas linguagens de programação, está na hora de analisar
as opções disponíveis no mercado. 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 SG BDs
de arquitetura aberta e fechada, gratuitos e pagos. Ao longo desta aula,
iremos estudar os principais SGBDs oferecidos pelo mercado,
identificando suas características, vantagens e desvantagens de uns
sobre os outros.
1.1 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, o mercado oferece os seus líderes:
Oracle;
SQL Server da Microsoft;
DB2 da IBM; e
PostgreSQL.
Os três primeiros SGBDs 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.
OBJETIVO:
Ao término desta aula você conhecerá os gerenciadores de banco de dados
disponíveis no mercado mundial .
Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 7
Por outro lado, existem SGBDs menos robustos, que podem ser utilizado s
em aplicações domésticas ou mesmo corporativas, mas com algumas
limitações, quer em termos de segurança da informação, quer em
desempenho para processar grandes volumes de dados. Entre esses
SGBDs podemos destacar:
MySQL; e
Microsoft Access.
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 o Wikipedia, 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 em 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, em que pese o fato de sua
licença ser bastante barata, uma vez que é voltado ao usuário doméstico.
A característica que torna o Access um SGBD bastante popular é a sua
interface intuitiva e extremamente didática. Sem necessitar conhecer
absolutamente nada de programação ou mesmo de conceitos mais
sólidos sobre bancos de dados, o usuário final é perfeitamente capaz de
criar e manter o seu banco de dados.
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.
Mas, apesar de toda essa simplicidade, o Access permite
que visualizemos e editemos as consultas diretamente na
linguagem SQL.
NOTA
Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 8
1.2 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 de hoje?
Modelo tabular (ou plano): Esse modelo de BD 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.
Modelo em rede: Utilizava ponteiros (oi 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.
Modelo hierárquico: Tratava-se de um tipo particular
de modelo em rede. Nesse modelo, 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).
Modelo relacional: Nesse modelo, 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 se
estabelecer uma relação entre duas tabelas, gerava-se
o que chamamos de integridade referencial, que
passava a ser gerenciada diretamente pelo SGBD.
Modelo não relacional: Os SGBDs não relacionais,
também conhecidos como “No -SQL”, são ainda
considerados emergentes. Esse tipo de SGBD não
implementa o conceito do modelo entidade-
relacionamento (E-R), nem utiliza a linguagem SQL
para acesso e manipulação de dados, daí o seu nome
“No-SQL”.
1
N
N
1
1
N
1
N
Figura 2 - Modelo
tabular. Fonte: o autor
Figura 1 - Modelo em rede. Fonte: o autor.
Figura 3 - Modelo hierárquico. Fonte: o
autor.
Figura 4 - Modelo relacional. Fonte: o autor.
Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 9
Os bancos de dados não relacionais despontam na atualidade como a
grande tendência para as próximas décadas. As aplicações que lidam
com grandes volumes de dados (Big Data) necessitam de bancos de
dados deste modelo.
1.2.1 Tipos de SGBDs No-SQL
Os SGBDs que lidam diretamente com bancos de dados não relacionais
podem ser classificados da seguinte forma:
Orientados a colunas: Esse modelo de BD no-SQL se baseia 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
essas colunas. 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 No-SQL (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 BD não
relacional, temos: o Google BigTable, Hadoop, HyperTable, Cassandra,
Os bancos de dados relacionais se baseiam na
organização de dados em tabelas, onde cada
informação apresenta uma mesma formatação de
colunas, como 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 No -
SQL), os dados não são armazenados de forma
estruturada. Dependendo do tipo de BD No-SQL, os dados
podem ser indexados por chaves múltiplas, grafos, etc.
EXPLICANDO MELHOR
Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 10
Amazon SimpleDB, entre outros.
Orientados a Grafos: Ao contrário dos BDs orientados a colunas, o
modelo orientado a grafos está associado a um modelo previamente
estabelecido. A filosofia deste modelo é a representação dos esquemas
de dados como grafos dirigidos. Este 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 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, este é 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 documentos dizem respeito a coleções de
atributos multivalorados. Esses BDs não possuem
esquema, isto é, não necessitam de uma estrutura pré-
formatada em comum, como alguns dos demais
modelos estudados. Alguns dos BDs que se utilizam
desse modelo são: MongoDb, CouchDB, RavenDb, etc.
Esquema chave/valor: Também denominadas “tabelas
de hash distribuídas”, este 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
Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 11
realidade nas aplicações de Big Data, no entanto, eles não
decretaram a morte dos bancos de dados relacionais. As
grandes corporações utilizam bancos de dados não
relacionais como complementação de seus BDs
relacionais, como é o caso do Facebook, Linked-In, entre
outros. Em que pese o fato de os BDs No-SQL conseguirem
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.
Ao longo desta disciplina, iremos nos ater ao modelo
relacional. Portanto, o conteúdo exposto neste último
tópico servirá apenas de conhecimento agregado para o
futuro.
NOTA
Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 12
Considerações Finais
SAIBA MAIS:
Vamos nos aprofundar nos estudos sobre bancos de dados não
relacionais? Então acesse a seguinte fonte de consulta:
Artigo: “Bancos de dados não-relacionais: um novo paradigma
para armazenamento de dados em sistemas de ensino colaborativo ”,
acessível pelo link: http://www2.unifap.br/oliveira/files/2016/02/35-124-1-
PB.pdf (Acesso em 18/11/2017).
Atividades de Autoaprendizagem
ATIVIDADES:
Pronto para consolidar seus conhecimentos? Leia atentamente o
enunciado de sua atividade de autoaprendizagem proposta para esta
aula. Se você está fazendo o seu curso presencialmente, é só abrir o
seu caderno de atividades. Se você estiver cursando na modalid ade de
EAD (Educação a Distância), acesse a sua trilha de aprendizagem no seu
ambiente virtual e realize a atividade de modo online. Você pode
desenvolver esta atividade sozinho ou em parceria com seus colegas de
turma. Dificuldades? Poste suas dúvidas no fórum de discussões em seu
ambiente virtual de aprendizagem. Concluiu a sua atividade? Submeta o
resultado em uma postagem diretamente em seu ambiente virtual de
aprendizagem e boa sorte!
Questionário Avaliativo
TESTANDO:
Chegou a hora de você provar que aprendeu tudo o que foi abordado ao
longo desta aula. Para isto, leia e resolva atentamente as questões do
seu caderno de atividades. Se você estiver fazendo este curso a
distância, acesse o QUIZ (Banco de Questões) em seu ambiente virtual
de aprendizagem.
http://www2.unifap.br/oliveira/files/2016/02/35-124-1-PB.pdf
http://www2.unifap.br/oliveira/files/2016/02/35-124-1-PB.pdf
Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 13
Bibliografia
OLIVEIRA, S. S. (ago-dez de 2014). Bancos de dados não-relacionais: um novo
paradigma para armazenamento de dados em sistemas de ens ino
colaborativo. Revista Eletrônica da Escola de Administração Pública do
Amapá. Acesso em 18 de Nov de 2017, disponível em
www2.unifap.br/oliveira/files/2016/02/35-124-1-PB.pdf
Tecnologiase Linguagens de Banco de Dados | Danilo Nogueira | 14