O que é um Banco de Dados (BD)? É uma coleção de dados relacionados e armazenados em algum dispositivo Associações aleatórias de dados não podem ser chamadas de base de dados
Conceito de dados Valor de um campo armazenado, matéria-prima para obtenção de informação Conceito de informação Dados compilados e processados de acordo com solicitação de consultas e análises
Exemplo de dados Rio de Janeiro, Atenas, Londres, Pequim, Guadalajara 2007, 2012, 2004, 2011, 2016, 2008, 2014 Exemplo de informação (Rio de Janeiro, 2007) =? (Rio de Janeiro, 2016) =? (Atenas, 2004) =? (Londres, 2012) =? (Rio de Janeiro, 2007,2014,2016)=?
Propriedades de um BD Um BD é uma coleção de dados logicamente relacionados com algum significado inerente. Um BD é projetado, construído e povoado com dados para um específico propósito Um BD representa um domínio de aplicação
O que é um SGBD (Sistema de Gerenciamento de Banco de Dados)? É um software que permite definir, construir e manipular um BD Exemplos: Oracle, MySQL, PostgreSQL, SQL Server
Definir uma base de dados envolve a especificação de tipos de dados a serem armazenados na base de dados. Construir uma base de dados é o processo de armazenar os dados em algum meio que seja controlado pelo SGBD Manipular uma base de dados indica a utilização de funções como a de consulta, para recuperar dados específicos, modificação da base de dados para refletir mudanças no domínio (inserções, atualizações e remoções), e geração de relatórios.
Utilização de SGBS s controlar redundância; compartilhamento de dados; independência de dados; segurança; backup e recuperação à falhas; forçar restrições de integridade; aumentar a produtividade e disponibilidade; flexibilidade, padronização.
Ambiente de uso de um SGBD
Ambiente de uso de um SGBD
Componentes da Arquitetura de um SGBD Interface de alto nível de abstração que provê consultas, manipulação de dados, definição de dados, geradores de relatórios, Ling. 4 geração
Componentes da Arquitetura de um SGBD Tradutor/otimizador de consultas Visões do usuário de BD Controle de concorrência sincronização de acessos simultâneos ao BD
Componentes da Arquitetura de um SGBD Controle de integridade validação de restrições de integridade Controle de segurança autorização de acesso aos dados Controle de recuperação torna o SGBD tolerante à falhas Eficiente sistema de arquivos Técnicas de indexação eficientes que permitem armazenar e manipular os dados do BD
Principais modelos de bancos de dados Modelo Hierárquico os dados são estruturados em hierarquias ou árvores
Principais modelos de bancos de dados Modelo em Rede possibilita acesso a qualquer nó da rede sem passar pela raiz
Principais modelos de bancos de dados Modelo Relacional implementa estruturas de dados organizadas em relações
Principais modelos de bancos de dados Modelo Orientado a Objetos Construção de tipos complexos de dados
Principais modelos de bancos de dados Bancos de Dados NoSQL Coluna Chave-Valor Documento Construção de dados sem uma estrutura previamente definida
Principais modelos de bancos de dados Bancos de Dados NoSQL baseados em coluna Armazenam dados de forma similar ao modelo relacional; Otimizados para operações em colunas (avg, sum,count); Não requer um único valor na coluna; Origem no banco BigTable do Google. Exemplos: DataStax, Apache Cassandra, HBase, Apache Accumulo, Hypertable.
Principais modelos de bancos de dados Bancos de Dados NoSQL baseados em coluna
Principais modelos de bancos de dados Bancos de Dados NoSQL baseados em chavevalor Possui dois tipos de registros: um ID (a chave) e um conjunto de dados (o valor); Os conjuntos de dados podem apontar para outros conjuntos do tipo chave-valor; Modelo simples de armazenamento por coluna; Exemplos: Basho Riak, Redis, Voldemort, Aerospike, Oracle NoSQL.
Principais modelos de bancos de dados Bancos de Dados NoSQL baseados em chavevalor
Principais modelos de bancos de dados Bancos de Dados NoSQL baseados em documento Armazenam informação agregada em uma unidade lógica (o documento); A estrutura da informação não é fixa! Texto, arquivos, etc. Documentos armazenados em estrutura de árvore; Exemplos: MongoDB, MarkLogic, CouchDB, FoundationDB, IBM Cloudant, Couchbase.
Principais modelos de bancos de dados Bancos de Dados NoSQL baseados em documento
Modelo de Dados Esquema de Dados Instância do BD
Modelo de Dados Um conjunto de conceitos para descrever a estrutura de um BD. São classificados em modelos conceituais e físicos Principais conceitos estruturas de dados regras de integridade de dados operações sobre os dados
Esquema de Dados É a descrição de um BD, segundo um modelo de dados Especificado durante o projeto da base de dados A forma de visualização de um esquema é chamada Diagrama do Esquema
Instância de um Banco de Dados Estado do esquema de um BD, num dado instante.
Modelos Lógicos São os modelos de dados utilizados pelos SGBD s São lógicos porque sua implementação não precisa ser conhecida Exemplo: Modelo Relacional, Modelo OO
Esquemas Lógicos É a descrição das estruturas e das operações de um BD específico, utilizando um modelo de dados Exemplo: Esquema de um modelo de dados relacional
Modelos conceituais Modelos utilizados na fase conceitual do projeto de um BD Tem uma visão bem próxima do usuário Exemplo: Modelo de Entidades e Relacionamento (MER)
Esquemas conceituais A descrição conceitual de um BD específico Segue um modelo conceitual Exemplo: Esquema de Entidades e Relacionamento
Modelos e esquemas internos Modelo interno Usado para implementar um modelo lógico. Cada SGBD tem o seu modelo interno Esquema interno ou físico é a descrição interna de um BD, segundo o modelo interno ou físico
Arquitetura ANSI/SPARC
Administrador de BD (DBA) Usuários finais Principais papéis em um projeto de BD Analista de Dados (DA) Engenheiro de Software Analista de Sistemas
Linguagem de Definição de Dados Linguagens para construções de BD s Linguagem de Manipulação de Dados
Exercício Leia o Capítulo 2 do livro do Date (Arquitetura de Sistemas de Banco de Dados) e responda as questões de 1 a 10.