Prévia do material em texto
Olá! Entendi perfeitamente sua necessidade de compreender esses conceitos de forma didática para a prova da Polícia Federal. Vamos desmistificar esses mapas mentais juntos! Eles abordam três tópicos cruciais em Tecnologia da Informação, especialmente para Bancos de Dados: Bancos de Dados (conceitos gerais), Modelagem Entidade-Relacionamento (MER) e o Modelo Relacional. 1. Bancos de Dados: Onde as Informações Moram Pense em um banco de dados como uma grande biblioteca muito organizada para guardar informações. · Características Fundamentais: · Isolamento e Abstração: Permite que as pessoas vejam apenas as informações que precisam, sem se preocupar com os detalhes técnicos de como tudo está guardado lá dentro. É como pegar um livro sem precisar saber como a biblioteca foi construída. · Suporte a Visões: Permite criar "visualizações" personalizadas dos dados para diferentes usuários, mostrando só o que é relevante para cada um. · Autodescrição: O próprio banco de dados sabe o que contém, qual a estrutura dos dados, seus tipos e formatos. Essa informação é chamada de Metadados (dados sobre os dados) e fica em um "catálogo" ou "dicionário de dados". · Compartilhamento e Transações: Várias pessoas podem acessar e modificar os dados ao mesmo tempo de forma segura. · As 4 Propriedades ACID para Transações: Imagine que você está fazendo uma operação importante, como transferir dinheiro. Essas propriedades garantem que a operação seja segura e confiável: · Atomicidade: É o "Tudo ou Nada". Ou a operação é concluída por completo (Commit) ou é desfeita por completo (Rollback), como se nunca tivesse acontecido. · Consistência: Garante que os dados estejam sempre válidos e sigam todas as regras e restrições estabelecidas. · Isolamento: As transações em andamento não interferem umas nas outras. É como se cada uma estivesse sendo executada sozinha. · Durabilidade: Uma vez que a transação é concluída, as alterações são permanentes e não se perdem, mesmo que o sistema caia. · SGBD (Sistema Gerenciador de Banco de Dados): É o software que gerencia essa "biblioteca". Ele permite a definição, construção, manipulação, compartilhamento, proteção e manutenção dos dados. Exemplos são Oracle, MySQL. · Modelos de Dados: São como os projetos de como o banco de dados será construído. Existem em três níveis: · Conceitual: É o nível mais abstrato e de fácil compreensão. Descreve os aspectos do mundo real e a coleção lógica de dados. Não depende de hardware ou software. Exemplo: Modelo Entidade-Relacionamento (veremos a seguir). · Lógico: Nível de compreensão média. Representa as estruturas do banco de dados e depende do tipo de SGBD (relacional, objetos, etc.). Exemplo: Modelo Relacional (veremos a seguir). · Físico: Nível de difícil compreensão. Descreve como os dados são realmente armazenados e é dependente do SGBD específico (Oracle, MySQL). · Arquitetura de 3 Esquemas: É uma forma de organizar o banco de dados em camadas para diferentes "visões": · Nível Externo (ou Nível Lógico de Usuário): A visão que o usuário final tem de parte do banco. · Nível Conceitual (ou Nível Lógico de Comunidade): A visão do banco de dados inteiro, de forma lógica. · Nível Interno: Descreve como os dados são armazenados fisicamente. · Principais Modelos Lógicos: · Relacional: Dados organizados como uma coleção de tabelas bidimensionais (linhas e colunas). · Objetos: Dados como objetos, com propriedades e operações. · Objeto-Relacional: Relacional com extensões para modelos de objetos. · XML: Estrutura de árvore hierárquica com uso de tags. · Rede: Registros relacionados na forma um para muitos. · Hierárquico: Estruturas de árvores hierárquicas de pais e filhos. · Dimensional: Matrizes multidimensionais (cubos de dados), comum em Data Warehouses. · NoSQL: Estruturas flexíveis (chave-valor, colunar, documental ou grafos), para dados não estruturados ou semi-estruturados. 2. Modelagem Entidade-Relacionamento (MER): Desenhando o Mundo Real O MER é a ferramenta usada na fase conceitual para descrever os dados do mundo real de forma visual, antes de pensar em como eles serão guardados no computador. · Entidade: É um conjunto de objetos sobre os quais se deseja guardar informações. Pense em coisas, pessoas, lugares. · Exemplo: "Pessoa", "Departamento". · Uma Ocorrência ou Instância é um objeto específico de uma entidade. Ex: "João" (uma pessoa específica). · Entidade Forte: Não depende de outra entidade para existir. · Entidade Fraca: Depende de outra entidade para existir (também chamada Entidade Dependente). Não possui atributos suficientes para identificar suas ocorrências sozinha. · Atributo: É uma característica de uma entidade ou relacionamento. · Exemplo: ID, nome (para "Pessoa"). · Tipos de Atributos: · Simples: Aceita um único valor e não pode ser dividido. Ex: "nome". · Composto: Pode ser subdividido em atributos menores. Ex: "Endereço" (pode ter "Rua", "Número", "Bairro"). · Multivalorado: Aceita mais de um valor. Ex: "Telefones" de uma pessoa. · Monovalorado: Aceita apenas um valor. · Derivado: Obtido a partir de outro atributo. Ex: "Idade" (derivada da "Data de Nascimento"). · Armazenado: Efetivamente gravado no banco. · Identificador ou Chave: Distingue uma ocorrência de outra, ou seja, identifica unicamente cada "item" da entidade. · Relacionamento: É uma associação entre entidades. Descreve como as entidades se conectam. · Grau do Relacionamento: Quantas entidades estão envolvidas. · Unário (ou recursivo/autorrelacionamento): Uma entidade se relaciona consigo mesma. Ex: "Um funcionário gerencia outros funcionários". · Binário: Duas entidades se relacionam. · Ternário: Três entidades se relacionam. · Cardinalidade: Define o número de ocorrências de uma entidade que podem se associar a ocorrências de outra entidade no relacionamento. · Mínima: 0 (opcional) ou 1 (obrigatória). · Máxima: 1 ou N (muitos). · Exemplos de Cardinalidade: · 1:1 (Um para Um): Uma ocorrência de E1 se relaciona com apenas uma ocorrência de E2. · 1:N (Um para Muitos): Uma ocorrência de E1 se relaciona com muitas de E2, mas cada E2 se relaciona com apenas uma E1. · N:N (Muitos para Muitos): Muitas ocorrências de E1 se relacionam com muitas de E2, e vice-versa. · Tipos de Relacionamento (com base na cardinalidade e participação): O mapa mental mostra símbolos visuais para: · Relacionamento identificador. · Não identificador / mandatório (participação obrigatória). · Não identificador / não mandatório (participação opcional). · Entidade Associativa: Um relacionamento N:N que é tratado como uma entidade porque pode ter seus próprios atributos. · Generalização/Especialização: Permite modelar hierarquias. Uma "espécie" (subclasse) herda atributos e relacionamentos de um "gênero" (superclasse). Ex: "Pessoa" (gênero) pode ser "Funcionário" ou "Cliente" (espécies). 3. Modelo Relacional: A Tabela é a Rainha O Modelo Relacional é o mais usado hoje em dia e organiza os dados em tabelas. · Tabela (ou Relação): É a estrutura básica. · Cada linha é uma tupla, um registro ou uma ocorrência. · Cada coluna é um atributo ou um campo. · A ordem das linhas não é relevante. · A ordem das colunas é relevante. · Domínio: É o tipo de valor que um atributo pode aceitar (ex: números inteiros, texto, datas). · Grau/Aridade: É o número de colunas de uma tabela. · Aspecto de Integridade (Restrições): Regras que garantem a validade e consistência dos dados. · Chaves: · Superchave: Um conjunto de um ou mais atributos que identifica univocamente uma tupla (linha) na tabela. · Chave Candidata: Uma superchave mínima (não tem atributos supérfluos). Pode haver várias chaves candidatas em uma tabela. · Chave Primária: A chave candidata escolhida para ser a principal identificadora de uma tupla. Não pode ser nula e seus valores devem ser únicos. · Chave Estrangeira: Um atributo (ou conjunto de atributos) em uma tabela que referencia a chave primária (ou candidata) de outra tabela. É usada para associar registros entre tabelas. A chave estrangeira deve referenciar um valor existente na tabela de origem.· Álgebra Relacional: É um conjunto de operações para manipular tabelas. Pense como se fossem "contas" que você faz com as tabelas para extrair informações. · Operações Unárias (aplicadas a uma tabela): · Seleção (σ): Filtra linhas que satisfazem uma condição. Ex: "Selecione todos os clientes do Rio de Janeiro". · Projeção (П): Filtra colunas específicas. Ex: "Mostre apenas o nome e o telefone dos clientes". · Renomeação (ρ): Altera o nome de uma tabela ou atributo. · Operações Binárias (aplicadas a duas tabelas): · Produto Cartesiano (X): Combina cada linha de uma tabela com cada linha de outra, sem nenhuma condição. · União (∪): Tuplas que estão na primeira tabela, na segunda, ou em ambas. · Diferença (-): Tuplas que estão na primeira tabela, mas não na segunda. · Intersecção (∩): Tuplas que aparecem em ambas as tabelas. · Junção (⋈): Combina pares de linhas de duas tabelas com base em uma condição, geralmente para ligar tabelas que possuem relação. É uma das mais importantes! · Divisão (÷): Filtra tuplas de uma relação que possuem correspondência com todas as tuplas de outra relação. · Atribuição (←): Armazena o resultado de uma operação em uma tabela temporária. · Formas Normais (Normalização): São regras para organizar as tabelas de um banco de dados para reduzir redundâncias (informações repetidas) e evitar anomalias (problemas ao inserir, atualizar ou excluir dados). · 1FN (Primeira Forma Normal): Todos os atributos devem ser atômicos (indivisíveis), sem valores compostos ou multivalorados. · 2FN (Segunda Forma Normal): Estar na 1FN e não possuir dependência parcial (um atributo não chave não pode depender de apenas parte da chave primária composta). · 3FN (Terceira Forma Normal): Estar na 2FN e não possuir dependência transitiva (um atributo não chave não pode depender de outro atributo não chave). · FNBC (Forma Normal de Boyce-Codd): Mais rigorosa que a 3FN. Todo determinante (atributo que determina outro) deve ser chave. · Existem ainda a 4FN e 5FN, que lidam com dependências multivaloradas e de junção, respectivamente. · Visão (VIEW): É uma tabela virtual. Ela armazena a consulta, mas não copia os dados fisicamente. É como uma "janela" para os dados, sempre mostrando as informações mais recentes. · Visão Materializada (MATERIALIZED VIEW): É uma tabela física auxiliar. Ela armazena o resultado de uma consulta e copia os dados. Ajuda a agilizar consultas complexas, mas precisa ser atualizada. · Índices: São estruturas que agilizam consultas por meio de "caminhos alternativos" para encontrar dados rapidamente. Pense no índice remissivo de um livro, que te ajuda a achar o tópico desejado sem ler tudo. Espero que essa explicação detalhada, com analogias e foco nos pontos principais, te ajude a assimilar o conteúdo para sua prova da PF! Conte comigo se tiver mais dúvidas.