Baixe o app para aproveitar ainda mais
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
Compartilhar