Escriturário Informática Parte 1 Prof. Márcio Hunecke
Informática CONCEITOS DE BANCO DE DADOS E SISTEMAS GERENCIADORES DE BANCOS DE DADOS (SGBD) Conceitos Básicos Muitos autores definem Bancos de dados (BD) de forma diferente, porém em todas elas tem- -se uma ideia de coleção ou conjunto de dados armazenados que servem ou são usados por algumas situações específicas. A definição de banco de dados como uma coleção de dados relacionados é muito geral. Por exemplo, considere a coleção de palavras deste texto como sendo dados relacionados e, portanto, constitui um banco de dados. Entretanto, o uso comum do termo banco de dados é usualmente mais restrito. O conceito de banco de dados está muito presente em nosso dia-a-dia e faz parte de nossa vida. Banco de dados (BD) desempenha um papel crítico em muitas áreas onde computadores são utilizados O BD está presente em muitas áreas diferentes (negócios, engenharia, educação, medicina, etc.). Um arranjo aleatório de dados não pode ser considerado um banco de dados Definições comuns Um banco de dados é uma coleção de dados inter-relacionados, representando informações sobre um domínio específico, ou seja, sempre que for possível agrupar informações que se relacionam e tratam de um mesmo assunto, posso dizer que tenho um banco de dados. É uma coleção de dados logicamente coerente que possui significado e tem a interpretação realizada por uma determinada aplicação; Representa abstratamente uma parte do mundo real, conhecida como Minimundo ou Universo de Discurso (UD), que é de interesse de certa aplicação; Podemos exemplificar situações clássicas como a lista de contatos de telefone celular, um catálogo de CDs/DVDs ou um sistema de controle de RH de uma empresa. www.acasadoconcurseiro.com.br 3
Já um sistema de gerenciamento de banco de dados (SGBD) é um software que possui recursos capazes de manipular as informações do banco de dados e interagir com o usuário. Exemplos de SGBDs são: Oracle, SQL Server, DB2, PostgreSQL, MySQL, o próprio Microsoft Access ou Paradox, entre outros. Por último, temos que conceituar um sistema de banco de dados como o conjunto de quatro componentes básicos: dados, hardware, software e usuários. Os objetivos de um sistema de banco de dados são o de isolar o usuário dos detalhes internos do banco de dados (promover a abstração de dados) e promover a independência dos dados em relação às aplicações, ou seja, tornar independente da aplicação, a estratégia de acesso e a forma de armazenamento. Abstração de dados O grande objetivo de um sistema de BD é oferecer uma visão abstrata dos dados aos usuários. Os detalhes referentes à forma como estes dados estão armazenados e mantidos não interessa aos usuários, mas a disponibilidade eficiente destes dados é que são fundamentais. O conceito de abstração está associado à característica de se observar somente os aspectos de interesse, sem se preocupar com maiores detalhes envolvidos. No contexto de abstração de dados um banco de dados pode ser visto sem se considerar a forma como os dados estão armazenados fisicamente. O sistema de banco de dados deve garantir uma visão totalmente abstrata do banco de dados para o usuário, ou seja, para o usuário do banco de dados pouco importa qual unidade de armazenamento está sendo usada para guardar seus dados, contanto que os mesmos estejam disponíveis no momento necessário. Esta abstração se dá em três níveis de arquitetura, também conhecida como Esquemas de um Banco de Dados: Nível de visão do usuário ou externo: as partes do banco de dados que o usuário tem acesso de acordo com a necessidade individual de cada usuário ou grupo de usuários; 4 www.acasadoconcurseiro.com.br
Banco do Brasil - TI (Escriturário) Informática Márcio Henecke Nível conceitual: define quais os dados que estão armazenados e qual o relacionamento entre eles; Nível físico ou interno: é o nível mais baixo de abstração, em que define efetivamente de que maneira os dados estão armazenados. Modelo conceitual É a descrição do BD de maneira independente ao SGBD, ou seja, define quais os dados que aparecerão no BD, mas sem se importar com a implementação que se dará ao BD. Desta forma, há uma abstração em nível de SGBD. Uma das técnicas mais utilizadas dentre os profissionais da área é a abordagem entidade-relacionamento (ER), onde o modelo é representado graficamente através do diagrama entidade- -relacionamento (DER). Exemplo de diagrama entidade-relacionamento O modelo acima, entre outras coisas, nos traz informações sobre Alunos e Turmas. Para cada Aluno, será armazenado seu número de matrícula, seu nome e endereço, enquanto para cada turma, teremos a informação de seu código, a sala utilizada e o período. Modelo Lógico O modelo Lógico descreve o BD no nível do SGBD, ou seja, depende do tipo particular de SGBD que será usado. Não podemos confundir com o Software (aplicação) que será usado. Abordaremos o SGBD relacional, por ser a exigência da grande maioria das provas. Nele, os dados são organizados em tabelas. Aluno mat_aluno Nome Endereço 1 Cecília Ortiz Rezende Rua dos Ipês, 37 2 Abílio José Dias Avenida Presidente Jânio Quadros, 357 3 Renata Oliveira Franco Rua Nove de Julho, 45 www.acasadoconcurseiro.com.br 5
Turma cod_turma Sala Período 1 8 Manhã 2 5 Noite O modelo lógico do BD relacional deve definir quais as tabelas e o nome das colunas que compõem estas tabelas. Para o nosso exemplo, poderíamos definir nosso modelo lógico conforme o seguinte: Aluno(mat_aluno, nome, endereco) Turma(cod_turma, sala, periodo) É importante salientar que os detalhes internos de armazenamento, por exemplo, não são descritos no modelo lógico, pois estas informações fazem parte do modelo físico, que nada mais é que a tradução do modelo lógico para a linguagem do software escolhido para implementar o sistema. Dados e Informações Dado denota um fato que pode ser registrado e possui pouco significado. Informação denota uma organização em relação a um conteúdo. Diferenças entre Banco de Dados e Sistemas de Arquivos Banco de Dados Um único repositório de dados é mantido. Acesso de todos os usuários sobre o mesmo BD com único espaço de armazenamento Atualização dos dados em apenas uma estrutura de banco de dados Sistema de Arquivos Implementa os arquivos necessários para uma aplicação específica Redundância de arquivos armazenando os mesmos dados com Perda de espaço de armazenamento Esforço adicional para atualização dos dados Terminologia Básica em Banco de Dados Campo unidade básica de informação mínima com significado Registro conjunto de campos Arquivo conjunto de registros Banco de Dados (BD) conjunto de arquivos e as formas de manipulação 6 www.acasadoconcurseiro.com.br
Banco do Brasil - TI (Escriturário) Informática Márcio Henecke Sistema Gerenciador de Banco de Dados (SGBD) Um Sistema Gerenciador de Banco de Dados (SGBD) é uma coleção de programas que habilitam usuários a criar e manter um banco de dados. O SGBD é um software de propósito geral, que facilita o processo de definição, construção e manipulação de um banco de dados. Definição de banco de dados envolve especificar estruturas e tipos de dados para serem gravados no banco de dados, com uma descrição detalhada de cada tipo de dado. Construção de um banco de dados é o processo de consistir e gravar inicialmente dados no banco de dados. Manipulação de um banco de dados inclui funções como consulta por dados específicos e atualização para refletir as alterações no mundo real. Principais Atribuições de um SGBD BD não contém somente os dados de conteúdo armazenados, ele também armazena definições e descrições sobre a estrutura que forma o BD (metadados). O catálogo do sistema (metadados) contém definições da estrutura de cada arquivo, o tipo e formato de armazenamento de cada item de dados, e várias restrições dos dados. Este catálogo é usado pelo SGBD e ocasionalmente por algum usuário do BD (não é específico, mas geral, atendendo as diversas necessidades de arquivos diferentes). www.acasadoconcurseiro.com.br 7
Características de um SGBD Controle sobre a redundância: A redundância pode ser controlada (backup ou réplica) ou não controlada, quando os dados estão duplicados sem intenção. Espaço para armazenamento Duplicação de esforços Inconsistência na base de dados Compartilhamento de Dados Permitir que várias aplicações acessem a mesma informação, sem precisar duplicar. Restrição de acesso não autorizado: Possui um sistema de segurança garantindo o acesso específico a cada usuário (personalizado para grupos ou individual), garantindo assim segurança no acesso ao BD, diferentes permissões de operação no BD, proteção de contas pessoais (ou grupo) por senhas, segurança no uso do próprio SGBD como nas criações de novas contas. Fornecimento de múltiplas interfaces (visões): Diversos níveis de conhecimento entre os usuários, onde o BD deve oferecer vários tipos de acesso aos dados. Forçar restrições de integridade: armazenamento de vários tipos de dados (inteiro, real, lógico), relacionamentos entre os dados, obrigatoriedade ou não de informação do dado (nulo ou não nulo), unicidade do dado (chave primária), dificultar a ocorrência de erros. Sistema de Backup e Recovery: Capacidade de salvamento e recuperação dos dados. Facilidade e controle do BD no caso de falha do hardware ou do software chegando a fazer uma recuperação dos logs de transação mais recentes, evitando perda de dados. 8 www.acasadoconcurseiro.com.br
Questões 1. (2018 FCC DPE-AM Analista em Gestão Especializado de Defensoria Analista de Banco de Dados) Na implementação de rotinas de recuperação de transações em bancos de dados relacionais, tem papel vital os arquivos de log, sobre os quais é correto afirmar que a) devem conter valores antigos e novos de registros que sofreram modificações. b) não se aplicam a bancos de dados de pequeno porte. c) contêm, exclusivamente, indicação de instantes de início e final de cada transação. d) não indicam se as transações foram confirmadas ou abortadas. e) aplicam-se, exclusivamente, a bancos de dados que contenham informações sigilosas. 2. (2018 FCC DPE-AM Analista em Gestão Especializado de Defensoria Analista de Banco de Dados) Ao se atribuir nomes a tabelas e a seus atributos, é recomendável seguir algumas regras e/ou recomendações básicas, importantes na documentação de um banco de dados. Umas dessas regras e/ou recomendações consiste em utilizar a) acrônimos de conhecimento restrito na própria empresa. b) o mesmo nome para as chaves primárias de todas as tabelas. c) nomes longos para todos os atributos, com no mínimo 20 caracteres em cada nome. d) nomenclatura codificada, dificultando acessos indevidos. e) nomes de tabelas e atributos que indiquem, de forma clara, o conteúdo dos dados armazenados. 3. (2017 FCC TST Técnico Judiciário Programação) Em um caso hipotético, um Programador do Tribunal Superior do Trabalho verificou que: I os dados nome do cidadão e número do processo não eram compartilhados entre três diferentes sistemas que os utilizavam; II não havia um sistema de log para acompanhamento e controle dos acessos aos bancos de dados de sua organização. Os Sistemas Gerenciadores de Bancos de Dados SGBDs contribuem para evitar que as situações referidas em I e II venham a ferir princípios que correspondem, respectivamente, a) à replicação e à privacidade. b) à redundância e à segurança lógica. c) à integridade e à segurança física. d) ao compartilhamento e à privacidade. e) à concorrência e à integridade. 4. (2017 COSEAC UFF Técnico de Tecnologia da Informação) ANULADA Na coluna I estão dispostos alguns conceitos relacionados aos bancos de dados. Estabeleça a correta correspondência com suas definições ou funcionalidades, conforme apresentado na Coluna II. Coluna I 1. SGBD 2. Processador do Banco de Dados 3. Compilador DDL 4. Dicionário de Dados 5. Gerenciador de Acesso ao Disco www.acasadoconcurseiro.com.br 9
Coluna II ( ) processa as definições do esquema do banco de dados. ( ) utiliza o sistema operacional para acessar os dados armazenados em disco, controlando o acesso às tabelas do BD. ( ) contém o esquema do banco de dados, suas tabelas, índices, formas de acesso e relacionamentos existentes. ( ) manipula requisições à própria base de dados em tempo de execução, sendo responsável pelas atualizações e integridade dessa base de dados. ( ) software com recursos específicos para facilitar a manipulação das informações dos bancos de dados e o desenvolvimento de programas aplicativos. A sequência correta, de cima para baixo, é: a) 2, 5, 4, 1 e 3. b) 1, 4, 3, 2 e 5. c) 4, 1, 5, 3 e 2. d) 3, 1, 4, 2 e 5. e) 5, 4, 3, 2 e 1. 5. (2017 Quadrix CRB 6ª Região Auxiliar Administrativo) Pode-se conceituar um sistema de banco de dados como o conjunto de quatro componentes básicos: dados, hardware, software e usuários. Os objetivos de um sistema de banco de dados são o de isolar o usuário dos detalhes internos do banco de dados (promover a abstração de dados) e promover a independência dos dados em relação às aplicações, ou seja, tornar independentes da aplicação, da estratégia de acesso e da forma de armazenamento. O sistema de banco de dados deve garantir uma visão totalmente abstrata do banco de dados para o usuário, ou seja, para o usuário do banco de dados pouco importa qual unidade de armazenamento está sendo usada para guardar seus dados, contanto que os mesmos estejam disponíveis no momento necessário. Essa abstração se dá em três níveis: I nível de visão do usuário: as partes do banco de dados a que o usuário tem acesso de acordo com a necessidade individual de cada usuário ou grupo de usuários. II nível conceitual: define quais os dados que estão armazenados e qual o relacionamento entre eles. III nível físico: é o nível mais baixo de abstração, que define efetivamente de que maneira os dados estão armazenados. Pode-se afirmar que: a) somente I está correta. b) somente II está correta. c) somente III está correta. d) há apenas duas afirmativas corretas. e) todas estão corretas. 6. (2017 CESPE TCE-PE Analista de Controle Externo Auditoria de Contas Públicas) Acerca dos conceitos de dado, informação e conhecimento, julgue o item a seguir. A informação caracteriza-se por ser frequentemente tácita, bem como por ser de estruturação e captura difíceis em máquinas. 7. (2016 IF-RS IF-RS Professor Informática Geral) NÃO faz parte das características de utilização de Bancos de Dados: a) Suporte para as múltiplas visões de dados. b) Auto-atendimento sob demanda. c) Isolamento entre os programas e os dados (abstração de dados). d) Natureza autodescritiva do Banco de Dados. e) Compartilhamento de Dados e processamento de transações de multiusuários. 10 www.acasadoconcurseiro.com.br
Banco do Brasil - TI (Escriturário) Informática Márcio Henecke 8. (2016 CESPE FUB Técnico de Tecnologia da Informação) Acerca dos conceitos de bancos de dados, julgue o item seguinte. Em um projeto de banco de dados, a modelagem conceitual define quais dados vão aparecer no banco de dados, mas sem considerar a sua implementação. 9. (2016 CESPE FUB Técnico de Tecnologia da Informação) Acerca dos conceitos de bancos de dados, julgue o item seguinte. Uma solução para evitar a redundância controlada de informações é o uso do compartilhamento de dados; dessa forma, cada informação é armazenada uma única vez. 10. (2014 ESAF MF Assistente Técnico Administrativo) Quanto aos esquemas permitidos pela arquitetura de um SGBD (Sistema de Gerenciamento de Banco de Dados), é correto afirmar que: a) Um esquema conceitual descreve em nível setorial as rotinas do banco de dados b) Um esquema interno descreve a estrutura física do armazenamento do banco de dados. c) Um esquema externo descreve as estruturas de armazenamento dos usuários clientes d) Um esquema setorizado descreve a estrutura lógica do armazenamento do banco de dados de uso interno. e) Um esquema superior descreve as visões de gestores de nível estratégico 11. (ESAF 2013 MF Analista de Finanças e Controle Gestão em Infraestrutura de TI) Banco de dados é: a) uma relação de dependência entre dados que tem por objetivo atender a uma comunidade de usuários. b) um conjunto de dados integrados que tem por objetivo impedir acessos indevidos a dados armazenados. c) um conjunto de dados integrados que tem por objetivo atender a requisitos do sistema operacional. d) um conjunto de dados integrados que tem por objetivo atender a uma comunidade de usuários. e) uma estrutura de máquina virtual que tem por objetivo atender a necessidades do software de acesso. 12. (FCC 2012 TCE-AM Analista de Controle Externo Tecnologia da Informação) O modelo conceitual de dados a) é aquele em que os objetos, suas características e relacionamentos têm a representação de acordo com as regras de implementação e limitantes impostos por algum tipo de tecnologia. b) é aquele em que os objetos, suas características e relacionamentos têm a representação fiel ao ambiente observado, independente de limitações quaisquer impostas por tecnologias, técnicas de implementação ou dispositivos físicos. c) é aquele elaborado respeitando-se e implementando-se conceitos tais como chaves de acesso, controle de chaves duplicadas, itens de repetição (arrays), normalização, ponteiros e integridade referencial, entre outros. d) é a fase da modelagem na qual é necessário considerar todas as particularidades de implementação, principalmente o modelo que será utilizado para a implementação futura. www.acasadoconcurseiro.com.br 11
e) está sempre associado às fases de projeto, contrastando com o modelo lógico, que sempre está associado à fase de análise, quando utilizado com as metodologias de desenvolvimento de sistemas e implementado por ferramentas CASE. 13. (CESPE 2012 Banco da Amazônia Técnico Científico Administração de Dados) O uso de sistemas de banco de dados em aplicações web requer que o desenvolvimento seja feito em linguagem Java. 14. (CESPE 2012 Banco da Amazônia Técnico Científico Administração de Dados) A validação de modelos de dados destinados a assegurar sua aderência a um modelo corporativo tem por objetivos a redução de redundância de dados e o compartilhamento de dados corporativos das empresas. 15. (CESPE 2012 Banco da Amazônia Técnico Científico Banco de Dados) Julgue os itens a seguir, no que concerne ao conceito de modelo de dados em SGBD. O modelo lógico define-se como uma descrição de banco de dados no nível de abstração visto pelo usuário do SGBD, por isso esse modelo é flexível e independente do tipo particular de SGBD que está sendo usado. 16. (CESPE 2012 Banco da Amazônia Técnico Científico Banco de Dados) O modelo conceitual define-se como um modelo de dados abstrato, que descreve a estrutura de um banco de dados de forma independente de um SGBD particular. 17. (CESPE 2012 Banco da Amazônia Técnico Científico Banco de Dados) Julgue os itens a seguir, no que se refere aos conceitos de banco de dados. O local onde são armazenados ou agrupados todos os objetos, programas e dados é denominado esquema. 18. (CESPE 2012 Banco da Amazônia Técnico Científico Banco de Dados) Instância é o nome técnico atribuído ao conjunto de programas utilizados, em um dado momento, para o gerenciamento de determinado banco de dados. 19. (CESPE 2012 Banco da Amazônia Técnico Científico Banco de Dados) Modificações no nível físico são necessárias sempre que um requisito for alterado, por exemplo, para melhorar o desempenho do processo de inclusão de registros. 20. (ESAF 2012 CGU Analista de Finanças e Controle prova 3 Auditoria e Fiscalização Geral) Um Sistema de Banco de Dados é a) uma associação de dados interdependentes e hardware adequado que permitem aos usuários acesso aos mesmos. b) uma coleção de dados relacionados por processadores pertencentes a usuários com privilégio de acesso. c) uma coleção de dados inter-relacionados e um conjunto de programas que permitem aos usuários acessar e modificar esses dados. d) uma disposição de dados e atributos que permitem aos usuários construir instâncias multiestruturadas. 12 www.acasadoconcurseiro.com.br
Banco do Brasil - TI (Escriturário) Informática Márcio Henecke e) uma coleção de dados de dimensionalidade variável, selecionada por cada usuário através de programas interpretadores. 21. (ESAF 2012 CGU Analista de Finanças e Controle prova 3 Auditoria e Fiscalização Geral) O projeto geral do banco de dados é a) o esquema do banco de dados. b) o planejamento estratégico do fluxo de dados. c) o esquema de dimensionamento físico- -financeiro do banco de dados. d) a versão inicial de instanciação dos dados a serem carregados no sistema. e) o esquema de atualização dos dados para manutenção de consistência. ( ) Com a independência de dados, mudanças em um nível não requer mudança no nível superior, pois somente o mapeamento entre os dois níveis é modificado. Esse mapeamento não traz nenhuma sobrecarga (overhead) durante a compilação ou execução de uma consulta. Assinale a opção com a sequência CORRETA. a) F, V, V, F b) V, V, F, V. c) F, F, F, V. d) V, F, F, V. 23. (CONSULPLAN 2012 TSE Técnico Judiciário Programação de Sistemas) Observe a figura relacionada à representação da arquitetura ANSI/SPARC para bancos de dados. 22. (FUMARC 2012 TJ-MG Técnico Judiciário Administrador de Banco de Dados) Segundo Elmasri & Navathe, a arquitetura de três esquemas pode ser usada para explicar melhor o conceito de independência de dados. Com relação a esse conceito e a arquitetura de três esquemas, analise os itens a seguir, marcando (V) para o item verdadeiro e (F) para o item falso. ( ) Independência de dados lógica é a capacidade de alterar o esquema interno sem mudar o esquema externo. ( ) Independência física de dados é a capacidade de mudar o esquema interno sem ter de alterar o esquema conceitual. ( ) Independência de dados é a capacidade de mudar o esquema em um nível do sistema de banco de dados sem que ocorram alterações do esquema no próximo nível mais alto. Sendo dois níveis descritos a seguir. I Trata do armazenamento físico dos dados e definição das estruturas que permitem obter um bom nível de desempenho. II Representa os dados, independente de qualquer usuário, escondendo os detalhes de implementação física dos arquivos que armazenam os dados. Esses níveis são denominados, respectivamente, a) interno e aplicação. b) externo e aplicação. c) interno e conceitual. d) externo e conceitual. www.acasadoconcurseiro.com.br 13
Gabarito: 1. A 2. E 3. B 4. ANULADA 5. E 6. Errado 7. B 8. Certo 9. Errado 10. B 11. D 12. B 13. Errado 14. Certo 15. Errado 16. Certo 17. Certo 18. Errado 19. Certo 20. C 21. A 22. A 23. C 14 www.acasadoconcurseiro.com.br
Banco do Brasil - TI (Escriturário) Informática Márcio Henecke GABARITO COMENTADO 1. A 2. E 3. B 4. ANULADA. O correto seria 2, 5, 4, 3 e 1 5. E 6. ERRADO. Essa é a definição de "Conhecimento" e não informação. 7. B 8. CERTO 9. ERRADO. Essa é a definição de "Redundância NÃO controlada" 10. B 11. D 12. B 13. ERRADO. Há diversas outras linguagens de programação. 14. CERTO 15. ERRADO. O modelo lógico depende do SGBD que for usado. 16. CERTO 17. CERTO 18. ERRADO. Essa é a definição de SGBD. 19. CERTO 20. C 21. A 22. A 23. C www.acasadoconcurseiro.com.br 15