Banco de dados relacional, chaves e relacionamentos
6 min de leituraPodcast de 24 min13 questões
Cai no edital de Agente PF, Escrivão PF, Papiloscopista PF, Polícia Penal Federal
Para revisar
Resumo
No modelo relacional (Codd, 1970), os dados ficam em relações, as tabelas. O sistema gerenciador de banco de dados (SGBD) controla acesso, integridade, concorrência e recuperação.
- Tabela: linhas são tuplas (registros); colunas são atributos (campos).
- Chave primária: identifica cada linha; não aceita nulo nem repetição.
- Chave estrangeira: referencia a chave de outra tabela; pode repetir e pode ser nula.
- Relacionamentos: 1:1, 1:N e N:N; o N:N exige tabela associativa.
- ACID: atomicidade, consistência, isolamento e durabilidade.
- Normalização: reduz redundância e anomalias.
Entenda
Estrutura relacional
| Termo formal | Termo informal |
|---|---|
| Relação | Tabela |
| Tupla | Linha, registro |
| Atributo | Coluna, campo |
| Domínio | Conjunto de valores válidos do atributo |
| Grau | Número de atributos (colunas) |
| Cardinalidade | Número de tuplas (linhas) |
Ex.: a tabela VEICULO(placa, renavam, ano), com 500 linhas, tem grau 3 e cardinalidade 500.
Chave primária e chaves candidatas
Chave candidata é o conjunto mínimo de colunas que identifica cada linha. Uma delas é escolhida como chave primária (PK); as outras ficam como chaves alternativas, com restrição UNIQUE. A PK não aceita valor nulo nem repetido. A tabela tem uma só PK, que pode ser composta por várias colunas. A chave natural usa dado do mundo real (CPF); a substituta é um identificador gerado pelo sistema.
Ex.: em PESSOA(id, cpf, nome), id e cpf são candidatas. Escolhida id como PK, cpf vira chave alternativa.
Chave estrangeira e integridade referencial
A chave estrangeira (FK) é a coluna que referencia a PK, ou uma coluna UNIQUE, de outra tabela. Garante a integridade referencial: o valor da FK existe na tabela referenciada ou é nulo. A FK pode se repetir. As ações referenciais definem o que ocorre com os filhos quando o pai é apagado:
- CASCADE: apaga também os filhos.
- SET NULL: anula a FK dos filhos.
- RESTRICT ou NO ACTION: impede apagar pai que tenha filhos.
Ex.: VEICULO(placa, cpf_dono), em que cpf_dono é FK para PESSOA. Três veículos podem ter o mesmo cpf_dono. Com ON DELETE CASCADE, apagar a pessoa apaga os três veículos.
Restrições de integridade
- De domínio: o valor respeita o tipo e a faixa permitida.
- De entidade: a PK é única e não nula.
- Referencial: a FK aponta para registro existente ou é nula.
Ex.: gravar o ano "20X5" viola o domínio. Gravar veículo sem placa, sendo a placa a PK, viola a integridade de entidade. Gravar cpf_dono inexistente em PESSOA viola a referencial.
Relacionamentos
- 1:1: a FK fica em uma das tabelas, com restrição de unicidade.
- 1:N: a FK fica na tabela do lado N.
- N:N: exige uma terceira tabela, a associativa, com as FKs das duas.
Ex.: uma pessoa pode ser investigada em vários inquéritos, e um inquérito pode ter várias pessoas. Cria-se INVESTIGADO(cpf, num_inquerito).
Transações e ACID
Transação é o conjunto de operações tratado como unidade.
- Atomicidade: tudo é executado, ou nada tem efeito.
- Consistência: o banco sai de um estado válido para outro estado válido.
- Isolamento: transações simultâneas não interferem entre si.
- Durabilidade: o que foi confirmado (commit) persiste, mesmo após falha.
Ex.: transferência bancária debita uma conta e credita outra. Se o sistema cai depois do débito e antes do crédito, a atomicidade desfaz o débito.
Normalização
Organiza as tabelas para reduzir redundância e evitar anomalias de inclusão, alteração e exclusão.
- 1FN: todos os atributos têm valores atômicos; sem grupos repetidos.
- 2FN: está na 1FN e não há dependência parcial da chave primária.
- 3FN: está na 2FN e não há dependência transitiva.
A desnormalização é escolha consciente em favor do desempenho de leitura, comum em data warehouse.
Ex.: PEDIDO(num, cod_cliente, nome_cliente). O nome depende do código do cliente, que depende do número do pedido: dependência transitiva, que fere a 3FN. O nome vai para a tabela CLIENTE.
Índices, catálogo e níveis de abstração
- Índice: acelera a busca; em troca, ocupa espaço e torna as gravações mais lentas.
- Dicionário de dados (catálogo): guarda os metadados de tabelas, colunas e restrições.
- Arquitetura de três níveis (ANSI/SPARC): externo (visões do usuário), conceitual (lógico) e interno (físico). A separação dá independência de dados: muda-se um nível sem alterar os outros.
Ex.: criar índice em placa torna rápida a busca por placa. Cada novo veículo gravado, porém, também atualiza o índice.
Quadro
| Ponto | Chave primária | Chave estrangeira |
|---|---|---|
| Função | Identificar a linha | Ligar a outra tabela |
| Aceita nulo | Não | Sim |
| Aceita repetição | Não | Sim |
| Quantas por tabela | Uma (simples ou composta) | Várias |
| Integridade garantida | De entidade | Referencial |
Como a banca cobra
- "A chave estrangeira não pode conter valores repetidos." → errado (no 1:N, vários filhos apontam para o mesmo pai).
- "A chave primária pode conter valores nulos e repetidos." → errado (não aceita nulo nem repetição).
- "A atomicidade garante que uma transação seja executada por completo ou não tenha nenhum efeito." → certo.
- "O relacionamento muitos-para-muitos é implementado incluindo-se a chave primária de uma tabela como chave estrangeira na outra, sem tabela adicional." → errado (exige tabela associativa).
- "O grau de uma relação corresponde ao número de atributos, e a cardinalidade, ao número de tuplas." → certo.
- "A chave estrangeira pode assumir valor nulo sem violar a integridade referencial." → certo.
- "Com ON DELETE CASCADE, a exclusão do registro pai mantém inalterados os registros filhos." → errado (os filhos também são apagados).
- "A criação de índices acelera as consultas sem custo de espaço nem impacto nas operações de escrita." → errado (ocupa espaço e torna a escrita mais lenta).
- "Uma tabela está na terceira forma normal quando, estando na segunda, não apresenta dependências transitivas." → certo.
- Detalhe que derruba o item: a banca atribui à FK as restrições da PK e troca as letras do ACID. Persistir após falha é durabilidade; "tudo ou nada" é atomicidade.
Revisão rápida
O que é tupla?Revelar
Uma linha da tabela.
A chave primária aceita nulo?Revelar
Não; nem repetição.
A chave estrangeira pode repetir e ser nula?Revelar
Pode.
Como se implementa o relacionamento N:N?Revelar
Com tabela associativa.
O que a atomicidade garante?Revelar
Tudo ou nada na transação.
O que a durabilidade garante?Revelar
Que o confirmado persiste após falha.
O que a 3FN elimina?Revelar
Dependências transitivas.
Grau e cardinalidade de uma relação são o quê?Revelar
Número de colunas e número de linhas.
Referência
Mapa mental
Estrutura
- Relação = tabela
- Tupla = linha; atributo = coluna
- Grau: colunas; cardinalidade: linhas
- SGBD controla acesso e integridade
Chaves
- PK: única, não nula
- Candidata e alternativa (UNIQUE)
- FK: integridade referencial, aceita repetição
- N:N exige tabela associativa
Integridade e transações
- Domínio, entidade, referencial
- ACID: atomicidade, consistência, isolamento, durabilidade
- CASCADE, SET NULL, RESTRICT
Normalização
- 1FN: valores atômicos
- 2FN: sem dependência parcial
- 3FN: sem dependência transitiva
⚠️ Pegadinha
- Uma PK por tabela, pode ser composta
Questão 1, Agente PF, Certo ou Errado
A chave estrangeira não pode conter valores repetidos.
Revelar gabarito
Gabarito: Errado
Errado. A chave estrangeira pode repetir valores e até ser nula. No relacionamento 1:N, vários registros filhos referenciam o mesmo registro pai, repetindo o valor na coluna da chave estrangeira.
Questão 2, Agente PF, Certo ou Errado
A chave primária de uma tabela relacional não admite valores nulos.
Revelar gabarito
Gabarito: Certo
Certo. A chave primária identifica unicamente cada linha; por isso não aceita nulo nem repetição. Essa exigência é a restrição de integridade de entidade, aplicada também quando a chave é composta.
Questão 3, Agente PF, Certo ou Errado
A propriedade da atomicidade garante que uma transação seja executada por completo ou não tenha nenhum efeito.
Revelar gabarito
Gabarito: Certo
Certo. Atomicidade é o tudo ou nada do ACID: as operações da transação são concluídas em conjunto ou nenhuma produz efeito. As demais propriedades são consistência, isolamento e durabilidade.
Questão 4, Agente PF, Certo ou Errado
Uma tabela está na terceira forma normal quando, estando na segunda, não apresenta dependências transitivas.
Revelar gabarito
Gabarito: Certo
Certo. A 3FN exige que a tabela esteja na 2FN e não tenha dependência transitiva, situação em que uma coluna não chave depende de outra coluna não chave. O objetivo é reduzir redundância e anomalias.
Questão 5, Agente PF, Certo ou Errado
O relacionamento muitos-para-muitos é implementado no modelo relacional incluindo-se a chave primária de uma tabela como chave estrangeira na outra, sem tabela adicional.
Revelar gabarito
Gabarito: Errado
Errado. Uma chave estrangeira simples resolve o relacionamento 1:N, mas não o N:N. Para muitos-para-muitos, é necessária uma tabela associativa com duas chaves estrangeiras, uma para cada tabela relacionada.
- Revelar resposta
Chave primária
Identifica unicamente cada linha; não aceita nulo nem repetição; pode ser composta.
- Revelar resposta
Chave estrangeira
Referencia a PK de outra tabela e garante a integridade referencial; pode ser nula e repetida.
- Revelar resposta
Relacionamento N:N no modelo relacional
Exige tabela associativa com duas chaves estrangeiras.
- Revelar resposta
Propriedades ACID
Atomicidade (tudo ou nada), Consistência, Isolamento, Durabilidade (commit persiste).
- Revelar resposta
Formas normais (1FN, 2FN, 3FN)
1FN: valores atômicos. 2FN: sem dependência parcial da PK. 3FN: sem dependência transitiva.
- Revelar resposta
Grau × cardinalidade da relação
Grau é a quantidade de atributos (colunas) da relação, e cardinalidade é a quantidade de tuplas (linhas), conforme a terminologia formal do modelo relacional.
- Revelar resposta
Chave estrangeira e nulo
A integridade referencial exige que a chave estrangeira aponte para registro existente ou seja nula; além disso, ela pode se repetir, ao contrário da chave primária.
- Revelar resposta
ON DELETE CASCADE
ON DELETE CASCADE apaga também os registros filhos; manter a referência anulando o campo é o SET NULL, e impedir a exclusão do pai é o RESTRICT ou NO ACTION.
- Revelar resposta
Primeira forma normal (1FN)
A 1FN exige valores atômicos em cada atributo; a 2FN elimina dependências parciais da chave primária, e a 3FN elimina as dependências transitivas entre atributos não chave.
- Revelar resposta
Custo dos índices
O índice acelera a busca, mas ocupa espaço adicional e torna a escrita mais lenta, pois cada inserção ou alteração também precisa atualizar a estrutura do índice.
Estude Agente PF no app
Grátis, sem cartão