TECNOLOGIAS E PROJETO DE BANCO DE DADOS Conceitos
TECNOLOGIAS E PROJETO DE BANCO DE DADOS Conceitos, Princípios e Aspectos DESIRE NGUESSAN desire. nguessan@fatec. sp. gov. br Desire Nguessan
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
OBJETIVOS q Apresentar os princípios e aspectos necessários para entender, projetar, implementar e usar um sistema de banco de dados e suas aplicações. o o o 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 No. SQL. NAVATHE, E. Sistemas De Banco De Dados. 4ª ed Desire Nguessan 6 -3
CONTEÚDO Introdução e Conceitos Básicos q Subdivisões de Banco de Dados (Tecnologias) q o Modelo Relacional o No. SQL – Banco de Dados Orientado a Objeto – Banco de Dados em Árvores – Banco de Dados em Grafos q NEO 4 J o o o Introdução Como funciona Porque usar um BD em grafos Relacional X Grafo q Pontos Importantes q NAVATHE, E. Sistemas De Banco De Dados. 4ª ed Desire Nguessan 6 -4
INTRODUÇÃO E CONCEITOS BÁSICOS O QUE É UM BANCO DE DADOS? q 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. q Podemos simplificar essa definição para: “Bancos de dados são coleções de dados interligados entre si e organizados para fornecer informações. ” NAVATHE, E. Sistemas De Banco De Dados. 4ª ed Desire Nguessan 6 -5
INTRODUÇÃO E CONCEITOS BÁSICOS O QUE É UM BANCO DE DADOS? q Podemos resumir que um banco de dados: conjunto de arquivos relacionados entre si que contêm registros sobre pessoas, lugares ou coisas. NAVATHE, E. Sistemas De Banco De Dados. 4ª ed Desire Nguessan 6 -6
INTRODUÇÃO E CONCEITOS BÁSICOS DADOS VS INFORMAÇÕES q 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. o Dados: são fatos brutos, em sua forma primária. E muitas vezes os dados podem não fazer sentido sozinhos. o Informações: consiste no agrupamento de dados de forma organizada para fazer sentido, gerar conhecimento. NAVATHE, E. Sistemas De Banco De Dados. 4ª ed Desire Nguessan 6 -7
INTRODUÇÃO E CONCEITOS BÁSICOS DADOS VS INFORMAÇÕES q Por exemplo, o número 2001 isoladamente faz algum sentido? Não! Isso é um dado. q 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. NAVATHE, E. Sistemas De Banco De Dados. 4ª ed Desire Nguessan 6 -8
INTRODUÇÃO E CONCEITOS BÁSICOS O QUE É UM SGBD? q 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). NAVATHE, E. Sistemas De Banco De Dados. 4ª ed Desire Nguessan 6 -9
INTRODUÇÃO E CONCEITOS BÁSICOS O QUE É UM SGBD? q 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. q O SGBD disponibiliza uma interface para que seus clientes possam incluir, alterar ou consultar dados previamente armazenados. NAVATHE, E. Sistemas De Banco De Dados. 4ª ed Desire Nguessan 6 -10
INTRODUÇÃO E CONCEITOS BÁSICOS O QUE É UM SGBD? q É comum as pessoas chamarem um SGBD de banco de dados, por exemplo: banco de dados Oracle, banco de dados My. SQL, 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 My. SQL, SGBD SQL Server, etc. NAVATHE, E. Sistemas De Banco De Dados. 4ª ed Desire Nguessan 6 -11
INTRODUÇÃO E CONCEITOS BÁSICOS O QUE É UM SGBD? Desire Nguessan 6 -12
ARQUITETURA DE UM SISTEMA DE BANCO DE DADOS Desire Nguessan 6 -13
INTRODUÇÃO E CONCEITOS BÁSICOS O TERMO DBA - Administrador de banco de dados q 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. NAVATHE, E. Sistemas De Banco De Dados. 4ª ed Desire Nguessan 6 -14
INTRODUÇÃO E CONCEITOS BÁSICOS ALGUNS PROFISSIONAIS DE BD q DBA JR: os profissionais assim resignados, têm em média dois anos de experiência com banco de dados. q DBA PLENO: naturalmente, colaboradores com essa denominação possuem em média de dois a cinco anos de experiência em banco de dados. q 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. q RACDBA: nomenclatura utilizada por profissionais que trabalham em ambientes clusterizados, que significa : CLUSTER DATABASE ADMINISTRATOR. Desire Nguessan 6 -15
INTRODUÇÃO E CONCEITOS BÁSICOS RESPONSABILIDADES DO PROFISSIONAL q Modelar o banco de dados. q Evitar a corrupção de dados. q Evitar parada do banco de dados. q Criar e administrar backups do banco de dados q Responsável pela segurança dos dados. NAVATHE, E. Sistemas De Banco De Dados. 4ª ed Desire Nguessan 6 -16
INTRODUÇÃO E CONCEITOS BÁSICOS RESPONSABILIDADES DO PROFISSIONAL q Analisar e evitar problemas de Performance, que sejam causadas por hardware, consultas SQL mal escritas e ou problemas com topologia de rede. q 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. NAVATHE, E. Sistemas De Banco De Dados. 4ª ed Desire Nguessan 6 -17
INTRODUÇÃO E CONCEITOS BÁSICOS RESPONSABILIDADES DO PROFISSIONAL q Aplicar atualizações no banco de dados. q Modelar o fluxo de trabalho das rotinas geradas no banco pelas aplicações (fluxuograma de trabalho). q Migração de ambientes operacionais , tipo: versões de software de banco de dados e ou arquitetura do ambiente de hardware NAVATHE, E. Sistemas De Banco De Dados. 4ª ed Desire Nguessan 6 -18
CONTEÚDO Introdução e Conceitos Básicos q Subdivisões de Banco de Dados (Tecnologias) q o Modelo Relacional o No. SQL – Banco de Dados Orientado a Objeto – Banco de Dados em Árvores – Banco de Dados em Grafos q NEO 4 J o o o Introdução Como funciona Porque usar um BD em grafos Relacional X Grafo q Pontos Importantes q NAVATHE, E. Sistemas De Banco De Dados. 4ª ed Desire Nguessan 6 -19
SUBDIVISÕES DE BANCOS DE DADOS SUBDIVISÃO q Basicamente os Bancos de Dados podem ser subdivididos em duas categorias base: m Bancos de dados Relacionais. m Banco de dados No. SQL NAVATHE, E. Sistemas De Banco De Dados. 4ª ed Desire Nguessan 6 -20
BANCO DE DADOS RELACIONAL: SGBDR O QUE É UM BDR q Sistema Gerenciador de Banco de Dados Relacional m É uma categoria de base de dados que segue o modelo relacional para armazenar e manipular informações q Modelo Relacional m É 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) NAVATHE, E. Sistemas De Banco De Dados. 4ª ed Desire Nguessan 6 -21
SGBDR CARACTERISTICAS DO BDR? r Algumas Características do BDR (Banco de dados relacional) m Tem como base a linguagem de alto nível SQL (Structured Query Language) m Segue alguns padrões de normalização m Sua modelagem consiste em três níveis: • Conceitual • Lógico • Físico NAVATHE, E. Sistemas De Banco De Dados. 4ª ed Desire Nguessan 6 -22
EXEMPLO DE BDR DEPTO Cod. Dpto Nome. Dpto D 1 compras D 2 engenharia D 3 vendas Cod. Emp Nome Codigo. Depto em EMP é uma chave estrangeira em relação a tabela DEPTO Cod. Dpto Categoria Cic E 1 Santo D 1 344334 E 2 Maria D 2 C 5 565565 E 3 Silva D 2 C 5 787877 E 4 Soares D 1 C 2 990909 EMP Desire Nguessan 6 -23
EXEMPLO DE BDR Desire Nguessan 6 -24
BANCO DE DADOS NOSQL O QUE É NOSQL q Termo genérico para qualquer plataforma de BD que não é relacional e não utilize somente a linguagem SQL (Not only SQL) q 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 semiestruturados vindos de diversas origens (arquivos de log, web-sites, arquivos multimídia, etc. . . ) NAVATHE, E. Sistemas De Banco De Dados. 4ª ed Desire Nguessan 6 -25
BANCO DE DADOS NOSQL O QUE É NOSQL (continuação) q Alguns exemplos banco de dados NOSQL: m Banco de Dados Orientado a Objetos m Banco de Dados em Árvores m Banco de Dados em Grafos NAVATHE, E. Sistemas De Banco De Dados. 4ª ed Desire Nguessan 6 -26
BANCO DE DADOS NOSQL (Not Only SQL) Desire Nguessan 6 -27
BANCO DE DADOS ORIENTADO A OBJETOS O QUE É BDOO q O termo surgiu aproximadamente em 1985, mas começou a ser mais utilizado nos anos 90’s q Informações são baseados em objetos e não mais em tabelas. Fácil integração com linguagens modernas Orientadas a Objetos q Desnecessário a etapa de mapeamento objetorelacional ao realizar a persistência de uma informação NAVATHE, E. Sistemas De Banco De Dados. 4ª ed Desire Nguessan 6 -28
BANCO DE DADOS ORIENTADO A OBJETOS COMPONENTES DO SGBDOO q Modelo de objetos q Linguagem de especificação dos objetos m ODL - Object Definition Language q Linguagem de Consulta m OQL - Object Query Language m Declarativa, não procedural para consulta e atualização da base de dados m Baseada no SQL q Ligações (bindings) com LPOO q C++, Smalltalk e Java NAVATHE, E. Sistemas De Banco De Dados. 4ª ed Desire Nguessan 6 -29
BANCO DE DADOS ORIENTADO A OBJETOS Desire Nguessan 6 -30
BANCO DE DADOS EM ÁRVORE DEFINIÇÃO q Segue uma hierarquia entre os registros. q Impossível relacionar um “ramo” com o outro da árvore q Modelo muito rápido para realizar consultas, porém mais lento do que os demais em criar e atualizar informações m Costuma ser usado para armazenar usuários de um sistema m Open LDAP(Linux) m Active Directory (Windows) NAVATHE, E. Sistemas De Banco De Dados. 4ª ed Desire Nguessan 6 -31
BANCO DE DADOS ORIENTADO A GRAFOS DEFINIÇÃO q Semelhante ao Banco de Dados em Árvore porem baseado na teoria dos grafos. q Pode ser usado para o mapeamento de diversos problemas complexos q Processos industriais, logística, sistemas de comunicação, fluxo de rede, etc. . . NAVATHE, E. Sistemas De Banco De Dados. 4ª ed Desire Nguessan 6 -32
BANCO DE DADOS ORIENTADO A GRAFOS DEFINIÇÃO q Inspirado no teorema matemático dos Grafos (G=(E, V)); q Escala a complexidade dos dados; q Focado na modelagem de estruturas de dados – interconectividade; NAVATHE, E. Sistemas De Banco De Dados. 4ª ed Desire Nguessan 6 -33
BANCO DE DADOS ORIENTADO A GRAFOS DEFINIÇÃO q Semelhante ao Banco de Dados em Árvore porem baseado na teoria dos grafos. q Pode ser usado para o mapeamento de diversos problemas complexos q Processos industriais, logística, sistemas de comunicação, fluxo de rede, etc. . . NAVATHE, E. Sistemas De Banco De Dados. 4ª ed Desire Nguessan 6 -34
BANCO DE DADOS ORIENTADO A GRAFOS DEFINIÇÃO r É composto por: m Nós: Possui o mesmo conceito de uma instância de um objeto, e possui um ID único. m Relacionamentos: Fornece uma ligação entre dois nós, ambos os nós possuem uma direção e um tipo de relacionamento. m Propriedades: São pares de String key/Objeto, valor que podem existir tanto em um nó quanto em um relacionamento. NAVATHE, E. Sistemas De Banco De Dados. 4ª ed Desire Nguessan 6 -35
BANCO DE DADOS ORIENTADO A GRAFOS DEFINIÇÃO q Semelhante ao Banco de Dados em Árvore porem baseado na teoria dos grafos. q Pode ser usado para o mapeamento de diversos problemas complexos q Processos industriais, logística, sistemas de comunicação, fluxo de rede, etc. . . NAVATHE, E. Sistemas De Banco De Dados. 4ª ed Desire Nguessan 6 -36
BANCO DE DADOS ORIENTADO A GRAFOS APLICAÇÃO Redes Sociais: Usuários • Facebook: 900. 000 • Twitter: 200. 000 • Linkedin: 120. 000 (Fonte: International Telecommunication Union, 2012. ) NAVATHE, E. Sistemas De Banco De Dados. 4ª ed Desire Nguessan 6 -37
CONTEÚDO Introdução e Conceitos Básicos q Subdivisões de Banco de Dados (Tecnologias) q o Modelo Relacional o No. SQL – Banco de Dados Orientado a Objeto – Banco de Dados em Árvores – Banco de Dados em Grafos q NEO 4 J o o o Introdução Como funciona Porque usar um BD em grafos Relacional X Grafo q Pontos Importantes q NAVATHE, E. Sistemas De Banco De Dados. 4ª ed Desire Nguessan 6 -38
NEO 4 J ASPECTOS q Semelhante ao Banco de Dados em Árvore porem baseado na teoria dos grafos. r Sistema de Banco de Dados Open Source m Implementação em JAVA m Possui um mecanismo de persistência JAVA que armazena registros estruturados em grafos m Desenvolvido pela Neo Technology m Licenciado pela GNU General Public Licence (GPL) m Mais famoso server entre Sistemas de BD baseados em Grafos NAVATHE, E. Sistemas De Banco De Dados. 4ª ed Desire Nguessan 6 -39
NEO 4 J ASPECTOS q Suporte e integração com diversas linguagens como . NET, Python, PHP, Ruby e principalmente JAVA q Mecanismos de consultas Cypher -> linguagem de pesquisa em grafos NAVATHE, E. Sistemas De Banco De Dados. 4ª ed Desire Nguessan 6 -40
NEO 4 J COMO FUNCIONA Desire Nguessan 6 -41
NEO 4 J COMO FUNCIONA r Um registro é armazenado em forma de Vértice(NÓ) m Basicamente é um objeto JAVA instanciado e persistido com n atributos(campos) e uma lista de Arestas, usadas para relacionamentos podendo esta ser NULL m Os vértices de uma mesma base de dados(grafo) não precisam ter o mesmo número ou tipos de registros NAVATHE, E. Sistemas De Banco De Dados. 4ª ed Desire Nguessan 6 -42
CONTEÚDO Introdução e Conceitos Básicos q Subdivisões de Banco de Dados (Tecnologias) q o Modelo Relacional o No. SQL – Banco de Dados Orientado a Objeto – Banco de Dados em Árvores – Banco de Dados em Grafos q NEO 4 J o o o Introdução Como funciona Porque usar um BD em grafos Relacional X Grafo q Pontos Importantes q NAVATHE, E. Sistemas De Banco De Dados. 4ª ed Desire Nguessan 6 -43
RELACIONAL X GRAFO POR QUE UTILIZAR UM BD EM GRAFO q 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: o o 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. Desire Nguessan 6 -44
PONTOS IMPORTANTES q Bancos de dados são coleções de dados interligados entre si e organizados para fornecer informações. ” q O BDA é o profissional responsável para administra o banco de dados q É comum os usuários chamarem um SGBD de banco de dados, por exemplo: banco de dados Oracle, banco de dados My. SQL, 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 My. SQL, SGBD SQL Server, etc NAVATHE, E. Sistemas De Banco De Dados. 4ª ed Desire Nguessan 6 -45
PONTOS IMPORTANTES q Basicamente os Bancos de Dados podem ser subdivididos em duas categorias base: bancos de dados relacionais e banco de dados No. SQL chamado de big data base geralmente usado em problema muito complexo (sistema de redes sociais). NAVATHE, E. Sistemas De Banco De Dados. 4ª ed Desire Nguessan 6 -46
REFERÊNCIA BIBLIOGRÁFICA ELMASRI, R; NAVATHE, E. Sistemas De Banco De Dados. 4ª ed. , Peason- Addison Wesley, 2005 NEO 4 J , the graph database ; www. neo 4 j. org NAVATHE, E. Sistemas De Banco De Dados. 4ª ed Desire Nguessan 6 -47
Traditional Chinese Thank You Siyabonga Dankie Gracias Spanish Danke Dziękuję Polish Obrigado Grazie Afrikaan s German Tack Swedish Brazilian Portuguese Italian Merci French Tamil Japanese Tak Simplified Chinese Sommerville, Engenharia de SW 9ª. Ed. Desire Nguessan 6 -48
FIM ‘’Tous les jours, à tous points de vue, on va de mieux en mieux’’ [Scapino Ballet Rotterdam] Desire Nguessan 6 -49
- Slides: 49