Buscar

principios e tecnologias de BD

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Desire Nguessan 
TECNOLOGIAS E PROJETO DE BANCO DE DADOS
Conceitos, Princípios e Aspectos
DESIRE NGUESSAN 
desire.nguessan@fatec.sp.gov.br
1
Desire Nguessan 
Graduado em Ciência da Computação
Mestre em Ciências da Computação 
Doutor em engenharia da computação pela Escola Politécnica da Universidade de São Paulo - USP/Brasil
Professor da universidade de Mogi das Cruzes - UMC
Professor associado do centro Estadual Paula Souza do governo de São Paulo - FATEC. 
Foi Membro da Congregação da FATECSCS de 2010 até 2012. 
Consultor na NIDEALE Consulte e Comunicação (NTIC). 
DESIRE NGUESSAN
6-2
2
Desire Nguessan 
OBJETIVOS
Apresentar os princípios e aspectos necessários para entender, projetar, implementar e usar um sistema de banco de dados e suas aplicações. 
Entender o que é um banco de dados, dado versus informação e SGBD.
Compreender a função e responsabilidade de um DBA.
Entender as subdivisões de BD: banco de dados relacional e um banco de dados NoSQL.
OBJETIVOS
NAVATHE, E. Sistemas De Banco De Dados. 4ª ed 
6-3
3
Desire Nguessan 
CONTEÚDO
Introdução e Conceitos Básicos
Subdivisões de Banco de Dados (Tecnologias)
Modelo Relacional
NoSQL
Banco de Dados Orientado a Objeto
Banco de Dados em Árvores
Banco de Dados em Grafos
NEO4J
Introdução
Como funciona
Porque usar um BD em grafos
Relacional X Grafo
Pontos Importantes
NAVATHE, E. Sistemas De Banco De Dados. 4ª ed 
6-4
4
Desire Nguessan 
O QUE É UM BANCO DE DADOS?
Bancos de dados ou bases de dados são coleções de informações que se relacionam de forma a criar um sentido. São de vital importância para empresas, e há duas décadas se tornaram a principal peça dos sistemas de informação.
Podemos simplificar essa definição para: “Bancos de dados são coleções de dados interligados entre si e organizados para fornecer informações.”
INTRODUÇÃO E CONCEITOS BÁSICOS
NAVATHE, E. Sistemas De Banco De Dados. 4ª ed 
6-5
5
Desire Nguessan 
DADOS VS INFORMAÇÕES
Muitos consideram dados e informações como palavras sinônimas, mas na verdade não são. Para entender o que é um banco de dados é muito importante saber a diferença entre essas duas palavras.
Dados: são fatos brutos, em sua forma primária. E muitas vezes os dados podem não fazer sentido sozinhos.
Informações: consiste no agrupamento de dados de forma organizada para fazer sentido, gerar conhecimento.
INTRODUÇÃO E CONCEITOS BÁSICOS
NAVATHE, E. Sistemas De Banco De Dados. 4ª ed 
6-6
6
Desire Nguessan 
DADOS VS INFORMAÇÕES
Por exemplo, o número 2001 isoladamente faz algum sentido? Não! Isso é um dado. 
Se eu dissesse: “Ano do atentado terrorista às torres gêmeas: 2001″? Agora faz sentido! Isso é uma informação. Então um banco de dados é uma estrutura de dados organizada que permite a extração de informações.
INTRODUÇÃO E CONCEITOS BÁSICOS
NAVATHE, E. Sistemas De Banco De Dados. 4ª ed 
6-7
7
Desire Nguessan 
O QUE É UM SGBD?
A gerência de um banco de dados não é uma coisa a se deixar de lado, pois uma empresa pode depender dele, ou seja, pode ajudar a empresa a ter sucesso, mas também pode levá-la ao fracasso. Para garantir a consistência dos dados, controlar o acesso, manter os dados seguros, fornecer meios de acesso aos dados, foram criados os Sistemas de Gerenciamento de Bancos de Dados, ou SGBD (DBMS em inglês Database Management System).
INTRODUÇÃO E CONCEITOS BÁSICOS
NAVATHE, E. Sistemas De Banco De Dados. 4ª ed 
6-8
8
Desire Nguessan 
O QUE É UM SGBD?
SGBD é o conjunto de programas de computador (softwares) responsáveis pelo gerenciamento de uma base de dados: acesso, manipulação e a organização dos dados. 
O SGBD disponibiliza uma interface para que seus clientes possam incluir, alterar ou consultar dados previamente armazenados. 
INTRODUÇÃO E CONCEITOS BÁSICOS
6-9
NAVATHE, E. Sistemas De Banco De Dados. 4ª ed 
9
Desire Nguessan 
O QUE É UM SGBD?
É comum as pessoas chamarem um SGBD de banco de dados, por exemplo: banco de dados Oracle, banco de dados MySQL, banco de dados SQL Server, etc.  Na verdade esses são os SGBDs, banco de dados é o que eles oferecem, o correto é chamá-los de: SGBD Oracle, SGBD MySQL, SGBD SQL Server, etc.
INTRODUÇÃO E CONCEITOS BÁSICOS
NAVATHE, E. Sistemas De Banco De Dados. 4ª ed 
6-10
10
Desire Nguessan 
O QUE É UM SGBD?
INTRODUÇÃO E CONCEITOS BÁSICOS
6-11
11
Desire Nguessan 
ARQUITETURA DE UM SISTEMA DE BANCO DE DADOS
6-12
12
Desire Nguessan 
O TERMO DBA - Administrador de banco de dados
O termo "DBA" significa "DATABASE ADMINISTRATOR“. O profissional que atua nesta área pode receber outras nomenclaturas variando pelo grau de conhecimento e tempo na área. 
INTRODUÇÃO E CONCEITOS BÁSICOS
NAVATHE, E. Sistemas De Banco De Dados. 4ª ed 
6-13
13
Desire Nguessan 
ALGUNS PROFISSIONAIS DE BD
DBA JR: os profissionais assim resignados, têm em média dois anos de experiência com banco de dados.
DBA PLENO: naturalmente, colaboradores com essa denominação possuem em média de dois a cinco anos de experiência em banco de dados.
DBA SR.(SENIOR): profissionais com mais de cinco anos de experiência, geralmente são consultores e atuam de forma independente em empresas próprias e ou em consultorias.
RACDBA: nomenclatura utilizada por profissionais que trabalham em ambientes clusterizados, que significa : CLUSTER DATABASE ADMINISTRATOR.
INTRODUÇÃO E CONCEITOS BÁSICOS
6-14
14
Desire Nguessan 
RESPONSABILIDADES DO PROFISSIONAL
Modelar o banco de dados.
Evitar a corrupção de dados.
Evitar parada do banco de dados.
Criar e administrar backups do banco de dados
Responsável pela segurança dos dados.
INTRODUÇÃO E CONCEITOS BÁSICOS
NAVATHE, E. Sistemas De Banco De Dados. 4ª ed 
6-15
15
Desire Nguessan 
RESPONSABILIDADES DO PROFISSIONAL
Analisar e evitar problemas de Performance, que sejam causadas por hardware, consultas SQL mal escritas e ou problemas com topologia de rede.
Calcular a expansão do ambiente (HARDWARE + STORAGE) e evitar desuso indevido por parte das aplicações no banco de dados que oneram recursos no sistema de armazenamento.
INTRODUÇÃO E CONCEITOS BÁSICOS
6-16
NAVATHE, E. Sistemas De Banco De Dados. 4ª ed 
16
Desire Nguessan 
RESPONSABILIDADES DO PROFISSIONAL
Aplicar atualizações no banco de dados.
Modelar o fluxo de trabalho das rotinas geradas no banco pelas aplicações (fluxuograma de trabalho).
Migração de ambientes operacionais , tipo: versões de software de banco de dados e ou arquitetura do ambiente de hardware
INTRODUÇÃO E CONCEITOS BÁSICOS
NAVATHE, E. Sistemas De Banco De Dados. 4ª ed 
6-17
17
Desire Nguessan 
CONTEÚDO
Introdução e Conceitos Básicos
Subdivisões de Banco de Dados (Tecnologias)
Modelo Relacional
NoSQL
Banco de Dados Orientado a Objeto
Banco de Dados em Árvores
Banco de Dados em Grafos
NEO4J
Introdução
Como funciona
Porque usar um BD em grafos
Relacional X Grafo
Pontos Importantes
NAVATHE, E. Sistemas De Banco De Dados. 4ª ed 
6-18
18
Desire Nguessan 
SUBDIVISÃO 
Basicamente os Bancos de Dados podem ser subdivididos em duas categorias base: 
Bancos de dados Relacionais.
Banco de dados NoSQL
SUBDIVISÕES DE BANCOS DE DADOS 
NAVATHE, E. Sistemas De Banco De Dados. 4ª ed 
6-19
19
Desire Nguessan 
O QUE É UM BDR
Sistema Gerenciador de Banco de Dados Relacional
É uma categoria de base de dados que segue o modelo relacional para armazenar e manipular informações 
Modelo Relacional
É um modelo baseado em tabelas(linhas e colunas) onde se relacionam de forma a criar um informação consistente, onde cada registro(linha) possua o mesmo número de campos(colunas)
BANCO DE DADOS RELACIONAL: SGBDR
NAVATHE, E. Sistemas De Banco De Dados. 4ª ed 
6-20
20
Desire Nguessan 
CARACTERISTICAS DO BDR?
Algumas Características do BDR (Banco de dados relacional)
Tem como base a linguagem de alto nível SQL (Structured Query Language)
Segue alguns padrões de normalização
Sua modelagem consiste em três níveis:
Conceitual
Lógico
Físico 
SGBDR
NAVATHE, E. Sistemas De Banco De Dados. 4ª ed 
6-21
21
Desire Nguessan 
EXEMPLO DE BDR
CodEmp
Nome
CodDpto
Categoria
Cic
E1
Santo
D1
344334
E2
Maria
D2
C5
565565
E3
Silva
D2
C5
787877
E4
Soares
D1
C2
990909
CodDpto
NomeDpto
D1
compras
D2
engenharia
D3
vendas
CodigoDepto em EMP é uma chave estrangeira em relação a tabela DEPTO
DEPTO
EMP
6-22
22
Desire Nguessan 
EXEMPLO DE BDR
6-23
23
Desire Nguessan 
O QUE É NOSQL
Termo genérico para qualquer plataforma de BD que não é relacional e não utilize somente a linguagem SQL (Not only SQL)
Os bancos de dados NOSQL, vão ficando mais populares entre as grandes empresas pois reúnem as características de poder trabalhar com dados semi-estruturados vindos de diversas origens (arquivos de log, web-sites, arquivos multimídia, etc...)
BANCO DE DADOS NOSQL
NAVATHE, E. Sistemas De Banco De Dados. 4ª ed 
6-24
24
Desire Nguessan 
O QUE É NOSQL (continuação)
Alguns exemplos banco de dados NOSQL: 
Banco de Dados Orientado a Objetos
Banco de Dados em Árvores
Banco de Dados em Grafos
BANCO DE DADOS NOSQL
6-25
NAVATHE, E. Sistemas De Banco De Dados. 4ª ed 
25
Desire Nguessan 
BANCO DE DADOS NOSQL (Not Only SQL)
6-26
26
Desire Nguessan 
O QUE É BDOO
O termo surgiu aproximadamente em 1985, mas começou a ser mais utilizado nos anos 90’s
Informações são baseados em objetos e não mais em tabelas. Fácil integração com linguagens modernas Orientadas a Objetos
Desnecessário a etapa de mapeamento objeto-relacional ao realizar a persistência de uma informação 
BANCO DE DADOS ORIENTADO A OBJETOS
NAVATHE, E. Sistemas De Banco De Dados. 4ª ed 
6-27
27
Desire Nguessan 
COMPONENTES DO SGBDOO
Modelo de objetos
Linguagem de especificação dos objetos
ODL - Object Definition Language
Linguagem de Consulta
OQL - Object Query Language
Declarativa, não procedural para consulta e atualização da base de dados
Baseada no SQL
Ligações (bindings) com LPOO
C++, Smalltalk e Java
BANCO DE DADOS ORIENTADO A OBJETOS
NAVATHE, E. Sistemas De Banco De Dados. 4ª ed 
6-28
28
Desire Nguessan 
BANCO DE DADOS ORIENTADO A OBJETOS
6-29
29
Desire Nguessan 
DEFINIÇÃO
Segue uma hierarquia entre os registros.
Impossível relacionar um “ramo” com o outro da árvore
Modelo muito rápido para realizar consultas, porém mais lento do que os demais em criar e atualizar informações 
Costuma ser usado para armazenar 
 usuários de um sistema
