Escolar Documentos
Profissional Documentos
Cultura Documentos
Banco de Dados
Tribunal de Contas da União – 2021 - FGV
Ementa
• Conceitos básicos de bancos de dados
• Bancos de dados relacionais: teoria e implementação.
Conceitos básicos de bancos
de dados.
Dados x Informação
são fatos brutos, em Consiste no
Informação
Dados
Metadados
• Especificar os tipos, estruturas e restrições
dos dados
• Catálogo ou dicionário de dados
Funcionalidades do SGBD
Definir • Definição ou informação descritiva do banco de dados
• Inclui funções como consulta ao banco de dados para recuperar dados específicos,
Manipular atualização do banco de dados.
BANCO DE DADOS
Banco de Dados conjunto de dados estruturados que são
confiáveis, coerentes e compartilhados por usuários que têm
necessidades de informações diferentes.
Atomicidade Consistência
Isolamento Durabilidade
Atomicidade
• Uma transação é uma unidade de processamento
atômica que deve ser executada integralmente até
o fim ou não deve ser executada de maneira
alguma – é tudo ou nada.
• Tudo dá certo: COMMIT!
• Alguma coisa dá errado: ROLLBACK!
Consistência
• A execução de uma transação deve levar o banco de dados de um
estado consistente a um outro estado consistente.
1.041.897,57 -1.500,57
1.040.000,00
397,00
Isolamento
Funcionalidades
Backup (cópia de segurança)
COMMIT
Log de transação
Subsistema de recuperação
Resumindo
PROPRIEDADES DE UMA TRANSAÇÃO
Uma transação é uma unidade de processamento atômica que deve ser executada integralmente
A ATOMICIDADE até o fim ou não deve ser executada.
– Responsável: Subsistema de Recuperação.
A execução de uma transação deve levar o banco de dados de um estado consistente a um outro
C CONSISTÊNCIA estado consistente.
– Responsável: Programador ou Módulo de Restrições de Integridade.
Cada transação deve parecer executar isoladamente das demais, embora diversas transações
I ISOLAMENTO possam estar executando concorrentemente.
– Responsável: Subsistema de Controle de Concorrência.
Os efeitos de uma transação em caso de sucesso devem persistir no banco de dados mesmo em
D DURABILIDADE casos de quedas de energia, travamentos ou erros.
– Responsável: Subsistema de Recuperação.
Questão.
• FGV - Analista de Tecnologia da Informação (BANESTES)/Suporte e
Infraestrutura/2018
• As propriedades usualmente requeridas para transações em bancos de
dados são identificadas pela sigla ACID.
• Essas propriedades são:
• A assincronia, concorrência, integridade, durabilidade;
• B assincronia, consistência, isolamento, distribuição;
• C atomicidade, concorrência, integridade, durabilidade;
• D atomicidade, conformidade, independência, distribuição;
• E atomicidade, consistência, isolamento, durabilidade.
Questão
• Auditor de Contas Públicas (TCE-PB)/Demais Áreas/2018
• A respeito de SGBDs, assinale a opção correta.
• a) Um SGBD, por definição, não é flexível, dada a dificuldade de mudar a estrutura
dos dados quando os requisitos mudam.
• b) Um SGBD é um software que não prevê as funções de definição, recuperação e
alteração de dados, sendo essa tarefa a função básica de um sistema de banco de
dados.
• c) A consistência de dados é o princípio que determina a manutenção de
determinado dado em vários arquivos diferentes.
• d) Conforme o princípio da atomicidade, caso ocorra erro em determinada transação,
todo o conjunto a ela relacionado será desfeito até o retorno ao estado inicial, como
se a transação nunca tivesse sido executada.
• e) O controle de concorrência é o princípio que garante e permite a manipulação, no
mesmo momento, de um mesmo dado por mais de uma pessoa ou um sistema.
Atores em cena
Administrador de banco de dados (DBA)
Administrador de dados (AD)
DBA ou AD?
• Administrador de Dados (AD)
• É a pessoa que toma as decisões estratégicas e de normas com relação
aos dados da empresa.
• Administrador do Banco de dados (DBA)
• É a pessoa que fornece o suporte técnico necessário para implementar
essas decisões. Assim, o DBA é responsável pelo controle geral do sistema
em um nível técnico.
Admin. de Banco de Dados (DBA)
• Banco de dados
• Recurso principal
• SGBD e os software relacionados
• Recurso secundário
• DBA é o responsável
• Por autorizar o acesso ao banco de dados, coordenar e monitorar seu uso
e adquirir recursos de software e hardware conforme a necessidade
• Por resolver problemas como falha na segurança e demora no tempo de
resposta do sistema.
Atribuições do DBA
• Definir o esquema conceitual
• Definir o esquema interno
• Contato com os usuários
• Definir restrições de segurança e integridade
• Monitorar o desempenho e responder a requisitos de mudanças.
• Definir normas de descarga e recarga
Definir normas de descarga e recarga
• O DBA tem de definir e implementar um esquema apropriado de
controle de danos, em geral envolvendo:
1.Descarga ou “dumping” periódico do banco de dados para o meio de
armazenamento de backup e
2.Recarga ou “restauração” do banco de dados quando necessário, a partir
do “dump” mais recente.
Projetistas de Banco de Dados (ADs)
• Responsáveis:
• Identificar os dados a serem armazenados
• Escolher estruturas apropriadas para representar esses dados.
• Para isso ...
• Precisa se comunicar com todos os potenciais usuários a fim de entender
suas necessidades e criar um projeto que as atenda.
• Definem visões!
Atribuições do DA
• 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 sobre essas entidades (Projeto Lógico ou
conceitual)
• Padronizam os nomes dos objetos criados no BD;
• Gerenciam e auxiliam na definição das regras de integridade;
• Controlam a existência de informações redundantes;
• Trabalham de forma corporativa nos modelos de dados da
organização;
Usuários finais
• Pessoas cujas funções exigem acesso ao BD para consulta,
atualizações e geração de relatórios.
• São divididos em:
• Casuais - Ocasionalmente acessam o banco de dados
• Iniciantes ou paramétricos - Sua função principal gira em tordo de consultar e
atualizar o banco de dados constantemente, usando tipos padrão de consultas e
atualizações – denominadas transações programadas.
• Sofisticados - estão profundamente familiarizados com as facilidades do SGBD a
ponto de implementar as próprias aplicações
• Isolados - mantêm banco de dados pessoais usando pacotes de programas
prontos, que oferecem interfaces de fácil utilização, baseadas em menus ou
gráficos.
Toma decisões Fornece o suporte
estratégicas e de técnico necessário
normas em relação para implementar e
aos dados. manter os dados.
Vantagens de usar a
abordagem de SGBD
Objetivos do Desenvolvimento de Banco
de Dados
• Desenvolver um Vocabulário Comum
• Definir o Significado dos Dados
• Assegurar a Qualidade dos Dados
Benefícios de Banco de Dados
• O dado pode ser compartilhado
• A redundância pode ser reduzida
• Inconsistências podem ser evitadas
• Pode-se utilizar o suporte a transações
• A integridade pode ser mantida
• A segurança pode ser aperfeiçoada
• Requisitos conflitantes podem ser balanceados
• Padrões podem ser utilizados
Desvantagens dos Sistemas de Arquivos
• Redundância e inconsistência dos dados
• Dificuldade de acesso a dados
• Isolamento dos dados
• Problemas de Integridade
• Problemas de atomicidade
• Anomalias de acesso concorrente
• Problemas de Segurança
Vantagens de usar SGBDs
• Controle de redundância (Normalização)
• Restringir acesso a usuários não autorizados
• Processamento eficiente de consulta (Índices)
• Backup e recuperação
• Multiplas interfaces com o usuário (GUI/Web)
• Representa relacionamento complexo entre os dados
• Restrições de integridade (chave – singularidade, integridade
referencial, semântica)
Implicações adicionais
• Potencial para garantir padrões
• Tempo reduzido para desenvolvimento de aplicações
• Flexibilidade (mudança de estrutura)
• Disponibilidade de informações atualizadas
• Economia de escala
Recursos Comuns dos SGBDs
Conceituais
Alto nível
Representativos
Implementação
Físicos
Baixo nível
Exemplos de modelos de dados
• Modelo conceitual (baseado em objetos)
• Modelo E-R – entidades, atributos e relacionamentos
• Modelo representativo (baseado em registro)
• Modelo relacional
• Modelo de dados legados – rede e o hierárquico.
• Modelo físico
• Modelo unificador
• Modelo de memória em “frames”
Questão.
• FGV - Analista de Sistemas (AL MT)/Banco de Dados/2013
• O modelo de dados abstrato que descreve a estrutura de um banco de
dados de forma independente de um SGBD chama-se modelo
• A lógico.
• B conceitual.
• C físico.
• D algorítmico.
• E funcional.
Esquemas e instâncias
Estrutura de um Banco de Dados (BD)
• Instância ou ocorrências ou estado
• Coleção de dados armazenados no Banco de Dados em um determinado
instante
• Próprio banco de dados
• Extensão!!
• Esquema
• É o projeto geral do BD
• Descrição do banco
• Intenção, conotação!!
Esquema x Instância
Esquema Instância
Intenção Extensão
Conotação Estado
Descrição Ocorrências
Questão.
• FGV - Analista Legislativo (ALESP)/Administração de Banco de Dados e Arquitetura
de Dados/2002
• Quando falamos em banco de dados é necessário deixar clara a distinção entre
esquema de banco de dados e a instância no banco de dados. Esta distinção pode
ser descrita da seguinte forma:
• A Um conceito de um esquema de banco de dados corresponde, em linguagem de
programação, à noção de definição das entidades e relacionamentos.
• B A instância no banco de dados pode ser descrita como uma foto dos dados num
determinado momento.
• C O conceito de instância de relação corresponde, em linguagem de programação, à
noção de definição de tipos.
• D O conteúdo de uma instância de relação não pode mudar com o tempo, quando
esta relação for atualizada.
Questão
• FGV - Analista Legislativo (ALESP)/Administração de Banco de Dados e
Arquitetura de Dados/2002
• Qual a distinção entre valor e variável?
• A Um valor é uma constante individual e uma variável é um recipiente
para uma codificação de um valor.
• B Um valor não tem nenhum local no tempo nem no espaço e a variável
somente em alguns casos possui.
• C Um valor não pode ser atualizado, assim como as variáveis também
não.
• D Uma variável pode ser atualizada e os valores na maioria das vezes
também podem ser atualizados.
Arquitetura em três camadas e
independência de dados
Padrão ANSI-SPARC
• A ideia básica consistia na definição de níveis para a definição de
esquemas associados a um modelo de dados
Esquemas externos
ou visões do usuário
Independência de
dados lógica
Independência de
dados física
Independência de Dados
• A capacidade de alterar o esquema em um nível do sistemas de
banco de dados sem alterar o esquema no nível mais alto ... ou ...
• 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
• Independência física de dados
Esquemas
Conceituais Conceituais
Alto nível
Esquemas Representativos
Lógicos
Implementação
Físicos
Esquemas
Físicos Baixo nível
Que tal começarmos pela adega?
Modelo Relacional
Baseado na teoria de
Sucede os modelos de rede
conjuntos e lógica de
e hierárquico (Sistemas de
predicados de primeira
banco de dados legados).
ordem.
Modelo Relacional
• Cada linha representa um fato correspondente a uma entidade ou
um relacionamento do mundo real.
• O nome das tabelas e os nomes das colunas são usados para
ajudar na interpretação do significado dos valores em cada linha.
Conceitos básicos
Modelo relacional de dados: Relação
Domínio
Atributos Tipo de dados
Aprovados
Cabeçalho Id_Aprovado Nome Municipio CPF Posição
1 Max 2611606 11111111111 1
2 Silvinha 2604106 22222222222 2
Corpo
3 Claudio 2604106 33333333333 3
4 Thiago Null 44444444444 4
4 tuplas
Linhas da tabela
Aspectos do modelo relacional
Exemplificando
Relação: Consiste de um estrutura com cabeçalhos e corpo que serve para armazenar tuplas.
Propriedades:
1. Cada tupla contém exatamente um valor (do tipo apropriado) para cada atributo
2. Atributos não são ordenados da esquerda para a direita. Essa propriedade acontece, pois, uma tupla é
definida em termos de conjuntos matemáticos, que não possuem ordenação dos seus elementos
3. Tuplas não são ordenadas de cima para baixo
4. Não existem tuplas duplicadas
Estrutural - os dados no banco de dados são percebidos pelo usuário como tabelas
Neste caso, pense em uma tabela do Excel. Se estivermos falando de uma tabela no modelo relacional, ela
[1]
não pode conter linhas duplicadas e todos os seus atributos devem ser atômicos.
Restrição de Integridade
Modelo Relacional
Restrições de integridade (SGBD)
• As restrições de integridade resguardam o BD contra danos
acidentais, assegurando que mudanças não resultem na perda da
consistência dos dados.
• Integridade de Domínio
• Integridade de Chave
• Integridade de Vazio
• Integridade de Entidade
• Integridade Referencial
• Integridade Semântica
Integridade de Domínio
• Restrições de domínio
• Mais elementares formas de restrição de integridade
• Tipo do atributo
• É possível definir um domínio para um atributo restringindo seus valores
• X é inteiro – x >= 70 e x <= 100
• Tipo_Conta é string – tipo_Conta é um dos valores do conjunto (“Corrente”,
“Poupança”, “Investimento”)
Integridade de Chave
• Garante que as tuplas de uma relação sejam únicas.
• O valor de um atributo chave pode ser usado para identificar
exclusivamente cada tupla na relação.
• Em geral, um esquema de relação pode ter mais de uma chave,
neste caso cada uma das chaves é chamada de chave candidata.
Integridade de Vazio