Aula 00 Modelagem e Banco de Dados p/ BB Tecnologia e Serviços (Perfis Mainframe, Plataforma Baixa e Mobile) Professor: Victor Dalton 00000000000 - DEMO Modelagem e Banco de Dados para BB Tecnologia e Serviços Prof Victor Dalton Aula 00 AULA 00: Banco de Dados (1ª Parte) SUMÁRIO PÁGINA Motivação para o curso Cronograma Apresentação 1.Bancos de Dados: Conceitos Básicos 1.1 Definições 1.2 SGBD 1.3 Características de um banco de dados 1.4 Trabalhadores envolvidos 1.5 Vantagens da abordagem SGBD 1.6 Desvantagens da abordagem SGBD 1.7 Arquitetura três esquemas de um SGBD Considerações Finais 2 3 4 5 5 8 10 13 16 17 17 20 Olá a todos! E sejam bem-vindos ao projeto Modelagem e Banco de Dados para o Banco do Brasil! 00000000000 A nossa proposta de trabalho é apresentar um curso teórico em PDF, com videoaulas. Nosso curso terá a FCC, tradicional banca de concursos de TI como referência, mas teremos, na última aula, uma bateria de exercícios da QUADRIX, banca examinadora do certame. Prof. Victor Dalton www.estrategiaconcursos.com.br 00000000000 - DEMO 1 de 20 Modelagem e Banco de Dados para BB Tecnologia e Serviços Prof Victor Dalton Aula 00 Vem comigo? Observação importante: este curso é protegido por direitos autorais (copyright), nos termos da Lei 9.610/98, que altera, atualiza e consolida a legislação sobre direitos autorais e dá outras providências. Grupos de rateio e pirataria são clandestinos, violam a lei e prejudicam os professores que elaboram os cursos. Valorize o trabalho de nossa equipe adquirindo os cursos honestamente através do site Estratégia Concursos ;-) Observação importante II: todo o conteúdo deste curso encontra-se completo em nossos textos escritos. As videoaulas visam reforçar o aprendizado, especialmente para aqueles que possuem maior facilidade de aprendizado com vídeos e/ou querem ter mais uma opção para o aprendizado. 00000000000 Permitam-me que eu me apresente. Prof. Victor Dalton www.estrategiaconcursos.com.br 00000000000 - DEMO 2 de 20 Modelagem e Banco de Dados para BB Tecnologia e Serviços Prof Victor Dalton Aula 00 APRESENTAÇÃO Eu sou Victor Dalton Teles Jesus Barbosa. Minha experiência em concursos começou aos 15 anos, quando consegui ingressar na Escola Preparatória de Cadetes do Exército, em 1999. Cursei a Academia Militar das Agulhas Negras, me tornando Bacharel em Ciências Militares, 1º Colocado em Comunicações, da turma de 2003. Em 2005, prestei novamente concurso para o Instituto Militar de Engenharia, aprovando em 3º lugar. No final de 2009, me formei em Engenharia da Computação, sendo o 2º lugar da turma no Curso de Graduação. Decidi então mudar de ares. Em 2010, prestei concursos para Analista do Banco Central (Área 1 – Tecnologia da Informação) e Analista de Planejamento e Orçamento (Especialização em TI), cujas bancas foram a CESGRANRIO e a ESAF, respectivamente. Fui aprovado em ambos os concursos e, após uma passagem pelo Ministério do Planejamento, optei pelo Banco Central do Brasil. Em 2012, por sua vez, prestei concurso para o cargo de Analista Legislativo da Câmara dos Deputados, aplicado pela banca CESPE, e, desde o início de 2013, faço parte do Legislativo Federal brasileiro. Além disso, possuo as certificações ITIL Foundation, emitida pela EXIN, e Cobit Foundation, emitida pela ISACA. Aqui no Estratégia Concursos, já ministrei e ministro cursos para vários certames, como CGU, Receita Federal, ICMS/PR, ICMS/SP, ISS/SP, ICMS/RJ, ICMS/MS, ICMS/RS, ICMS/PE, ICMS/PI, Banco Central, MPU, IBAMA, ANS, Ministério da Saúde, Polícia Federal, MPOG, PCDF, PRF, TCE-RS, AFT, ANCINE, TCDF, Câmara dos Deputados, Caixa Econômica Federal, cursos para Tribunais, dentre outros. Além disso, também ministro aulas presenciais em diversos Estados, cujo feedback dos alunos tem me impulsionado a continuar cada vez mais a ministrar aulas. 00000000000 Pois bem, encerradas as formalidades, segue, abaixo, o início da matéria, abordando Banco de Dados. Aos estudos! Prof. Victor Dalton www.estrategiaconcursos.com.br 00000000000 - DEMO 3 de 20 Modelagem e Banco de Dados para BB Tecnologia e Serviços Prof Victor Dalton Aula 00 Sistemas Gerenciadores de Banco de Dados 1. BANCOS DE DADOS: CONCEITOS BÁSICOS 1.1 Definições Antes do estudo de SGBDs propriamente dito, cabe destacar a diferença entre dado, informação e conhecimento. Para iniciar nosso estudo, que envolverá a compreensão sobre bancos de dados, nada melhor do que começar por um tópico explícito do edital, destacando a diferença entre dado, informação, conhecimento e inteligência. Um dado é uma seqüência de símbolos quantificados ou quantificáveis. Quantificável significa que algo pode ser quantificado e depois reproduzido sem que se perceba a diferença para com o original. Portanto, um texto é um dado. De fato, as letras são símbolos quantificados, assim como os números. Também são dados fotos, figuras, sons gravados e animação, pois todos podem ser quantificados ao serem introduzidos em um computador, a ponto de se ter eventualmente dificuldade de distinguir a sua reprodução com o original. É muito importante notar-se que, mesmo se incompreensível para o leitor, qualquer texto constitui um dado ou uma sequência de dados. Descrevem um acontecimento, um fato, sem fornecer julgamento nem interpretação. 00000000000 Uma informação é uma abstração informal (isto é, não pode ser formalizada através de uma teoria lógica ou matemática), que está na mente de alguém, representando algo significativo para essa pessoa. Por exemplo, a frase "Paulo tem 23 anos" é um exemplo de informação – desde que seja lida ou ouvida por alguém, desde que "Paulo" signifique para essa pessoa um nome (ou alguém conhecido) e "23 anos" tenha a compreensão devida, englobando o conceito de idade. Se a representação da informação for feita por meio de dados, como na frase sobre Paulo, pode ser armazenada em um computador. Mas, cuidado, o que é armazenado na máquina não é a informação, mas a sua representação em forma de dados. Assim, não é possível processar Prof. Victor Dalton www.estrategiaconcursos.com.br 00000000000 - DEMO 4 de 20 Modelagem e Banco de Dados para BB Tecnologia e Serviços Prof Victor Dalton Aula 00 informação diretamente em um computador. Para isso é necessário reduzi-la a dados. No exemplo, "23 anos" teria que ser quantificado, usando-se por exemplo uma escala numérica, e associando a idade a algum tipo de atributo. Para um receptor humano, essa informação teria sido reduzida a um dado, que ele poderia interpretar como informação. Uma distinção fundamental entre dado e informação é que o primeiro é puramente sintático e a segunda contém necessariamente semântica. É interessante notar que é impossível introduzir e processar semântica em um computador, porque a máquina mesma é puramente sintática (assim como a totalidade da matemática). Portanto, a informação requer um componente humano no processo. Conhecimento, por sua vez, envolve habilidade adquirida por uma pessoa por experiência ou educação. O conhecimento por prática ou teoria. Conhecimento de um assunto, com a habilidade de usá-lo para um propósito. Por exemplo, ao analisar “Paulo em 23 anos”, o conhecimento de um idoso pode interpretar que Paulo é jovem, e tem pouca experiência de vida. Por outro lado, um adolescente pode entender que Paulo é adulto, vivido, e tem muitas dicas para passar. Portanto, o conhecimento depende (e muito) de quem o possui. O conhecimento, por fim, pode levar à tomada de decisões. “Preciso orientar Paulo”, ou “Preciso aprender com Paulo”, ou “Ainda é cedo para promover Paulo” (decisões de negócio), etc. Quando o conhecimento é aproveitado, alcançamos a inteligência, que se encontra no topo dessa hierarquia. Veremos mais sobre produção de conhecimento e inteligência em Business Intelligence (Inteligência de Negócio). 00000000000 Entendidos esses aspectos, podemos responder o que é Banco de Dados. Acredito que você já tenha uma “desconfiança” do que seja um banco de dados. Entretanto, a definição correta de banco de dados gira em torno de duas ideias chave: relacionamento e finalidade. Um banco de dados é um conjunto de dados relacionados com uma finalidade específica. Esta finalidade pode a produção de informação, para determinado público alvo (uma empresa, ou um órgão público, por Prof. Victor Dalton www.estrategiaconcursos.com.br 00000000000 - DEMO 5 de 20 Modelagem e Banco de Dados para BB Tecnologia e Serviços Prof Victor Dalton Aula 00 exemplo), bem como suportar um negócio (como o estoque de produtos de um fornecedor, ou um cadastro de funcionários, ou tudo isso junto). Um banco de dados tem alguma fonte da qual o dado é derivado, algum grau de interação com eventos no mundo real e um público interessado no seu conteúdo. Para que um banco de dados seja preciso e confiável o tempo todo, as mudanças no minimundo (mundo real) precisam ser refletidas nele o mais breve possível. Um banco de dados pode ter qualquer tamanho e complexidade. As informações precisam ser organizadas e gerenciadas de modo que os usuários possam consultar, recuperar e atualizar os dados quando necessário. Um banco de dados pode ser gerado e mantido manualmente ou computadorizado. Um banco de dados computadorizado pode ser criado e mantido por um grupo de programas de aplicação específicos para essa tarefa ou por um sistema gerenciador de banco de dados. Eu costumo brincar, e acho que isso ajuda a memorizar, que não se deve confundir Banco de Dados com “Bando de Dados”. Dados desorganizados não servem para nada; um conjunto dados que se relacionam, com alguma finalidade, esses sim compõem um Banco de Dados. Bancos de dados, normalmente, são a “base” de um sistema, ou software. Um sistema de venda de produtos online, por exemplo, provavelmente possui em seu banco de dados uma vasta quantidade de registros de clientes e produtos. Esses dados provavelmente relacionamse através dos pedidos, que devem conter dados dos clientes e dos produtos. Os pedidos também serão dados. Começou a visualizar? 00000000000 Prof. Victor Dalton www.estrategiaconcursos.com.br 00000000000 - DEMO 6 de 20 Modelagem e Banco de Dados para BB Tecnologia e Serviços Prof Victor Dalton Aula 00 C B D Nossa próxima definição importante é a de Esquema de Banco de Dados. Um esquema do banco de dados é uma coleção de objetos de um banco de dados que estão disponíveis para um determinado usuário ou grupo. Os objetos de um esquema são estruturas lógicas que se referem diretamente aos dados do banco de dados. Eles incluem estruturas, tais como tabelas, visões, seqüências, procedimentos armazenados, sinônimos, índices, agrupamentos e links de banco de dados. Falaremos mais sobre esses elementos ao longo da apostila, fique tranquilo. 00000000000 Prof. Victor Dalton www.estrategiaconcursos.com.br 00000000000 - DEMO 7 de 20 Modelagem e Banco de Dados para BB Tecnologia e Serviços Prof Victor Dalton Aula 00 Ou seja, ao se elaborar um sistema, seu projeto de banco de dados é idealizado em um esquema (como a figura acima). Falei, pouco antes, que os softwares normalmente estão “em cima” de um Banco de Dados. O esquema é essa ferramenta utilizada para a representação do banco como um todo, podendo servir tanto para facilitar o entendimento do Banco de Dados como para implementar o próprio Banco de Dados. Com base no esquema acima, por exemplo, um Administrador de Dados já consegue criar o Banco. Visualize a imagem acima, veja as tabelas e os relacionamentos, e não se incomode se estiver entendendo pouco ou quase nada. Iremos ver e rever essa imagem, explicando os detalhes dela aos poucos. Tudo bem? 00000000000 1.2 SGBD Imagine agora um sistema de uma grande vendedora de produtos online, ou mesmo o sistema de vendas de uma grande companhia aérea. Essas empresas vendem produtos e serviços por segundo, para usuários distribuídos geograficamente pelo mundo inteiro. Deste simples exemplo, percebe-se que Bancos de Dados precisam de gerenciamento próprio, e eficiente, para coordenar um volume gigantesco de operações simultâneas. Prof. Victor Dalton www.estrategiaconcursos.com.br 00000000000 - DEMO 8 de 20 Modelagem e Banco de Dados para BB Tecnologia e Serviços Prof Victor Dalton Aula 00 Para tal, existem os Sistemas Gerenciadores de Bancos de Dados. O SGBD é o conjunto de programas de computador (softwares) responsáveis pelo gerenciamento de uma (ou mais) base de dados. Seu principal objetivo é retirar da aplicação cliente (o sistema da empresa propriamente dito) a responsabilidade de gerenciar o acesso, a 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. Em bancos de dados relacionais a interface é constituída pelas APIs (Application Programming Interface) ou drivers do SGBD, que executam comandos na linguagem SQL (Structured Query Language). Certamente você já ouviu falar de alguns SGBDs, como o Oracle, o IBM DB2, o Microsoft SQL Server, MySQL, ou até mesmo o PostgreSQL, que é gratuito. Sistemas Gerenciadores de Bancos de Dados: softwares comerciais. 00000000000 Os SGBDs facilitam o processo de definição, construção, manipulação e compartilhamento de bancos de dados entre diversos usuários e aplicações. Definir um banco de dados envolve especificar os tipos, estruturas e restrições dos dados a serem armazenados. Construir um banco de dados é o processo de armazenar os dados em algum meio controlado pelo SGBD. Manipular um banco de dados inclui funções no banco de dados como consultas para recuperar dados específicos, atualização que reflita mudanças no minimundo e geração de relatórios com base nos dados. Prof. Victor Dalton www.estrategiaconcursos.com.br 00000000000 - DEMO 9 de 20 Modelagem e Banco de Dados para BB Tecnologia e Serviços Prof Victor Dalton Aula 00 Compartilhar banco de dados é permitir que diversos usuários e programas acessem-no simultaneamente. Outras funções importantes fornecidas pelo SGBD incluem proteção e manutenção do banco de dados por um longo período. A proteção pode ser contra defeitos (falhas) de hardware e software ou contra acesso não autorizado ou malicioso (segurança). A manutenção permite a evolução do sistema de banco de dados ao longo do ciclo de vida, à medida que os requisitos mudem com o tempo. Sistema de Banco de Dados: ilustração 00000000000 1.3 Características de um banco de dados Na abordagem de banco de dados, um único repositório mantém dados que são definidos uma vez e depois acessados por vários usuários. Os nomes ou rótulos de dados são definidos uma vez, e usados repetidamente por consultas, transações e aplicações. Prof. Victor Dalton www.estrategiaconcursos.com.br 00000000000 - DEMO 10 de 20 Modelagem e Banco de Dados para BB Tecnologia e Serviços Prof Victor Dalton Aula 00 Natureza de Autodescrição de um Sistema de Banco de Dados Na abordagem de banco de dados, seu sistema contém não apenas o banco de dados, mas também uma definição ou descrição completa de sua estrutura e restrições. Essa definição é armazenada no catálogo do SGBD (falaremos mais sobre ele adiante). A informação armazenada no catálogo é chamada metadados (também será melhor explicado posteriormente). O catálogo é usado pelo software de SGBD e também pelos usuários do banco de dados que precisam de informações sobre a estrutura do banco de dados (tipo e o formato dos dados). O software SGBD precisa trabalhar de forma satisfatória com qualquer quantidade de aplicações de banco de dados. Isolamento Entre Programas e Dados, e Abstração de Dados Na maioria dos casos, qualquer mudança na estrutura de dados do SGBD não exige mudanças nos programas que acessam o banco de dados. A estrutura dos arquivos de dados é armazenada no catálogo do SGBD separadamente dos programas de acesso. Essa propriedade é chamada de independência programa-dados. Em alguns tipos de sistemas de banco de dados os usuários podem definir operações (funções ou métodos) sobre como os dados como parte das definições de banco de dados. A interface de uma operação inclui o nome da operação e os tipos de dados de seus argumentos (parâmetros). A implementação (método) da operação é especificada separadamente e pode ser alterada sem afetar a interface. Isso é chamado de independência programa-operação. 00000000000 A independência programa-dados e a independência programaoperação só são possíveis em virtude de uma característica do SGBD, que é a abstração de dados. Um SGBD oferece aos usuários uma representação conceitual de dados, que não inclui muitos detalhes de como os dados são armazenados ou como as operações são implementadas. Um modelo de dados é um Prof. Victor Dalton www.estrategiaconcursos.com.br 00000000000 - DEMO 11 de 20 Modelagem e Banco de Dados para BB Tecnologia e Serviços Prof Victor Dalton Aula 00 tipo de abstração de dados usado para oferecer essa representação conceitual. Na abordagem de banco de dados, a estrutura detalhada e a organização de cada arquivo são armazenadas no catálogo. Os usuários do banco de dados e os programas de aplicação se referem à representação conceitual dos arquivos, e o SGBD extrai os detalhes do armazenamento do arquivo do catálogo quando estes são necessários para os módulos de acesso a arquivo do SGBD. Suporte para Múltiplas Visões dos Dados Cada usuário do banco de dados pode exigir um ponto de vista ou visão (view) diferente do banco de dados. Uma visão pode ser um subconjunto do banco de dados ou conter dado virtual que é derivado dos arquivos de banco de dados, mas não estão armazenados explicitamente. Um SGBD multiusuário precisa oferecer facilidades para definir múltiplas visões. Compartilhamento de Dados e Processamento de Transação Multiusuário Um SGBD multiusuário precisa permitir que múltiplos usuários acessem o banco de dados ao mesmo tempo. O SGBD precisa incluir um software de controle de concorrência para garantir que vários usuários tentando atualizar o mesmo dados faça isso de uma maneira controlada, de modo que o resultado dessas atualizações seja correto. Esses tipos de aplicações são chamados OLTP (On-Line Transaction Processing, processamento de transações on-line). 00000000000 Por exemplo, se vários agentes de viagem tentam reservar um assento em um voo de uma companhia aérea. O SGBD precisa garantir que cada assento só possa ser acessado por um agente de cada vez para que seja atribuído a um único passageiro. Um papel do software SGBD multiusuário é garantir que as transações concorrentes operem de maneira correta e eficiente. Uma transação é um programa em execução ou processo que inclui um ou mais acessos ao banco de dados, como a leitura ou atualização de seus registros. Uma transação executa um acesso logicamente correto a Prof. Victor Dalton www.estrategiaconcursos.com.br 00000000000 - DEMO 12 de 20 Modelagem e Banco de Dados para BB Tecnologia e Serviços Prof Victor Dalton Aula 00 um banco de dados quando ele é executada de forma completa e sem interferência de outras operações. Também falaremos adiante sobre Gerenciamento de Transações. 1) (FCC – SABESP – Tecnólogo - Sistemas - 2014) Um SGBD multiusuário deve permitir que diversos usuários acessem o banco de dados ao mesmo tempo. Isso é essencial se os dados para as várias aplicações estão integrados e mantidos em um único banco de dados. O SGBD deve incluir um software de controle de concorrência para garantir que muitos usuários, ao tentar atualizar o mesmo dado, o façam de um modo controlado, para assegurar que os resultados das atualizações sejam corretos. Por exemplo, quando muitos atendentes tentam reservar um lugar em um voo, o SGBD deve garantir que cada assento possa ser acessado somente por um atendente de cada vez, para fazer a reserva de apenas um passageiro. Em SGBD, a este conceito se dá o nome de a) acesso simultâneo. b) semáforo de acesso. c) transação. d) modularização. e) polimorfismo. Percebeu que a questão se parece muito com a explicação da teoria? Isso ocorre porque a FCC também se baseou no Elmasri e Navathe para apresentar o exemplo. No caso, a banca está explicando o conceito de Processamento de Transação Multiusuário. 00000000000 Não gostei da forma que a banca apresentou as alternativas, porém, a “mais correta” é a letra c). 1.4 Trabalhadores envolvidos Sistemas de Bancos de Dados são projetados, administrados e utilizados por diversos profissionais. Sem exageros, pode-se visualizar um Prof. Victor Dalton www.estrategiaconcursos.com.br 00000000000 - DEMO 13 de 20 Modelagem e Banco de Dados para BB Tecnologia e Serviços Prof Victor Dalton Aula 00 “ciclo de vida” para um Sistema de Banco de Dados, com a participação de diversos personagens. São eles, segundo Elmasri e Navathe (2006): Administradores de Banco de Dados Em um ambiente de banco de dados o banco de dados é o recurso principal, e o SGBD e os softwares são os recursos secundários. A administração desses recursos é de responsabilidade do administrador de banco de dados (DBA – database administrator). O DBA é responsável por: Autorizar o acesso ao banco de dados. Coordenar e monitorar seu uso. Adquirir recursos de software e hardware conforme a necessidade. Responsável por resolver problemas, como falhas na segurança e demora no tempo de resposta do sistema. Projetista de Banco de Dados Em muitos casos, os projetistas estão na equipe de DBAs e são responsáveis por: Identificar os dados a serem armazenados. Escolher estruturas apropriadas para representar e armazenar os dados. Se comunicar com todos os potenciais usuários a fim de entender suas necessidades e criar um projeto que as atenda. Desenvolver visões do banco de dados que cumpram os requisitos de dados e processamento de cada potencial grupo de usuários. 00000000000 Usuários Finais (ou usuários do banco de dados) O banco de dados existe primariamente para atender os usuários finais. Existem várias categorias de usuários finais: Casuais: são os gerentes de nível intermediário ou alto. Utilizam uma linguagem sofisticada de consulta ao banco de dados para especificar suas necessidades. Prof. Victor Dalton www.estrategiaconcursos.com.br 00000000000 - DEMO 14 de 20 Modelagem e Banco de Dados para BB Tecnologia e Serviços Prof Victor Dalton Aula 00 Iniciantes ou paramétricos: são os caixas de banco, agentes de companhias aéreas, hotéis e locadoras de automóveis, funcionários nas estações de recebimento de transportadores, entre outros. Sua função principal gira em torno de consultar e atualizar o banco de dados constantemente, usando transações programadas, que foram cuidadosamente programadas e testadas. Sofisticados: são os engenheiros, cientistas, analistas de negócios e outros que estão profundamente familiarizados com as facilidades do SGBD a ponto de implementar as próprias aplicações que atendam suas necessidades. Isolados: que mantêm bancos de dados pessoais usando pacotes de programas prontos, que oferecem interfaces de fácil utilização, baseadas em menu ou gráficos. Atenção! Date (2011) acrescenta a figura do Administrador de Dados(DA), que seria uma pessoa que toma decisões estratégicas e de normas com relação aos dados da empresa. Nessa abordagem, o DA teria atribuições como: Levantar os requisitos funcionais para o banco de dados; Modelar conceitualmente o banco de dados; Especificar as regras de negócio das aplicações; Definir padrões de nomes para conceitos e variáveis, e Determinar normas de incorporação e manuseio dos dados. Enquanto isso, o DBA acumularia as seguintes atribuições: 00000000000 Mapear o modelo conceitual no modelo lógico; Realizar o projeto físico do banco de dados; Criar usuários, definir visões e permissões, além de regras de integridade; Controlar os processos de back-up e recuperação, e Garantir o bom desempenho no acesso e manuseio do banco pelos usuários. Importante, quando tratar-se de personagens envolvidos, prestar atenção nesse detalhe, tentar “adivinhar” a bibliografia do enunciado, para não confundir o Administrador de Dados com o Administrador de Prof. Victor Dalton www.estrategiaconcursos.com.br 00000000000 - DEMO 15 de 20 Modelagem e Banco de Dados para BB Tecnologia e Serviços Prof Victor Dalton Aula 00 Banco de Dados. Pior: até mesmo uma mesma banca pode cobrar conteúdo de autores diferentes. Eu já vi isso . Analistas de Sistemas e Engenheiros de Software Os analistas de sistemas identificam as necessidades dos usuários finais, especialmente os iniciantes e paramétricos, e definem as especificações das transações padrão que atendam a elas. Os programadores de aplicações (engenheiros de software e desenvolvedores de sistemas de software) implementam essas especificações como programas, testam, depuram, documentam e mantêm essas transações programadas. 1.5 Vantagens da abordagem SGBD Via de regra, os SGBDs são ferramentas caríssimas, da ordem de milhares de dólares. Algumas de suas vantagens são: Controle de redundância: quando os Bancos de Dados precisam ser replicados em mais de um lugar, o SGBD evita a inconsistência das diferentes bases de dados; Restrição a acesso não autorizado: em Bancos de Dados com diferentes níveis de permissão de acesso, o SGBD realiza o controle dos diversos níveis de permissão; Backup e restauração: o Sistema de Banco de Dados deve ser tolerante a falhas, ou seja, o SGBD deve ser capaz de voltar a um estado anterior à falha, a despeito de falhas de hardware ou software; Forçar as restrições de integridade: os relacionamentos entre dos dados são implementados por meio de restrições de integridade. Será visto mais adiante. 00000000000 Prof. Victor Dalton www.estrategiaconcursos.com.br 00000000000 - DEMO 16 de 20 Modelagem e Banco de Dados para BB Tecnologia e Serviços Prof Victor Dalton Aula 00 1.6 Desvantagens da abordagem SGBD Instalar e manter Sistemas de Bancos de Dados carregam consigo alguns ônus intrínsecos. São eles: 1.7 Custos: além do preço elevado das ferramentas de SGBD, manter um Sistema de Banco de Dados implica em hardware, software e pessoal especializados; Gerenciamento Complexo: o Sistema necessita interfacear com diferentes tecnologias, afetando os recursos e cultura da empresa; Dependência do fornecedor: o investimento inicial alto tende a “prender” o cliente. Modificar um SGBD é oneroso e complexo; Manutenção e atualização: como todo software, o SGBD deve ser mantido atualizado. Além disso, periodicamente surgem novas versões, com mais funcionalidades, “exigindo” substituições periódicas, com novos custos de hardware, software e treinamento de pessoal. Arquitetura três esquemas de um SGBD A arquitetura três esquemas é uma abordagem, que ilustra a separação entre usuário e aplicação. Nesta arquitetura, os esquemas podem ser descritos em três níveis: 00000000000 Prof. Victor Dalton www.estrategiaconcursos.com.br 00000000000 - DEMO 17 de 20 Modelagem e Banco de Dados para BB Tecnologia e Serviços Prof Victor Dalton Aula 00 Arquitetura três esquemas, Elmasri e Navathe (2006) Nível externo: abrange os esquemas externos, ou visões de usuário. Cada esquema descreverá apenas a visão pertinente de cada usuário a respeito do Banco de Dados, ocultando o restante. Por exemplo, para um aluno, de um sistema de aulas online, somente determinada parte do BD lhe é relevante, provavelmente relacionada aos cursos que realiza. Para um administrador financeiro desse sistemas, por sua vez, aspectos administrativos serão mais relevantes, relacionados aos pagamentos dos cursos e de pessoal. Nível conceitual: possui um esquema conceitual, que descreve o banco de dados como um todo. Oculta detalhes do armazenamento físico, enfatizando entidades, tipos de dados e restrições. 00000000000 Nível interno: apresenta um esquema interno, descrevendo a estrutura de armazenamento físicos do banco de dados. Prof. Victor Dalton www.estrategiaconcursos.com.br 00000000000 - DEMO 18 de 20 Modelagem e Banco de Dados para BB Tecnologia e Serviços Prof Victor Dalton Aula 00 2) (FCC – MPE/SE – Analista – Gestão e Análise de Projeto de Sistema - 2013) Em projetos de Banco de Dados, o objetivo da arquitetura de três-esquemas é separar o usuário da aplicação do banco de dados físico. Nessa arquitetura, os esquemas podem ser definidos por três níveis: I. O nível interno tem um esquema que descreve a estrutura de armazenamento físico do banco de dados. Esse esquema utiliza um modelo de dado físico e descreve os detalhes complexos do armazenamento de dados e caminhos de acesso ao banco; II. O nível conceitual possui um esquema que descreve a estrutura de todo o banco de dados para a comunidade de usuários. O esquema conceitual oculta os detalhes das estruturas de armazenamento físico e se concentra na descrição de entidades, tipos de dados, conexões, operações de usuários e restrições. Geralmente, um modelo de dados representacional é usado para descrever o esquema conceitual quando o sistema de banco de dados for implementado. Esse esquema de implementação conceitual é normalmente baseado em um projeto de esquema conceitual em um modelo de dados de alto nível; III. O nível interno ainda abrange os esquemas externos ou visões de usuários. Cada esquema interno descreve a parte do banco de dados que um dado grupo de usuários tem interesse e oculta o restante do banco de dados desse grupo. Como no item anterior, cada esquema é tipicamente implementado usando-se um modelo de dados representacional, possivelmente baseado em um projeto de esquema externo em um modelo de dados de alto nível. Está correto o que se afirma em 00000000000 a) II, apenas. b) II e III, apenas. c) I, II e III. d) I e II, apenas. e) III, apenas. Questão sem maiores dificuldades. Os itens I e II estão corretos, enquanto o item III descreve o nível externo. Alternativa d). Prof. Victor Dalton www.estrategiaconcursos.com.br 00000000000 - DEMO 19 de 20 1.7.1 Modelagem e Banco de Dados para BB Tecnologia e Serviços Prof Victor Dalton Aula 00 Independência lógica e independência física dos dados Dois conceitos relacionados à arquitetura três esquemas que, não raro, aparecem em questões de concursos são a independência lógica e a independência física dos dados. Independência lógica é a capacidade de alterar o esquema conceitual sem precisar modificar os esquemas externos. Independência física é a capacidade de alterar o esquema interno sem precisar modificar o esquema conceitual. Esses esquemas e seus respectivos mapeamentos são guardados no catálogo do banco de dados. Ele será visto na próxima aula. CONSIDERAÇÕES FINAIS E chegamos ao final da aula demonstrativa! A continuação desse assunto e a bateria de exercícios correspondente encontra-se na próxima aula. Espero reencontrar você, como um aluno efetivo. Até a próxima aula! 00000000000 Victor Dalton Prof. Victor Dalton www.estrategiaconcursos.com.br 00000000000 - DEMO 20 de 20