Open LDAP(Linux)
Active Directory (Windows)
BANCO DE DADOS EM ÁRVORE
NAVATHE, E. Sistemas De Banco De Dados. 4ª ed 
6-30
30
Desire Nguessan 
DEFINIÇÃO
Semelhante ao Banco de Dados em Árvore porem baseado na teoria dos grafos.
Pode ser usado para o mapeamento de diversos problemas complexos
Processos industriais, logística, sistemas de comunicação, fluxo de rede, etc...
BANCO DE DADOS ORIENTADO A GRAFOS
NAVATHE, E. Sistemas De Banco De Dados. 4ª ed 
6-31
31
Desire Nguessan 
DEFINIÇÃO
Inspirado no teorema matemático dos Grafos (G=(E,V));
Escala a complexidade dos dados;
Focado na modelagem de estruturas de dados – interconectividade;
BANCO DE DADOS ORIENTADO A GRAFOS
NAVATHE, E. Sistemas De Banco De Dados. 4ª ed 
6-32
32
Desire Nguessan 
DEFINIÇÃO
Semelhante ao Banco de Dados em Árvore porem baseado na teoria dos grafos.
Pode ser usado para o mapeamento de diversos problemas complexos
Processos industriais, logística, sistemas de comunicação, fluxo de rede, etc...
BANCO DE DADOS ORIENTADO A GRAFOS
NAVATHE, E. Sistemas De Banco De Dados. 4ª ed 
6-33
33
Desire Nguessan 
DEFINIÇÃO
É composto por:
Nós: Possui o mesmo conceito de uma instância de um objeto, e possui um ID único.
Relacionamentos: Fornece uma ligação entre dois nós, ambos os nós possuem uma direção e um tipo de relacionamento.
Propriedades: São pares de String key/Objeto, valor que podem existir tanto em um nó quanto em um relacionamento. 
BANCO DE DADOS ORIENTADO A GRAFOS
6-34
NAVATHE, E. Sistemas De Banco De Dados. 4ª ed 
34
Desire Nguessan 
DEFINIÇÃO
Semelhante ao Banco de Dados em Árvore porem baseado na teoria dos grafos.
Pode ser usado para o mapeamento de diversos problemas complexos
Processos industriais, logística, sistemas de comunicação, fluxo de rede, etc...
BANCO DE DADOS ORIENTADO A GRAFOS
6-35
NAVATHE, E. Sistemas De Banco De Dados. 4ª ed 
35
Desire Nguessan 
APLICAÇÃO
BANCO DE DADOS ORIENTADO A GRAFOS
Redes Sociais: Usuários
Facebook: 900.000.000
Twitter: 200.000.000
Linkedin: 120.000.000
(Fonte: International Telecommunication Union, 2012.)
6-36
NAVATHE, E. Sistemas De Banco De Dados. 4ª ed 
36
Desire Nguessan 
CONTEÚDO
Introdução e Conceitos Básicos
Subdivisões de Banco de Dados (Tecnologias)
Modelo Relacional
NoSQL
Banco de Dados Orientado a Objeto
Banco de Dados em Árvores
Banco de Dados em Grafos
NEO4J
Introdução
Como funciona
Porque usar um BD em grafos
Relacional X Grafo
Pontos Importantes
NAVATHE, E. Sistemas De Banco De Dados. 4ª ed 
6-37
37
Desire Nguessan 
ASPECTOS
Semelhante ao Banco de Dados em Árvore porem baseado na teoria dos grafos.
Sistema de Banco de Dados Open Source
Implementação em JAVA
Possui um mecanismo de persistência JAVA que armazena registros estruturados em grafos
Desenvolvido pela Neo Technology
Licenciado pela GNU General Public Licence (GPL)
Mais famoso server entre Sistemas de BD baseados em Grafos
NEO4J
6-38
NAVATHE, E. Sistemas De Banco De Dados. 4ª ed 
38
Desire Nguessan 
ASPECTOS
Suporte e integração com diversas linguagens como .NET, Python, PHP, Ruby e principalmente JAVA
Mecanismos de consultas Cypher -> linguagem de pesquisa em grafos
NEO4J
6-39
NAVATHE, E. Sistemas De Banco De Dados. 4ª ed 
39
Desire Nguessan 
NEO4J COMO FUNCIONA
NEO4J
6-40
40
Desire Nguessan 
NEO4J COMO FUNCIONA
Um registro é armazenado em forma de Vértice(NÓ)
Basicamente é um objeto JAVA instanciado e persistido com n atributos(campos) e uma lista de Arestas, usadas para relacionamentos podendo esta ser NULL
Os vértices de uma mesma base de dados(grafo) não precisam ter o mesmo número ou tipos de registros
NEO4J
NAVATHE, E. Sistemas De Banco De Dados. 4ª ed 
6-41
41
Desire Nguessan 
CONTEÚDO
Introdução e Conceitos Básicos
Subdivisões de Banco de Dados (Tecnologias)
Modelo Relacional
NoSQL
Banco de Dados Orientado a Objeto
Banco de Dados em Árvores
Banco de Dados em Grafos
NEO4J
Introdução
Como funciona
Porque usar um BD em grafos
Relacional X Grafo
Pontos Importantes
NAVATHE, E. Sistemas De Banco De Dados. 4ª ed 
6-42
42
Desire Nguessan 
POR QUE UTILIZAR UM BD EM GRAFO
Um banco de dados relacional soluciona a maioria dos problemas que encontramos no dia-a-dia em sistemas da informação. Porém existem aqueles problemas que são muitos trabalhosos ou quase impossíveis de se solucionar com um modelo relacional por exemplos: 
Sistemas de recomendações; Business Intelligence;
Social computing; Sistemas geoespaciais;
Sistemas de gerenciamento; Web of things;
Catálogo de produtos; Web analytics; Computação científica.
RELACIONAL X GRAFO
6-43
43
Desire Nguessan 
Bancos de dados são coleções de dados interligados entre si e organizados para fornecer informações.” 
O BDA é o profissional responsável para administra o banco de dados 
É comum os usuários chamarem um SGBD de banco de dados, por exemplo: banco de dados Oracle, banco de dados MySQL, banco de dados SQL Server, etc.  Na verdade esses são os SGBDs, banco de dados é o que eles oferecem, o correto é chamá-los de: SGBD Oracle, SGBD MySQL, SGBD SQL Server, etc
PONTOS IMPORTANTES
6-44
NAVATHE, E. Sistemas De Banco De Dados. 4ª ed 
44
Desire Nguessan 
Basicamente os Bancos de Dados podem ser subdivididos em duas categorias base: bancos de dados relacionais e banco de dados NoSQL chamado de big data base geralmente usado em problema muito complexo (sistema de redes sociais).
PONTOS IMPORTANTES
6-45
NAVATHE,
E. Sistemas De Banco De Dados. 4ª ed 
45
Desire Nguessan 
ELMASRI, R; NAVATHE, E. Sistemas De Banco De Dados. 4ª ed., Peason- Addison Wesley, 2005
NEO4J , the graph database ; www.neo4j.org
REFERÊNCIA BIBLIOGRÁFICA
NAVATHE, E. Sistemas De Banco De Dados. 4ª ed 
6-46
46
Desire Nguessan 
Sommerville, Engenharia de SW 9ª.Ed.
Thank You
Merci
Gracias
Obrigado
Danke
Japanese
French
German
Grazie
Italian
Spanish
Brazilian Portuguese
Traditional Chinese
Simplified Chinese
 
Tamil
Tack
Swedish
Tak
Dankie
Afrikaans
Siyabonga
Dziękuję
 Polish
6-47
47
Desire Nguessan 
 
 FIM
 ‘’Tous les jours, à tous points de vue, on va de mieux en mieux’’
[Scapino Ballet Rotterdam]
6-48
48

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando

Outros materiais