Centro Preparatório para Concursos #CPCPREPARAECUIDA
Assistente Administrativo Fazendário »»» INFORMÁTICA Material elaborado pela professora Kátia Quadros.
(51)98529.5445
cpcconcursos.com.br
(51) 3212.2425
facebook.com/cursocpc/
A melhor preparação para você
SUMÁRIO INFORMÁTICA Banco de Dados ................................................................................................................................................. 05 Banco de Dados Relacional ................................................................................................................................. 19 Dados Estruturados X Dados Não-Estruturados ................................................................................................... 29 Prototipação ...................................................................................................................................................... 30 Exercícios de Fixação .......................................................................................................................................... 32 Gabaritos Comentados ....................................................................................................................................... 34
www.cpcconcursos.com.br SEFAZ - Assistente Administrativo fazendário
INFORMÁTICA
BANCO DE DADOS Segundo Korth, um banco de dados ―é uma coleção de dados inter-relacionados, representando informações sobre um domínio específico‖, ou seja, sempre que for possível agrupar informações que se relacionam e tratam de um mesmo assunto, posso dizer que tenho um banco de dados. Podemos exemplificar situações clássicas como uma lista telefônica, um catálogo de CDs ou um sistema de controle de RH de uma empresa.
De acordo com DATE, um sistema de banco de dados é ―um sistema computadorizado cuja finalidade geral é armazenar informações e permitir que os usuários busquem e atualizem essas informações quando as solicitar‖.
5
INFORMÁTICA
BANCO DE DADOS
Base de Dados É o conjunto de todos os dados de um determinado ambiente, estejam eles armazenados em computador ou não. Exemplo Banco de Dados de Recursos Humanos mais as correspondências expedidas e recebidas, pela empresa, e que estão guardadas nos armários de cada departamento.
1.1 Sistema Gerenciador de Bancos de Dados (SGBD) É constituído por um conjunto de dados inter-relacionados e um conjunto de programas para acessá-los.
Sua característica principal é prover uma maneira adequada de recuperação e armazenamento de dados, no Banco de Dados.
6
INFORMÁTICA
Regra geral, um SGBD é projetado para gerenciar grandes volumes de dados. Características de um SGBD • Gerenciar grandes volumes de dados • Facilitar a eliminação de redundância e inconsistência de dados • Facilitar o armazenamento e acesso aos dados • Garantir o acesso a vários usuários ao mesmo tempo • Garantir a segurança dos dados (Por exemplo, garantir a recuperação dos dados caso haja danificação do meio onde estão armazenados. Garantir segurança de acesso). • Garantir a integridade dos dados
1.2 Abstração de Dados É a possibilidade de entender um ambiente se preocupando apenas com seus aspectos mais importantes. No caso dos Bancos de Dados abre a possibilidade a seus usuários de poderem acessar os dados sem a necessidade de se preocuparem com os detalhes de como os dados são armazenados. Um SGBD precisa ser eficiente na recuperação desses dados, como temos vários níveis de usuários é necessário fornecer uma representação conceitual dos dados em níveis, os níveis de abstração têm como função, inclusive, ocultar a complexidade e simplificar o processo de interação com os usuários. Sob esse ponto de vista, podemos classificar a abstração em três níveis (Silberschatz, 2006).
7
INFORMÁTICA
BANCO DE DADOS
1.2.1 Níveis de Abstração Nível Físico (interno) Descreve como os dados são realmente armazenados. Nível Conceitual (lógico) Descreve quais dados estão armazenados e como eles se relacionam. Neste nível os usuários não se preocupam os aspectos físicos do armazenamento de dados. Nível de Visão (externo) Uma visão descreve parte de um banco de dados, de modo que, usuários do banco tenham acesso apenas aos dados que lhes dizem respeito. Um banco de dados tem muitas visões.
1.3 Outros Conceitos: Instância de um Banco de Dados É o conjunto de informações do banco em um determinado momento Esquema É a representação do projeto do banco de dados. Não mudam com frequência. Em um banco de dados tempos esquemas físicos e conceituais. Independência de Dados É possibilidade de mudar esquemas de um nível de abstração sem comprometer os esquemas de outros níveis Independência Física de Dados É a característica que os bancos de dados devem ter e que consiste na possibilidade de que alterações feitas no esquema físico não exigirem alterações nos programas escritos. Independência Lógica de Dados É uma característica dos bancos de dados que permite mudanças nos esquemas conceituais sem exigir mudanças nos programas escritos. É difícil de ser conseguida. 8
São aquelas usadas para definir o esquema de um banco de dados. São as DDLs. O resultado da execução de comandos das DDLs é um conjuntos de tabelas que são armazenadas no dicionário de dados. São as DDLs que definem, por exemplo, os métodos de acesso de um banco de dados. Linguagens de Manipulação de Dados (Data Manipulation Language) São as linguagens que manipulam informações de um banco de dados. São elas que fazem inclusões de novos dados, remoções e alterações de dados existentes e busca (recuperação) de dados armazenados. São as DMLs. DMLs Procedurais Exigem a especificação de como obter os dados. DMLs Não-Procedurais Não exigem a especificação de como obter os dados Gerenciador de Banco de Dados É constituído de um conjunto de programas que estabelecem a interface entre os dados armazenados e as solicitações ao sistema. Além disso, esses programas garantem um armazenamento de dados que facilita o desempenho do Banco, como por exemplo, um bom tempo de resposta para as solicitações às quais é submetido. Objetivos de um Gerenciador de Banco de Dados Interagir com o gerenciador de arquivos. Geralmente esses gerenciadores de arquivos são fornecidos pelos sistemas operacionais. É de responsabilidade desses gerenciadores o atendimento à solicitação de dados. Garantir Integridade do Dados. Garantir Segurança de Acesso. Recuperação de Dados Controlar Concorrência de Acesso. Administrador de Banco de Dados (DBA) É a pessoa que tem sob sua responsabilidade a gerência dos dados do banco e dos programas de acesso. É ele que garante a sua implantação e operação.
9
INFORMÁTICA
Linguagens de Definição de Dados (Data Definition Language)
INFORMÁTICA
BANCO DE DADOS
Principais Funções de um DBA Definir e alterar esquemas; Definir de estruturas de armazenamento e métodos de acesso aos dados; Conceder autorização de acesso; Especificar restrições de integridade.
1.4 Modelos de Dados – Conceitos Iniciais Identificam os dados de um determinado ambiente, as relações entre eles e suas restrições de integridade.
Um modelo de dados é um conjunto de ferramentas conceituais utilizadas para a descrição de dados, relacionamento entre esses dados, semântica de dados e regras de consistência.
Os modelos são classificados em três diferentes grupos: modelos lógicos com base em objetos, modelos lógicos com base em registros e modelos físicos.
10
Os modelos lógicos com base em objetos são usados na descrição de dados no nível lógico e de visões. Existem vários modelos desta categoria, tais como: • Modelo Entidade-Relacionamento • Modelo Orientado a Objetos • Modelo Semântico de Dados • Modelo Funcional de Dados Modelo Entidade-Relacionamento O modelo de dados entidade-relacionamento (E-R) tem como base a percepção do mundo real como um conjunto de objetos básicos, chamados de entidades, e do relacionamento entre eles. Uma entidade é uma coisa ou um objeto do mundo real, que pode ser identificado por outros objetos. As entidades são descritas no banco de dados por meio de seus atributos. Um relacionamento é uma associação entre entidades. Além das entidades e dos relacionamentos, o modelo E-R representa certas regras as quais o conteúdo do banco de dados precisa respeitar. Modelo Orientado a Objetos O modelo orientado a objetos, assim como o E-R, tem por base um conjunto de objetos. Um objeto contém valores armazenados em variáveis instâncias dentro do objeto. Um objeto também contém conjuntos de códigos que operam este objeto. Estes conjuntos de códigos são chamados de métodos. Os objetos que contém os mesmos tipos de valores e os mesmos métodos são agrupados em classes. No qual, uma classe pode ser vista como uma definição de tipo para objetos. 1.4.2 Modelos Lógicos Baseados em Registros Modelos lógicos baseados em registros são usados para descrever os dados no nível lógico e de visão. É usado tanto para especificar a estrutura lógica do banco de dados quanto para implementar uma descrição de alto nível.
11
INFORMÁTICA
1.4.1 Modelos Lógicos com base em Objetos
INFORMÁTICA
BANCO DE DADOS
Dos três modelos apresentados, o modelo relacional é o que mais tem se destacado nos últimos anos. O modelo hierárquico e de rede é ainda usado em um grande número de banco de dados antigos. Modelo Relacional O modelo relacional usa um conjunto de tabelas para representar tanto os dados como a relação entre eles. Cada tabela possui múltiplas colunas e cada uma possui um único nome. Modelo de Rede O modelo de rede representa os dados por um conjunto de registros e as relações entre esses registros são representadas por links, as quais podem ser vistas pelos ponteiros. Os registros são organizados no banco de dados por um conjunto arbitrário de gráficos. Modelo Hierárquico O modelo hierárquico é similar ao modelo de rede pois os dados e suas relações são representados também por registros e links. A diferença é que no modelo hierárquico os registros estão organizados em árvores ao invés de gráficos arbitrários. 1.4.3 Modelos Físicos de Dados Os modelos físicos de dados são usados para descrevê-los no nível mais baixo. Há poucos modelos físicos de dados em uso. Dois deles são conhecidos: o modelo unificado, e o modelo de partição de memória.
1.5 Modelo de Dados – Como Funciona O Modelo de Dados é uma representação das necessidades de dados de um determinado ambiente e de como esses dados se relacionam. -É uma das primeiras atividades que deve ser executada ao longo do processo de identificação e compreensão de um ambiente, tendo em vista necessidades de automatização. É um dos produtos da fase de Análise do Ciclo de Vida de um projeto de desenvolvimento de um sistema.
12
INFORMÁTICA
Construir um Modelo de Dados significa: coletar e documentar informações relevantes do ambiente estudado; representar as informações, de forma clara e objetiva, e num formato padrão que possa facilitar o entendimento dos participantes do processo; definir, de maneira clara, o escopo do ambiente modelado; adquirir o entendimento do ambiente através de refinamentos sucessivos do modelo; e representar graficamente as necessidades de informação independentemente do Software e do Hardware a serem usados na implementação do Sistema. Chave • Candidata: são chaves candidatas a serem chave primária • Primária: chave selecionada para identificar a entidade • Estrangeira: é quando o(s) atributo(s) de uma entidade é (são) a chave primária de outra entidade Chave primária A chave primária, ou primary key, é o conceito mais básico relacionado à organização em um banco de dados. São chaves cujo os atributos são usados para identificar as tuplas em uma relação.
13
INFORMÁTICA
BANCO DE DADOS
Toda tabela irá possuir uma, e somente uma, chave primária. Essa chave é utilizada como o identificador único da tabela, sendo, então, representada, por aquele campo (ou campos) que não receberá valores repetidos. Por causa disso, existe uma lista de características que deve ser levada em consideração ao definir uma chave primária: Chaves primárias não podem ser nulas; Cada registro na tabela deve possuir uma, e somente uma, chave primária; Normalmente, chaves primárias são incrementadas automaticamente pelo banco de dados. São as chaves para o relacionamento entre entidades, ou tabelas, da base de dados. Assim, haverá, na tabela relacionada, uma referência a essa chave primária (que será, na tabela relacionada, a chave estrangeira). Uma chave primária é um campo ou conjunto de campos com valores exclusivos por toda a tabela. Os valores da chave podem ser usados para se referir aos registros inteiros, porque cada registro tem um valor diferente para a chave. Cada tabela só pode ter uma chave primária. (Microsoft) Chave estrangeira A chave estrangeira não diz respeito, especificamente, a uma tabela, mas sim a um relacionamento entre tabelas. De forma sucinta, a chave estrangeira é uma referência, em uma tabela, a uma chave primária de outra tabela. Para facilitar a compreensão, tomemos como exemplo duas tabelas: Pessoa e Carro. Para montarmos um relacionamento entre elas, poderíamos ter, na tabela Carro, o campo ID_Pessoa fazendo referência à chave primária da tabela Pessoa. Diferentemente da chave primária, a chave estrangeira: Pode ser nula (NOT NULL); É um campo em uma tabela que faz referência a um campo que é chave primária em outra tabela; É possível ter mais de uma (ou nenhuma) em uma tabela. Um alerta: sobre as chaves estrangeiras aceitarem o valor null, é preciso ter cuidado. Embora não haja, efetivamente, nenhum problema com isso, tal característica pode gerar o que é chamado de ―registro órfão‖, isto é, um registro sem dados para um determinado relacionamento. Por exemplo, um registro de Pessoa que não possui Carro. Embora comum na realidade, é preciso levar em consideração essa regra de negócio na aplicação para evitar problemas. https://www.devmedia.com.br/sql-aprenda-a-utilizar-a-chave-primaria-e-a-chave-estrangeira/37636
14
INFORMÁTICA https://support.office.com/pt-br/article/adicionar-ou-alterar-a-chave-prim%C3%A1ria-de-uma-tabela-no-access-07b4a84b-0063-4d568b00-65f2975e4379
1.5.1 Componentes de um Modelo de Dados Um Modelo de Dados é composto de: Entidade, tipo de entidade, atributo, relacionamentos e dicionário de dados. Entidade Chamamos de entidade, qualquer coisa real ou abstrata, de um determinado ambiente, sobre a qual precisamos guardar informações. Se estamos modelando o ambiente de uma biblioteca, por exemplo, então as informações a respeito dos livros devem estar representadas pela entidade: Livro. As informações relativas aos usuários da biblioteca poderiam ser representada pela entidade: Cliente. As informações relativas ao empréstimo de livros seriam representadas pela entidade: Empréstimo. As reservas de livros por: Reserva, e assim por diante. Nesse ambiente as informações da entidade Livro poderiam ser: nome do livro, ISBN do livro, e título do livro. Para a entidade Cliente poderíamos ter: cpf, nome, endereço e telefone. 15
INFORMÁTICA
BANCO DE DADOS
Para a entidade Empréstimo: data do empréstimo, data provável de devolução e taxa de multa para o caso de devolução com atraso. A entidade Reserva poderia ter: data da reserva, e data provável de disponibilidade do livro. Entidade: Objeto do mundo real distinguível de outros objetos. Uma entidade é descrita (em BD) usando um conjunto de atributos. Conjunto-Entidade: Uma coleção de entidades similares. Exemplo: todos os funcionários. Todas as entidades em um conjunto-entidade têm o mesmo conjunto de atributos (até que seja considerado a hierarquia ISA). Cada conjunto-entidade tem uma chave. Cada atributo tem um domínio (possíveis valores que o atributo pode assumir). Entidades Fracas Uma entidade fraca pode ser identificada unicamente apenas se considerarmos a chave primária de outra entidade (proprietária). Um conjunto-entidade proprietário e um conjunto-entidade fraca têm que participar em um conjuntorelacionamento um-para-muitos (um proprietário, muitas entidades fracas). O conjunto-entidade fraca tem participação total no conjunto-relacionamento identificado. O conjunto de atributos de um conjunto-entidade fraca que unicamente a identifica para um dado proprietário é chamado de chave parcial (pname). Entidade forte: entidade dominante. Atributos São partes específicas de uma determinada entidade. São as informações que caracterizam a entidade. Exemplos de Atributos Poderiam ser atributos de uma entidade Aluno: nome, número da matrícula, cpf, data de ingresso no curso, endereço, telefone e data de nascimento.
16
INFORMÁTICA
Representação Gráfica
Dicionário de dados O dicionário de dados é um banco de dados do sistema e não um banco de dados do usuário. O dicionário contém ―dados sobre os dados‖ (chamados de metadados). Ou seja, definições de outros objetos do sistema, em vez de ―dados brutos‖. Em particular, todas as restrições de segurança e integridade estarão armazenadas, tanto na forma de fonte quanto de objeto, no dicionário. 1.5.2 Relacionamento Associação entre duas ou mais entidades. Chamamos de relacionamento a associação entre duas entidades ou entre uma entidade e ela mesma. Para expressar, em um modelo, quais as disciplinas nas quais um aluno está matriculado nós poderíamos definir o relacionamento: O aluno está matriculado em... Conjunto-Relacionamento: coleção de relacionamentos similares. • Um mesmo conjuntos-entidade pode participar em diferentes conjuntos-relacionamentos ou em diferentes papéis no mesmo conjunto (por ex. papéis de supervisor e subordinado entre empregados). Atributo Descritivo: registram informação sobre o relacionamento. Relacionamentos: Os relacionamentos entre dados de diferentes tabelas podem ser de três tipos: 1 – 1 (um para um); 1 – N (um para vários) ; N – N (vários para vários).
17
INFORMÁTICA
BANCO DE DADOS
1 – 1 (um para um): Este tipo de relacionamento se dá, de forma direta entre duas tabelas, quando a chave primária do registro de uma determinada tabela pode ser utilizada uma única vez em um dos registros da outra tabela. Relacionamentos do tipo um-para-um podem ser representados em até três tabelas, de acordo com a obrigatoriedade do relacionamento. 1 – N (um para vários ou um para muitos): Tipo de relacionamento que também acontece de forma direta entre duas tabelas sempre que a chave primária do registro de uma determinada tabela é utilizada várias vezes em outra tabela, sendo este, o tipo de relacionamento mais comum entre tabelas de um banco de dados relacional. N – N (vários para vários ou muitos para muitos): É um tipo de relacionamento que acontece de forma indireta entre duas tabelas, pois para que ele possa ser concebido é necessário a geração de uma terceira tabela. Na prática o relacionamento vários para vários não existe de fato, o que existe é dois ou mais relacionamentos um para vários, que ganha o sentido de vários para vários. Ocorre sempre que surge a necessidade de se relacionar duas chaves primárias de registros de diferentes tabelas em vários registros de uma terceira tabela.
Dois elementos são vitais para o relacionamento de tabelas de dados: chave primária e chave estrangeira No qual chave primária é o principal campo dos registros de cada tabela, o campo que distingue cada registro de forma inequívoca, que nunca se repete dentro de uma mesma tabela (ex: CPF). A chave estrangeira é a chave primária de uma tabela quando informada em outra tabela para estabelecer o relacionamento de dados. 18
INFORMÁTICA
BANCO DE DADOS RELACIONAL 2.1 Modelo Relacional O modelo relacional é um modelo de dados, adequado a ser o modelo subjacente de um Sistema Gerenciador de Banco de Dados (SGBD), que se baseia no princípio em que todos os dados estão guardados em tabelas (ou, matematicamente falando, relações). Um Banco de Dados Relacional é um conceito abstrato que define maneiras de armazenar, manipular e recuperar dados estruturados unicamente na forma de tabelas, construindo um banco de dados. O termo é aplicado aos próprios dados, quando organizados dessa forma, ou a um Sistema Gerenciador de Banco de Dados Relacional (SGBDR) – do inglês Relational database management system (RDBMS) – um programa de computador que implementa a abstração. 2.1.1 As 13 regras Em 1985, Edgar Frank Codd, criador do modelo relacional, publicou um artigo onde definia 13 regras para que um Sistema Gerenciador de Banco de Dados (SGBD) fosse considerado relacional: Regra Fundamental: Um SGBD relacional deve gerir os seus dados usando apenas suas capacidades relacionais Regra da informação: Toda informação deve ser representada de uma única forma, como dados em uma tabela. Regra da garantia de acesso: Todo o dado pode ser acedido logicamente (e unicamente) usando o nome da tabela, o valor da chave primária da linha e o nome da coluna. Tratamento sistemático de valores nulos: Os valores nulos (diferente do zero, da string vazia, da string de caracteres em brancos e outros valores não nulos) existem para representar dados não existentes de forma sistemática e independente do tipo de dado. Catálogo dinâmico on-line baseado no modelo relacional: A descrição do banco de dados é representada no nível lógico como dados ordinários (isto é, em tabelas), permitindo que usuários autorizados apliquem as mesmas formas de manipular dados aplicada aos dados comuns ao consultá-las. 19
INFORMÁTICA
BANCO DE DADOS RELACIONAL
Regra da sub-linguagem abrangente: Um sistema relacional pode suportar várias linguagens e formas de uso, porém deve possuir ao menos uma linguagem com sintaxe bem definida e expressa por cadeia de caracteres e com habilidade de apoiar a definição de dados, a definição de visões, a manipulação de dados, as restrições de integridade, a autorização e a fronteira de transações. Regra da atualização de visões: Toda visão que for teoricamente atualizável será também atualizável pelo sistema. Inserção, atualização e eliminação de alto nível: Qualquer conjunto de dados que pode ser manipulado com um único comando para retornar informações, também deve ser manipulado com um único comando para operações de inserção, atualização e exclusão. Simplificando, significa dizer que as operações de manipulação de dados devem poder ser aplicadas a várias linhas de uma vez, ao invés de apenas uma por vez. Independência dos dados físicos: Programas de aplicação ou atividades de terminal permanecem logicamente inalteradas quaisquer que sejam as modificações na representação de armazenagem ou métodos de acesso internos. Independência lógica de dados Programas de aplicação ou atividades de terminal permanecem logicamente inalteradas quaisquer que sejam as mudanças de informação que permitam teoricamente a não alteração das tabelas base. Independência de integridade: As relações de integridade específicas de um banco de dados relacional devem ser definidas em uma sublinguagem de dados e armazenadas no catálogo (e não em programas). Independência de distribuição: A linguagem de manipulação de dados deve possibilitar que as aplicações permaneçam inalteradas estejam os dados centralizados ou distribuídos fisicamente. Regra da Não-subversão: Se o sistema relacional possui uma linguagem de baixo nível (um registro por vez), não deve ser possível subverter ou ignorar as regras de integridade e restrições definidas no alto nível (muitos registros por vez). No Modelo Relacional o banco de dados é representado como um conjunto de relações.
20
as linhas denominam-se tuplas; as colunas, atributos; e a tabela em si, relação (ELMASRI; NAVATHE)
Domínio Um domínio D é um conjunto de valores atômicos, isto é, cada valor do domínio é indivisível segundo o contexto sobre o qual o modelo é concebido. Um método comum de especificar um domínio consiste em especificar o tipo de dado segundo o qual os valores dos dados que formam o domínio são estabelecidos. Exemplos: Alunos_Matrículas: Conjunto de 5 dígitos válidos como matrícula Alunos_Datas_Nascimento: Conjunto de datas válidas. Além de nome, tipo de dado e formato, informações adicionais podem ser fornecidas para facilitar a interpretação dos valores do domínio. Exemplos: Alunos_Datas_Nascimento: Conjunto de datas compreendidas entre 01/01/1950 e 31/12/1982. Alunos_Sexo: Deve ser ‗M‘ ou ‗F‘.
21
INFORMÁTICA
Considerando que uma relação é, de certo modo, similar a uma tabela de valores e aplicando a terminologia do Modelo Relacional diz-se que:
INFORMÁTICA
BANCO DE DADOS RELACIONAL
Relação (Relation Schema R) Uma relação R, denotada por R(A1, A2, . . . , An), representa uma relação de nome R e uma lista de atributos A1, A2, . . . , An. Cada atributo Ai refere-se a um domínio correspondente D na relação R. D é chamado de domínio de Ai e é denotado por dom(Ai). O grau da relação R é o número de atributos que ela contém. Exemplo: ALUNO (Matrícula, Nome, DataNascimento, Sexo ) ALUNO é o nome da Relação e seu grau é 4 porque tem quatro atributos. Seus domínios são: dom ( Matrícula ) = Matrículas dom ( Nome ) = Nomes dom ( DataNascimento ) = Datas_Nascimento dom ( Sexo ) = Sexos
Tupla Uma instância r de uma relação R(A1, A2, . . . , An), também denotada por r(R), é um conjunto de n-tuplas r = { t1, t2, ..., tm }. Cada n-tupla t é uma lista ordenada de n valores t = <v1, v2, ..., vn>, na qual cada valor vi, 1<i<n, é um elemento do domínio dom (Ai) ou é nulo.
22
INFORMÁTICA
2.1.2 Restrições No Modelo Relacional Restrições de domínio Restrições de domínio especificam que o valor de cada atributo A deve ser um valor atômico pertencente ao domínio dom(A) para este atributo. Os tipos de dados associados a domínios incluem os numéricos inteiros, reais, caracteres, strings de tamanho fixo, strings de tamanho variável, data, etc. Os domínios podem ainda especificar um conjunto de valores válidos explicitamente identificados. Restrições de Chave ( Chave Primária = Primary Key ) Uma relação é definida como um conjunto de tuplas. Por definição, todos os elementos do conjunto são distintos, portanto, todas as tuplas em uma relação devem também ser distintas. Isto significa que não pode haver duas tuplas com a mesma combinação de valores para todos os atributos. Restrição de Integridade de Entidade A restrição de integridade de entidade estabelece que o valor para a chave primária não pode ser nulo. Isto porque o valor da chave primária é usado para identificar individualmente tuplas de uma relação. Restrições de chave e restrições de integridade de entidade são especificadas para cada relação individualmente. Restrição de Integridade Referencial A restrição de integridade referencial é especificada entre duas relações e é usada para manter a consistência entre as tuplas dessas duas relações. A restrição de integridade referencial estabelece que uma tupla em uma relação que se refere a outra relação deve se referir a uma tupla existente da outra relação. Chave Estrangeira ( Foreign Key ) As duas condições citadas a seguir, estabelecem a restrição de integridade referencial entre duas relações R1 e R2. Um atributo, ou conjunto de atributos, FK em uma relação R1, é (são) uma chave estrangeira de R1 se: 1. O(s) atributo(s) FK tem o mesmo domínio do(s) atributo(s) da chave primária PK da relação R2; diz-se que o(s) atributo(s) FK refere(m)-se à relação R2. 2. O(s) valor(es) de FK na tupla t1 de R1 existe(m) como o valor de uma PK em alguma tupla de R2 ou é nulo. Formalmente: t1 [FK] = t2 [PK].
23
INFORMÁTICA
BANCO DE DADOS RELACIONAL
Todas as restrições de integridade devem ser especificadas se desejamos manter as restrições para todas as instâncias do banco de dados. Portanto, em um sistema relacional, a linguagem de definição de dados (DDL) deve prover recursos para especificar os vários tipos de restrições para que o sistema gerenciador do banco de dados possa cumpri-los automaticamente. 2.1.3 Normalização de Bancos de Dados Relacionais Normalização é um processo a partir do qual se aplicam regras a todas as tabelas do banco de dados com o objetivo de evitar falhas no projeto, como redundância de dados e mistura de diferentes assuntos numa mesma tabela. Existem 3 formas normais mais conhecidas: 1FN - 1ª Forma Normal:todos os atributos de uma tabela devem ser atômicos, ou seja, a tabela não deve conter grupos repetidos e nem atributos com mais de um valor. Para deixar nesta forma normal, é preciso identificar a chave primária da tabela, identificar a(s) coluna(s) que tem(êm) dados repetidos e removê-la(s), criar uma nova tabela com a chave primária para armazenar o dado repetido e, por fim, criar uma relação entre a tabela principal e a tabela secundária. Por exemplo, considere a tabela Pessoas a seguir. PESSOAS = {ID+ NOME + ENDERECO + TELEFONES} Ela contém a chave primária ID e o atributo TELEFONES é um atributo multivalorado e, portanto, a tabela não está na 1FN. Para deixá-la na 1FN, vamos criar uma nova tabela chamada TELEFONES que conterá PESSOA_ID como chave estrangeira de PESSOAS e TELEFONE como o valor multivalorado que será armazenado. PESSOAS = { ID + NOME + ENDERECO } TELEFONES = { PESSOA_ID + TELEFONE } 24
ALUNOS_CURSOS={ ID_ALUNO + ID_CURSO + NOTA + DESCRICAO_CURSO } Nessa tabela, o atributo DESCRICAO_CURSO depende apenas da chave primária ID_CURSO. Dessa forma, a tabela não está na 2FN. Para tanto, cria-se uma nova tabela chamada CURSOS que tem como chave primária ID_CURSO e atributo DESCRICAO retirando, assim, o atributo DESCRICAO_CURSO da tabela ALUNOS_CURSOS. ALUNOS_CURSOS = {ID_ALUNO + ID_CURSO + NOTA} CURSOS = {ID_CURSO + DESCRICAO} 3FN - 3ª Forma Normal: para estar na 3FN, é preciso estar na 2FN. Além disso, os atributos não chave de uma tabela devem ser mutuamente independentes e dependentes unicamente e exclusivamente da chave primária (um atributo B é funcionalmente dependente de A se, e somente se, para cada valor de A só existe um valor de B). Para atingir essa forma normal, é preciso identificar as colunas que são funcionalmente dependentes das outras colunas não chave e extraí-las para outra tabela. Considere, como exemplo, a tabela FUNCIONARIOS a seguir. FUNCIONARIOS = { ID + NOME + ID_CARGO + DESCRICAO_CARGO } O atributo DESCRICAO_CARGO depende exclusivamente de ID_CARGO (atributo não chave) e, portanto, deve-se criar uma nova tabela com esses atributos. Dessa forma, ficamos com as seguintes tabelas: FUNCIONARIOS = { ID + NOME + ID_CARGO } CARGOS = { ID_CARGO + DESCRICAO } Conceitos básicos sobre a arquitetura e administração de Banco de Dados
2.2 Os Três Níveis da Arquitetura •A arquitetura ANSI/SPARC se divide em três níveis: interno, conceitual e externo. O nível interno: (físico) é o mais próximo do meio de armazenamento físico – ou seja, ele se ocupa do modo como os dados são fisicamente armazenados. O nível externo: (lógico do usuário) é o mais próximo dos usuários – ou seja, ele se ocupa do modo como os dados são vistos por usuários individuais. 25
INFORMÁTICA
2FN - 2ª Forma Normal: antes de mais nada, para estar na 2FN é preciso estar na 1FN. Além disso, todos os atributos não chaves da tabela devem depender unicamente da chave primária (não podendo depender apenas de parte dela). Para deixar na segunda forma normal, é preciso identificar as colunas que não são funcionalmente dependentes da chave primária da tabela e, em seguida, remover essa coluna da tabela principal e criar uma nova tabela com esses dados. Por exemplo, considere a tabela ALUNOS_CURSOS a seguir.
INFORMÁTICA
BANCO DE DADOS RELACIONAL
O nível conceitual: (lógico comunitário, ou apenas indireto) é o nível de ―simulação‖ entre o nível interno e o nível externo.
2.3 Mapeamentos •Além dos três níveis básicos, uma arquitetura envolve, em geral, certos mapeamentos: O mapeamento conceitual/interno Define a correspondência entre a visão conceitual e o banco de dados armazenado; O modo como os registros e campos conceituais são representados no nível interno. Se a estrutura do banco de dados armazenado for alterada – o mapeamento conceitual/interno terá de ser alterado para que possa permanecer invariável. Mapeamento conceitual /externo Define a correspondência entre uma visão externa específica e a visão conceitual; Em geral, as diferenças que podem existir entre esses dois níveis são semelhantes as que podem existir entre a visão conceitual e o banco de dados armazenado. Por exemplo: •Os campos podem ter diferentes tipos de dados; •Os nomes de campos e registros podem ser alterados; •Vários campos conceituais podem ser combinados em um único campo externo. 26
O administrador de dados – DA – é a pessoa que toma as decisões estratégicas com relação aos dados da empresa. •O administrador do banco de dados – DBA – é a pessoa que fornece o suporte técnico necessário para implantar as decisões. Assim, podemos descrever algumas das atribuições do DBA: Definir o esquema conceitual Cabe ao administrador de dados decidir quais informações devem ser mantidas no banco de dados. Identificar as entidades de interesse para a empresa e identificar as informações a serem registradas. Esse processo é referenciado como projeto lógico – de banco de dados. Uma vez que o DA tenha definido o conteúdo, o DBA então criará o esquema conceitual correspondente usando a linguagem de definição de dados. Definir o esquema interno O DBA também irá decidir como serão representados os dados no banco de dados armazenado. Em geral, esse processo é chamado projeto de banco de dados Físico. O DBA também deve definir o mapeamento conceitual/interno associado. Ligação com usuários A tarefa do DBA é fazer a ligação com os usuários, a fim de garantir que os dados de que eles necessitam estão disponíveis. Deve escrever os esquemas externos necessários, usando a linguagem de definição de dados externa aplicável. Os mapeamentos externos/conceituais correspondentes também devem ser definidos. Definir restrições de segurança e integridade As restrições de segurança e integridade podem ser consideradas uma parte do esquema conceitual. A linguagem de definição de dados conceitual deve incluir recursos para a especificação de tais restrições. Definir normas de descarga e recarga Uma vez que a empresa esteja comprometida com um sistema de banco de dados, ela se tornara dependente do sucesso desse sistema. Em caso de danos a qualquer parte do banco de dados – provocado por erro humano, falha do hardware, sistema operacional - é necessário reparar os dados em questão com um mínimo de demora e com o menor efeito possível sobre o restante do sistema. Por exemplo: os dados que não tenham sido danificados não devem ser afetados.
27
INFORMÁTICA
2.4 O Administrador do Banco de Dados
INFORMÁTICA
BANCO DE DADOS RELACIONAL
Monitorar o desempenho e responder a requisitos de mudanças O DBA é responsável pela organização do sistema de modo a se obter o melhor desempenho possível. É responsável por fazer os ajustes apropriados. Por exemplo: poderia ser necessário reorganizar o banco de dados armazenando de tempos em tempos para assegurar que os níveis de desempenho permanecerão aceitáveis. 3.4 O Sistema de Gerenciamento de Bancos de Dados O sistema de gerenciamento de bancos de dados (SGBD) é o software que trata de todo o acesso ao banco de dados: 1. Um usuário faz um pedido de acesso usando uma determinada sub- linguagem de dados (em geral em SQL). 2. O SGBD intercepta o pedido e o analisa. 3. O SGBD inspeciona, o esquema externo para esse usuário, o mapeamento externo/conceitual correspondente, o esquema conceitual, o mapeamento conceitual/interno e a definição da estrutura de armazenamento. 4. O SGBD executa as definições necessárias sobre o banco de dados armazenado. 3.4.1 Arquitetura Cliente/Servidor Um sistema de banco de dados pode ser considerado como tendo uma estrutura muito simples em duas partes: Servidor / Clientes. O servidor é o próprio SGBD. Ele tem todas as funções básicas do SGBD – definição dedados, manipulação de dados, segurança e integridade de dados. Os clientes são as diversas aplicações executadas sobre o SGBD – tanto aplicações escritas por usuários quanto aplicações internas. Ou seja, aplicações fornecidas pelo fabricante do SGBD ou por produtores independentes.
28
INFORMÁTICA
DADOS ESTRUTURADOS X DADOS NÃO-ESTRUTURADOS 3.1 Dados Estruturados Estão relacionados a um SGBD.
Dados organizados em blocos semânticos (relações) Dados de um mesmo grupo possuem as mesmas descrições (atributos) Descrições para todas as classes de um grupo possuem o mesmo formato (esquema) Dados mantidos em um SGBD são chamados de Dados Estruturados por manterem a mesma estrutura de representação (rígida), previamente projetada (esquema)
3.2 Dados Não Estruturados São os dados que não possuem uma estrutura definida. Normalmente caracterizados por documentos textos, imagens, vídeos, etc Nem as estruturas são descritas implicitamente Grande maioria dos dados atuais na Web e nas empresas seguem este formato. OBS: Dados semiestruturados são aqueles que já foram parcialmente processados.
29
INFORMÁTICA
PROTOTIPAÇÃO
PROTOTIPAÇÃO A modelagem de dados é composta por três etapas de abstração. Na primeira, a conceitual, utiliza-se o Sistema Facetado, que proporciona flexibilidade, ou seja, a possibilidade de criar e recriar novos agrupamentos entre as facetas, sem alterar significativamente a estrutura de programação e relacionamentos das tabelas do BD. Após a modelagem conceitual, chegamos às instruções de implementação do sistema. Na modelagem lógica, são apresentados maiores detalhes sobre o armazenamento dos dados e como serão relacionados. Conforme Heuser (2004), a modelagem lógica é o resultado ou produto da conversão de uma modelagem conceitual para um determinado tipo de banco de dados. Dentre os tipos, adotamos o modelo relacional, que consiste em um conjunto de tabelas, onde suas linhas representam um relacionamento entre um grupo de valores. Atualmente, muitos dos SGBD fazem uso do modelo relacional no desenvolvimento de suas aplicações. Date (2003, p. 93) complementa ao afirmar que ―a base da moderna tecnologia de banco de dados é, sem dúvida, o modelo relacional‖. A representação da modelagem conceitual em lógica foi criada no software Microsoft (MS) Office Visio, versão 2007. Apresentando formas predefinidas, modelos inteligentes e exemplos, o MS Office Visio oferece uma grande variedade de opções para atender às necessidades de diagramação em tecnologia da informação (TI), negócios, gerenciamento de processos e muito mais. O Visio possui uma categoria específica para BD e, dentre as suas opções, usamos o Diagrama de Modelo de Banco de Dados, conforme ilustrado na figura abaixo:
30
Na passagem da modelagem lógica para a física, ocorreram as definições (configurações) nas ―estruturas físicas de armazenamento dos dados, tais como: tamanho dos campos, índices, tipo de preenchimento destes campos, nomenclaturas, etc., projetados de acordo com os requisitos de processamento‖ (MACHADO; ABREU, 1996, p. 25). Esta é a etapa final do desenvolvimento do BD, preparando o sistema para ser usado pelo usuário. Nesta etapa (física), o nível de abstração é mínimo, pois a estrutura de armazenamento do BD e seus dados serão apresentados de maneira definitiva, ou seja, será disponibilizada a versão final ao usuário. O MS Access é um SGBD relacional e por isso sua programação ocorreu por meio de tabelas. No protótipo, conforme as definições da modelagem física, quanto aos recursos de software, foram criadas seis tabelas (entidades), conforme podem ser observados na figura abaixo, além dos seus campos (atributos). Também foram criadas três consultas para realizarem as pesquisas no sistema: Cons_Cat (consultar o cadastro), para consultar informações cadastrais do material após pesquisa realizada; Cons_Classif (consultar a classificação), necessária para associar o material aos seus conceitos (PMEST) no momento da pesquisa; e Cons_Rec (módulo de recuperação da informação), considerado um dos objetos mais importantes do sistema, pois é a partir desta consulta que as informações serão recuperadas e filtradas a partir das facetas (PMEST). Também foram criados formulários para a interface do sistema e uso, como Menu, Categorias, Classificação, Recuperação etc., além de dois relatórios.
31
INFORMÁTICA
Conforme pode ser observado na figura, a proposta de implementação do Sistema Facetado está organizada em diagramas, que representam as respectivas tabelas (entidades) do sistema, que por sua vez apresentam os dados e seus atributos, e, por fim, seus relacionamentos.
INFORMÁTICA
EXERCÍCIOS DE FIXAÇÃO
As tabelas e relacionamentos apresentados são uma tradução da modelagem lógica criada na etapa anterior. Primeiramente, o material é cadastrado no sistema. Em seguida, deve ser classificado em algum assunto e receber uma notação. Na tabela classificação, ocorrem três relações, sendo a primeira listar informações do material cadastrado, a segunda listar os assuntos presentes no sistema e a terceira adotar as facetas correspondentes ao assunto determinado. http://www.brapci.inf.br/index.php/article/download/45986
EXERCICIOS DE FIXAÇÃO 01. (CESPE - EBSERH - 2018) Usualmente, os data warehouses dão apoio a análises de série temporal e de tendências, as quais requerem maior volume de dados históricos do que os que geralmente são mantidos em bancos de dados transacionais. ( ) Certo ( ) Errado 02. (CESPE - EBSERH - 2018) A descoberta de novas regras e padrões em conjuntos de dados fornecidos, ou aquisição de conhecimento indutivo, é um dos objetivos de data mining. ( ) Certo ( ) Errado 03. (CESPE - EBSERH - 2018) Após um banco de dados ser criado, o administrador executa uma série de tarefas para dar permissão de acesso aos usuários que necessitam ler e gravar informações na base de dados. A responsabilidade de gerir os acessos ao banco de dados é do sistema gerenciador de banco de dados (SGBD). ( ) Certo ( ) Errado 04. (CESPE - EBSERH - 2018) Em normalização, a primeira forma normal é caracterizada por uma tabela com a existência obrigatória de uma chave primária e uma chave estrangeira. ( ) Certo ( ) Errado 05. (CESPE - EBSERH - 2018) As soluções de big data focalizam dados que já existem, descartam dados não estruturados e disponibilizam os dados estruturados. ( ) Certo ( ) Errado 06. (CESPE – STJ – 2018) Generalização é o processo de definição de um tipo de entidade a partir de duas ou mais entidades que possuem atributos em comum — por exemplo, as entidades carro e ônibus podem ser generalizadas na superclasse veículo. ( ) Certo ( ) Errado
32
( ) Certo ( ) Errado 08. (CESPE – STJ – 2018) O data warehouse tem como finalidade a apresentação das informações necessárias para a identificação de indicadores e da evolução de valores ao longo de uma grande janela de tempo. 09. (CESPE – STJ – 2018) Relacionamentos do tipo um-para-um podem ser representados em até três tabelas, de acordo com a obrigatoriedade do relacionamento. ( ) Certo ( ) Errado 10. (CESPE – TCN-BA – 2018 ** Adaptada) Cada tupla contém exatamente um valor para cada um de seus atributos. ( ) Certo ( ) Errado 11. (CESPE - TCN-BA - 2018 ** Adaptada) Uma entidade forte existe no banco de dados e possui atributos que a identificam sem que ela precise estar associada a outra entidade identificadora. ( ) Certo ( ) Errado 12. (CESPE - ABIN - 2018) Chave primária é o conjunto de um ou mais atributos para identificar uma tupla de uma entidade. ( ) Certo ( ) Errado 13. (CESPE – STM – 2018) Uma tabela estará na segunda forma normal (2FN) quando, além de estar na terceira forma normal (3FN), ela contiver dependências funcionais parciais. ( ) Certo ( ) Errado 14. (CESPE – STM – 2018) A passagem à terceira forma normal (3FN) tem como objetivo principal gerar o modelo lógico de dados; por isso, ela não visa eliminar redundância de dados, como ocorre com as demais formas normais. ( ) Certo ( ) Errado 15. (CESPE – STM – 2018) O modelo conceitual, que reflete uma estrutura simplificada do banco de dados, é responsável por registrar como os dados estão armazenados no sistema de gerenciamento de banco de dados (SGBD). ( ) Certo ( ) Errado
33
INFORMÁTICA
07. (CESPE - STJ - 2018) O processo de mineração de dados está intrinsecamente ligado às dimensões e a fato, tendo em vista que, para a obtenção de padrões úteis e relevantes, é necessário que esse processo seja executado dentro dos data warehouses.
INFORMÁTICA
EXERCÍCIOS DE FIXAÇÃO
16. (CESPE – STM – 2018) A transformação do esquema de tabela não normalizada em um esquema relacional na primeira forma normal (1FN) consiste da eliminação das tabelas aninhadas. ( ) Certo ( ) Errado 17. (CESPE – CGM-JP – 2018) Business intelligence pode ser definido como um processo inteligente de coleta, organização, análise, compartilhamento e monitoração de dados que, depois de processados, geram informações para o suporte e para a tomada de decisões no ambiente de negócios. ( ) Certo ( ) Errado 18. (CESPE – TRE-TO – 2017) Quanto ao Biga Data, o MapReduce é considerado um modelo de programação que permite o processamento de dados massivos em um algoritmo paralelo e distribuído. ( ) Certo ( ) Errado 19. (CESPE – TRF-1ª – 2018) Atomicidade é a propriedade que garante que as transações não sejam afetadas pelo funcionamento umas das outras nem tenham acesso aos resultados parciais entre si. ( ) Certo ( ) Errado 20. (CESPE - EBSERH - 2018) Em uma tabela na segunda forma normal, todos os atributos não chave são dependentes da chave primária. ( ) Certo ( ) Errado
GABARITOS COMENTADOS QUESTÃO 01. Comentários: Para além de manter um histórico de informações, o Data Warehouse cria padrões melhorando os dados analisados de todos os sistemas, corrigindo os erros e restruturando os dados sem afetar o sistema de operação, apresentando somente um modelo final e organizado para a análise. Data Warehouse (DW) (――Armazém de Dados‖) Banco de dados voltado para o suporte à tomada de decisão. Possivelmente derivado de vários bancos de dados operacionais Pode ser usado como base para executar OLAP (On-Line Analytical Processing) e outras tecnologias de análise de informação e extração de conhecimento. Gabarito: Certo
34
Comentários: Consiste em uma funcionalidade que agrega e organizam dados, encontrando neles padrões, associações, mudanças e anomalias relevantes. O Data Mining busca padronizar sistemas e subconjuntos de dados. Segue três etapas básicas: • Exploração • Construção de modelo • Definição de padrão • Validação e verificação Gabarito: Certo QUESTÃO 03. Comentários: É constituído por um conjunto de dados inter-relacionados e um conjunto de programas para acessá-los. Sua característica principal é prover uma maneira adequada de recuperação e armazenamento de dados, no Banco de Dados. Regra geral, um SGBD é projetado para gerenciar grandes volumes de dados. Gabarito: Certo QUESTÃO 04. Comentários: •1FN - 1ª Forma Normal: todos os atributos de uma tabela devem ser atômicos, ou seja, a tabela não deve conter grupos repetidos e nem atributos com mais de um valor. • Para deixar nesta forma normal, é preciso identificar a chave primária da tabela, identificar a(s) coluna(s) que tem(êm) dados repetidos e removê-la(s), criar uma nova tabela com a chave primária para armazenar o dado repetido e, por fim, criar uma relação entre a tabela principal e a tabela secundária. Gabarito: Errado QUESTÃO 05. Comentários: As soluções de big data focalizam dados que já existem, dados não estruturados e disponibilizam os dados estruturados. Gabarito: Errado QUESTÃO 06. Comentários: Especialização e Generalização Especialização: Processo de definição de um conjunto de sub-classes (sub-tipos) de um tipo de entidade. Generalização: Processo de definição de um tipo de entidade genérica (super-classe ou super-tipo) a partir de um conjunto de tipos de entidade. Gabarito: Certo 35
INFORMÁTICA
QUESTÃO 02.
INFORMÁTICA
GABARITOS COMENTADOS
QUESTÃO 07. Comentários: A mineração de dados pode ser usada junto com um data warehouse. Gabarito: Errado QUESTÃO 08. UESTComentários: Data warehouse é um depósito de dados digitais que serve para armazenar informações detalhadas relativamente a uma empresa, criando e organizando relatórios através de históricos que são depois usados pela empresa para ajudar a tomar decisões importantes com base nos fatos apresentados. Gabarito: Certo QUESTÃO 09. Comentários: Os relacionamentos entre dados de diferentes tabelas podem ser de três tipos: 1 – 1 (um para um); 1 – N (um para vários) ; N – N (vários para vários). 1 – 1 (um para um): Este tipo de relacionamento se dá, de forma direta entre duas tabelas, quando a chave primária do registro de uma determinada tabela pode ser utilizada uma única vez em um dos registros da outra tabela. Relacionamentos do tipo um-para-um podem ser representados em até três tabelas, de acordo com a obrigatoriedade do relacionamento. 1 – N (um para vários ou um para muitos): Tipo de relacionamento que também acontece de forma direta entre duas tabelas sempre que a chave primária do registro de uma determinada tabela é utilizada várias vezes em outra tabela, sendo este, o tipo de relacionamento mais comum entre tabelas de um banco de dados relacional. N – N (vários para vários ou muitos para muitos): É um tipo de relacionamento que acontece de forma indireta entre duas tabelas, pois para que ele possa ser concebido é necessário a geração de uma terceira tabela. Na prática o relacionamento vários para vários não existe de fato, o que existe é dois ou mais relacionamentos um para vários, que ganha o sentido de vários para vários. Ocorre sempre que surge a necessidade de se relacionar duas chaves primárias de registros de diferentes tabelas em vários registros de uma terceira tabela. Gabarito: Certo
36
Comentários: Tupla Uma instância r de uma relação R(A1, A2, . . . , An), também denotada por r(R), é um conjunto de n-tuplas r = { t1, t2, ..., tm }. Cada n-tupla t é uma lista ordenada de n valores t = <v1, v2, ..., vn>, na qual cada valor vi, 1<i<n, é um elemento do domínio dom (Ai) ou é nulo.
Gabarito: Certo QUESTÃO 11. Comentários: Entidades Fracas Uma entidade fraca pode ser identificada unicamente apenas se considerarmos a chave primária de outra entidade (proprietária). Um conjunto-entidade proprietário e um conjunto-entidade fraca têm que participar em um conjuntorelacionamento um-para-muitos (um proprietário, muitas entidades fracas). O conjunto-entidade fraca tem participação total no conjunto-relacionamento identificado. O conjunto de atributos de um conjunto-entidade fraca que unicamente a identifica para um dado proprietário é chamado de chave parcial (pname). Entidade forte: entidade dominante. Gabarito: Certo QUESTÃO 12. Comentários: Chave primária A chave primária, ou primary key, é o conceito mais básico relacionado à organização em um banco de dados. São chaves cujo os atributos são usados para identificar as tuplas em uma relação. Gabarito: Certo
37
INFORMÁTICA
QUESTÃO 10.
INFORMÁTICA
GABARITOS COMENTADOS
QUESTÃO 13. Comentários: 2FN - 2ª Forma Normal: antes de mais nada, para estar na 2FN é preciso estar na 1FN. Além disso, todos os atributos não chaves da tabela devem depender unicamente da chave primária (não podendo depender apenas de parte dela). Para deixar na segunda forma normal, é preciso identificar as colunas que não são funcionalmente dependentes da chave primária da tabela e, em seguida, remover essa coluna da tabela principal e criar uma nova tabela com esses dados. Por exemplo, considere a tabela ALUNOS_CURSOS a seguir. ALUNOS_CURSOS={ ID_ALUNO + ID_CURSO + NOTA + DESCRICAO_CURSO } Nessa tabela, o atributo DESCRICAO_CURSO depende apenas da chave primária ID_CURSO. Dessa forma, a tabela não está na 2FN. Para tanto, cria-se uma nova tabela chamada CURSOS que tem como chave primária ID_CURSO e atributo DESCRICAO retirando, assim, o atributo DESCRICAO_CURSO da tabela ALUNOS_CURSOS. ALUNOS_CURSOS = {ID_ALUNO + ID_CURSO + NOTA} CURSOS = {ID_CURSO + DESCRICAO} Gabarito: Errado QUESTÃO 14. Comentários: Normalização é um processo a partir do qual se aplicam regras a todas as tabelas do banco de dados com o objetivo de evitar falhas no projeto, como redundância de dados e mistura de diferentes assuntos numa mesma tabela. Todo o processo de normalização visa, dentre outras coisas, reduzir a redundância de dados. Gabarito: Errado QUESTÃO 15. Comentários: Trata-se do : Nível Físico (interno) Descreve como os dados são realmente armazenados. Outros níveis: Nível Conceitual (lógico) Descreve quais dados estão armazenados e como eles se relacionam. Neste nível os usuários não se preocupam os aspectos físicos do armazenamento de dados. Nível de Visão (externo) Uma visão descreve parte de um banco de dados, de modo que, usuários do banco tenham acesso apenas aos dados que lhes dizem respeito. Um banco de dados tem muitas visões. Gabarito: Errado
38
Comentários: 1FN - 1ª Forma Normal: todos os atributos de uma tabela devem ser atômicos, ou seja, a tabela não deve conter grupos repetidos e nem atributos com mais de um valor. Para deixar nesta forma normal, é preciso identificar a chave primária da tabela, identificar a(s) coluna(s) que tem(êm) dados repetidos e removê-la(s), criar uma nova tabela com a chave primária para armazenar o dado repetido e, por fim, criar uma relação entre a tabela principal e a tabela secundária. Esta forma normal extingue tabelas aninhadas. Gabarito: Certo QUESTÃO 17. Comentários: Business Intelligence (BI) Focado na coleta, transformação e disponibilização de dados estruturados para a tomada de decisões; Analisa o que já existe, definindo as melhores hipóteses; Ideal para quando já se conhece as perguntas; Mais específico, voltado apenas para negócios. Gabarito: Certo QUESTÃO 18. Comentários: 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. O projeto é mantido pela Apache Foundation, mas conta com a colaboração de várias empresas, como Yahoo!, Facebook, Google e IBM. 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 da necessidade de servidores poderosos (e caros). Esta tecnologia recebeu o nome de MapReduce. Alguns meses depois, o Google apresentou o Google File System (GFS), um *sistema de arquivos especialmente preparado para lidar com processamento distribuído e, como não poderia deixar de ser no caso de uma empresa como esta, grandes volumes de dados (em grandezas de terabytes ou mesmo petabytes). Em poucas palavras, o sistema de arquivos é um conjunto de instruções que determina como os dados devem ser guardados, acessados, copiados, alterados, nomeados, eliminados e assim por diante. Gabarito: Certo
39
INFORMÁTICA
QUESTÃO 16.
INFORMÁTICA
GABARITOS COMENTADOS
QUESTÃO 19. Comentários: Atomicidade: Em uma transação envolvendo duas ou mais partes de informações discretas, ou a transação será executada totalmente ou não será executada, garantindo assim que as transações sejam atômicas. Qualidade de Dados Precisão: grau de correção. Consistência: grau de coerência entre os dados. Integridade: Atomicidade. Não falta pedaços do banco de dados e não há dados corrompidos. Abrangência: escopo do banco de dados como um todo. Granularidade: escopo mínimo de cada valor de dado.(valores totais, mínimos e/ou máximos para cada hora ou cada dia). Gabarito: Errado QUESTÃO 20. Comentários: 2FN - 2ª Forma Normal: antes de mais nada, para estar na 2FN é preciso estar na 1FN. Além disso, todos os atributos não chaves da tabela devem depender unicamente da chave primária (não podendo depender apenas de parte dela). Para deixar na segunda forma normal, é preciso identificar as colunas que não são funcionalmente dependentes da chave primária da tabela e, em seguida, remover essa coluna da tabela principal e criar uma nova tabela com esses dados. Gabarito: Certo
40