Aula 00 Banco de Dados e Business Intelligence p/ ALERJ (Informática TI) - Com videoaulas Professor: Thiago Rodrigues Cavalcanti 00000000000 - DEMO Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 AULA 00: Projeto de bancos de dados: teoria. Projetos logico e físico. Modelagem de dados, conceitual e semântica. Modelo de Entidades e Relacionamentos. Notação IDEF1X. Administração de dados e metadados: gestão, organização, coleta e manutenção. Sumário Apresentação do professor ........................................................................................................... 1 Motivação para o curso .................................................................................................................. 2 Cronograma ........................................................................................................................................ 3 Conceitos de Banco de Dados ..................................................................................................... 5 1. Considerações iniciais ..................................................................................................... 5 2. Conceitos básicos ............................................................................................................. 5 3. Características da abordagem de BD ....................................................................... 8 4. Personagem do ecossistema de BD ........................................................................ 12 5. Evolução histórica dos SGBDs ................................................................................... 14 6. Modelo de Dados, instâncias, esquemas............................................................... 20 7. Arquitetura três esquemas ......................................................................................... 22 8. Ambiente do Sistema de banco de dados............................................................. 25 Modelagem conceitual .................................................................................................................. 29 9. Modelo Entidade Relacionamento - ER .................................................................. 29 9.1. Melhorias no Modelo E-R ......................................................................................... 31 9.1.1. Especialização e generalização ......................................................................... 32 9.1.2. Disjunção e sobreposição .................................................................................... 33 9.1.3. Restrição participação .......................................................................................... 35 9.1.4. Agregação ................................................................................................................. 35 9.2. Outras representações conceituais...................................................................... 37 9.2.1. Notação de Barker ................................................................................................. 38 9.2.2. Notação de pé-de-galinha ................................................................................... 38 9.2.3. Notação IDEF1X ...................................................................................................... 40 Questões comentadas da FGV............................................................................................... 43 Questões comentadas de outras bancas........................................................................... 71 Considerações finais .................................................................................................................... 101 Referências ..................................................................................................................................... 101 00000000000 Apresentação do professor Olá senhoras e senhores! Hoje começamos mais um curso relacionado a Banco de dados. É um prazer imenso fazer parte desta equipe de professores do Estratégia Concursos e ter a oportunidade de apresentar um pouco do meu conhecimento e experiência em concursos públicos! Gostaria, antes de começar de fato o conteúdo teórico desta aula, de me apresentar de forma rápida. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 1 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 Meu nome é Thiago, sou casado, tenho um filho de cinco anos. Sou cristão. Frequento a IPN – Igreja Presbiteriana Nacional. Sou formado em Ciência da Computação pela UFPE. Tenho mestrado em engenharia de software na mesma instituição. Frequento academia para manter a forma, mas meu hobby mesmo é pedalar! Decidi vender o carro e viver num desafio intermodal de transporte. Vou para o trabalho de bike sempre que possível! Ultimamente tenho usado mais Uber do que a magrela, mais isso é um detalhe! Onde eu trabalho? No Banco Central do Brasil! Fruto de uma trajetória de dois anos de estudos diários. Aposentei as canetas em 2010. Trabalho com análise e modelagem de dados. Já passei por equipes de desenvolvimento de software, mas, desde 2014, estou em uma nova área dentro do Departamento de Informática (Deinf) que trata de dados e inteligência de negócio (BI). Falamos um pouco sobre como está estruturado o Deinf de uma das principais autarquias da administração pública federal no webnário do Estratégia. Minha mais recente experiência com dados, seja na administração ou modelagem, é parte de uma estratégia profissional de alinhar meu trabalho diário como servidor público com minha carreira paralela de professor e consultor de Banco de Dados (BD) e Bussiness Inteligence (BI). A ideia é conseguir me especializar cada vez mais no tema, nesta nova carreira dentro da TI, que o mercado está denominando de cientista dos dados. Entrei no universo de concurso há alguns anos. Desde 2012 tenho me dedicado especificamente ao conteúdo de BD e BI. Tenho experiência em cursos presencias aqui em Brasília e em diversas partes do Brasil, bem como tenho gravado sistematicamente aulas on-line. É com essa bagagem que eu me apresento aos senhores como professor. A ideia é desenvolver um material completo, recheado de questões e com dicas exclusivas para ajudar você no seu objetivo: ser aprovado e nomeado! Para finalizar, não deixe de seguir minha página no Facebook® (profthiagocavalcanti), onde eu publico, sistematicamente, questões comentadas e dicas semanais. Outra atividade que mantenho regularmente são as lives via Periscope® (@rcthiago), toda quinta-feira, 21h, apresentamos um conteúdo rápido, focado em concurso que pode ajudar na sua preparação. 00000000000 Motivação para o curso Neste curso vamos construir o conhecimento para que você possa ser aprovado neste concurso. Então, você vai trabalhar numa instituição séria, contribuir para o funcionamento do legislativo estadual do Rio de Janeiro e, ainda por cima, receber muito bem por isso. Teremos muito trabalho pela frente. Por isso, montamos um curso teórico em PDF, baseado nas mais diversas bancas, em especial da FGV, apresentando o conteúdo observando as variadas formas de cobrança. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 2 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 Teremos ainda videoaulas que apresentam o conteúdo teórico de forma detalhada para algumas partes da matéria. Existe uma força tarefa para gravação de todo o assunto, mas não temos como garantir o término deste trabalho até a data de publicação das aulas. Mas não se preocupe, nosso objetivo é garantir que você tenha capacidade e conhecimento para ser aprovado. Logo, todo conteúdo necessário para a prova estará presente nos PDFs. Vamos juntos? 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, caso existam, 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. Cronograma Para proporcionar uma visão geral do assunto e fornecer uma linha de ação para o estudo da matéria dividimos o curso em quatorze aulas, sendo esta a aula 00. A aula engloba a parte introdutória da matéria de banco de dados. As demais aulas, seguindo a ementa do curso, são apresentadas abaixo e estão distribuídas como se segue: 00000000000 EMENTA DO CURSO: Modelagem de dados, conceitual e semântica. Modelo de Entidades e Relacionamentos. Notação IDEF1X. Sistema relacional: teoria, estrutura, linguagens, operações, normalização, integridade. Projeto de bancos de dados: teoria. Projetos logico e físico. Dependências funcionais. Normalização. Linguagem SQL. Consultas e subconsultas. Comandos select, insert, select into, update e delete. Outros comandos para manipulacao (DML), controle (DCL) e descricao de dados (DDL). Tecnicas de implementacao de SGBD. Transacoes: conceito, propriedades e implementacao. Processamento e otimizacao de consultas. Recuperacao e concorre ncia. Seguranca em bancos de dados. Distribuicao de dados e transacoes. Interfaces de utilizacao: principais Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 3 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 propriedades e caracteristicas das bibliotecas mais difundidas. ODBC. Algoritmos de busca e indexacao: sequenciais, arvores, hashing, bitmaps. Conceitos de Data Warehouse, Data Mining, OLAP e ETL. Tecnicas de modelagem e otimizacao de bases de dados multidimensionais. Administracao de dados e metadados: gestao, organizacao, coleta e manutencao. Boas praticas. Conhecimentos de SGBD: Oracle 11g, MySQL 5.x, SQL Server 2012. Administracao de bancos de dados. Pois bem, e como serão distribuídas as nossas aulas? Aula 00 – Projeto de bancos de dados: teoria. Projetos logico e físico. Modelagem de dados, conceitual e semântica. Modelo de Entidades e Relacionamentos. Notação IDEF1X. Administracao de dados e metadados: gestao, organizacao, coleta e manutencao. Aula 01 – Sistema relacional: teoria, estrutura, linguagens, operações, normalização, integridade. Dependências funcionais. Normalização. Aula 02 – Consultas e subconsultas. Comandos select, insert, select into, update e delete. Outros comandos para manipulacao (DML), controle (DCL) e descricao de dados (DDL). Interfaces de utilizacao: principais propriedades e caracteristicas das bibliotecas mais difundidas. ODBC. Aula 03 – Tecnicas de implementacao de SGBD. Transacoes: conceito, propriedades e implementacao. Distribuicao de dados e transacoes. Aula 04 – Recuperacao e concorre ncia. Aula 05 – Administracao de bancos de dados. Processamento e otimizacao de consultas. Aula 06 – Seguranca em bancos de dados. Aula 07 – Algoritmos de busca e indexacao: sequenciais, arvores, hashing, bitmaps. 00000000000 Aula 08 – BPM - Business Process Modeling Aula 09 – Conceitos de Data Warehouse e ETL. Tecnicas de modelagem e otimizacao de bases de dados multidimensionais. Aula 10 – Data Mining, OLAP Aula 11 – Conhecimentos de SGBD: Oracle 11g Aula 12 – Conhecimentos de SGBD: MySQL 5.x Aula 13 – Conhecimentos de SGBD: SQL Server 2012 Definido o cronograma, vamos partir para o conteúdo da nossa aula demonstrativa. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 4 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 Conceitos de Banco de Dados 1. Considerações iniciais Quando comecei a escrever esse curso meu pensamento era o seguinte: como fornecer ao aluno segurança para fazer as questões relativas a Banco de Dados? Um brainstorm rápido me trouxe algumas ideias: trazer as questões mais recentes das diversas bancas de concursos, e redigir um texto enxuto, mas com todos os conceitos e explicações necessários para levar você a marcar a alternativa correta. Vamos, ainda, tentar resolver algumas questões que vão além do escopo teórico do curso. Expandir o pensamento, criando uma linha de raciocínio adequada, vai facilitar a fixação do assunto. Começaremos pelos conceitos básicos relacionados a banco de dados. Outro ponto importante é a presença das videoaulas. Você tem a opção de utilizar esse recurso como complemento ao aprendizado. Se após a leitura deste material, ainda existirem dúvidas sobre o assunto, use o fórum disponível no curso para expor seus questionamentos. Teremos o maior prazer em responder! 2. Conceitos básicos Em qualquer ciência, o entendimento completo do seu conteúdo deve se basear nos conceitos fundamentais. Nossa primeira aula começa focada nesses conceitos. Quando iniciamos o estudo, logo vem um questionamento: o que é banco de dados? Para definir esse termo podemos começar entendendo o significado das suas partes. Dados são fatos conhecidos que podem ser registrados e possuem um significado implícito. Esse conceito, porém, é um pouco amplo para nosso intuito. Quando reduzimos o escopo à tecnologia da informação, temos um conceito mais adequado para dado. Ele é a representação física de um evento no tempo e espaço que não agrega fundamento ou significado para quem o sente ou recebe. É, basicamente, um registro, por exemplo: 01, cinco, teste, Thiago. 00000000000 Banco de dados é uma coleção de dados relacionados. Esta definição é considerada muito simplista para alguns autores por não contextualizar o termo. O Navathe, por exemplo, cita três propriedades implícitas que contribuem para o entendimento do termo banco de dados. Primeiramente, ele representa algum aspecto do mundo real, às vezes chamado de minimundo ou de universo de discurso (UoD – Universe of Discourse). As mudanças no minimundo devem ser refletidas no banco de dados. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 5 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 A segunda característica implícita diz que a coleção de dados é logicamente coerente com algum significado inerente. Uma variedade aleatória de dados não pode ser chamada de banco de dados. A terceira propriedade afirma que um banco de dados é construído e populado com dados para uma finalidade específica. Ele possui um grupo de usuários bem definido e algumas aplicações, previamente concebidas, sobre as quais esses usuários interessados fazem acesso aos dados. Outra definição de banco de dados que resume o que apresentamos até agora é: “um conjunto de dados estruturados que são confiáveis, coerentes e compartilhados por usuários que têm necessidades de informações diferentes”. Vamos agora entender a diferença entre banco de dados, sistemas de gerenciamento de banco de dados (SGBD) e sistemas de banco de dados (SBD). São três conceitos diferentes para os autores dos livros teóricos sobre o assunto. Para entender essas diferenças peço que observem a figura a seguir: Observa-se que o conjunto de usuários e programadores se comunicam com o sistema de banco de dados, que por sua vez, faz acesso ao software do sistema de gerenciamento do banco de dados. Este usa as informações presentes nos bancos de dados, representados pelos cilindros da figura, para ter acesso aos dados armazenados. 00000000000 Um Sistema de Gerenciamento de Banco de Dados (SGBD) é um conjunto de programas que permitem armazenar, modificar e extrair informações de um banco de dados. Seu principal objetivo é proporcionar um ambiente tanto conveniente quanto eficiente para a recuperação e armazenamento das informações do banco de dados. Mas os SGBDs não se restringem apenas a manipulação dos dados. Eles fornecem uma variedade de programas com diferentes funcionalidades. Outro aspecto interessante sobre banco de dados são as descrições dos objetos, pense em uma tabela do modelo relacional. Para termos acesso a uma tabela precisamos conhecer sua estrutura, começando pelo seu nome e das suas Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 6 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 colunas. Vejamos agora como definir um banco de dados. Essa tarefa envolve especificar os tipos, estruturas e restrições dos dados a serem armazenados. A definição ou informação descritiva do banco de dados também é armazenada pelo SGBD numa estrutura conhecida como catálogo ou dicionário de dados, que armazém os chamados de metadados dos objetos. É possível ainda fazer o compartilhamento dos dados entre diversos usuários e programas, possibilitando o acesso ao banco de dados de forma simultânea. Outras funções importantes também são providas como proteção do sistema contra defeitos de hardware e software, feitos por meio de redundância ou replicação, e proteção de segurança contra acesso não autorizados ou maliciosos. Outros aspectos interessantes estão relacionados com o controle de transações, recuperação após falha, otimização de consultas ou do próprio SGBD, auditoria por meio de logs de sistema, enfim, são várias as funcionalidades providas pelos softwares presentes em um SGBD. Vamos agora definir o próximo conceito: sistema de banco de dados! O sistema de banco de dados (SBD) é considerado a união entre o banco de dados e o sistema de gerenciamento de banco de dados. Em outras palavras, consiste em uma coleção de dados inter-relacionados e de um conjunto de programas para acessá-los. Partindo da figura que apresentamos acima conseguimos construir a seguinte fórmula: SBD = BD + SGBD + (Programa de aplicação/consulta) Antes de continuarmos construindo nosso arcabouço teórico sobre o assunto vamos resolver uma questão de provas passadas, desta vez nossa banca de exemplo será da FCC. 1. BANCA: FCC ANO: 2014 ÓRGÃO: JUDICIÁRIO - BANCO DE DADOS - DBA TJ-AP PROVA: ANALISTA 00000000000 Uma estrutura importante de um banco de dados relacional é o dicionário de dados, que A não contempla o nome dos atributos de cada tabela. B ocupa uma área máxima prevista de armazenamento de 1Kb. C contém apenas a relação de usuários do banco de dados. D deve conter o nome das tabelas presentes no banco de dados. E é uma tabela que contém o histórico de utilização do banco de dados. Comentário: Sem entrar nos detalhes de banco de dados relacional, apenas com o conhecimento que vimos até o momento, já temos a capacidade de responder à questão. Um dicionário de dados nos apresenta as informações ou Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 7 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 descrições dos objetos presentes em um banco de dados. É preciso conhecer essas estruturas para pode manipulá-las. Analisando as alternativas percebemos que nossa resposta, está na alternativa D, que é condizente com os conceitos básicos que apresentamos até aqui. Neste momento, não vou detalhar muito os erros presentes nas demais alternativas. Vamos, porém, tentar de forma rápida comentar as demais alternativas: O dicionário de dados apresenta sim a descrição dos nomes das colunas ou atributos da tabela, por isso que a alternativa A está errada. A limitação do espaço para o dicionário de dados pode ser definida, varia de um SGBD para outro, mas, definitivamente, é bem superior a 1kb. O nome dos usuários está armazenado em tabelas do SGBD, contudo, não são as únicas informações armazenadas. Percebam ainda que essa informação não faz parte do dicionário de dados, ela é armazenada em uma tabela interna ou no banco de dados do próprio sistema. Por fim, a tabela de histórico ou auditoria são armazenadas de forma similar a uma tabela comum, onde os dados são separados dos metadados. A diferença é que nas tabelas de auditorias o SGBD ou outro aplicativo fica responsável por gravar os dados na tabela de histórico quando uma alteração é feita na tabela monitorada. Eu disse que seria rápido e acabei tomando algumas linhas, se você não assimilou muito bem o que está escrito no parágrafo anterior, não se preocupe, siga em frente! Gabarito: D. 3. Características da abordagem de BD Segundo Navathe, são quatro, as principais características da abordagem de banco de dados que a fazem sobressair em relação às abordagens de processamento de arquivo. 1. Natureza de autodescrição de um sistema de banco de dados 2. Isolamento entre programas e dados, abstração de dados 3. Suporte a múltiplas visões de dados 00000000000 4. Compartilhamento multiusuário. de dados e processamento de transação Esses esforços visam reduzir a redundância o que implica em reduzir o desperdício no espaço de armazenamento e os esforços para manter os dados comuns ou duplicados atualizados. Tudo realizado por meio de um único repositório! Vejam que a lista acima pode ser caracterizada como uma enumeração e, como eu sempre digo, listas fazem parte do rol de questões de prova de concurso. Seja qual for a matéria, sempre gaste um pouco do seu tempo lendo, mais de uma vez, cada uma das listas pertencentes aos assuntos. A verdade é: Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 8 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 não importa o grau de relevância dentro do assunto, um examinador preguiçoso sempre está propício a utilizar deste artifício ao elaborar uma questão. A primeira característica listada pelo Navathe é conhecida por nós como catálogo do SGBD, dicionário de dados ou metadados. Esta propriedade permite ao SGBD gravar as definições das suas estruturas e restrições. E, quais são as descrições que podem ser gravadas? Descrição de tabelas, tamanho do campo, tipo dos dados, propriedade de ser nulo ou não, valores default, restrições de integridade, entre outros. Para facilitar sua visualização pense numa definição de uma tabela em SQL. Veja o exemplo a seguir e observe algumas dessas descrições. A próxima característica é uma decorrência da anterior. A partir do momento em que temos um dicionário de dados, é possível excluir da estrutura dos programas a definição dos dados presentes nos mesmos. Agora isolados, dados e aplicações, criam um conceito chamado independência de dados do programa. Este só é possível por conta da abstração de dados. A abstração de dados permite a criação de diferentes níveis de modelos. Cada modelo revela a estrutura dos dados de uma forma específica. O suporte a múltiplas visões parte do princípio que diferentes usuários têm diferentes necessidades sobre os dados. Se pensarmos em SQL, uma VIEW representa um subconjunto de informações referentes a uma ou mais tabelas (ou até a nenhuma tabela). Do ponto de vista mais abstrato, uma visão é a parte do banco de dados ao qual um usuário ou grupo de usuários tem acesso. Porém, existe a possibilidade dessa visão conter um dado virtual que é derivado das informações armazenadas. Imagine, por exemplo, a idade calculada a partir da data de nascimento. 00000000000 Quando falamos de suporte a múltiplos usuários queremos, basicamente, permitir que diferentes usuários acessem o banco de dados ao mesmo tempo. Para garantir que isso ocorra é preciso que o SGBD forneça um mecanismo de controle de concorrência. As transações efetuadas devem levar o sistema a um estado válido (C), não ter conhecimento umas das outras (I), serem executadas sempre por completo (ou não serem executadas) (A) e, uma vez gravadas na base, devem persistir ao longo do tempo (D). Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 9 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 Você dever estar se perguntando, o que são essas letras ao lado das características das transações citadas anteriormente? Elas se referem às características de uma transação: atomicidade, consistência, isolamento e durabilidade. Elas formam uma sigla conhecida como ACID e são bastante conhecidas dentro do modelo de dados relacional/transacional. Vamos então fazer mais uma questão com o foco agora na FGV. 2. Ano: 2010 Banca: FGV Órgão: BADESC Cargo: Analista de Sistemas A respeito de Sistema de Banco de Dados, analise as afirmativas a seguir. I. Os dados e a descrição correspondente são armazenados na base e gerenciadas pelo SGBD. II. A representação conceitual é feita por meio de um modelo de dados que só usa conceitos lógicos. III. O controle de concorrência garante que o resultado de várias modificações à base de dados seja correto. Assinale: A) se somente a afirmativa I estiver correta. B) se somente as afirmativas I e II estiverem corretas. C) se somente as afirmativas I e III estiverem corretas. D) se somente as afirmativas II e III estiverem corretas. E) se todas as afirmativas estiverem corretas. Comentário: Essa é uma questão interessante pois valida alguns conceitos que vimos até aqui. Primeiro, no item I, temos a descrição de uma característica importante dos SBD. Nele os dados e suas descrições (metadados) são armazenados na base de dados e o SGBD se encarrega de gerenciar as diferentes ações que podem ser conduzidas sobre os dados. Na alternativa II temos uma afirmação que numa olhada rápida pode parecer falsa, pois nossa mente está treinada para colocar as palavras conceitual e lógico em grupos distintos. Perceba, porém, que a representação conceitual vai usar conceitos lógicos, ou seja, ela não vai implementar fisicamente a base de dados. Vai usar esses conceitos, muitas vezes sob a forma de elementos gráficos, para representar o modelo de dados. Sendo assim, essa alternativa está correta. 00000000000 Por fim, temos o conceito de controle de concorrência feito pelo SGBD. Ele vai procurar garantir que diferentes transações possam ser executadas em paralelas e o resultado final das modificações feitas por cada transação individualmente leve o banco de dados para um estado consistente ou correto. Após analisarmos todas as alternativas como corretas, nossa resposta encontrase na letra E. Gabarito: E Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 10 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 Acabamos de tratar das características que o Navathe utiliza para diferenciar sistemas de arquivo dos sistemas de banco de dados. Vamos agora listar as características descritas pelo Date e pelo Silberschatz. Date chama de benefícios da abordagem de banco de dados. Quais sejam: 1. O dado pode ser compartilhado 2. A redundância pode ser reduzida 3. Inconsistências podem ser evitadas 4. Pode-se utilizar o suporte a transações 5. A integridade pode ser mantida 6. A segurança pode ser aperfeiçoada 7. Requisitos conflitantes podem ser balanceados 8. Padrões podem ser utilizados Já Abraham Silberschatz trata das desvantagens de se utilizar um sistema de arquivo: 1. Redundância e inconsistência dos dados 2. Dificuldade de acesso a dados 3. Isolamento dos dados 4. Problemas de integridade 5. Problemas de atomicidade 6. Anomalias de acesso concorrente 7. Problemas de segurança Lembrem-se, não precisamos decorar todas essas listas, apenas tomar conhecimento da sua existência, pois fazem parte do contexto. Elas procuram sempre expor as características que diferenciam os sistemas de arquivos dos sistemas de banco de dados. Vejamos mais uma questão que trata do assunto. 00000000000 3. BANCA: FCC ANO: 2014 ÓRGÃO: JUDICIÁRIO - BANCO DE DADOS - DBA TJ-AP PROVA: ANALISTA A redundância controlada de dados em um sistema de banco de dados ocorre quando Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 11 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 A um programa está ciente da múltipla representação de uma dada informação e garante o sincronismo entre as diversas representações. B a responsabilidade pela manutenção do sincronismo entre as múltiplas representações de uma dada informação é compartilhada entre o programa e o usuário. C os dados mais importantes são duplicados a cada backup do sistema, visando aumentar a garantia da recuperação da informação em caso de problemas. D a responsabilidade pela manutenção do sincronismo entre as múltiplas representações de uma dada informação é do usuário. E um programa está ciente da múltipla representação de uma dada informação, mas não garante o sincronismo entre as diversas representações. Comentário: Nesta questão vamos entender o que está sendo cobrado antes de avaliarmos as alternativas. Em primeiro lugar, precisamos lembrar que o SGBD vai controlar a redundância dentro do banco de dados. Esse controle é feito quando diferentes usuários compartilham a mesma informação. Suponha uma tabela de endereços de clientes em um banco comercial. Todos os setores do banco podem fazer uso desta informação. A área de investimento pode mandar o extrato das suas aplicações, o setor de cartão de crédito pode enviar sua fatura e o relacionamento com o cliente pode te enviar um cartão de feliz aniversário. A importância deste ponto único de contato é verificada quando o cliente muda de endereço, a atualização da tabela vai ser efetiva para os diferentes usuários da informação. Agora vamos analisar as alternativas, ao ler cada uma delas, podemos observar que no SGBD um programa deve estar ciente da múltipla representação de uma dada informação e garantir o sincronismo entre as diversas representações. Essa descrição é a presentes na alternativa A que é a nossa resposta. Gabarito: A 4. Personagem do ecossistema de BD Quando tratamos de grandes organizações, as atividades relacionadas a banco de dados devem ser compartilhadas entre diferentes pessoas. Trataremos agora dos dois principais papéis dentro desse processo: o administrador de banco de dados (DBA) e o administrador de dados (AD). 00000000000 Só para termos uma ideia, algumas empresas do setor bancário chegam a ter algumas dezenas de ADs dentro da organização. O Bradesco tem por volta de 40 ADs. Vamos então começar falando um pouco sobre esse perfil de trabalhador especializado em banco de dados. O AD é a pessoa que toma as decisões estratégicas e de normas com relação aos dados da empresa. Os administradores de dados também podem ser conhecidos por projetista de dados. Suas tarefas são realizadas principalmente antes do banco de dados ser realmente implementado e/ou populado. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 12 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 Eles são responsáveis por identificar os dados a serem armazenados e escolher estruturas apropriadas para representar esses dados. Para isso precisam se comunicar com todos os potenciais usuários a fim de entender suas necessidades e criar um projeto que as atenda suas necessidades. Eles definem então visões para cada grupo de usuários. Podemos listar ainda como atribuições do AD: Padronizar os nomes dos objetos criados no BD Gerenciar e auxiliar na definição das regras de integridade Controlar a existência de informações redundantes Trabalhar de forma corporativa nos modelos de dados da organização Falaremos agora do DBA – Database Administrator, ou, da pessoa que fornece o suporte técnico necessário para implementar as decisões. Assim, o DBA é responsável pelo controle geral do sistema em um nível técnico. Tem como recurso primário o banco de dados e como recursos secundários o SGBD e os softwares relacionados. O DBA é o responsável por autorizar o acesso ao banco de dados, coordenar e monitorar seu uso, adquirir recursos de software e hardware conforme a necessidade e por resolver problemas tais como falhas de segurança ou demora no tempo de resposta do sistema. Segundo o Date uma lista de atividades associadas ao DBA contém as seguintes tarefas: Definir o esquema conceitual (às vezes conhecido como lógico) Definir o esquema interno Contatar com os usuários Definir restrições de segurança e integridade Monitorar o desempenho e responder a requisitos de mudanças. 00000000000 Definir normas de descarga e recarga (dumping) Vejamos uma questão rápida sobre o assunto: 4. BANCA: FGV ANO: 2014 ÓRGÃO: DPE-RJ PROVA: TÉCNICO SUPERIOR ESPECIALIZADO - ADMINISTRADOR DE DADOS A sigla DBA é usualmente empregada para designar um profissional que é responsável: A pela administração, instalação, configuração e monitoramento de instalações de bancos de dados. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 13 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 B pela concepção, desenvolvimento e implantação de sistemas gerenciadores de bancos de dados. C pelo processo de coleta e exploração de dados para geração de novos conhecimentos. D pelo teste e manutenção de sistemas WEB construídos sob a égide de metodologias ágeis. E pelo treinamento e certificação para utilização de gerenciadores de bancos de dados. Comentário: Vejam que a questão que melhor se encaixa com a definição que vimos nesta aula é a descrita na alternativa A. A alternativa B trada de um profissional com o perfil de desenvolvedor do sistema de banco de dados. A letra C trata de uma função de um cientista ou analista de dados. Na alternativa D temos uma descrição de um desenvolvedor de sistemas WEB. Por fim, temos um professor de cursos preparatórios para certificação. Gabarito: A. 5. Evolução histórica dos SGBDs É interessante conhecer a evolução dos modelos até o NoSQL. Afinal, quando começamos a tratar as informações em sistemas como elas eram armazenadas? Os primeiros sistemas de gerenciamento de banco de dados são implementados no final da década de 1960. Charles Bachmann desenvolveu o primeiro SGBD chamado Integrated Data Store (IDS) enquanto trabalhava na Honeywell. Esse sistema usava o modelo de rede onde as relações de dados são representadas como um grafo bidirecional. Contudo, o primeiro SGBD que obteve sucesso comercial foi desenvolvido pela IBM chamado Information Management System (IMS). Ele usava o modelo hierárquico no qual as relações entre os dados são representadas como uma árvore. Por incrível que pareça, ainda está em uso hoje no sistema de reservas SABRE da IBM na American Airlines. Nesta época a Conference On Data Systems Languages (CODASYL) definiu um modelo de rede mais padronizado. 00000000000 Esses dois modelos, em rede e hierárquico, apresentavam problemas sérios, entre eles: O acesso ao banco de dados feito através de operações com o ponteiro de baixo nível. Detalhes de armazenamento dependiam do tipo de dados a serem armazenados. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 14 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 Para adicionar um campo no banco era necessário reescrever o esquema subjacente de acesso/modificação, em outras palavras o modelo de dados físico. Ênfase nos registros a serem processados, não na estrutura global. O usuário tinha que conhecer a estrutura física da BD, para fim de consulta das informações. No geral os primeiros SGBDs eram muito complexos e inflexíveis, o que tornou cada vez mais difícil o trabalho, quando era necessária a adição de novos aplicativos ou a reorganização dos dados. Para resolver esses e outros problemas Edgar (Ted) Codd, conhecido com o pai do modelo relacional, trabalhando no laboratório da IBM em San Jose propôs no artigo “A Relational Model of Data for Large Shared Data Banks” a definição do modelo relacional. Segundo Codd, o modelo fornece um meio de descrição de dados apresentando apenas a sua estrutura natural - isto é, sem sobreposição de qualquer estrutura adicional para efeitos de representação física dos dados. Assim, ele forneceu uma base para uma linguagem de dados de alto nível que permite obter a independência máxima entre dados e programas com a representação de um lado e a estrutura física da máquina do outro. Em outras palavras, o modelo relacional consistiu na independência de dados e, na forma de acesso aos dados definida por uma linguagem. Em vez de processar um registro de cada vez, um programador pode usar o idioma para especificar operações individuais que seriam realizados em todo o conjunto de dados. Devido à natureza técnica do artigo e a relativa complicação matemática presente no texto, o significado e proposição do artigo não foram prontamente identificados. Entretanto ele levou a IBM a montar um grupo de pesquisa conhecido como System R (Sistema R). O projeto do Sistema R era criar um sistema de banco de dados relacional o qual eventualmente se tornaria um produto. Os primeiros protótipos foram utilizados por muitas organizações, tais como na Sloan School of Management (renomada escola de negócios norte-americana). Novas versões foram testadas com empresas de aviação para rastreamento de manufaturas em estoque. 00000000000 Eventualmente o Sistema R evoluiu para SQL/DS, o qual posteriormente tornou-se o DB2. A linguagem criada pelo grupo do Sistema R foi a Structured Query Language (SQL) ou linguagem de consulta estruturada. Esta linguagem tornou-se um padrão na indústria para bancos de dados relacionais e, hoje em dia, é um padrão ISO (International Organization for Standardization). A linguagem SQL era originalmente conhecida como SEQUEL (Structured English QUEry Language). Depois teve seu nome modificado para SQL por problemas de patentes. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 15 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 Em meados da década de 80 tornou-se óbvio que existiam várias áreas onde bancos de dados relacionais não eram aplicáveis, por causa dos tipos de dados envolvidos. Estas áreas incluíam medicina, multimídia e física nuclear, todas com necessidades de flexibilidade para definir como os dados seriam representados e acessados. Este fato levou ao início de pesquisas em bancos de dados orientados a objetos, nos quais os usuários poderiam definir seus próprios métodos de acesso aos dados e como estes seriam representados e acessados. Ao mesmo tempo, linguagens de programação orientadas a objetos (Object Oriented Programming - POO), tais como C++, começaram a surgir na indústria. No início de 1990, temos a aparição do primeiro Sistema de Gerenciamento de Banco de Dados Orientado a Objetos (SGBDOO), através da companhia Objectivity. Isso permitiu que usuários criassem sistemas de banco de dados para armazenar resultados de pesquisas como o CERN (maior laboratório que trabalha com partículas em pesquisas de física nuclear - europeu) e SLAC (Centro de Aceleração Nuclear - norte-americano), para mapeamento de rede de provedores de telecomunicações e para armazenar registros médicos de pacientes em hospitais, consultórios e laboratórios. A evolução nos levou aos SGBDs orientados a objetos, mas a praticidade nos trouxe de volta para o modelo objeto-relacional, pois a grande maioria das empresas continuou utilizando os bancos de dados relacionais. Contudo esse modelo começou a apresentar outra lista de problemas ou desafios: 1. Dados na ordem de dezenas ou centenas de TB – abordagem de cluster é cara. 2. Poder de crescimento elástico horizontal – controle de transação ACID torna inviável com a elasticidade. 3. Fácil distribuição dos dados e/ou processamento – SGBD paralelos são caros. 00000000000 4. Tipos de dados variados, complexos e/ou semiestruturados – modelo de dados objeto-relacional não resolve todos os requisitos. Tivemos então o surgimento de um novo movimento no mercado em busca de uma solução que superasse tais problemas: o movimento NoSQL. Este teve sua origem em junho de 2009, para nomear um encontro promovido por Johan Oskarsson e Eric Evans, que teve como objetivo discutir o surgimento crescente de soluções open source de armazenamento de dados distribuídos não relacionais. Podemos considerar NoSQL uma nova onda de SGBDs, pois propõe algumas alternativas ao modelo relacional, porém com uma grande diferença histórica: o movimento NoSQL não tem como objetivo invalidar ou promover a Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 16 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 total substituição do modelo relacional, e sim o fim do modelo relacional como bala de prata, como a única solução correta ou válida. Inclusive, é importante entender que NoSQL não significa “no SQL” (não ao SQL), mas sim “not only SQL” (não só SQL). Curiosidade: Ao que tudo indica o termo NoSQL foi criado em 1998 por Carlo Strozzi para nomear seu projeto open source, que tinha como objetivo ser uma implementação mais leve de um banco de dados relacional, porém sua principal característica era não expor a interface SQL. Portanto é bem irônico usar o termo NoSQL, criado para nomear um banco de dados relacional, para classificar soluções de armazenamento de dados não relacionais. Juntamente com NoSQL surge o conceito de Big Data. A definição mais tradicional usa a equação dos cinco Vs. Nela, Big Data = volume + variedade + velocidade + veracidade + valor, de dados. Cada característica desta é associada aos dados armazenados. É possível justificar cada uma delas. Vejamos: Volume porque além dos dados gerados pelos sistemas transacionais, temos a imensidão de dados gerados pelos objetos na Internet das Coisas, como sensores e câmeras, e os dados gerados nas mídias sociais por meio de PCs, smartphones e tablets. Variedade porque estamos tratando tanto de dados textuais estruturados como não estruturados como fotos, vídeos, e-mails e tuites. Velocidade, porque muitas vezes precisamos responder aos eventos quase que em tempo real, ou seja, estamos falando de criação e tratamento de dados em volumes massivos. O ponto de vista da veracidade também deve ser considerado, pois não adianta muita coisa lidar com a combinação "volume + velocidade + variedade" se não houver dados confiáveis. É necessário que haja processos que garantam a consistência dos dados. 00000000000 O último V, valor, considera que informação é poder, informação é patrimônio. A combinação "volume + velocidade + variedade + veracidade", além de todo e qualquer outro aspecto que caracteriza uma solução de Big Data, se mostrará inviável se o resultado não trouxer benefícios significativos e que compensem o investimento. O que acontece agora? Diante destas definições, importantes à implementação de SGBDs que suportem a estratégia definida pelo Big Data podemos sugerir diferentes soluções. Bancos do tipo NoSQL são mais flexíveis, sendo inclusive compatíveis com um grupo de premissas que "compete" com as propriedades ACID dos SGBDs tradicionais: a BASE (BAsically Available, Soft state, Eventually consistency – Basicamente disponível, estado leve, eventualmente consistente). Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 17 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 Exemplos de bancos de dado NoSQL são o Cassandra, o MongoDB, o HBase, o CouchDB e o Redis. Mas, quando o assunto é Big Data, apenas um banco de dados do tipo não basta. É necessário também contar com ferramentas que permitam o tratamento correto do volume de dados. Neste ponto, o Hadoop é, de longe, a principal referência. O Hadoop é uma plataforma open source desenvolvida especialmente para processamento e análise de grandes volumes de dados, sejam eles estruturados ou não estruturados. Pode-se dizer que o projeto teve início em meados de 2003, quando o Google criou um modelo de programação que distribui o processamento a ser realizado entre vários computadores para ajudar o seu mecanismo de busca a ficar mais rápido e livre das necessidades de servidores poderosos (e caros). Esta tecnologia recebeu o nome de MapReduce. Vamos ficando por aqui, isso é o que nos interessa para o contexto histórico. Apresentamos abaixo uma figura com uma evolução dos modelos de dados ao longo do tempo. Vamos agora fazer uma questão sobre o assunto. Desta vez, nossa questão é do CESPE. 00000000000 5. BANCA: CESPE ANO: 2014 ÓRGÃO: JUDICIÁRIO – BANCO DE DADOS TJ-SE PROVA: ANALISTA Acerca de bancos de dados semiestruturados e bancos de dados NOSQL, julgue os itens subsecutivos. 86 Bancos de dados NOSQL orientados a documentos são apropriados para o armazenamento de dados semiestruturados. 87 Para garantir a eficiência das consultas a bancos de dados semiestruturados, é fundamental a adoção de técnica de indexação que leve em consideração, além das informações, as propriedades estruturais dos dados. 88 Devido à escalabilidade esperada para os bancos de dados NOSQL, a implementação desses bancos utiliza modelos de armazenamento de dados totalmente distintos dos utilizados em sistemas relacionais. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 18 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 Comentário: Vimos que um dos desafios que os banco de dados NoSQL tenta resolver tem relação com os tipos de dados variados, complexos e/ou semiestruturados. Assim podemos considerar a alternativa 86 como correta. A questão 87 envolve alguns conceitos interessantes. Começa falando sobre dados semiestruturados, por exemplo, XML ou JSON. Consultas em bancos de dados semiestruturados consideram tanto a estrutura quanto os valores. Outra questão é a criação de índice sobre um conjunto de dados semiestruturados. Para avaliar se um índice deve ou não ser criado é importante usar as informações sobre a estrutura dos dados e os valores armazenados. Neste caso, considerando a necessidade de um espaço maior para armazenamento e do custo de manutenção, a criação do índice deve melhorar a performance para ser de fato implementado. Logo, a assertiva está correta. A alternativa 88 vai exigir conhecimento sobre os modelos de armazenamento utilizados por bancos de dados NoSQL. Quando tratamos de bases de dados NoSQL podemos classifica-las em quatro diferentes tipos, são eles: Chave/valor (Key/Value): conhecidos como tabelas de hash distribuídas. Armazenam objetos indexados por chaves, e facilita a busca por esses objetos a partir de suas chaves. Orientados a Documentos: os documentos dos bancos são coleções de atributos e valores onde um atributo pode ser multivalorado. Em geral, os bancos de dados orientados a documento não possuem esquema, ou seja, os documentos armazenados não precisam possuir uma estrutura em comum. Essa característica faz deles boas opções para o armazenamento de dados semiestruturados. Colunar: Bancos relacionais normalmente guardam os registros das tabelas contiguamente no disco. Por exemplo, caso se queira guardar id, nome e endereço de usuários em um banco de dados relacional, os registros seriam: Id1, Nome1, Endereço1; Id2, Nome2, Endereço2. Essa estrutura torna a escrita muito rápida, pois todos os dados de um registro são colocados no disco com uma única escrita no banco. Também é eficiente caso se queira ler registros inteiros. Mas para situações onde se quer ler algumas poucas colunas de muitos registros, essa estrutura é pouco eficiente, pois muitos blocos do disco terão de ser lidos. 00000000000 Para esses casos onde se quer otimizar a leitura de dados estruturados, bancos de dados de famílias de colunas são mais interessantes, pois eles guardam os dados contiguamente por coluna. O exemplo anterior em um banco de dados dessa categoria ficaria: Id1, Id2; Nome1, Nome2; Endereço1, Endereço2. Os bancos de dados de famílias de colunas são mais interessantes para processamento analítico online (OLAP). Bigtable é uma implementação da Google dessa categoria de bancos de dados. Orientado a Grafos: diferente de outros bancos de dados NoSQL, esse está diretamente relacionado a um modelo de dados estabelecido, o modelo de grafos. A ideia desse modelo é representar os dados e/ou o esquema dos dados como grafos dirigidos, ou como estruturas que generalizem a noção de grafos. O Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 19 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 modelo de grafos é aplicável quando “informações sobre a interconectividade ou a topologia dos dados são mais importantes, ou tão importante quanto os dados propriamente ditos”. Possui três componentes básicos: os nós (são os vértices do grafo), os relacionamentos (são as arestas) e as propriedades (ou atributos) dos nós e relacionamentos. Agora vamos voltar a questão, precisamos responder a seguinte pergunta: nenhum dos modelos acima tem relação com bancos de dados relacionais? Ou ainda, não é possível criar estruturas em SGBDs relacionais que representem esses conceitos? Veja a figura abaixo: Para finalizar vamos fazer apenas um comentário sobre escalabilidade: A escalabilidade em um banco de dados relacional pode ocorrer de duas formas: horizontal e vertical. A forma horizontal ocorre pela utilização de mais equipamentos e particiona a estrutura de dados de acordo com critérios estabelecidos. A forma vertical ocorre pelo aumento da capacidade do equipamento em que o sistema gerenciador de banco de dados está instalado. Bases de dados NoSQL têm como um de seus motivadores o baixo custo para realizar uma escalabilidade horizontal, o que torna possível o uso de equipamentos mais acessíveis. Além disso, proporciona um modelo de particionamento nativo (sharding). Gabarito: C C E. 00000000000 Modelo de dados e arquitetura três esquemas 6. Modelo de Dados, instâncias, esquemas Na parte anterior do nosso curso, tratamos das definições relacionadas aos termos básicos SGBD, BD, SBD e dicionário de dados. Agora vamos tratar de outro grupo de conceitos. Este grupo está relacionado ao entendimento dos diversos participantes do processo de definição de um banco de dados, para definir os diferentes níveis de modelos de dados que dão origens aos esquemas. A partir desses esquemas podemos obter instâncias. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 20 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 Antes de adentrar no estudo dos modelos de dados queria que você entendesse a diferença entre esquema e instância. O esquema é a definição da estrutura do modelo e a instância se refere aos dados armazenados em um esquema em um momento do tempo. Para descrever os modelos utilizamos os elementos fornecidos por cada um deles e construímos esquemas. Conhecido com o projeto geral do BD é basicamente a descrição do banco, conhecido também como a intenção ou conotação. Baseado nesse esquema é possível criar uma instância do BD. Essa coleção de dados armazenados no banco de dados em um determinado instante é o próprio banco de dados, também denominada de extensão. Um modelo de dados fornece um significado necessário para permitir a abstração dos dados, ocultando detalhes de armazenamento. Pode ser visto como uma coleção de conceitos que são usados para descrever a estrutura de um banco de dados. Cada modelo deve definir uma coleção de ferramentas conceituais para as seguintes tarefas: (1) descrição de dados, (2) relacionamentos entre eles, (3) a semântica dos dados e (4) restrições de consistência. Boa parte dos modelos também dá suporte a operações, algumas dessas operações podem representar o aspecto dinâmico ou comportamento de uma aplicação de banco de dados. Os modelos de dados podem ser divididos em três categorias de acordo com os tipos de conceitos usados para descrever a estrutura do banco de dados. No nível mais alto temos os modelos de dados conceituais que apresentam os dados da forma como os usuários finais percebem. Em um nível intermediário está a classe de modelos de dados representacionais (ou de implementação) que fornece um entendimento aos envolvidos no processo de desenvolvimento do BD, mas já introduz informações sobre a forma pela qual os dados são armazenados dentro de um computador. O último nível apresenta os modelos de dados físicos ou de baixo nível. Observem na figura abaixo: 00000000000 Após conhecermos a divisão de modelo de dados, vamos mudar nosso foco para outra classificação presente no contexto de banco de dados. Silberschatz Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 21 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 apresenta um conceito de níveis de abstração. O nível de abstração mais baixo ou físico descreve como os dados realmente são armazenados. Este nível descreve em detalhes estruturas de dados complexas. O próximo nível de abstração descreve que dados estão armazenados no banco de dados e que relações existem entre eles. O nível lógico descreve o banco de dados inteiro em termos de um pequeno número de estruturas relativamente simples. Embora a implementação das estruturas simples no nível lógico possa envolver estruturas complexas em nível físico, o usuário do nível lógico não precisa tomar ciência desta complexidade. O nível de abstração mais alto descreve apenas parte do banco de dados. Muitos usuários de sistema de banco de dos não precisam de todas as informações armazenadas. Em vez disso, eles precisam apenas de uma parte do banco de dados. O nível de visão (view) existe para simplificar sua interação com o sistema, que pode fornecer muitas visões para o mesmo banco de dados. A hierarquia de níveis de abstração de dados pode ser vista na figura abaixo: 00000000000 7. Arquitetura três esquemas Agora que já entendemos de modelos de dados, instâncias e esquemas, vamos passar para a arquitetura em três esquemas. O American National Standards Institute (ANSI) através do Standards Planning and Requirements Committee (SPARC) estabeleceu um padrão para o desenvolvimento de tecnologias de base de dados, definindo uma arquitetura de três níveis independentes: interno, conceitual e externo. Essa arquitetura tem por objetivo separar o usuário da aplicação do banco de dados físico. Possuem, logicamente, os esquemas definidos em três níveis distintos: Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 22 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 Nível interno - (também conhecido como nível de armazenamento) é o mais próximo do meio de armazenamento físico - ou seja, é aquele que se ocupa do modo como os dados são fisicamente armazenados dentro do sistema. Nível conceitual - (também conhecido como nível lógico de comunidade, ou às vezes apenas nível lógico, sem qualificação) é um nível "indireto" entre os outros dois. Nível externo ou visão - (também conhecido como nível lógico do usuário) é o mais próximo dos usuários – ou seja, é aquele que se ocupa do modo como os dados são vistos por usuários individuais. Podemos usar partir da arquitetura de três esquemas para explicar o último assunto desta nossa parte da aula. A independência dos dados que nada mais é do que a capacidade de alterar o esquema em um nível dos sistemas de banco de dados sem alterar o esquema no nível mais alto ou, em outras palavras a habilidade de modificar a definição de um esquema em um nível sem afetar a definição do esquema em um nível mais alto. Segundo Navathe é possível definir dois tipos de independência de dados: 1. Independência lógica de dados - a capacidade de alterar o esquema conceitual sem ter de alterar os esquemas externos ou os aplicativos. 2. Independência física de dados - a capacidade de alterar o esquema interno sem ter de alterar o esquema conceitual. Apresentamos a seguir uma figura que descreve os níveis da arquitetura em três esquemas. Observem que pela definição de independência de dados é necessário a existência de um nível superior ao esquema alterado. Desta forma só temos o conceito para os níveis conceitual e interno da figura. 00000000000 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 23 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 De uma forma simples, cada um dos níveis possui uma função dentro das suas respectivas abstrações. O nível de visão do usuário determina a parte em que o usuário tem acesso. O nível conceitual identifica os dados armazenados e suas relações. Por fim, o nível físico é o nível mais baixo de abstração, define a maneira como os dados estão armazenados. 6. Banca: FGV Ano: 2010 Órgão: BADESC Cargo: Analista de Sistemas A arquitetura de um SGBD ou a arquitetura de um sistema de banco de dados, também denominada de arquitetura ANSI/SPARC em três níveis, determina que um SGBD descreva como os dados devem ser armazenados e acessados e conter estes mesmos dados de fato armazenados. As terminologias desta arquitetura que contêm essas descrições e os dados de fato armazenados, são respectivamente: 00000000000 A) esquema físico e nível físico. B) nível físico e esquema físico. C) nível físico e esquema conceitual. D) nível conceitual e esquema físico. E) nível conceitual e esquema conceitual. Comentário: Essa questão é interessante pois faz referência à duas descrições que tratam de características físicas. Lembrando que o esquema é a descrição do modelo, no caso do esquema físico, ele que vai definir como os dados são armazenados e acessados, fala da parte estrutural do modelo. O nível físico por sua vez contém os dados armazenados no esquema. Gabarito: A. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 24 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 Antes de entrar na próxima parte do assunto queria fazer um resumo rápido da lista de atributos hierárquicos de banco de dados vistos até aqui. Reconhecemos que, em determinado momento, parece que eles estão tratando do mesmo conceito. Vejamos então: Modelo de dados: conceitual (alto nível), representativos (lógico ou de implementação) e físicos Níveis de abstração de dados: nível de view, nível lógico e nível físico. Arquitetura 3 esquemas: visão externa, esquema conceitual e esquema interno. Arquitetura 3 esquemas (níveis): nível externo, nível conceitual e nível interno. Independência de dados: lógica e física. 8. Ambiente do Sistema de banco de dados A figura a seguir apresenta, de forma simplificada, os componentes típicos de um SGBD. Perceba que temos uma divisão em duas partes. A parte superior mostra os usuários e a forma de interação deles com o SGBD. Cada tipo de usuário possui a sua interface de relacionamento. A parte inferior ilustra os detalhes internos do SGBD, eles são responsáveis pelo armazenamento dos dados e processamento das transações dos usuários. Vejam que o banco de dados e o catálogo do SGBD estão representados por um cilindro, representando o fato de serem armazenados permanentemente. Os discos rígidos representam uma das diversas possibilidades de armazenamento não volátil ou permanente dos dados. 00000000000 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 25 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 O acesso aos discos rígidos é controlado pelo sistema operacional ou pelo próprio SGBD. O controle vai escalonar as operações de leitura e escrita sobre o disco. Quando consideramos a execução de uma transação sobre o banco de dados, o intervalo de tempo gasto na transferência de dados entre a memória e o disco é considerado um gargalo no processamento. Para otimizar o processo alguns SGBDs podem contar com um módulo de gerenciamento de buffer que planeja a troca de dados entre a memória principal e o disco. Outro módulo, o gerenciador de dados armazenados, controla o acesso às informações do SGBD que estão armazenadas, seja no catálogo de dados ou no bando de dados. Ele utiliza os serviços básicos do sistema operacional para executar operações de entrada/saída (leitura/escrita) de baixo nível entre o disco e a memória principal. Observa-se, na parte superior da figura, as interfaces para os diferentes usuários do sistema. De um lado temos os usuários casuais que trabalham com interfaces interativas para formular consultas. Logo em seguida, visualizamos os programadores de aplicação que usam uma linguagem de programação hospedeira para ter acesso aos dados. Por fim, temos os usuários paramétricos que inserem valores para os parâmetros predefinidos pelas transações. No parágrafo anterior, falamos apenas das manipulações de dados que podem ser feitas sobre as bases de dados. Essas operações incluem consultas, inserções, deleções e atualizações das informações armazenadas. Contudo, é necessário, antes de manipularmos os dados, construir as estruturas do banco de dados. A linguagem de definição de dados ou data definition language é utilizada pelo DBA para descrever os objetos presentes na base de dados. Uma tabela do modelo relacional é um exemplo de objeto que podemos criar por meio de uma instrução DDL em nossa base de dados. Quando o DBA digita uma instrução ou comando DDL, essa é enviada ao compilador DDL. Um compilador transforma o código fonte (da linguagem de programação) em um código em que o computador entenda. O compilador da DDL processa as definições de esquema especificadas e armazena as descrições de esquema (metadados) no catálogo do SGBD. Esse fluxo pode ser observado no lado esquerdo da figura anterior. 00000000000 Outra função do DBA é o ajuste fino ou tuning do sistema de gerenciamento de banco de dados, bem como a configuração de parâmetros que são feitos por meio dos comandos privilegiados. Apenas para exemplificar, um comando presente na maioria dos SGBDs é o REORG, serve para reorganizar uma tabela ou índice na estrutura física do banco de dados. Os usuários casuais interagem usando alguma interface de consulta interativa. Essas consultas são analisadas e validadas pela exatidão da sintaxe da consulta, os nomes de arquivos e elementos de dados, e assim por diante, Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 26 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 por um compilador de consulta. Essa consulta interna está sujeita a melhorias feitas pelo otimizador de consultas, que se preocupa com o rearranjo e a possível reordenação de operações, com a eliminação de redundâncias e uso dos algoritmos e índices corretos durante a execução. Ele consulta o catálogo do sistema em busca de informações estatísticas e outras informações físicas sobre os dados armazenados, gerando um código executável. Este por sua vez realiza as operações necessárias para a consulta e faz chamadas ao processador em tempo de execução (falaremos mais sobre ele logo mais). Os programadores de aplicação escrevem programas em linguagens hospedeiras, como Java e C#, que são submetidas a um pré-compilador. Este extrai os comandos DML do programa de aplicação. Para entender melhor como funciona essa divisão vamos partir para um exemplo prático. No exemplo abaixo temos um código Java com um comando SQL. O comentário no código delimita o início da instrução SQL dentro do código Java. Observem que o comando select. Ele está escrito na linguagem SQL considerada uma DML. Esses comandos são enviados ao compilador DML para serem compilados em código objeto com acesso ao banco de dados. O restante do programa é enviado ao compilador da linguagem hospedeira. Os códigos objetos para os comandos DML e o restante do programa são ligados (‘linkados’) formando uma transação programada ou compilada. 00000000000 As transações programadas são executadas repetidas vezes pelos usuários paramétricos, que apenas fornecem os parâmetros para as transações. No nosso exemplo anterior, as informações necessárias são login e senha. Cada execução é considerada uma transação separada. Outro exemplo de transação é o saque no caixa eletrônico, no qual o número da conta e o valor são fornecidos como parâmetros. Na parte inferior da figura temos o processador de banco de dados em tempo de execução (PBDTE). Ele é responsável por executar os comandos privilegiados, os planos de consulta executáveis e as transações programadas. Para isso são utilizadas informações e dados estatísticos do catálogo do sistema. O PBDTE também trabalho com o gerenciador de dados armazenados. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 27 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 Os sistemas controle de concorrência, backup e recuperação são apresentados como um módulo da figura. Eles são integrados ao processador de banco de dados em tempo de execução para fins de gerenciamento de transações. Você precisa ter em mente que esses controles são necessários para o perfeito funcionamento do SGBD. O backup é utilizado durante a recuperação caso alguma falha aconteça. A concorrência entre transações deve existir dentro de limites bem definidos para evitar que o banco de dados entre em um estado inconsistente. A figura apresentada não pretende descrever um SGBD específico nem esgotar suas funcionalidades. Nossa ideia foi ilustrar os módulos básicos de um SGBD e estruturar seu raciocínio. Lembre-se que um SGBD é um sistema informatizado. Para executar todas as suas tarefas sua implementação é dividida em diferentes módulos. O SGBD interage ainda com o sistema operacional quando o acesso ao disco rígido é necessário. Vamos fazer uma questão da FGV que trata do assunto. 7. Ano: 2010 Banca: FGV Órgão: BADESC Cargo: Analista de Sistemas Os objetivos dos compiladores DDL, DML e DCL são, respectivamente: A) criar os objetos do banco de dados, manipular (recuperação, inserção, remoção e alteração) de dados nos objetos criados pela DDL e fornecer privilégio de acesso às informações. B) fornecer privilégio de acesso às informações, criar os objetos do banco de dados e manipular (recuperação, inserção, remoção e alteração) de dados nos objetos criados pela DDL. C) manipular (recuperação, inserção, remoção e alteração) de dados nos objetos criados pela DML, criar os objetos do banco de dados e fornecer privilégio de acesso às informações. D) fornecer privilégio de acesso às informações, manipular (recuperação, inserção, remoção e alteração) de dados nos objetos criados pela DDL e criar os objetos do banco de dados. 00000000000 E) criar os objetos do banco de dados, fornecer privilégio de acesso às informações e manipular (recuperação, inserção, remoção e alteração) de dados nos objetos criados pela DDL. Comentário: Vimos que o compilador DDL permite que o DBA emita comandos para a criação dos objetos do banco de dados, esses vão, por exemplo, fornecer informações sobre as estruturas das tabelas como atributos e restrições. O compilador DML é responsável por transformar o código SQL para manipulação dos dados armazenados. Por fim, temos o Data Control Language – DCL, essa parte da linguagem SQL vai permitir aos administradores de banco de dados a distribuição de privilégios de acesso sobre a base de dados. Com essa informação, podemos marcar tranquilamente a resposta na alternativa A. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 28 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 Gabarito: A. Espero que você tenha entendido nossa proposta de apresentar o ambiente do SGBD. Acabamos aqui o nosso primeiro conjunto de assuntos teóricos envolvidos na introdução dos sistemas de bancos de dados. Vamos agora falar um pouco sobre modelagem conceitual. Modelagem conceitual 9. Modelo Entidade Relacionamento - ER A modelagem ER foi proposta por Peter Chen, em março de 1976, no artigo The Entity-Relationship Model: Toward the unified view of data. A literatura especializada afirma que o modelo tem como embasamento a formalização do óbvio. A abordagem é composta por uma técnica de diagramação e um conjunto de conceitos. A técnica é um meio de representação dos próprios conceitos por ela manipulados: entidades, relacionamentos e atributos. Vamos primeiro entender a definição de cada uma delas. Entidades são objetos do “mundo real” sobre os quais se deseja manter informações no banco de dados. São exemplos de entidade Aluno, Professor, Departamento. Atributos são as propriedades que descrevem essas entidades. Relacionamentos são as associações entre entidades. Cada tipo entidade que participa de um tipo relacionamento executa um papel no relacionamento. Vejam a figura do artigo original de Chen. 00000000000 Nesse diagrama podemos observar a presença das entidades Empregado e Projeto, e do relacionamento Trabalha-no-projeto. Na figura, podemos observar também o termo conjunto (set) de Entidade e de Relacionamento. Esse termo contribui para a formalização do modelo. Ele descreve, basicamente, o conjunto de objetos que são instanciados para cada entidade ou relacionamento. O importante aqui é observar que o modelo define um retângulo para Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 29 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 representação de uma entidade e um losango para representação de um relacionamento. Por fim, os atributos, que, embora não estejam desenhados na figura, são representados por uma elipse. Agora que já tratamos dos elementos gráficos básicos do modelo vamos observar quais são as classificações de cada um dos elementos e como essa classificação influência ou altera a representação gráfica de cada elemento. Começaremos pelos atributos, que podem ser: Simples x Compostos Simples são aqueles atributos considerados atômicos ou indivisíveis. Os compostos podem ser divididos em partes menores, essas partes representam atributos básicos com significados independentes. Monovalorados x Multivalorados Monovalorados possuem apenas um valor para uma instância da entidade (exemplo: Idade). Multivalorados possuem mais de um valor para dada elemento de uma entidade (exemplo: Telefones (88787981, 34141242, 46578741)) Armazenados x Derivados Armazenados define aqueles atributos que efetivamente são gravados no banco de dados. Derivados são os atributos que podem ser obtidos a partir de um dado armazenado (exemplo: calcular a idade utilizando a data de nascimento). Agora vamos tratar dos relacionamentos. Eles podem ser classificados das seguintes formas: Quanto ao grau que representa o número de entidades que participam desse relacionamento. Quanto à razão de cardinalidade quando, analisando um relacionamento binário, podemos especificar o número máximo de instâncias de cada entidade presente no relacionamento, este valor é definido como razão de cardinalidade. Podendo receber o seguintes valores: 1:1, 1:N, N:1 e M:N. 00000000000 Por fim vamos tratar de entidade fraca e forte. Uma entidade fraca não possui entre seus próprios atributos um conjunto que possa ser definido como chave primária. São identificadas por estarem relacionadas a entidades específicas de outro tipo entidade conhecidas como entidade forte. Geralmente um atributo da entidade forte faz parte da chave primária da entidade fraca. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 30 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 Entidade forte ou identificador/proprietária. Pode definida como uma entidade que consegue especificar sua chave primária dentro do conjunto dos seus atributos. Uma observação importante é que chamamos o tipo relacionamento entre a entidade fraca e seu tipo proprietário de relacionamento identificador. 8. BANCA: FCC ANO: 2015 ÓRGÃO: TRT - 15ª REGIÃO (CAMPINAS-SP) PROVA: TÉCNICO JUDICIÁRIO - TECNOLOGIA DA INFORMAÇÃO O modelo E-R utiliza alguns conceitos básicos como entidades, atributos e relacionamentos. Os atributos podem ser classificados em obrigatórios, opcionais, monovalorados, multivalorados, simples ou compostos. Nesse contexto, uma entidade chamada Empregado possui os atributos ID, Nome, TelefonesContato, CNH e Endereço. Os atributos TelefonesContato e Endereço são classificados, respectivamente, em A monovalorado e multivalorado. B simples e multivalorado. C multivalorado e composto. D obrigatório e opcional. E composto e multivalorado. Comentário: Essa questão está avaliando o entendimento de atributos em modelos ER. A questão fala de dois atributos específicos: TelefonesContato e Endereco. Começando pelo TelefonesContato, imagine uma lista de telefones pertencentes a uma determinada pessoa: 6134432323, 6134564343, 6132423234. Veja que eles são um conjunto de valores do mesmo tipo. Esse tipo de atributo é conhecido como multivalorado. O outro atributo é o Endereco, pense no endereço da sua casa. Ele geralmente é composto de um nome de rua, número, bairro, cidade e cep. Veja que o atributo possui uma sequência de valores de tipos diferentes, por isso chamamos ele de composto. 00000000000 Considerando os dois parágrafos anteriores temos multivalorado e composto como resposta para a questão. Gabarito: C. 9.1. Melhorias no Modelo E-R Os diagramas ER discutidos até agora representam os conceitos básicos de um esquema de banco de dados. No entanto, alguns aspectos de um banco de dados, tais como herança entre os vários tipos de entidade não podem ser expressos utilizando o modelo básico ER. Estes aspectos podem ser expressos através de uma evolução do modelo ER. Os diagramas resultantes são Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 31 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 conhecidos como diagramas ER estendido e o modelo é chamado de modelo EER. O modelo básico ER pode representar os aplicativos de banco de dados tradicionais, tais como a aplicação de processamento de dados típico de uma organização. Por outro lado, o modelo EER é usado para representar as aplicações novas e complexas de banco de dados, tais como telecomunicações, Sistemas de Informação Geográfica (GIS), etc. Esta seção discute os recursos dos modelos ER estendido, incluindo especialização, generalização e agregação e sua representação utilizando EER diagramas. 9.1.1. Especialização e generalização Em algumas situações, um tipo de entidade pode incluir agrupamentos de suas entidades, de tal maneira que as entidades de um subgrupo distinto são de algum modo das entidades de outros subgrupos. Por exemplo, o tipo de entidade BOOK pode ser classificado em três tipos, a saber, TEXTBOOK, LANGUAGE_BOOK, e NOVEL. Estes tipos de entidade são descritos por um conjunto de atributos que inclui todos os atributos do tipo de entidade livro e um conjunto adicional de atributos que os diferenciam uns dos outros. Estes atributos adicionais são também conhecidos como atributos locais ou específicos. Por exemplo, o tipo de entidade TEXTBOOK pode ter o atributo adicional Assunto (por exemplo, Computação, Matemática, Ciências, etc.), LANGUAGE_BOOK pode ter o atributo Idioma (por exemplo, francês, alemão, japonês, etc.), e a entidade do tipo NOVELA pode ter um atributo TIPO (Ficção, Mistério, Fantasia, etc.). Este processo de definir os subgrupos de um determinado tipo de entidade é chamado especialização. O tipo de entidade que contém os atributos comuns é conhecido como superclasse, e o tipo de entidade que é um subconjunto da superclasse, é conhecida como a sua subclasse. Por exemplo, o tipo de entidade livro é uma superclasse e os tipos de entidade TEXTBOOK, LANGUAGE_BOOK e NOVEL são suas subclasses. Este processo de refinar os tipos de entidade de nível superior (superclasse) em tipos de entidade de nível inferior (subclasse), acrescentando alguns recursos adicionais para cada um deles é uma abordagem de projeto topdown. 00000000000 O processo de design também pode seguir uma abordagem bottom-up no qual vários tipos de entidade de nível mais baixo são combinados com base em características comuns para formar os tipos de entidade de nível superior. Por exemplo, o designer de banco de dados pode identificar primeiro o tipo de entidade TEXTBOOK e em seguida os tipos LANGUAGE_BOOK e NOVEL e, por fim, combinar os atributos comuns destes tipos de entidades para formar uma entidade de nível superior BOOK. Este processo é conhecido como generalização. Em termos simples, a generalização é o inverso da especialização. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 32 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 As duas abordagens são diferentes em termos de partida e ponto final. Especialidade começa com um único tipo de entidade de nível mais alto e termina com um conjunto de tipos de entidades de nível inferior que têm alguns atributos adicionais que as distinguem umas das outras. Generalização, por outro lado, inicia-se com a identificação de um número de tipos de entidade de nível mais baixo e termina com o agrupamento dos atributos comuns para formar um único tipo de entidade de nível mais alto. Generalização representa as semelhanças entre os tipos de entidade de nível inferior. No entanto, suprime as suas diferenças. Especialização e generalização podem ser representadas graficamente, com a ajuda de um diagrama ERE em que a superclasse está ligada por uma linha a um círculo, que por sua vez está ligado por uma linha a cada subclasse que foi definida. O símbolo em forma de ' ' em cada linha que liga uma subclasse ao círculo indica que a subclasse é um subconjunto da superclasse. O círculo pode ser vazio ou pode conter um símbolo “d” (para disjunção) ou “o” (para sobreposição). Vejam a figura abaixo para esclarecer a nossa explicação. Antes de falarmos mais detalhes sobre disjunção e sobreposição vamos definir o que vem a ser atributo de herança. Como discutido anteriormente, os tipos de entidade de nível superior e de nível inferior são criados com base em seus atributos. O tipo de entidade de nível superior (ou superclasse) tem os atributos que são comuns a todos os seus tipos de entidade de nível mais baixo (ou subclasses). Esses atributos comuns da superclasse são herdados por todas as suas subclasses. Esta propriedade é conhecida como atributo de herança. 00000000000 9.1.2. Disjunção e sobreposição Dois tipos de restrições, denominados, disjunção e sobreposição, podem ser aplicados a uma especialização. Estas restrições determinam se uma Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 33 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 instância de entidade de nível superior pode ou não pertencer a mais de um tipo de entidade de nível mais baixo dentro de uma única especialização. Restrição de disjunção: Esta restrição especifica que a mesma instância de entidades de nível superior não pode pertencer a mais de um tipo de entidade de nível inferior. Isto é, a subclasses de qualquer superclasse deve ser separada. Por exemplo, uma entidade do tipo BOOK pode pertencer a um TEXTBOOK ou NOVEL, mas não ambos. Uma especialização definida por um atributo em que na definição deste atributo ele possua um valor único implica em uma restrição de disjunção. A restrição de disjunção é representada por um símbolo d escrito em um círculo num diagrama ERE como mostrado na figura. Restrição de sobreposição: Esta restrição especifica que a mesma instância de entidades de nível superior pode pertencer a mais de um tipo de entidade de nível inferior. Isto é, as subclasses de qualquer superclasse não precisam ser separadas e as entidades podem se sobrepor uma a outra. Em termos de diagrama ERE, a restrição de sobreposição é representada por um símbolo ‘o’ escrito em um círculo que une à superclasse com suas subclasses. Por exemplo, os tipos de entidade PLAYER e POLITICIAN mostram uma restrição de sobreposição, uma celebridade pode ser um jogador bem como um político (ver figura). Da mesma forma, uma entidade do tipo BOOK pode pertencer a ambos TEXTBOOK e LANGUAGE_BOOK, desde que o livro sobre idioma também possa ser um livro prescrito em uma disciplina. 00000000000 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 34 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 9.1.3. Restrição participação A última restrição que pode ser aplicado a generalização ou especialização, é a restrição participação ou integralidade. Ela determina se uma entidade no conjunto de entidades de nível superior deve ou não pertencer a, pelo menos, um dos conjuntos de entidades de nível inferior. A restrição de participação pode ser total ou parcial. Especialização Total: Especifica que cada entidade de nível superior deve pertencer a, pelo menos um, dos tipos de entidade de nível inferior na especialização. A Figura (a) mostra a especialização total do tipo de entidade BOOK. Aqui, cada entidade livro deve pertencer a um ou outro TEXTBOOK ou LANGUAGE BOOK ou NOVEL. A especialização total é representada por linhas duplas que ligam a superclasse com o círculo. Especialização parcial: Ela permite que algumas das instâncias de tipo de entidade de nível superior não pertencerem a qualquer um dos tipos de entidade de nível inferior. A figura (b) mostra a especialização parcial do tipo de entidade BOOK, como todos os livros não necessariamente pertencem às categorias TEXTBOOK ou LANGUAGE BOOK, alguns podem pertencer à categoria NOVEL, por exemplo. 00000000000 9.1.4. Agregação Os diagramas ER discutidos até agora representam as relações entre duas ou mais entidades. Um diagrama de ER não pode representar os relacionamentos entre relacionamentos. No entanto, em algumas situações, é necessário utilizar algum artifício para representar uma relação entre os relacionamentos. A melhor forma de representar estes tipos de situações é por meio da agregação. O processo através do qual podemos tratar os relacionamentos como entidades de nível superior é conhecido como agregação. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 35 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 Por exemplo, em um banco de dados de livros (BOOK), o relacionamento ESCREVE, entre as entidades autor e livros, pode ser tratado como uma entidade de nível superior chamada ESCREVE (WRITES). O relacionamento ESCREVE e as entidades autor e livros são agregados em um único tipo de entidade para mostrar o fato de que uma vez que o autor escreveu um livro só então que ele poderá ser publicado. O tipo de relacionamento PUBLISHED_BY pode ser mostrado entre o tipo de entidade editor e ESCREVE como mostrado na figura abaixo. O tipo de relacionamento PUBLISHED_BY é um relacionamento muitos-para-um. Isso implica que um livro escrito por um grupo de autores pode ser publicado por uma única editora; no entanto, um editor pode imprimir muitos livros escritos por diferentes autores. 00000000000 9. BANCA: CESPE ANO: 2010 ÓRGÃO: INMETRO PROVA: PESQUISADOR GOVERNANÇA DE TI Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 36 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 Considerando a figura acima, que ilustra um modelo conceitual, assinale a opção correta. A As entidades pessoa física e pessoa jurídica são exemplos de generalização/especialização, conceito que envolve a ideia de herança de propriedades. Herdar propriedades significa que cada ocorrência da entidade especializada possui, além de suas propriedades (atributos, relacionamentos e generalizações ou especializações), também as propriedades de ocorrência da entidade genérica correspondente. B A cardinalidade do relacionamento entre filial e cliente define que pode existir filial sem clientes, e ainda, que os clientes podem existir sem estar vinculados a nenhuma filial. C Telefone é exemplo de atributo opcional. D No modelo apresentado, entidades, relacionamentos, identificadores estão corretos e consistentes. cardinalidade e E As entidades cliente, pessoa física e pessoa jurídica apresentam relacionamento do tipo ternário ou de grau maior, que são modelados usando-se uma entidade associada, por meio de relacionamentos binários, a cada uma das entidades que participam do relacionamento ternário. Comentário. Primeiramente gostaria de fazer um comentário sobre o diagrama da questão. Quando apresentamos esse tipo de notação, os círculos pretos representam atributos chave das entidades e os círculos brancos representam atributos não chave. Outro ponto é a presença da restrição estrutural definindo os valores mínimos e máximos de cada entidade no relacionamento. Feito as considerações vamos analisar as alternativas, começando pela letra A que é a nossa resposta. Vejam que o examinador que saber se você entende que, quando temos especializações dentro de um diagrama conceitual, as entidades que são subclasses herdam os atributos e relacionamentos das suas superclasses. A letra B faz uma leitura errada do relacionamento entre cliente e filial. O correto seria dizer que uma filial atende a zero até ‘n’ clientes e um cliente é atendido por uma e apenas uma filial. Para responder a alternativa C precisamos entender o que significar o ‘(1,n)’ ao lado do atributo telefone da entidade cliente. Podemos dizer que ele representa um atributo multivalorado, pois um cliente pode ter mais de um telefone e obrigatório, pois cada cliente precisa ter, no mínimo, um telefone. 00000000000 Na alternativa D temos que encontrar um erro no diagrama. Precisamos verificar que o nome filial está grafado como chave primária da entidade filial, o que não faz sentido. Portanto o diagrama não está 100% correto. Por fim, a alternativa E, as entidades listadas não representam um relacionamento ternário, é sim uma relação de generalização/especialização. Gabarito: A. 9.2. Outras representações conceituais Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 37 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 Apresentaremos abaixo outras opções de notações conceituais que estão presentes na maioria das ferramentas de modelagem. 9.2.1. Notação de Barker Nós usamos o termo notação de Barker (Barker Notation) para a notação ER discutida no tratamento clássico de Richard Barker (1990). Tem origem no final da década de 1980 no CACI no Reino Unido, a notação foi adotada mais tarde pela Oracle Corporation em suas ferramentas de projeto -CASE. A Oracle agora suporta UML como uma alternativa para a notação Barker ER, embora para aplicações de banco de dados, muitos modeladores ainda preferem a notação Barker em vez de UML. Recentemente, a Embarcadero adicionou suporte básico para a notação Barker em seu produto EA/Studio. Embora existam dezenas de dialetos ER, consideramos a notação Barker pode ser uma das melhores notações de ER, pois tem com amplo apoio na indústria. As convenções básicas estão ilustradas na figura abaixo. Tipos de entidade são mostrados como retângulos de cantos arredondados com seu nome em letras maiúsculas. Os atributos são escritos abaixo do nome do tipo de entidade. Algumas informações de restrição podem aparecer antes de um nome de atributo. Um "#" indica que o atributo é a chave primária da entidade, ou um componente da chave. O "*" ou ponto escuro "•" indica que o atributo é obrigatório (ou seja, cada instância na população banco de dados do tipo de entidade deve ter um valor não nulo registrado para este atributo). Um "°" indica que o atributo é opcional. Alguns projetistas utilizam um ponto “." para indicar que o atributo não é parte do identificador ou da chave. Relações são restritas a relacionamentos binários (sem unários, ternários ou relacionamentos mais longos) e são mostradas como linhas com um nome do relacionamento. Esta colocação de nome supera o problema de sentido ambíguo. Ambas as leituras para frente e em sentido inverso podem ser exibidas em uma relação binária, uma em cada extremidade da linha. Isso faz com que a notação Barker seja superior a UML para verbalizar relacionamentos. Vejam um exemplo na figura abaixo: 00000000000 9.2.2. Notação de pé-de-galinha Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 38 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 Outras notações podem ser usadas para representar modelos conceituais, uma das opções mais conhecidas é muito usada para representar relacionamento entre entidades. Conhecida no português como diagrama pé-degalinha ou, no inglês, crewsfeet notation. Apresentamos a seguir uma explicação gráfica dos principais elementos desta notação. 10. Ano: 2015 Banca: FGV Órgão: TJ-BA Cargo: Analista Judiciário Tecnologia da Informação Analise o diagrama ER apresentado a seguir. Na implementação relacional desse modelo, é necessário que: A) o relacionamento entre T1 e T2 seja modificado, pois não é possível implementá-lo como descrito; 00000000000 B) o atributo C1 da tabela T1 seja declarado como uma chave estrangeira que referencia a tabela T2; C) o atributo C da tabela T2 seja declarado com a propriedade unique (com valores nulos ignorados); D) o atributo A2 da tabela T2 aceite valores nulos; E) o atributo C da tabela T2 seja declarado com a propriedade not null. Comentário: Vamos aproveitar a questão para falar de outra notação conceitual. A abordagem de Engenharia da Informação (EI) ou sistemas de informação começou com o trabalho de Clive Finkelstein na Austrália e do CACI no Reino Unido, mais tarde foi adaptada por James Martin. James ficou conhecido como responsável pelo sucesso e propagação da notação. Existem diferentes versões de notações para EI, sem um padrão único. De uma forma ou Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 39 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 outra, a EI é suportada por muitas ferramentas de modelagem de dados e é uma das notações mais populares para o projeto de banco de dados. A notação de EI é semelhante à notação de Barker, ela apresenta a frequência máxima de um papel através da marcação na extremidade da linha do relacionamento. Mas, ao contrário da notação Barker, a notação da EI apresenta também a possibilidade de configuração opcional/obrigatória. O elemento gráfico mais próximo da entidade representa o número máximo de elementos: apenas um no caso da barra vertical (|) ou vários ( ou ). O outro elemento gráfico representa a obrigação (|) ou opção ( Veja a figura abaixo. Acabamos de entender a notação pé-de-galinha, do James Martin. A entidade T1 pode ter relacionamento: opcional (representado por O) com valor máximo 1 (representado por |) com a entidade T2. Sendo assim, o atributo C que é uma chave estrangeira só irá aparecer na entidade T2 uma única vez, logo, ele deverá ser declarado como UNIQUE. Gabarito: C. 00000000000 9.2.3. Notação IDEF1X Vamos aproveitar para apresentar outra notação bastante utilizada em provas de concursos: a notação IDEF1X. Embora aplicada no nível conceitual, incorpora em suas raízes muitas características de projeto de banco de dados (modelagem lógica). Sua diagramação dependente de conceitos como chaves e dependências de identificação. Seus elementos podem ser divididos em entidades, relacionamentos, atributos e subtipos/supertipos. A figura a seguir mostra como os elementos são definidos para construção de diagramas na notação. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 40 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 Observem que as entidades podem ser segmentadas em independentes e dependentes. Esse conceito se baseia na capacidade de existência de uma entidade depender da existência de outra (s) entidade (s). Uma entidade dependente precisa de outra entidade independente para existir. Dentro de cada entidade pode aparecer os atributos. Os atributos chave aparecem acima da linha que corta o desenho horizontalmente e os demais atributos aparecem abaixo dessa linha. Podemos colocar após a definição do nome dos atributos os termos (FK), (PK), (AKn), (O). Os três primeiros se referem, respectivamente, a chave estrangeira, chave primária e chave alternativas. O ‘n’ representa uma numeração atribuída a chave alternativa. O último termo (O) representa que o atributo em questão é opcional. Vejam a figura abaixo com o exemplo desta nomenclatura. 00000000000 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 41 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 Na primeira figura apresentamos também a notação de cardinalidade dos relacionamentos e se eles são identificadores ou não. Por fim abaixo temos uma figura que mostra como o comportamento de herança é descrito. Vejam que temos dois conceitos. O fato de ser uma herança completa ou incompleta, que diz respeito ao fato de todos os elementos terem uma especialização. Outro ponto é ser exclusivo ou inclusivo, neste caso analisamos se é permitido ou não que uma entidade tenha mais de uma especialização dentro das possibilidades. Com isso terminamos nosso estudo de modelagem conceitual. A modelagem conceitual juntamente com o projeto lógico e físico são as principais etapas de um projeto de banco de dados. Veremos os aspectos do projeto lógico quando tratarmos do modelo relacional. 00000000000 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 42 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 Questões comentadas da FGV Agora vamos fazer algumas questões do assunto especificamente da FGV. Percebam que a banca tem um apreço enorme pela notação IDEF1X. São mais de 30 questões que tem como objetivo alinhar seu conhecimento à forma de cobrança do conteúdo pela banca. Qualquer dúvida estou às ordens. 11. Ano: 2015 Banca: FGV Órgão: TJ-RO Cargo: Analista de Sistemas Considere o diagrama ER, representado pela notação IDEF1X e contendo as entidades A e B, mostrado a seguir. Considere ainda a figura de um relacionamento a seguir. A conexão dessas entidades por meio do relacionamento mostrado, na direção em que se encontra, nesse caso provoca o estabelecimento, entre as duas entidades A e B, de um relacionamento: A) 1:1 B) 1:N C) N:1 D) N:M E) 1:0 Comentário: A entidade B não possui chave primária, lembrem-se que na notação IDEF1X o atributo chave–primária fica na divisão superior da entidade. Por isso, a única chave que identifica ela na relação B é a chave estrangeira vinda de A. Então, mesmo com o símbolo de muitos, a relação é 1 para 1 porque não há como fazer uma relação de 1 para muitos sem chave primária em B. 00000000000 Gabarito: A. 12. Ano: 2015 Banca: FGV Tecnologia da Informação Órgão: TCE-SE Cargo: Analista de Diagramas entidade-relacionamento na notação IDEF1X distinguem relacionamentos identificadores e não identificadores. A presença de um relacionamento identificador faz com que: Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 43 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 A) os atributos que compõem a chave estrangeira correspondente possam assumir valores nulos; B) a cardinalidade do relacionamento torne-se, obrigatoriamente, 1:1; C) os atributos que compõem a chave estrangeira correspondente passem a compor a chave primária da tabela estrangeira; D) os atributos que compõem a chave estrangeira constituam, por si só, uma chave candidata da tabela estrangeira; E) seja estabelecida uma relação de especialização entre as duas entidades conectadas. Comentário: O relacionamento identificador entre duas entidades E1 e E2 (neste sentido) indica que uma instância da entidade E2 não pode ser completamente identificada sem que se conheça a instância da entidade E1 a que ela está associada. Por exemplo, considere que em uma determinada empresa de vendas no atacado os pedidos sejam identificados da seguinte forma: para cada novo cliente os pedidos são numerados a partir do número 1. Assim existirão tantos pedidos com o número "1" quantos forem os clientes da empresa. Veja o exemplo abaixo: A indicação FK no atributo "Cliente Código" da entidade PEDIDO indica que aquele atributo é uma chave–primária em outra entidade relacionada (no caso, FUNCIONÁRIO). Então, o atributo é denominado uma chave–estrangeira (Foreing Key), ou seja, uma chave que “migrou” para a outra entidade devido ao relacionamento. Partindo do exemplo acima, podemos encontrar nossa resposta na alternativa C. 00000000000 Gabarito: C 13. Ano: 2014 Banca: FGV Órgão: TJ-GO Cargo: Analista Judiciário Análise de Sistemas Em algumas das questões que seguem desta disciplina, o banco de dados simplificado, denominado COPA_BD, será utilizado como referência. DESCRIÇÃO DO BANCO DE DADOS COPA_BD O banco de dados armazena informações sobre os jogos de um grupo de países na fase de classificação da Copa do Mundo, na qual os times jogam entre si. É constituído por quatro tabelas, cujos atributos e instâncias são as que seguem. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 44 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 Observações: Cada registro na tabela Participação representa um dos times que participaram de um determinado jogo, no papel de mandante ou visitante, juntamente com o número de pontos obtidos no jogo (um gol pode ser normal ou contra); Cada registro na tabela Gol representa um gol, contra ou a favor, feito pelo jogador no tempo indicado; Chaves primárias, candidatas e estrangeiras ainda não foram estabelecidas. O diagrama ER que melhor representa o considerando-se sua descrição e instâncias, é: banco de 00000000000 A) B) Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 45 de 101 dados COPA_BD, Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 C) D) E) Comentário: Analisando o diagrama é possível definir alguns aspetos interessantes. Primeiramente gostaria de lembrar do conceito de entidade dependente e independente. Vejam que os cantos da figura que definem como a entidade está classificada: Outro ponto importante é que a chave primária da tabela Participação é formada pelos atributos idJogo e nomeDoPais, que são chaves estrangeiras, respectivamente das tabelas Jogo e País. Podemos identificar ainda que os atributos da entidade Gol não tem a capacidade de ser caracterizados como chave primária da relação. Vejam que idJogo e nomeDoPais que são FKs em Gol não conseguem identificar unicamente uma linha da tabela. 00000000000 Quando analisamos o relacionamento, observamos que o relacionamento entre Participação e as tabelas Jogo e País temo um relacionamento identificador, visualizado pela linha continua entre as duas entidades. Já entre a entidade Gol e a Participação tem uma linha tracejada, caracterizando um relacionamento não identificador. Vejamos abaixo as descrições dos relacionamentos na notação IDEF1X. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 46 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 Após pontuar os aspectos listados acima, podemos marcar nossa resposta na alternativa A. Gabarito: A. 14. Ano: 2014 Banca: FGV Órgão: DPE-RJ Cargo: Técnico Superior Especializado - Administração de Dados Observe o diagrama apresentado a seguir. Na implementação desse modelo num banco de dados relacional, é preciso A) eliminar o relacionamento entre E1 e E2 e criar uma hierarquia de generalização. B) especificar precisamente a cardinalidade do relacionamento entre E1 e E2. C) migrar os atributos de E1 e E2 para uma nova entidade, haja vista a presença do relacionamento N:M. 00000000000 D) migrar os atributos de E2 para E1, haja vista a existência do relacionamento 1:1. E) resolver o relacionamento N:M, por meio da criação de uma entidade intermediária. Comentário: Se lembrarmos da representações de relacionamentos vistas na questão anterior podemos perceber na figura um relacionamento N:M. Nestas situações, quando estamos passando do modelo conceitual para o relacional, optamos pelas criação de uma tabelas auxiliar para comportar as chaves primárias das duas entidade e fazer a ligação entre os elementos das duas entidades. Essas tabelas intermediárias são conhecidas como tabela de ligação. Gabarito: E Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 47 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 15. Ano: 2009 Banca: FGV Órgão: MEC Cargo: Analista de Sistemas A figura abaixo ilustra a administração de recursos de dados. O estabelecimento e manutenção do dicionário de dados, o desenvolvimento e aplicação de políticas da propriedade e acesso aos dados e preparação dos planos estratégicos e técnicos para os bancos de dados são atividades a serem implementadas, respectivamente, nas seguintes etapas: A) Administração de Banco de Dados, Planejamento de Dados e Administração de Dados B) Administração de Banco de Dados, Administração de Dados e Planejamento de Dados C) Planejamento de Dados, Administração de Banco de Dados e Administração de Dados D) Administração de Dados, Administração de Banco de Dados e Planejamento de Dados E) Administração de Dados, Planejamento de Dados e Administração de Banco de Dados 00000000000 Comentário: Essa questão trata do tema de administração de recursos de dados. É uma perspectiva paralela à abordagem usada pelos livros clássicos de banco de dados. A administração de recursos de dados inclui: Administração de Bancos de Dados. É uma importante função de gerenciamento de recursos de dados responsável pelo uso adequado da tecnologia de gerenciamento de bancos de dados. A administração de bancos de dados possui mais responsabilidades operacionais e técnicas do que outras funções de gerenciamento de recursos de dados. Isto inclui responsabilidade pelo: Desenvolvimento e manutenção do dicionário de dados da organização. Projeto e monitoração do desempenho dos bancos de dados Aplicação de padrões para uso e segurança dos bancos de dados. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 48 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 Planejamento de Dados. O planejamento de dados é uma função de planejamento e análise empresarial que se concentra no gerenciamento de recursos de dados. Ela inclui a responsabilidade pelo: Desenvolvimento de uma arquitetura global de dados para os recursos de dados da empresa vinculada à missão e planos estratégicos da empresa e aos objetivos e processos de suas unidades de negócios. O planejamento de dados é um componente importante do processo de planejamento estratégico de uma organização. Ele é feito por organizações que assumiram um compromisso formal com o planejamento de longo alcance para o uso e administração estratégicos de seus recursos de dados. Administração de Dados. É outra função da administração de recursos de dados. Ela envolve: O estabelecimento e execução de políticas e procedimentos gerenciamento de dados como um recurso estratégico das empresas. para A administração da coleta, armazenamento e disseminação de todos os tipos de dados de tal forma que os dados se tornem um recurso padronizado disponível para todos os usuários finais na organização. O planejamento e controle de dados no apoio às funções e objetivos estratégicos de uma organização. O estabelecimento de uma atividade de planejamento de dados para a organização. O desenvolvimento de políticas e definição de padrões para arranjos de concepção, processamento e segurança e seleção do software para gerenciamento de bancos de dados e dicionário de dados. Após analisarmos as considerações acima, podemos marcar nossa resposta na alternativa B Gabarito: B. 16. Ano: 2009 Banca: FGV Órgão: MEC Cargo: Analista de Sistemas O Diagrama Entidade-Relacionamento, proposto por P. Chen, é uma ferramenta tipicamente utilizada para a elaboração do seguinte modelo de dados: 00000000000 A) físico B) interno C) externo D) conceitual E) hierárquico Comentário: Sabemos que os modelos de dados são classificas em três categorias: conceitual, lógico e físico. Ou conforme já apresentamos anteriormente: Modelo de dados: conceitual (alto nível), representativos (lógico ou de implementação) e físicos Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 49 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 O modelo entidade-relacionamento de Peter Chen é considerado um modelo conceitual e foi tratado em detalhes no decorrer esta aula. Desta forma, podemos marcar nossa resposta na alternativa D. Gabarito: D. 17. Ano: 2009 Banca: FGV Órgão: MEC Cargo: Analista de Sistemas O Modelo de dados é representado através de um modelo relacionamento - modeloER, enquanto que o – diagrama relacionamento (DER) constitui a representação gráfica do modeloER. entidadeentidade- No que diz respeito à simbologia utilizada, para globalização /especialização e entidade associativa são empregados, respectivamente, os seguintes símbolos: A) e B) e C) D) E) e e e Comentário: Além de relacionamentos e atributos, propriedades podem ser atribuídas a entidades através do conceito de generalização/especialização. O símbolo para se representar generalização/especialização em um DER é um triângulo. Vejam o exemplo abaixo, nele a entidade CLIENTE é dividida em dois subconjuntos, as entidades PESSOA FÍSICA e PESSAO JURÍDICA, cada uma com propriedades particulares. 00000000000 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 50 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 Um relacionamento é uma associação entre entidades. No modelo ER não foi prevista a possibilidade de se associar uma entidade com um relacionamento ou então associar dois relacionamentos entre si. Para isto criou-se um conceito especial, o de entidade associativa. Ele nada mais é do que uma redefinição de um relacionamento para que ele seja tratado também como uma entidade. Graficamente, traça-se um retângulo em volta do losango do relacionamento. Se você tem dúvidas a respeito entidade associativa, sugiro que leia esse resumo. Aproveitando, vamos apresentar um exemplo de diagrama com uma entidade associativa. Gabarito: D. 00000000000 18. Ano: 2010 Banca: FGV Órgão: DETRAN-RN Cargo: Programador de computador Sobre o modelo de entidade-relacionamento, assinale a alternativa correta: A) Uma entidade é um objeto no mundo real que pode ser identificada de forma unívoca em relação a todos os outros objetos. B) Define-se por “conjunto de entidades”, entidades de tipos diferentes com propriedades diferentes. C) Uma entidade é uma associação entre vários relacionamentos. D) As entidades são utilizadas unicamente para efetuar o mapeamento das cardinalidades. E) Uma única entidade pode conter somente relacionamentos “um para um”. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 51 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 Comentário: Para responder a contento essa questão precisamos revisar o conceito de entidade. Segundo Navathe, o objeto básico que o modelo ER representa é uma entidade, que é algo no mundo real com existência independente. Uma entidade pode ser um objeto com existência física, ou pode ser um objeto com existência conceitual. Um banco de dados em geral contém grupos de entidades que são semelhantes, por exemplo, uma empresa que emprega centenas de funcionários pode querer armazenar informações semelhantes com relação a cada um deles. Cada funcionário tem seus próprios valores para cada atributo. Um tipo de entidade define uma coleção (ou conjunto) de entidades que têm os mesmos atributos. Cada tipo de entidade é descrito por seu nome e atributos. A coleção de todas as entidades de determinado tipo de entidade no banco de dados, em qualquer momento no tempo, é chamada de conjunto de entidades. Analisando cada uma das alternativas, podemos observar nossa resposta na alternativa A. Gabarito: A. 19. Ano: 2010 Banca: FGV Órgão: DETRAN-RN Cargo: Programador de computador Assinale a alternativa que corresponde ao recurso do modelo de entidaderelacionamento, cuja definição é “ser um conjunto de um ou mais atributos que, tomados coletivamente, permite-se identificar de maneira unívoca uma entidade em um conjunto de entidades”: A) Chave primária. B) Superchave. C) Especialização. D) Generalização. E) Herança de atributo. Comentário: Como sabemos, existem alguns conceitos relacionados a chave. O primeiro deles é o de superchave, uma superchave de um esquema de relação R = {A1, A2, ..., An} é um conjunto de atributos S C R (S está contido em R) que contenha a propriedade na qual não haverá duas tuplas t1 e t2, em qualquer estado válido da relação r de R, cuja t1[S] = t2[S]. Em outras palavras uma superchave é um conjunto de atributos que tem a característica de restringir o conjunto de tuplas de uma relação a apenas uma linha. 00000000000 Essa superchave pode ser considerada apenas uma chave. Neste caso, a chave é defendida como uma superchave mínima (K), qualquer remoção de atributo de K fará com que K deixe de ser superchave da relação. Se um esquema tiver mais de uma chave, cada uma delas é chamada de chave candidata. Entre as chaves uma delas é escolhida para ser a chave da relação e é denominada de chave primária. As demais são renegadas e são denominadas dechaves secundárias. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 52 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 Percebam que a questão traz uma definição de superchave. Desta forma, nosso gabarito encontra-se na alternativa B. Gabarito: B. 20. Ano: 2010 Banca: FGV Órgão: DETRAN-RN Cargo: Administrador de banco de dados Para um conjunto de relacionamentos R BINÁRIO entre os conjuntos de entidades A e B, o mapeamento das cardinalidades deve seguir, EXCETO: A) Um para um. B) Um para muitos. C) Um para ele mesmo. D) Muitos para muitos. E) Muitos para um. Comentário: A restrição razão de cardinalidade especifica a quantidade de instâncias de relacionamento que uma entidade pode participar. No tipo de relacionamento binário TRABALHA-PARA entre as entidades DEPARTAMENTO e EMPREGADO temos a razão de cardinalidade 1:N. Isto significa que cada entidade departamento pode estar relacionada a inúmeras entidades empregado (muitos empregados podem trabalhar para um departamento) mas uma entidade empregado pode estar relacionada a apenas um departamento (um empregado pode trabalhar apenas para um departamento). As razões de cardinalidade mais comuns para tipos de relacionamento binário são 1:1, 1:N e M:N. Observamos que a alternativa C não faz parte das cardinalidades possíveis para relacionamentos binários. Gabarito: C. 00000000000 21. Ano: 2010 Banca: FGV Órgão: DETRAN-RN Cargo: Administrador de banco de dados NÃO corresponde a um aspecto da modelagem de dados: A) Observação. B) Representação dos objetos. C) Verificação de fidelidade e carências. D) Validações. E) Operação de semijunção. Comentário: A questão nos apresenta alguns aspectos da modelagem de dados que é a primeira etapa de um projeto que envolva banco de dados e tem como seu principal objetivo o desenvolvimento de um modelo que contenha entidades Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 53 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 e relacionamentos. Numa visão mais específica de banco de dados, um modelo de dados consiste de três componentes: uma coleção de tipos de objetos, uma coleção de operadores e uma coleção de regras de integridades. Nesta situação estamos avaliando ou observando o contexto que servirá de referência para a construção do modelo. Precisamos entender quais os objetos farão parte do nosso banco de dados. Neste momento verificamos a fidelidade das informações que serão obtidas e possíveis carências. Por fim, precisamos de regra de integridade mínimas que farão a validação do modelo. Percebam que não existe necessidade de avaliarmos as operações de semijunção neste momento. Essa operação aparece na teoria de banco de dados distribuídos quando queremos fazer a junção de tabelas dispersas geograficamente, portando, não tem nenhuma relação com modelagem. Sendo, então a alternativa E a resposta da questão. Gabarito: E. 22. Ano: 2009 Banca: FGV Órgão: MEC Cargo: Administrador de banco de dados Em um Sistema Gerenciador de Banco de Dados - SGBD, os elementos de dados possuem uma estrutura lógica visualizada na forma de tabelas. Nesse sentido, existem inclusive, pacotes nos SGBDs que podem vincular elementos oriundos de várias tabelas desde que essas compartilhem elementos comuns de dados. Essa estrutura lógica de dados é conhecida como do tipo: A) em rede. B) relacional. C) em pilha. D) hierárquica. E) em árvore. Comentário: Vejam que essa é uma questão simples que aborda a definição do modelo relacional. Veremos mais detalhes sobre ele na próxima aula, mas vamos aproveitar a questão para relembrar a definição dos bancos de dados em rede, hierárquico e relacional: 00000000000 MODELO HIERÁRQUICO (HDS – Hierarquical Database System). Surgiu na década de 1960 com a primeira linguagem de banco de dados: a DL/I desenvolvida pela IBM e a North American Aviation. Organiza os dados de cima para baixo, como uma árvore. Cada registro é dividido em partes denominadas segmentos. O banco de dados se assemelha a um organograma com um segmento raiz e um número qualquer de segmentos subordinados. MODELO EM REDE (NDS - Network Database System). Definido pelo DBTG (DataBase Task Group) do comitê do CODASYL (Conference on Data Systems Language) a partir de 1971. Esse modelo é uma extensão do modelo hierárquico. Os registros são organizados no banco de dados por um conjunto arbitrário de gráficos. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 54 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 MODELO RELACIONAL (Relational Model). Foi apresentado por Edgard F. Codd (IBM) em seu artigo A Relational Model of Data for Large Shared Data Banks (1970). Foi o evento mais importante na história recente da área de banco de dados. O objetivo do modelo é representar os dados de forma mais simples, através de um de conjuntos de tabelas inter-relacionadas. Este modelo abandona os conceitos anteriores, tornando os bancos de dados mais flexíveis, tanto na forma de representar as relações entre os dados, como na tarefa de modificação de sua estrutura, sem ter que reconstruir todo o banco de dados. Pela teórica exposta na descrição dos modelos podemos concluir que a resposta é de fato o modelo relacional, presente na alternativa B. Gabarito: B. 23. Ano: 2009 Banca: FGV Órgão: MEC Cargo: Administrador de banco de dados Um atributo, em um modelo de entidade-relacionamento, possui "sub-atributos" em sua nomenclatura que podem ou não ser do mesmo tipo e que são agregados a ele no mundo real. Esse atributo é definido como: A) um atributo chave. B) um atributo derivado. C) um atributo composto. D) um atributo multivalorado. E) um atributo monovalorado. Comentário: Vejamos multivalorados: um pouco da teoria de atributos compostos e ATRIBUTOS COMPOSTOS. Chamamos que atributos compostos àqueles nos quais vários itens menores. Por exemplo, ENDEREÇO é composto por: nome do logradouro, número, complemento (exemplo: apartamento), bairro, cidade, estado, etc. Vejam o exemplo do atributo ENDEREÇO e sua decomposição em atributos atômicos na figura abaixo: 00000000000 ATRIBUTOS MULTIVALORADOS. Denominamos atributos multivalorados àqueles nos quais o conteúdo é formado por mais de um valor. Um exemplo pode ser visto na entidade FUNCIONARIO com o atributo DEPENDENTE. Para atributos multivalorados recomenda-se a solução apresentada na figura: Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 55 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 Pela explicação acima podemos marcar nossa resposta na alternativa C. Gabarito: C. 24. Ano: 2008 Banca: FGV Órgão: Senado Federal Cargo: Analista de Suporte de Sistemas O Senado Federal deseja manter informações sobre seus funcionários e, para isso, estabeleceu as premissas abaixo listadas: O Diagrama Entidade-Relacionamento está indicado em: 00000000000 A) B) Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 56 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 C) D) E) Comentário: Essa questão é legal para treinamos a construção de um diagrama ER a partir de uma descrição textual. A dica para resolver a questão é criar as entidades separadamente com seus atributos. Despois vamos juntar essas entidades por meio dos relacionamentos. Veja que existe uma possibilidade de atividades e eventos serem herdados de uma entidade pai comum, mas nenhum das alternativas refletem essa característica. Desta forma nos resta relacionar FUNCIONARIO as entidades ATIVIDADES e EVENTOS por meio de diferentes relacionamentos. Construindo desta forma, podemos visualizar um diagrama correto na alternativa D. Veja que o compartilhamento de atributos da alternativa E não existe, não é uma possibilidade do modelo ER. Também precisamos prestar atenção às notações gráficas que representam os relacionamentos e as entidades. Na questão temos uma falta de preciosismo quanto ao uso dos atributos. Eles deveriam ser representados por elipses. 00000000000 Gabarito: D. 25. Ano: 2009 Banca: FGV Órgão: MEC Cargo: Administrador de banco de dados A respeito dos conceitos básicos do Modelo de Entidade-Relacionamento, analise as afirmativas a seguir: Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 57 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 I. A chave primária de uma entidade é o conjunto mínimo de atributos (um ou mais) que permitem identificar unicamente uma entidade em um conjunto de entidades. II. Entidades Fortes são aquelas que não possuem atributos suficientes para formar uma chave primária. III. As entidades fortes dependem existencialmente de entidades fracas. Assinale: A) se somente a afirmativa I estiver correta. B) se somente as afirmativas I e II estiverem corretas. C) se somente as afirmativas I e III estiverem corretas. D) se somente as afirmativas II e III estiverem corretas. E) se todas as afirmativas estiverem corretas. Comentário: Essa questão revisa alguns conceitos do modelo ER, primeiramente fala sobre a chave primária. Uma restrição importante das entidades de um tipo de entidades é a chave ou restrição de exclusividade sobre os atributos. A definição da questão, descrita no item I, está teoricamente perfeita. No item II, a definição proposta para Entidade Forte está errada! Na realidade essa definição da questão está associada ao termo Entidade Fraca. Mais uma vez, uma restrição ao termo entidade forte é descrita de forma incorreta no item III. O correto seria dizer que “as entidades fracas dependem existencialmente de entidades forte”. Sendo assim temos a alternativa A como a nossa resposta, pois afirma que apenas o item I está correto. Gabarito: A. 26. Ano: 2009 Banca: FGV Órgão: MEC Cargo: Administrador de banco de dados 00000000000 Com relação a um Banco de Dados, analise as afirmativas a seguir: I. Uma tabela no banco de dados relacional pode ser derivada de uma entidade ou de um relacionamento N:M (muitos para muitos), a partir de um modelo entidade-relacionamento. II. Quando um banco de dados relacional possui nomes idênticos de colunas dentro de uma tabela, estabelece-se um relacionamento hierárquico entre essas colunas. III. As regras de derivação de um modelo entidade-relacionamento para o modelo físico são idênticas para bancos de dados relacionais, em rede ou hierárquicos. Assinale: A) se somente a afirmativa I estiver correta. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 58 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 B) se somente as afirmativas I e II estiverem corretas. C) se somente as afirmativas I e III estiverem corretas. D) se somente as afirmativas II e III estiverem corretas. E) se todas as afirmativas estiverem corretas. Comentário: Vamos analisar cada uma das alternativas de forma rápida, os aspectos mais aprofundados do modelo relacional serão vistos na próxima aula. Na alternativa I, o examinador afirma que é possível derivar uma tabela a partir de uma entidade ou de um relacionamento N:M. Isso é perfeitamente possível! Analisaremos o passo-a-passo para mapeamento do modelo E-R no relacional na próxima aula. No item II, temos uma definição incorreta. No modelo relacional os nomes dos diversos atributos em uma tabela têm que ser obrigatoriamente distintos. Da mesma forma que o nome de tabelas dentro do mesmo esquema. O item III fala sobre regras de derivação, que seria o mesmo de fazer um mapeamento. A questão afirma que as regras são idênticas para derivação do MER para o modelo físico são idênticas para os bancos de dados relacionais, em rede ou hierárquico, isso não é verdade pois as formas de representação física dos modelos são diferentes. Desta forma, apenas o item I está correto, o que leva nosso gabarito a ser marcado na alternativa A. Gabarito: A. 27. Ano: 2009 Banca: FGV Órgão: MEC Cargo: Administrador de banco de dados Para os diversos tipos de aplicativos com bancos de dados, a arquitetura cliente/servidor oferece as vantagens relacionadas a seguir, À EXCEÇÃO DE UMA. Assinale-a. A) Tráfego de rede reduzido, devido à transmissão de dados mais eficiente. Apenas os dados que o aplicativo precisa são transferidos. 00000000000 B) Melhor flexibilidade, devido aos servidores de banco de dados em vez de bancos de dados de compartilhamento de arquivos. C) Se mais usuários são acrescentados ao sistema, é mais simples escalar as capacidades do sistema para atingir os requerimentos adicionais. D) Operações mais confiáveis e robustas, porque várias cópias de um banco de dados interagem com os dados. E) Capacidade de "missão crítica", como logs de transações, capacidades de backup sofisticadas, vetores redundantes de disco e ferramentas de recuperação de falhas. Comentário: Na arquitetura Cliente-Servidor, tarefas do aplicativo, ou seja, fornece a processamento de entrada e saída). O servidor no DBMS e retorna os resultados ao cliente. o cliente (front_end) executa as interface do usuário (tela, e (back_end) executa as consultas Apesar de ser uma arquitetura Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 59 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 bastante popular, são necessárias soluções sofisticadas de software que possibilitem: o tratamento de transações, as confirmações de transações (commits), desfazer transações (rollbacks), linguagens de consultas (stored procedures) e gatilhos (triggers). A principal vantagem desta arquitetura é a divisão do processamento entre dois sistemas, o que reduz o tráfego de dados na rede. Esta arquitetura se tornou muito popular por algumas razões. Primeiro, a facilidade de implementação dada a clara separação das funcionalidades e dos servidores. Segundo, um servidor é inteligentemente utilizado porque as tarefas mais simples são delegadas às máquinas clientes mais baratas. Terceiro, o usuário pode executar uma interface gráfica que lhe é familiar, ao invés de usar a interface do servidor. Desta maneira, a arquitetura cliente-servidor foi incorporada aos SGBDs comerciais. Diferentes técnicas foram propostas para se implementar essa arquitetura, sendo que a mais adotada pelos Sistemas Gerenciadores de Banco de Dados Relacionais (SGBDRs) comerciais é a inclusão da funcionalidade de um SGBD centralizado no lado do servidor. Veja que a arquitetura cliente servidor não está preocupada com a distribuição dos dados em diferentes servidores. Desta forma, a alternativa D está incorreta, sendo a resposta da questão. Gabarito: D. 28. Ano: 2009 Banca: FGV Órgão: MEC Cargo: Desenvolvedor Acerca do nível de visões de um banco de dados, analise as afirmativas a seguir: Assinale: A) se somente a afirmativa I estiver correta. 00000000000 B) se somente as afirmativas I e II estiverem corretas. C) se somente as afirmativas I e III estiverem corretas. D) se somente as afirmativas II e III estiverem corretas. E) se todas as afirmativas estiverem corretas. Comentário: Sabemos de o nível externo ou de visão possui esquemas externos ou visões de usuários. Cada esquema externo descreve a visão da base de dados de um grupo de usuários da base de dados. Cada visão descreve, tipicamente, a parte da base de dados que um particular grupo de usuários está interessado e esconde deste o restante da base de dados. Um modelo de dados de alto-nível ou um modelo de dados de implementação podem ser usados neste nível. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 60 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 A visão é considerada também um dispositivo de segurança, evitando que usuários não autorizados tenham acesso a partes do sistema que não façam parte do seu escopo de trabalho. Considerando esse aspecto e a definição vista no parágrafo anterior podemos concluir que a alternativa correta está na letra C. No nível de visão, aspectos internos de implementação não são exibidos como detalhes de tipos de dados, sendo assim, o item II está incorreto. Gabarito: C. 29. Ano: 2010 Banca: FGV Órgão: BADESC Cargo: Analista de Sistemas No intuito de determinar, entre duas entidades, se um relacionamento do tipo N:M possui um atributo, aplica-se um teste com a descrição do referido atributo. Esse teste deve: A) conter somente a entidade que deve conter o atributo. B) conter as duas entidades que participam do relacionamento. C) conter nenhuma das entidades participantes do relacionamento. D) conter somente a entidade em que o atributo não deve se encontrar. E) conter apenas uma das entidades que participa do relacionamento. Comentário: Mais uma questão sobre o modelo entidade-relacionamento, desta vez analisamos um atributo presente no relacionamento entre duas entidades. O que acontece quando temos o relacionamento. Pense no caso das entidades Médico e Paciente e o relacionamento Consulta. O atributo hora da consulta é claramente um atributo do relacionamento. Ele só vai existir quando um paciente marcar uma consulta. Sendo assim ele deve conter as duas entidades que participam do relacionamento. Gabarito: B. 30. Ano: 2010 Banca: FGV Órgão: BADESC Cargo: Analista de Sistemas 00000000000 Assinale a alternativa que apresenta as características de uma entidade fraca. A) Possui identificação própria ou sua existência depende de uma outra denominada de forte. B) Não possui identificação própria ou sua existência depende de uma outra denominada de forte. C) Possui identificação própria ou sua existência não depende de uma outra denominada de forte. D) Possui identificação própria ou sua existência depende de uma outra não denominada de forte. E) Não possui identificação própria ou sua existência não depende de uma outra denominada de forte. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 61 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 Comentário: Já falamos de entidade fraca em questões anteriores. Analisando as alternativas da questão podemos concluir que a resposta é não possui identificação própria ou sua existência depende de uma outra denominada de forte, presente na alternativa B. Gabarito: B. 31. Ano: 2010 Banca: FGV Órgão: BADESC Cargo: Analista de Sistemas A propriedade de uma transação denominada de ACID envolve os seguintes conceitos: A) Atômico, Concorrente, Isolamento e Durabilidade. B) Atomicidade, Consistência, Isolamento e Durabilidade. C) Atomicidade, Concorrente, Inconsistente e Durabilidade. D) Atomicidade, Consistência, Integridade e Dependência de dados. E) Atomicidade, Consistência, Isolamento e Dependência de dados. Comentário: As propriedades de uma transação são atomicidade, consistência, isolamento e durabilidade. Trataremos esse assunto com maiores detalhes na aula de transações e controle de concorrência. Gabarito: B. 32. Ano: 2010 Banca: FGV Órgão: BADESC Cargo: Analista de Sistemas A chave estrangeira se encontra na própria tabela de um autorelacionamento do(s) tipo(s): A) 1:1 e 1:N B) 1:1 e N:N C) 1:N e N:N 00000000000 D) somente N:N E) 1:1, 1:N e N:N Comentário: Somente é possível fazer autorelacionamento dos tipos 1:1 e 1:N, Um exemplo de 1:1 seria “casado com” e um exemplo de 1:N seria o relacionamento “gerencia”. Gabarito: A. 33. Ano: 2010 Banca: FGV Órgão: DETRAN-RN Cargo: Administrador de banco de dados Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 62 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 “Mapeamento estabelecido entre duas classes de coisas, ou objetos que são visualizados através da abstração”. Tal afirmativa refere-se: A) Agregação binária. B) Agregação de abstração. C) Generalização de abstração. D) Cardinalidade. E) Vetorizar. Comentário: A agregação binária estabelece um mapeamento entre os elementos de duas classes. Por exemplo, utiliza é uma agregação binária entre as classes pessoa e apartamento, possui é uma outra agregação binária entre as classes pessoa e apartamento. Vejam que esse conceito está de acordo com o enunciado, portanto a alternativa A é a nossa resposta. Gabarito: A. 34. Ano: 2014 Banca: FGV Órgão: DPE-RJ Cargo: Técnico Superior Especializado - Administração de Dados 00000000000 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 63 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 O diagrama que melhor representa o esquema do banco é A) 00000000000 B) C) Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 64 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 D) E) Comentário: Ao analisar os aspectos definidos no enunciado podemos verificar que Avalição depende da existência de um candidato e uma prova, sendo uma entidade dependente com chave primária composta pelos atributos provaNome e inscrição, ambos também são chaves estrangeiras. Vejam que a única alternativa que coloca os campos corretos na parte superior da relação Avaliação é a alternativa A, sendo está a nossa resposta. Gabarito: A 35. Ano: 2010 Banca: FGV Órgão: SEAD-AP Cargo: Auditor da Receita do Estado Um Banco de Dados é definido como uma coleção de dados interrelacionados, representando informações sobre um domínio específico. Nesse sentido, observe a figura abaixo, que ilustra os níveis de abstração de um banco de dados. 00000000000 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 65 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 Os modelos III e IV são denominados operacional e interno; os modelos I e II são conhecidos, respectivamente por: A) descritivo e conceitual. B) tático e descritivo. C) estratégico e tático. D) gerencial e estratégico. E) conceitual e gerencial. Comentário: Essa figura foi retirada do livro do Waldemar Setzer, já foi usada por algumas bancas de concursos, ele difere um pouco as abstrações de banco de dados, vejam na figura abaixo: 00000000000 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 66 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 Analisando a figura podemos marcar sem medo a gabarito na alternativa A. Gabarito: A 36. . Ano: 2015 Banca: FGV Órgão: TJ-PI Cargo: Analista Judiciário Analise o diagrama ER construído sob a notação IDEF1X. 00000000000 Está correto concluir que: A) cada instância de X está relacionada a uma única instância de Y; B) cada instância de X está relacionada a zero, uma ou mais instâncias de Y; C) cada instância de Y está relacionada a uma única instância de X; D) cada instância de Y está relacionada a zero, uma ou mais instâncias de X; E) cada instância de Y está relacionada a uma ou mais instâncias de X. Comentário: Veja que essa é mais uma questão sobre a notação pé-de-galinha. Lembrando que o círculo representa opicionalidade e o “pé” representa cardinalidade N, assim podem concluir que cada instância de X está relacionada a zero, uma ou mais instâncias de Y. Do outro lado a barra mais próxima à entidade representa cardinalidade máxima igual a 1, sendo Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 67 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 assim tenho que cada instância de Y está relacionada com zero ou uma instancia de X. Gabarito: B 37. Ano: 2013 Banca: FGV Órgão: MPE-MS Cargo: Analista - Análise de Sistemas Com relação ao tema “Sistemas gerenciadores de bancos de dados”, analise as afirmativas a seguir. I. Cabe ao administrador de banco de dados de uma organização definir e modificar esquemas por meio da execução de instruções de definição de dados, conceder diferentes tipos de autorização para acesso a dados e manter rotinas que têm por objetivo garantir a integridade do sistema. II. Cabe ao administrador de banco de dados de uma organização escolher, dentre as diversas ferramentas disponíveis no mercado, as mais adequadas e desenvolver aplicações que utilizem o sistema gerenciador de bancos de dados e que ofereçam interfaces amigáveis para os usuários finais. III. Cabe ao administrador de banco de dados de uma organização acessar o banco de dados e monitorar as tarefas que estão sendo executadas pelos usuários e garantir que o desempenho do sistema não seja prejudicado por elas. Assinale: A) se somente a afirmativa I estiver correta. B) se somente a afirmativa II estiver correta. C) se somente a afirmativa III estiver correta. D) se somente as afirmativas II e III estiverem corretas. E) se somente as afirmativas I e III estiverem corretas. Comentário: Percebam que os itens I e III estão de acordo com as tarefas desenvolvidas pelo DBA. O item II tem um erro ao afirmar que o DBA desenvolve sistemas, sabemos que isso não é verdade. 00000000000 Gabarito: E. 38. Ano: 2016 Banca: FGV Órgão: CODEBA Cargo: Analista - Tecnologia da Informação Em geral, os gerenciadores de bancos de dados relacionais permitem que seja estabelecido o procedimento a ser adotado quando um registro referenciado por uma chave estrangeira (foreign key) é deletado, ou tem seu valor alterado (update). No diagrama IDEF1X mostrado a seguir, representado com anotação pé-de-galinha, as tabelas E1 e E2 possuem um relacionamento entre si. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 68 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 Assinale a combinação que seria adequada na implementação do relacionamento da figura. A) On delete cascade; on update set null. B) On delete set null; on update cascade. C) On delete cascade; on update cascade. D) On delete set null; on update set null. E) On delete restrict; on update set null. Comentário: Como o atributo A1 da relação E1 compõe a chave primária da relação E2, ele não pode ser nulo. Portanto, CASCADE em ambos os casos. Gabarito: C 39. Ano: 2016 Banca: FGV Órgão: IBGE Cargo: Analista - Análise e Desenvolvimento de Aplicações Considere as seguintes características de um projeto de banco dedados. I. O modelo de dados é conhecido a priori e é estável; II. A integridade dos dados deve ser rigorosamente mantida; III. Velocidade e escalabilidade são preponderantes. Dessas características, o emprego de bancos de dados NoSQL é favorecido somente por: A) I; B) I e II; C) II; 00000000000 D) II e III; E) III. Comentário: Esse assunto será visto novamente na aula de Big Data, contudo, se lembramos da evolução dos SGBDs explicada no início desta aula podemos responder à questão. A grande característica dos bancos NoSQL e dar suporte à escalabilidade e velocidade no processamento dos dados. Com essa informação observamos que o item III está correto. As demais alternativas estão erradas. No item I, a falha é dizer que o modelo de dados é conhecido a priori, na realidade ele não é conhecido e também não é estável. Já a alternativa II diz que a integridade deve ser mantida, sabemos que os sistemas NoSQL tem o conceito de soft state que admite pequenos momentos de inconsistência parcial em favor da performance. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 69 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 Gabarito: E. 00000000000 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 70 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 Questões comentadas de outras bancas Aproveitamos este espaço para complementar seu entendimento sobre o assunto, sempre colocando pinceladas extras de conteúdo. Nosso objeto é criar em você a capacidade de utilizar seu conhecimento, atrelado a algumas heurísticas, para resolver de forma rápida e segura as questões na hora da prova. Alguns assuntos abaixo serão detalhados em aulas subsequentes. Aproveite as questões para ir se familiarizando com o vocabulário de banco de dados. 40. BANCA: FCC ANO: 2014 ÓRGÃO: TCE-GO PROVA: ANALISTA DE CONTROLE EXTERNO - TECNOLOGIA DA INFORMAÇÃO Ao utilizar o Banco de Dados torna-se necessário controlar os dados, sua manipulação e os seus usuários. Isso é feito através de um conjunto de aplicações de software que a) permitem o acesso aos dados de maneira simplificada; b) autorizam os acessos de múltiplos usuários às informações; c) controlam a manipulação dos dados presentes no banco de dados (inserção, supressão, modificação etc.). Esses serviços são providos por A um ERP. B técnicas de Data Mining. C um SGBD. D um administrador de Banco de Dados. E um sistema de dados multidimensional. Comentário: Veja que estamos tratando de um conjunto de aplicações de software. Vimos que o SGBD é composto por um conjunto de software. Entre eles temos alguns sistemas relacionados com a segurança do banco de dados. Uma das tarefas de segurança é garantir o acesso ao banco de dados, para isso é necessário um usuário autorizado. Depois é preciso definir os privilégios para acesso e manipulação dos objetos. Este privilégio pode ser garantido a um usuário diretamente aos objetos ou por meio de ROLES. O SGBD possui funções ou programas responsáveis por estruturar as opções de acesso e de permissões aos diferentes usuários do banco de dados. 00000000000 Para não perdemos o hábito vamos comentar sobre os conceitos que aparecem nas alternativas e ainda não foram vistos no nosso curso. ERP é uma sigla derivada do nome Enterprise Resource Planning. ERPs são que softwares que integram todos os dados e processos de uma organização em um único sistema. Em termos gerais, um sistema de ERP é uma plataforma de software desenvolvida para integrar os diversos departamentos de uma empresa possibilitando a automação e armazenamento de todas as informações de Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 71 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 negócios. O ERP possibilita um fluxo de informações único, contínuo e consistente. Mineração de dados, ou data mining, é o processo de análise de conjuntos de dados que tem por objetivo a descoberta de padrões interessantes e que possam representar informações úteis. A técnica de mineração consiste na especificação de métodos que nos garanta como descobrir os padrões que nos interessam. Dentre as principais técnicas utilizadas em mineração de dados, temos: técnicas estatísticas, técnicas de aprendizado de máquina e técnicas baseadas em crescimento-poda-validação. Um modelo dimensional contém as mesmas informações que um modelo normalizado. Os pacotes para dados multidimensionais oferecem um formato com as seguintes preocupações: facilidade de compreensão ao usuário, desempenho da consulta e resiliência à mudança. Esse tipo de modelo é composto por tabelas fato e dimensões. Gabarito C 41. BANCA: FCC ANO: 2015 ÓRGÃO: MANAUSPREV PROVA: ANALISTA PREVIDENCIÁRIO - TECNOLOGIA DA INFORMAÇÃO Considere a arquitetura de um SGBD mostrada na figura abaixo. 00000000000 Trata-se de uma arquitetura A distribuída em N camadas, em que a informação está distribuída em diversos servidores. Cada servidor atua como no sistema cliente-servidor, porém as consultas oriundas dos aplicativos são feitas para qualquer servidor indistintamente, através da rede. B centralizada, em que existe um computador com grande capacidade de processamento, que é o hospedeiro do SGBD e emuladores para os vários aplicativos. Tem como principal vantagem o baixo custo, pois permite que muitos usuários manipulem grande volume de dados. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 72 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 C cliente-servidor, em que o cliente executa as tarefas do aplicativo, ou seja, fornece a interface do usuário. O servidor executa as consultas no SGBD e retorna os resultados ao cliente, aumentando o tráfego da rede. D descentralizada, pois o sistema encarrega-se de obter a informação necessária, de maneira transparente para o aplicativo, que passa a atuar consultando seu servidor. Porém, é dependente de aspectos lógicos de carga de acesso aos dados, o que a torna desvantajosa. E em rede, em que a base de dados é fortemente acoplada. Sua vantagem é que cada aplicativo acessa apenas o servidor que dispõe dos seus dados, através do acesso à rede. Comentário: Para respondermos à questão com segurança vamos apresentar abaixo um resumo das principais arquiteturas de SGBDs. Plataformas centralizadas: Na arquitetura centralizada, existe um computador com grande capacidade de processamento, que é o hospedeiro do SGBD e emuladores para os vários aplicativos. Esta arquitetura tem como principal vantagem a de permitir que muitos usuários manipulem grande volume de dados. Sua principal desvantagem está no alto custo, pois exige ambiente especial para mainframes e soluções centralizadas. Sistemas de Computador Pessoal - PC: Os computadores pessoais trabalham em sistemas stand-alone, ou seja, fazem seus processamentos sozinhos. No princípio esse processamento era bastante limitado, porém, com a evolução do hardware, hoje temos PCs com grande capacidade de processamento. Eles utilizam o padrão Xbase e quando se trata de SGBDs, funcionam como hospedeiros e terminais. Desta maneira, possuem um único aplicativo a ser executado na máquina. A principal vantagem desta arquitetura é a simplicidade. Banco de Dados Cliente-Servidor: Na arquitetura Cliente-Servidor, o cliente (front_end) executa as tarefas do aplicativo, ou seja, fornece a interface do usuário (tela, e processamento de entrada e saída). O servidor (back_end) executa as consultas no DBMS e retorna os resultados ao cliente. Apesar de ser uma arquitetura bastante popular, são necessárias soluções sofisticadas de software que possibilitem: o tratamento de transações, as confirmações de transações (commits), desfazer transações (rollbacks), linguagens de consultas (stored procedures) e gatilhos (triggers). A principal vantagem desta arquitetura é a divisão do processamento entre dois sistemas, o que reduz o tráfego de dados na rede. 00000000000 Banco de Dados Distribuídos (N camadas): Nesta arquitetura, a informação está distribuída em diversos servidores. Como exemplo, observe a abaixo. Cada servidor atua como no sistema cliente-servidor, porém as consultas oriundas dos aplicativos são feitas para qualquer servidor indistintamente. Caso a informação solicitada seja mantida por outro servidor ou servidores, o sistema encarrega-se de obter a informação necessária, de maneira transparente para o aplicativo, que passa a atuar consultando a rede, independente de conhecer seus servidores. Exemplos típicos são as bases de dados corporativas, em que o volume de informação é muito grande e, por isso, deve ser distribuído em diversos servidores. Porém, não é dependente de aspectos lógicos de carga de acesso aos dados, ou base de dados fracamente acopladas, em que uma informação solicitada vai sendo coletada numa propagação da consulta numa cadeia de servidores. A característica básica é a existência de diversos Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 73 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 programas aplicativos consultando a rede para acessar os dados necessários, porém, sem o conhecimento explícito de quais servidores dispõem desses dados. Gabarito: A. 42. BANCA: FCC ANO: 2015 ÓRGÃO: CNMP PROVA: ANALISTA DO CNMP - SUPORTE E INFRAESTRUTURA Há algumas variantes possíveis de arquitetura a serem utilizadas em um sistema de bancos de dados. Sobre essas variantes, é correto afirmar que A na arquitetura de 3 camadas, não há uma camada específica para a aplicação. B a camada de apresentação da arquitetura de 2 camadas situa-se, usualmente, no servidor de banco de dados. C na arquitetura de 3 camadas, a camada de servidor de banco de dados é denominada cliente. D a arquitetura de 3 camadas é composta pelas camadas cliente, aplicação e servidor de banco de dados. E na arquitetura de 2 camadas não há necessidade de uso de um sistema gerenciador de bancos de dados. Comentário: Essa questão foi baseada no livro do Navathe, vejam na figura abaixo como o autor descreve a arquitetura de três camadas. 00000000000 Gabarito: D. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 74 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 43. BANCA: FCC ANO: 2013 ÓRGÃO: MPE-SE PROVA: ANALISTA DO MINISTÉRIO PÚBLICO - GESTÃO E ANÁLISE DE PROJETO DE SISTEMA 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 A II, apenas. B II e III, apenas. C I, II e III. D I e II, apenas. E III, apenas. Comentário: Vamos analisar cada uma das alternativas acima. Na alternativa I temos uma definição de um esquema físico. Percebam que um esquema é descrito conforme um modelo de dados. Neste caso, estamos falando de um modelo de dados físico ou de baixo nível. A alternativa está correta. 00000000000 A alternativa II apresenta o modelo conceitual da arquitetura em três esquemas. Lembre-se que neste caso ele é visto com a categoria do meio na estrutura hierárquica. O texto está perfeito e a alternativa encontra-se correta. A alternativa III, no entanto, encontra-se errada. O texto tenta confundir o candidato descrevendo o nível externo ou de visão e associando a definição ao nível interno. Já falamos sobre nível interno na alternativa I. Gabarito: D. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 75 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 44. BANCA: FCC ANO: 2014 ÓRGÃO: JUDICIÁRIO - BANCO DE DADOS - DBA TJ-AP PROVA: ANALISTA A adoção de regras de nomenclatura dos dados de um banco de dados é um tema que vem sendo considerado por muitas empresas. Caso uma empresa opte por normatizar e padronizar os dados em seus bancos de dados, é correto afirmar que A as normas, por serem rígidas, podem levar à duplicação de informações. B embora traga algumas vantagens, essa prática leva à proliferação de dados incompatíveis e redundantes. C facilitará a manutenção e a organização dos códigos e diretórios. D implicará em custos elevados, pois o mecanismo de aplicação das normas tende a duplicar o tempo de desenvolvimento. E o acesso ao banco de dados ficará mais lento, pois um servidor de normatização deverá ser implantado. Comentário: A questão de normatização das informações é uma tarefa relevante e complexa na vida do administrador de dados. Primeiramente, é necessário definir um conjunto de regras sintáticas que devem ser seguidas para que o modelo possa ser avaliado automaticamente pelas ferramentas de modelagem. Outra tarefa é a descrição de um repositório central de dados, conhecido como dados mestres da organização. Esses dados são disponibilizados para todos os usuários que necessitarem. A ideia de normatizar essas informações genéricas deve reduzir a duplicação de informações e facilitar a manutenção dos dados, mantendo a qualidade dos dados. Esses dois aspectos do controle e normatização dos dados nos leva a uma melhor organização dos códigos e diretórios. Desta forma, podemos verificar nossa resposta na alternativa C. Sobre a implementação desses critérios de avaliação eles ficaram dispersos na infraestrutura. A parte sintática, regras e nomenclatura, pode ser avaliada pela ferramenta de modelagem (e.g.: Power Designer). O nível de dispersão e a qualidade dos dados pode ser concretizado por uma ferramenta de Data Quality. Gabarito: C. 00000000000 45. BANCA: FCC ANO: 2012 ÓRGÃO: TRE-SP PROVA: TÉCNICO DO JUDICIÁRIO - PROGRAMADOR DE SISTEMAS Em SGBDs, A os metadados resultam da conversão de comandos DDL pelo compilador da DDL. B mapeamentos, restrições de integridade, mensagens de comunicação e restrições de segurança são recursos contidos no dicionário de dados. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 76 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 C o arquivo de dados é o componente que cuida da alocação do espaço na armazenagem no disco e das estruturas de dados usadas para representar a informação armazenada. D a estrutura de armazenagem e os métodos de acesso são especificados por um conjunto de definições em um tipo especial de DML. E a abstração dos níveis físico, conceitual e de visão aplica-se, exclusivamente, à definição e estrutura de dados. Comentário: Para responder essa questão vamos recorrer a ajuda da figura a seguir, retira do livro do Navathe: Percebam que os DBAs definem o banco de dados e realizam ajustes, alterando sua definição por meio da DDL e de outros comandos privilegiados. O compilador da DDL processa as definições de esquema especificadas e armazena as descrições dos esquemas (metadados) no catálogo do SGBD. Vejam que essa descrição está em acordo com a alternativa A, que, portanto, é a nossa resposta. Vejamos agora os erros das demais alternativas. A alternativa B trata de forma incorreta a função do catálogo de dados. O catálogo, na realidade, inclui informações como os nomes e os tamanhos dos arquivos, nomes e topos de dados dos itens de ados, detalhes de armazenamento de cada arquivo, informações de mapeamento entre os esquemas e restrições. 00000000000 A alternativa C tenta atribuir ao arquivo de dados uma função que não é dele. O arquivo de dados, basicamente, armazena os registros cujas estruturas são definidas no catálogo de dados. Sabemos que DML está relacionado à manipulação de dados e não à definição de estruturas, essa seria descritas por um conjunto de comandos denominados DDL (data definition language). Eis o erro da alternativa D. Para responder a alternativa E podemos recorrer ao livro do Navathe: “o SGBD precisa transformar uma solicitação especificada em um esquema externo em uma solicitação no esquema conceitual, e depois em uma solicitação no esquema interno para processamento no banco de dados armazenado. Se a Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 77 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 solicitação for uma recuperação, os dados extraídos do banco de dados armazenado devem ser reformatados para corresponder à visão externa dos usuários”. Percebam que a utilização de hierarquia também tem efeitos sobre a manipulação dos dados. Gabarito: A. 46. BANCA: FCC ANO: 2009 ÓRGÃO: TRT - 3ª REGIÃO (MG) PROVA: ANALISTA JUDICIÁRIO - TECNOLOGIA DA INFORMAÇÃO De acordo com a Regra Áurea, nenhuma operação de atualização poderá atribuir a qualquer banco de dados um valor que faça com que seu predicado (restrição declarada formalmente) de banco de dados seja A avaliado como TRUE. B avaliado como FALSE. C avaliado como DOUBLE. D maior que 1. E menor que 1. Comentário: A definição de regra de ouro ou Regra Áurea é que nenhuma operação de atualização deve atribuir para qualquer banco de dados um valor que faça uma das suas restrições ou constraint ser avaliada como falsa. Em outras palavras, não deve ser possível mudar o valor de um atributo de uma tabela atualizando a informação com um novo valor que fere as restrições definidas no momento da criação da tabela. Essas restrições também podem ser alteradas por meio do comando ALTER TABLE. O fato é que a integridade e consistência de uma tabela depende do respeito as restrições associadas a elas. Desta forma, podemos marcar nosso gabarito na alternativa B. Gabarito: B. 00000000000 47. BANCA: FCC ANO: 2013 ÓRGÃO: MPE-SE PROVA: ANALISTA DO MINISTÉRIO PÚBLICO - GESTÃO E ANÁLISE DE PROJETO DE SISTEMA A capacidade de alterar o esquema conceitual sem mudar o esquema externo ou os programas, podendo modificar o esquema conceitual para expandir o banco de dados (adicionando um tipo de registro ou item de dados), variar as restrições ou reduzir o banco de dados (removendo um tipo de registro ou item de dados) é chamada de A modularidade. B modelo conceitual. C independência lógica de dados. D polimorfismo. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 78 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 E agregação. Comentário: Vamos aproveitar a questão para relembra da definição de independência física e lógica de dados. Independência lógica de dados é a capacidade de alterar o esquema conceitual sem ter de alterar os esquemas externos ou os programas de aplicação. Podemos alterar o esquema conceitual para expandir o banco de dados, para alterar restrições ou para reduzir o banco de dados. Somente a definição da visão e os mapeamentos precisam ser alterados em um SGBD que suporta a independência lógica de dados. Independência física de dados é a capacidade de alterar o esquema interno sem ter de alterar o esquema conceitual. Logo, os esquemas externos também não precisam ser alterados. Mudanças no esquema interno podem ser necessárias porque alguns arquivos físicos foram reorganizados para melhorar o desempenho da recuperação ou atualização. Analisando as definições acima, podemos marcar nosso gabarito na alternativa C. Gabarito: C. 48. BANCA: FCC ANO: 2012 ÓRGÃO: TCE-AM PROVA: ANALISTA TÉCNICO 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. 00000000000 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. 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. Comentário: A modelagem conceitual é uma fase muito importante no projeto de uma aplicação de banco de dados bem-sucedida. A criação de um esquema conceitual deve utilizar um modelo de dados conceitual ou de alto nível. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 79 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 O esquema conceitual é uma descrição concisa dos requisitos de dados dos usuários e inclui detalhes dos tipos de entidades, relacionamentos e restrições; estes são expressos usando os conceitos fornecidos pelo modelo de dados. Essa técnica permite que os projetistas de banco de dados se concentrem em especificar as propriedades dos dados, sem se preocupar com detalhes de armazenamento e implementação. Em outras palavras, nesta etapa os artefatos gerados são independentes de SGBD. Usando o contexto teórico descrito nas linhas acima, podemos encontrar nossa resposta na alternativa B. Gabarito: B. 49. BANCA: FCC ANO: 2013 ÓRGÃO: MPE-MA PROVA: ANALISTA JUDICIÁRIO - BANCO DE DADOS No projeto de bancos de dados relacionais é comum ocorrer a necessidade de modelar conjuntos de entidades fracas, cuja principal característica é A não possuir atributos que possam assumir a função de chave primária. B aceitar a inserção apenas de valores numéricos. C ter apenas uma chave candidata. D não aceitar atributos de tamanho variável. E ter, no máximo, três atributos. Comentário: Essa questão solicita o conhecimento da definição de entidade fraca. Tipos de entidade que não possuem atributos-chave próprios são chamados tipos de entidade fraca. As entidades pertencentes a um tipo de entidade fraca são identificadas por estarem relacionadas a entidades específicas de outro tipo em combinação com um de valores de atributos. O exemplo clássico dessa situação é um relacionamento entre um funcionário e o seu dependente no plano de saúde. O dependente só existe por causo do funcionário. Pelo exposto, podemos marcar a alternativa A como nossa resposta. 00000000000 Gabarito: A. 50. BANCA: CESPE ANO: 2014 ÓRGÃO: TJ-SE PROVA: ANALISTA JUDICIÁRIO - SUPORTE E INFRAESTRUTURA Julgue os itens a seguir, relativos à administração de banco de dados e ao sistema de gerenciamento de banco de dados (SGBD). [69] Os dados físicos de um banco de dados podem ser acessados diretamente por meio de qualquer sistema, sem a necessidade de utilização do SGBD. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 80 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 [70] Uma das atribuições do administrador de banco de dados é definir a estratégia que determinará como será feito o becape do banco de dados. Comentário: Aproveitaremos essa questão para fazer um comentário técnico e prático sobre o assunto em cada uma das alternativas. Na assertiva 69 diz que o acesso aos bancos de dados pode ser feito fisicamente sem a necessidade de um SGBD. Essa afirmação é falsa, se você lembrar das conexões que são feitas aos bancos, você precisa passar as informações de endereço (IP ou URL), porta, schema e um driver ou conector, que vai permitir uma comunicação correta entre o sistema e o banco de dados, além da autenticação do usuário. Sendo, portanto, incorreta a alternativa. A alternativa 70 faz menção a uma das tarefas técnicas executadas pelo DBA. É necessário definir um roteiro ou procedimento de backup do banco de dados. Neste são definidos a periodicidade, o tipo de backup, a mídia de armazenamento e outras especificidades. Essa é uma das tarefas mais importantes feitas pelo DBA. Sendo assim, a alternativa está correta. Gabarito: E C. 51. BANCA: CESPE ANO: 2014 ÓRGÃO: TJ-CE PROVA: ANALISTA JUDICIÁRIO - CIÊNCIAS DA COMPUTAÇÃO Considerando o sistema gerenciador de banco de dados (SGBD), assinale a opção correta acerca de bancos de dados. A Enquanto a DDL (Data Definition Language) é utilizada para definir a estrutura do banco de dados, a SDL (Storage Definition Language) é utilizada para especificar o esquema conceitual e seus mapeamentos com o esquema interno. B A informação armazenada no catálogo do SGBD é denominada metamodelo. C Na independência de dados do programa, propriedade do SGBD, a estrutura dos arquivos de dados é armazenada no catálogo separadamente dos programas de acesso. D Na arquitetura de três esquemas de um banco de dados, o nível conceitual é responsável por descrever de forma detalhada as estruturas de armazenamento físico, incluindo os relacionamentos entre as tabelas. 00000000000 E Na arquitetura de três esquemas, a capacidade de alterar o esquema interno sem ter de alterar o esquema conceitual consiste na independência lógica de dados. Comentário: Nesta questão, tão importante quanto saber que a alternativa C está correta. E esse assunto nós já vimos no início da aula, é entender porque as outras estão erradas. Na alternativa A, o examinador sugere que SDL, é utilizada para descrever um esquema conceitual. Vejam que SDL está relacionada com armazenamento, e, quando existe de forma separada em uma linguagem, é utilizada para definir os detalhes do nível interno. Na alternativa B, no lugar de meta modelo, o correto seria metadados. Na alternativa D, o nível descrito é o nível interno. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 81 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 Por fim, a alternativa E trata de independência física e não lógica como descrito no texto. Gabarito: C. 52. BANCA: CESPE ANO: 2013 ÓRGÃO: MC PROVA: ANALISTA DE NÍVEL SUPERIOR - TECNOLOGIA DA INFORMAÇÃO Julgue os itens a seguir, acerca dos fundamentos e das finalidades do banco de dados. [51] Atualmente, os bancos de dados são utilizados para armazenar e processar dados de caracteres em geral, não apresentando recursos para tratar dados multimídias, como filmes e fotografias. [52] Uma característica fundamental do banco de dados e dos antigos sistemas de arquivos é o inter-relacionamento dos dados, sem redundâncias ou duplicação de dados. [53] Para definir e manter os dados em um banco é necessário o uso de sistemas de aplicação, o que caracteriza a dependência de dados, que é um fundamento do banco de dados. Comentário: Vamos analisar as alternativas acima. Começando pelo item 51. Veja que a questão sugere que existe uma limitação nos tipos de dados armazenados em bancos de dados. Sabemos que todos os SGBDs comerciais que implementam SQL possuem o tipo de dados BLOB – Binary Large Object. Nele é possível gravar qualquer informação em formato binário como arquivos multimídias. Falaremos mais sobre tipos de dados na aula sobre SQL. Podemos então marcar a alternativas como incorreta. Observem que a alternativa 52 tenta comparar os sistemas de arquivos com os bancos de dados colocando uma das suas principais diferenças como uma similaridade entre eles. A diminuição da redundância e da duplicação ocorre primordialmente com a evolução dos sistemas de arquivo para os sistemas de bancos de dados. Sendo assim, alternativa também está incorreta. Vimos que por estarem isolados, dados e aplicações, criam um conceito chamado independência de dados do programa. Este só é possível por conta da abstração de dados. A abstração de dados permite a criação de diferentes níveis de modelos. Falaremos mais sobre os níveis de abstração quando apresentarmos os modelos de dados. Mas, por enquanto, o nosso conhecimento já é suficiente para analisarmos a questão 53 como errada. 00000000000 Gabarito: E E E. 53. BANCA: CESPE ANO: 2014 ÓRGÃO: TJ-SE PROVA: ANALISTA JUDICIÁRIO - SUPORTE E INFRAESTRUTURA Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 82 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 Julgue os itens a seguir, relativos à administração de banco de dados e ao sistema de gerenciamento de banco de dados (SGBD). [71] Um SGBD deve gerenciar o acesso múltiplo aos dados de uma tabela sem ocasionar perda da integridade dessas informações. Comentário: Vejam que o SGBD possui como uma das suas características fazer o controle de concorrência entre diferentes usuários ou transações que acessam uma mesma tabela. Isso é importante para garantir a integridade dos registros e a consistência das transações executadas. Desta forma, podemos marcar a alternativa como correta! Gabarito: C 54. Ano: 2016 Banca: ESAF Órgão: ANAC Cargo: Analista de TI QUESTÃO 30 Assinale a opção correta relativa a banco de dados. a) Modelos de Dados de Baixo Nível independem de conceitos relativos a percepções dos usuários. b) Modelos de Dados de Alto Nível oferecem conceitos que são próximos como usuários percebem os dados. c) Modelos de Dados de Alto Nível oferecem conceitos de como gestores realizam consultas operacionais. d) Modelos de Dados de Baixo especializados para sua construção. Nível prescindem de conhecimentos e) Modelos de Dados de Alto Desempenho oferecem conceitos de como usuários estabelecem a efetividade de requisitos. Comentário: Nesta questão vamos procura descrever um pouco como é feita a classificação dos modelos de dados. Uma das primeiras taxonomias aceitas pela literatura especializada divide os modelos em baixo e alto nível. Essa estratificação esta balizada pelo nível de abstração do modelo. Quanto mais abstrato, menor o nível de detalhamento, mais fácil dos usuários entenderem os modelos. Esse modelo é conhecido como modelos de alto nível. 00000000000 Na outra ponta, modelos que descrevem detalhes físicos da implementação do modelo de dados possuem especificidades que são necessárias apenas para administradores de banco de dados. São definições associadas aos perfis técnicos de suporte. Esses são os modelos de dados de baixo nível. Em ambos os casos os modelos são um conjunto de ferramentas conceituais para a descrição dos dados e dos relacionamentos existentes entre eles, da semântica e das restrições que atuam sobre estes. Os modelos de dados de alto nível são por vezes conhecidos como modelos de dados conceituais, como falamos eles oferecem conceitos mais próximos ao entendimento dos usuários, um exemplo seria o modelo entidaderelacionamento. Na outra ponta, existe o modelo de baixo nível ou físico que descreve como os dados são armazenados fisicamente no computador. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 83 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 Entre os modelos conceitual e físico existe um modelo de implementação que oferece conceitos que podem ser facilmente utilizados por usuários finais, mas não estão distantes da maneira pela qual os dados estão organizados dentro do computador, um exemplo seria o modelo relacional. Após o entendimento dos conceitos acima podemos encontrar uma definição precisa na alternativa B: “b) Modelos de Dados de Alto Nível oferecem conceitos que são próximos como usuários percebem os dados”. Gabarito: B. 55. Ano: 2016 Banca: ESAF Órgão: ANAC Cargo: Analista de TI QUESTÃO 31 Os dados de um banco de dados, em determinado instante, são chamados de a) conjunto atual de ocorrências ou instâncias. b) conjunto atualizado de acessos ou instantes. c) conjunto dinâmico de consistências ou instâncias. d) subconjunto de ocorrências equivalentes. e) conjunto ordenado de instâncias ocorridas. Comentário: Existem dois conceitos que devem ser compreendidos para a resolução desta questão: instância e esquema. A coleção de informações armazenadas no banco de dados em um determinado momento é chamada de instância do banco de dados. O projeto geral do banco de dados é chamado de esquema de banco de dados. Os esquemas não mudam com frequência. Desta forma, podemos observar que as ocorrências ou instâncias em um determinado momento referem-se aos dados do banco de dados. Isso nos leva a resposta na alternativa A. Gabarito: A. 00000000000 56. Ano: 2014 Banca: IADES Orgão: EBSERH Cargo: Analista de TI Processo QUESTÃO 45 Assinale a alternativa que apresenta as duas etapas em que, basicamente, se dá o projeto de um banco de dados. (A) Modelagem lógica e projeto conceitual. (B) Modelagem conceitual e projeto lógico. (C) Abordagem ER e orientação a objeto. (D) Relacionamento e estrutura de entidades. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 84 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 (E) Cardinalidade e auto-relacionamento. Comentário: Para entendermos essa questão é preciso termos o conhecimento sobre o projeto de banco de dados, ele pode ser definido conforme a figura a seguir. O projeto de banco de dados começa com uma fase chamada especificação e analise de requisitos. Esses requisitos são documentados com detalhes e transformados em um modelo conceitual, que pode ser representado e manipulado usando algumas ferramentas computadorizadas para que possa ser facilmente mantido, modificado e transformado em uma implementação de banco de dados. O projeto é então traduzido em um projeto lógico, que pode ser expresso em um modelo de dados implementado em um SGBD comercial. O estágio final é o projeto físico, durante o qual outras especificações são fornecidas para armazenar e acessar o banco de dados. O projeto de banco de dados é implementado, alimentado com dados reais e mantido continuamente para refletir o estado do minimundo. Vejam que a modelagem conceitual e o projeto lógico fazem parte do projeto de banco de dados. 00000000000 Gabarito: B. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 85 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 57.Ano: 2012 Banca: IADES Orgão: EBSERH Cargo: Analista de TI – Banco de dados - QUESTÃO 26 Sobre os conceitos de bancos de dados assinale a alternativa correta. (A) Um banco de dados representa todo o mundo real, denominado Universo de Discurso. (B) Um banco de dados é uma coleção aleatória e física de dados que possue algum significado. (C) Cada banco de dados só pode ser armazenado em um único arquivo gravado num dispositivo, como por exemplo, disco rígido. (D) Define-se banco de dados como um conjunto de arquivos integrados que atendem a um conjunto de sistemas. (E) Os dados armazenados em um banco de dados estão livres de qualquer forma de redundância. Comentário: Vamos analisar cada uma das alternativas acima. (A) O universo do discurso é justamente uma parte do mundo real sobre a qual desejamos modelar nosso banco de dados, e não todo o mundo real. (B) O banco de dados não pode ser tratado como uma coleção aleatória de dados, precisa ter alguma relação entre eles. (C) Um banco de dados, do ponto de vista prático é composto por alguns arquivos, além dos arquivos de dados, temos a possibilidade de termos arquivos de controle e arquivos de log de redo, por exemplo. (D) A alternativa D é a nossa reposta, um conjunto de arquivos integrados que atendem a um conjunto de sistemas. (E) A redundância é algo que deve ser evitado, para isso temos técnicas de normalização e projetos de banco de dados. Mas percebam que é algo que não conseguimos nos livrar completamente, como supõe a alternativa. Gabarito: D. 00000000000 58. Ano: 2012 Banca: IADES Orgão: EBSERH Cargo: Analista de TI – Banco de dados QUESTÃO 28 Em relação aos conceitos de Sistemas Gerenciadores de Banco de Dados (SGBD), assinale a alternativa correta (A) Não se podem comparar, conceitualmente, os SGBDs com os Sistemas Operacionais. (B) Os SGBDs, ao suportarem threads, diminuem o paralelismo interno, possibilitando a execução de várias tarefas simultâneas. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 86 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 (C) A redução do tamanho de dados ocupados no disco, ou seja, a compactação, é uma tarefa que pode ser realizada por meio do SGBD. (D) A fragmentação interna não é um problema para os SGBDs, quando se trata de alocação de memória principal e estruturas de armazenamento permanente. (E) O SGBD permite um controle de acesso flexível uma vez que, para utilizar o banco de dados, o usuário não precisa ter uma conta criada. Comentário: Essa questão é bem interessante, vamos então analisar cada uma das alternativas: (A) É verdade que os SGBDs e os SOs são sistemas com objetivos distintos, mas algumas das funcionalidades são comuns aos dois sistemas principalmente quando nos referimos a operações de I/O. Alguns SGBDs, inclusive, possuem seu próprio subsistemas de entrada e saída. (B) Suportar threads aumenta o paralelismo e não diminui como sugere a alternativa. (C) Veja que não tínhamos tratado dessa funcionalidade do SGBD até o momento, mas podemos considerar uma das funcionalidades do mesmo o uso de compactação para economizar espaço em disco. (D) A fragmentação é um problema pois aumenta a necessidade de operações de entrada e saída o que reduz o desempenho dos SGBDs. (E) O controle de acesso pode ser flexível, mas para ter acesso ao banco de dados um usuário deve fazer uso de uma conta. Gabarito: C. 59. Ano: 2012 Banca: IADES Orgão: EBSERH Cargo: Analista de TI – Banco de dados QUESTÃO 37 Com base na arquitetura cliente-servidor e em suas tecnologias, as funcionalidades de um banco de dados podem ser superficialmente divididas em duas categorias: Front-end e Back-end. De acordo com estas categorias, julgue os itens a seguir. 00000000000 I - O Back-end gerencia as estruturas de acesso, desenvolvimento e otimização de consultas, controle de concorrência e recuperação. II - Em sistemas centralizados, o Front-end e o Back-end são ambos executados dentro de vários sistemas. III - Front-end dos sistemas de banco de dados consiste em ferramentas como formulários, gerador de relatórios e recursos de interface gráfica. IV - A interface entre o Front-end e o Back-end é feita apenas por um programa de aplicação. A quantidade de itens certos é igual a (A) 0. (B) 1. (C) 2 (D) 3. (E) 4. Comentário: Vamos analisar as alternativas. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 87 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 I - Na Cliente-Servidor, o cliente (front-end) executa as tarefas do aplicativo, ou seja, fornece a interface do usuário (tela, e processamento de entrada e saída). O servidor (back-end) executa as consultas no DBMS e retorna os resultados ao cliente. A alternativa encontra-se, portanto, correta. II - Na arquitetura centralizada, existe um computador com grande capacidade de processamento, o qual é o hospedeiro do SGBD e emuladores para os vários aplicativos. Desta forma a alternativa, encontra-se errada. III – Conforme descrito no comentário da alternativa I, a assertiva está correta. IV - A arquitetura cliente/servidor divide o poder de processamento de um sistema computacional em sistemas cliente e servidor. Neste sentido, cada componente tem seu papel específico. A aplicação cliente fica encarregada de fazer a interface com o usuário, capturando os dados e exibindo informações, enquanto que a aplicação servidora, fornece recursos necessários para as aplicações clientes. O programa de aplicação é o principal recurso que dá ao usuário a possibilidade de interagir com os sistemas de computação, principalmente nas tarefas que envolvem o acesso ao banco de dados. Para prover esta funcionalidade, principalmente em sistemas cliente/servidor, as aplicações devem conter um conjunto de funções que possibilitem interação entre dois ou vários processos distribuídos em diferentes plataformas, de forma a cooperarem entre si para produzir os resultados desejados. Desta forma a alternativa IV está incorreta. Gabarito: C. 60. Ano: 2015 Banca: CESPE Órgão: TRE-PI – Questão 55 A respeito dos diferentes modelos de banco de dados — relacional, rede, hierárquico, distribuído e orientado a objetos —, assinale a opção correta. A Em bancos de dados orientados a objetos, busca-se agrupar os dados e os códigos que manipulam esses dados em vários elementos formando um grafo, e podendo, como uma extensão do modelo hierárquico, cada segmento pai ter mais de um segmento filho, e cada segmento filho ter mais de um segmento pai. 00000000000 B No modelo em rede, representam-se os dados em um conjunto de árvores normalizadas, sendo possível modificar sua estrutura com facilidade, uma vez que não é preciso reconstruir o banco de dados. C Nos bancos de dados relacionais, representam-se os dados em um conjunto de tabelas inter-relacionadas, o que torna o banco de dados mais flexível no que concerne à tarefa de modificação da estrutura de uma tabela dentro desse banco de dados, porque não há necessidade de reconstruí-lo. D Segundo o padrão SQL ANSI, para a definição de um esquema de um banco de dados relacional, deve-se adotar uma linguagem de definição de dados usando hierarquias de classes baseadas em linguagens orientadas a objetos. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 88 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 E O modelo hierárquico se assemelha a um organograma com um segmento raiz e um número qualquer de segmentos subordinados, podendo cada segmento filho ter mais de um segmento pai. Comentário: Vamos comentar cada uma das alternativas. Sobre a letra A existe um tipo de banco de dados orientado a grafos que procura descobrir relacionamento entre os diferentes participantes de um esquema. Geralmente são usados em redes sociais e utilizam tecnologias NOSQL para ajustarem as demandas de acesso. Depois ele ainda descrever, na mesma alternativa A uma definição incorreta para o modelo hierárquico, ele está baseado na ideia de um pai ter vários filhos, mas o filho ter apenas um pai. Na alternativa B, o modelo em rede é um modelo orientado a registros, sua estrutura física de armazenamento é muito semelhante a sua descrição lógica. Mudanças no modelo geram um trabalho enorme para que seja executado, muitas vezes precisam da reconstrução do banco de dados. No modelo em rede podemos representar o relacionam NxM. Tratando da alternativa C, sabemos que está correto, se pensarmos na inserção de uma nova coluna em uma tabela de um banco de dados relacional como DB2, essa nova coluna pode ser colocada ao final da linha desde que haja espaço na tablespace. Veja que não existe a necessidade de recriação da tabela. Para facilitar a vida dos DBAs é importante que suas colunas sejam inseridas sempre ao final da tabela, isso evita movimentação de dados ou recriação da tabela. SQL ANSI foi desenvolvida para ser a linguagem padrão do banco de dados relacionais. Alternativa D está, portanto, errada! O erro da alternativa E está em dizer que filho pode ter mais de um pai no modelo hierárquico. Isso não deve ser possível. Gabarito: C. 61. BANCA: CESPE ANO: 2015 ÓRGÃO: MPOG PROVA: ANALISTA ANALISTA EM TECNOLOGIA DA INFORMAÇÃO Acerca de sistema de gerenciamento de banco de dados (SGBD), julgue os seguintes itens. 00000000000 115 Os dados armazenados em um SGBD são acessados por um único usuário de cada vez, sendo impedido o acesso concorrente aos dados. 116 O SGBD proporciona um conjunto de programas que permite o acesso aos dados sem exposição dos detalhes de representação e armazenamento de dados, por meio de uma visão abstrata dos dados, conhecida como independência de dados. Comentário: Vimos na nossa aula que uma das características de SGBDs é o suporte a usuários simultâneos. O SGBD faz o controle de concorrência entre transações que tentam acessar a mesma tabela ao mesmo tempo. A alternativa 115 está incorreta. Uma das características que já conhecemos é independência entre dados e programas. Vimos que a partir do momento em que temos um dicionário de dados, é possível excluir da estrutura dos programas a definição dos dados Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 89 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 presentes nos mesmos. Agora isolados, dados e aplicações, criam um conceito chamado independência de dados do programa. Este só é possível por conta da abstração de dados. A abstração de dados permite a criação de diferentes níveis de modelos. Por isso a alternativa 116 está correta. Gabarito: E C. 62. BANCA: CESPE ANO: 2015 ÓRGÃO: DEPEN PROVA: PENITENCIÁRIO FEDERAL - TECNOLOGIA DA INFORMAÇÃO AGENTE No que diz respeito a linguagens de programação e banco de dados, julgue os itens a seguir. 101 Os níveis interno, externo e conceitual da arquitetura de um banco de dados são responsáveis, respectivamente, por gerenciar o modo como os dados serão armazenados fisicamente, por gerenciar o modo como os dados serão vistos pelos usuários e por representar todo o conteúdo de informações do banco de dados. Comentário: Falamos sobre a arquitetura três esquemas. Observem que a alternativa acima está correta. Vá se acostumando com os termos e conceitos. Gabarito C. 63. BANCA: COSEAC ANO: 2015 ÓRGÃO: UFF PROVA: ANALISTA TECNOLOGIA DA INFORMAÇÃO Nos bancos de dados, as regras de negócio são efetivamente asseguradas por meio: A das restrições de integridade. B do compartilhamento de dados. C do suporte a transações. 00000000000 D da propagação de atualizações. E das restrições de segurança. Comentário: A integridade refere-se a precisão ou correção de dados em um banco de dados, restrição refere-se a impor uma condição para qualquer atualização. Algumas integridades podem ser requeridas: (1) Integridade de Domínio, referente aos dados que são permitidos nas colunas (campos) da tabela; (2) Integridade de Entidade, refere-se à unicidade de registros na tabela; e (3) Integridade Referencial, usada para manter a consistência entre as tuplas (registros), a tupla em uma relação, que faz referência a outra relação, deve referir a uma tupla existente nessa relação. Existe ainda as regras que são implementadas de forma procedural por meio de Trigges ou Procedures. Esse conjunto de restrições de integridade pode ser Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 90 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 utilizado para assegurar efetividade das regras de negócio. Isso leva nosso gabarito para a letra A. Gabarito: A. 64. BANCA: CESPE ANO: 2015 ÓRGÃO: TRE-GO PROVA: TÉCNICO DO JUDICIÁRIO - PROGRAMAÇÃO DE SISTEMAS Acerca de bancos de dados, julgue os seguintes itens. 113 Nas organizações, o emprego de sistemas gerenciadores de banco de dados promove a segurança e a consistência dos dados, favorecendo a redundância e garantindo a integridade dos dados. 114 O administrador de banco de dados tem como atribuição, entre outras, decidir que dados devem ser armazenados no banco de dados e estabelecer normas para manter e tratar esses dados. 115 As três principais etapas de execução de um projeto de banco de dados são projeto lógico, projeto físico e criação do banco de dados. Comentário: A questão 113 está errada por dizer que o SGBD favorece a redundância. A alternativa 114 atribui funções do administrador de dados (AD) ao DBA. Por fim, a questão 115, o projeto de banco de dados tem como principais etapas o projeto conceitual, projeto lógico e projeto físico. Falaremos mais sobre essas etapas na aula de modelo relacional. Gabarito: E E E. 65. BANCA: COSEAC ANO: 2015 ÓRGÃO: UFF PROVA: ANALISTA TECNOLOGIA DA INFORMAÇÃO Nos bancos de dados, é uma função do administrador de dados: 00000000000 A elaborar o projeto físico do banco de dados. B definir normas de descarga e recarga. C assegurar que o sistema operará com desempenho adequado. D decidir que dados serão armazenados no banco de dados. E escrever os esquemas externos necessários. Comentário: Vejam que as demais atividades descritas nas demais alternativas são de responsabilidade do administrador de banco de dados. Gabarito: D. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 91 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 66. BANCA: VUNESP ANO: 2013 ÓRGÃO: CETESB PROVA: ANALISTA DE TECNOLOGIA DA INFORMAÇÃO - ADMINISTRADOR DE BANCO DE DADOS Alguns sistemas gerenciadores de bancos de dados relacionais possuem um módulo de otimização de consultas que visa A criptografar as senhas de todos os usuários do banco de dados. B duplicar todos os atributos que sejam chave primária de suas tabelas. C excluir os registros que possuam valores nulos em seus atributos. D melhorar o desempenho das consultas submetidas ao gerenciador. E reduzir o número de registros resultante da consulta efetuada. Comentário: Aqui, aproveitamos para falar de uma das ferramentas disponíveis na grande maioria dos bancos de dados. Algumas ferramentas conseguem automaticamente sugerir melhoria nas consultas, seja com a criação de índexes ou reorganização da tabela no disco. Essas tarefas são feitas pelo módulo de otimização de desempenho. Gabarito: D. 67. BANCA: CESPE ANO: 2013 ÓRGÃO: MC PROVA: ANALISTA DE NÍVEL SUPERIOR - TECNOLOGIA DA INFORMAÇÃO Julgue os itens subsequentes, quanto à administração de banco de dados. 58 O administrador do banco de dados não deve gerenciar a utilização do espaço em disco nos servidores, pois sua função limita-se à utilização de ferramentas de gerenciamento com o objetivo de garantir a disponibilidade dos serviços de banco. 59 A administração de banco de dados abrange a definição e a alteração de esquema, que, em alguns casos, são tarefas importantes para melhorar o desempenho do banco de dados. Comentário: Nesta questão tratamos mais uma vez das funções do administrador de banco de dados. Responsável pelo suporte técnico as atividades do SGBD, uma das suas atividades envolve monitorar o crescimento das bases de dados em disco. Quando o espaço disponível se aproxima de zero ele deve trabalhar para alocar mais espaço. Esse serviço faz parte da garantia de disponibilidade do banco de dados. Sendo assim, a alternativa 58, pode ser considerar errada. 00000000000 O ajuste fino ou tuning dos esquemas de banco de dados são de reponsabilidade do DBA. Esses ajustes ajudam a melhorar o desempenho do banco de dados. Temos a alternativa 59 como correta. Gabarito: E C. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 92 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 68. BANCA: CESPE ANO: 2014 ÓRGÃO: ANATEL PROVA: ANALISTA ADMINISTRATIVO DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO Com base nos modelos de banco de dados, julgue os itens subsequentes. 89 São empregados no projeto de aplicações de um banco de dados o modelo entidade-relacionamento (MER), que é um modelo representacional, e suas variações. 90 O modelo de dados físico é considerado de baixo nível, o que significa que somente os sistemas gerenciadores de banco de dados conseguem interpretá-lo. Comentário: Vimos ao longo da nossa aula que os modelos considerados representacionais, de implementação ou lógicos são os modelos em rede, hierárquico e relacional. Alternativa 89 está incorreta. Os modelos de dados físicos definem a forma como os dados são armazenados nos discos. Não podemos restringir o seu entendimento ao SGBD, outros componentes, como o sistema operacional, devem ser capazes de ler ou interpretar os dados. Sendo assim, a alternativa 90 também está errada. Gabarito: E E. 69. BANCA: CESGRANRIO ANO: 2012 ÓRGÃO: LIQUIGÁS PROVA: PROFISSIONAL DE TECNOLOGIA DA INFORMAÇÃO - ADMINISTRADOR DE BANCO DE DADOS A arquitetura ANSI/SPARC de um Sistema Gerenciador de Banco de Dados (SGBD) divide-se nos níveis A externo, conceitual e interno B externo, lógico e recuperador C interno, indexador e lógico D físico, conceitual e lógico E físico, indexador e recuperador Comentário: Questão água com açúcar, quais seriam os níveis da arquitetura ANSI/SPARC? Externo, Conceitual e Interno! 00000000000 Gabarito: A. 70. BANCA: CESGRANRIO ANO: 2010 ÓRGÃO: ELETROBRAS PROVA: ANALISTA DE SISTEMAS - ENGENHARIA DE SOFTWARE Um Modelo de Dados corresponde a uma descrição formal da estrutura de um banco de dados. Com relação à Modelagem de Dados, relacione os modelos, apresentados na coluna da esquerda, à respectiva característica, entre as indicadas na coluna da direita. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 93 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 Estão corretas as associações A I – P, II - Q, III - R. B I - Q, II - R, III - S. C I - S, II - P, III - R. D I - S, II – R, III - Q. E I - S, II - P, III -Q. Comentário: Veja que a questão trata dos níveis de modelo. Os três modelos definidos pela questão são conceitual, lógico e físico. O modelo conceitual apresenta aos usuários dos sistemas uma modelagem que esconde detalhes de implementação por meio da abstração e muitas vezes restringe o escopo do banco de dados a apenas as entidades que fazem parte do contexto do usuário. Observem também que o fato ser abstrato e independente de um SGBD particular é uma característica do modelo de dados conceitual. O modelo lógico segundo Carlos Heuser é modelo de dados que representa a estrutura de dados de um banco de dados conforme vista pelo usuário do SGBD. O modelo lógico nos trás a lembrança dos modelos baseados em registros em Rede, Hierárquico e Relacional. O modelo relacional ainda é o mais usado dentro do mercado de banco de dados. Por fim, temos o modelo físico que trata de detalhes das estruturas de armazenamento das informações dentro dos storages. Vejam que pelo exposto, nossa resposta encontra-se na alternativa C. 00000000000 Gabarito: C. 71. BANCA: BIO RIO ANO: 2013 ÓRGÃO: ANALISTA DE SISTEMAS - BANCO DE DADOS ELETROBRAS PROVA: Leia o fragmento a seguir, relacionado à arquitetura ANSI/SPARC de bancos de dados. (1) Nível ________ - define views e consiste em uma “janela” parcial que é criada sobre a totalidade do BD, permitindo trabalhar apenas com uma parte dos dados que seja de interesse de uma determinada aplicação. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 94 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 (2) Nível ________ - esconde os detalhes da implementação física dos arquivos que armazenam os dados e corresponde a uma representação independente de qualquer usuário ou aplicação. (3) Nível ________ - equivale ao armazenamento físico dos dados e definição das estruturas físicas que permitem obter um bom nível de desempenho. Assinale a alternativa cujos itens completam corretamente as lacunas do fragmento acima. A externo – conceitual – interno; B externo – interno – conceitual; C conceitual – externo – interno; D interno – externo – conceitual; E interno – conceitual – externo. Comentário: Nossas videoaulas já estão gravadas. No que se refere a esse assunto, temos uma explicação detalhada sobre a arquitetura em três esquemas que é apresentada novamente na figura abaixo. Sabemos que os níveis, externo, conceitual e externo, são respectivamente as nossas repostas para as lacunas. Essa sequência aparece na alternativa A. 00000000000 Gabarito: A. 72. BANCA: ESAF ANO: 2010 ÓRGÃO: CVM PROVA: ANALISTA INFRAESTRUTURA DE TI São fases do projeto de banco de dados: A especificação dos usuários do projeto, projeto conceitual, especificação das necessidades estruturais, projeto lógico, projeto físico. B especificação das necessidades do desenvolvedor, projeto lógico, especificação das necessidades funcionais, projeto funcional, projeto físico. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 95 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 C planejamento conceitual, planejamento de necessidades, especificação das necessidades funcionais, projeto lógico, projeto operacional. D especificação das necessidades do usuário, projeto conceitual, especificação das necessidades funcionais, projeto lógico, projeto físico. E especificação das necessidades do usuário, projeto conceitual, especificação das necessidades operacionais, projeto de escopo, projeto de execução. Comentário: Está questão está baseada na seguinte figura: 00000000000 As principais etapas que precisamos ter em mente são o projeto conceitual, projeto lógico e projeto físico. Elas devem ser precedidas por algum tipo de levantamento e analise de requisitos. Esses requisitos devem dar origem não só ao banco de dados, mas também aos aspectos funcionais dos sistemas. Gabarito: D. 73. BANCA: ESAF ANO: 2010 ÓRGÃO: CVM PROVA: ANALISTA ANALISTA DE SISTEMAS Assinale a opção correta. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 96 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 A Um banco de dados relacional é composto de roteamentos. B O projeto de um banco de dados é realizado segundo as fases Modelagem Procedural, Projeto Lógico, Projeto Operacional. C O projeto de um banco de dados é realizado segundo as fases Modelagem Conceitual, Projeto Lógico, Projeto Físico. D O projeto de um banco de dados é realizado por meio das fases Modelagem Lógica e Modelagem Física. E Um banco de dados relacional é composto de configurações. Comentário: A opção A, está incorreta por afirmar que um banco de dados relacional é composto de roteamentos, quando, na verdade, é composto por relações (tabelas). A opção B trata os níveis de modelagem de um projeto de banco de dados. O banco de dados possui a Modelagem Conceitual, Lógica e Física. Portanto, a opção B está incorreta por citar a Modelagem Procedural e Operacional. A opção C lista os três níveis de modelagem corretamente: Conceitual, Lógico e Físico, sendo, portanto, nossa resposta. A opção D está incorreta por não listar a Modelagem Conceitual. E por fim, a opção E está incorreta por afirmar que um banco de dados relacional é composto de configurações. Na verdade, é composto por relações (tabelas) como já falamos anteriormente. Gabarito: C. 74. BANCA: BIO RIO ANO: 2014 ÓRGÃO: ANALISTA DE SISTEMAS - BANCO DE DADOS EMGEPRON PROVA: O conceito da arquitetura de três camadas que define a capacidade de alterar o esquema em um nível do sistema de banco de dados sem ter de alterar o esquema no nível mais alto é denominado independência de: A dados B esquema C instância D atualização 00000000000 Comentário: Quando estudamos a arquitetura em três esquemas definimos o conceito de independência dos dados. Basicamente, ele se refere a capacidade de alterar um esquema em um determinado nível da arquitetura, sem a necessidade de alterar o esquema no nível superior. Identificamos a existência da independência de dados lógica, que é uma característica do nível conceitual da arquitetura ANSI/SPARC e a independência de dados física que é feita sobre o nível interno da arquitetura. Gabarito: A. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 97 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 75. BANCA: BIO RIO ANO: 2014 ÓRGÃO: ANALISTA DE SISTEMAS - BANCO DE DADOS EMGEPRON PROVA: A arquitetura em três esquemas em um sistema de banco de dados, também denominada de ANSI/SPARC, tem por objetivo: A controlar a redundância nas tabelas B manter a disponibilização dos dados para os usuários C separar as aplicações do usuário do banco de dados físico D obter segurança dos dados armazenada no banco de dados Comentário: Vimos na nossa aula que o comitê tinha como objetivo de projeto definir níveis de abstração para modelagem ou para modelos de banco de dados. Essa separação em três níveis Externo (Visão) – Conceitual (Lógico) – Interno (Físico) visa facilitar o entendimento e retirar dos usuários os detalhes de implementação. Gabarito: C. 76. BANCA: VUNESP ANO: 2013 ÓRGÃO: CETESB PROVA: ANALISTA DE TECNOLOGIA DA INFORMAÇÃO - ADMINISTRADOR DE BANCO DE DADOS Sistemas de Gerenciamento de Bancos de Dados desempenham inúmeras funções. Dentre tais funções, é correto afirmar que esses sistemas A contêm software que permite a comunicação em tempo real por meio da internet. B implementam ferramentas de gestão de projetos como, por exemplo, gráficos de Gantt. C mantêm a integridade dos dados inseridos no banco de dados, por exemplo, impedindo a duplicação do valor de chaves primárias. D possuem dicionários de línguas, permitindo a tradução imediata do conteúdo de qualquer banco de dados. E são capazes de fazer a compilação de todas as linguagens de programação orientadas a objetos. 00000000000 Comentário: Essa questão trata de conceitos relacionados aos SGBDs. Mas analisaremos de forma rápida cada uma das alternativas. A alternativa A tenta impor a necessidade de um software para conexão com a internet. Sabemos que o acesso a uma rede ocorrer por meio do provedor de Internet – utilizando a tecnologia TCP/IP, um modo de comunicação baseado no endereço de IP (Internet Protocol). Este IP é o endereço de cada um dos dispositivos conectados a rede. Para um banco de dados estar disponível na internet basta que um host disponibilize o serviço por meio de uma porta TCP. O diagrama de Gantt é um gráfico usado para ilustrar o avanço das diferentes etapas de um projeto. Os intervalos de tempo, representando o início e o fim de cada fase, aparecem como barras coloridas sobre o eixo horizontal do gráfico. É Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 98 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 muito usado em gerência de projetos, mas não tem relação direta com as funcionalidades de um SGBD. Isso invalida a letra B. Analisando tudo que foi exposto no curso até o momento podemos chegar a conclusão que a alternativa C é a nossa resposta. Veremos em outra aula que manter a integridade é um dos motivos da existência das propriedades presentes em transações de bancos de dados relacionais. As propriedades são: Atomicidade, Consistência, Isolamento e Durabilidade. (ACID). A palavra dicionário está relacionada aos metadados disponíveis no SGBD, conhecido como dicionário de dados. Quanto aos idiomas, todos os SGBDs dispõem da opção de LOCALE, através dela você define a linguagem utilizada. Agora, fazer tradução entre os diferentes idiomas, ainda não é uma funcionalidade presente. Os SGBDs geralmente entendem apenas SQL e linguagem procedural. Para se comunicar com o servidor de banco de dados por meio de linguagens orientadas a objetos é necessário que você possua um driver que vai traduzir suas consultas para uma linguagem que seja entendida pelo SGBD. Gabarito: C. 77. BANCA: UERJ ANO: 2015 ÓRGÃO: UERJ PROVA: PROGRAMADOR JAVA O DBA, como um dos usuários do ambiente de banco de dados, interage com as seguintes interfaces: A consulta interativa e instruções DDL B instruções DDL e comandos privilegiados C programas de aplicação e consulta interativa D comandos privilegiados e programas de aplicação Comentário: Na linha de “uma imagem vale mais do que mil palavras”, veja a figura que mostra os componentes do ambiente de um sistema de banco de dados. Observe que o DBA se encontra na parte superior esquerda e que suas funções permitem entre outras coisas emitir comandos DDL, que definem a estrutura dos objetos do banco de dados, e comandos privilegiados contra o banco de dados. 00000000000 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 99 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 As instruções DDL definem o banco de dados ou realizam ajustes, alterando sua definição. O compilador DDL processa as definições de esquema especificadas e armazena as descrições dos esquemas (metadados) no catálogo do SGBD. O catálogo de dados inclui informações como o nome e os tamanhos dos arquivos, nome e tipo de dados dos itens de dados, detalhes de armazenamento de cada arquivo, informações do mapeamento entre esquemas e restrições. Além disso, o catálogo armazena outros tipos de informações essenciais para os módulos do SGBD, como por exemplo: estatísticas sobre os dados armazenados que são usados pelo otimizador de consultas. Vejam que a questão se baseou nesta figura, mas existem várias outras operações que o DBA pode executar atuando dentro das suas funções. Optamos por colocar abaixo algumas dessas operações e suas descrições: Backup – Cria uma cópia de segurança do banco de dados, normalmente copiando o banco de dados inteiro para fita ou outro meio de armazenamento em massa. A cópia backup pode ser usada para restaurar o banco de dados no caso de uma falha catastrófica no disco. Os backups incrementais também costumam ser utilizados, e registram apenas as mudanças ocorridas após o backup anterior. O backup incremental é mais complexo, mas economiza espaço de armazenamento. 00000000000 Reorganização do armazenamento do banco de dados – Executado utilizando um utilitário é usado para reorganizar um conjunto de arquivos do banco de dados em diferentes organizações de arquivo, e cria novos caminhos de acesso para melhorar o desempenho. Monitoramento do desempenho – Monitora o uso do banco de dados e oferece estatísticas ao DBA. O BDA usa as estatísticas para tomar decisões se deve ou não reorganizar arquivos ou se deve incluir ou remover índices para melhorar o desempenho. Gabarito: B. Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 100 de 101 Sistemas de banco de dados Prof. Thiago Rodrigues Cavalcanti Aula 00 Considerações finais Chegamos, pois, ao final da aula demonstrativa! A continuação deste assunto encontra-se na próxima aula. Espero reencontrar você como um aluno efetivo. Espero que tenha gostado! E até breve! Thiago Cavalcanti Referências Fiz uma lista com alguns links de referências caso você queria se aprofundar um pouco. i. Fundamentals of Database Systems - Ramez Elmasri, Sham Navathe Addison-Wesley, 2011 - Computers - 1172 pages ii. Introdução a sistemas de bancos de dados - By C. J. Date - Elsevier Brasil, 2004 - 865 pages iii. Sistema de Banco de Dados - Abraham Silberschatz, Henry F. Korth, S. Sudarshan - Editora: ELSEVIER BRASIL 00000000000 Prof. Thiago Rodrigues Cavalcanti www.estrategiaconcursos.com.br 00000000000 - DEMO 101 de 101