Questão FC369583
João, administrador de banco de dados, deverá projetar um banco de dados Oracle de registro de alunos que contenha várias tabelas para armazenar informações acadêmicas: \(\bullet\)
Sistema de Gerenciamento de Banco de Dados (SGBD)
FGV · 2024
João, administrador de banco de dados, deverá projetar um banco de dados Oracle de registro de alunos que contenha várias tabelas para armazenar informações acadêmicas:
\(\bullet\) A tabela “Aluno” armazena informações sobre alunos.
\(\bullet\) A tabela “Notas_Aluno” armazena informações sobre as notas do aluno.
\(\bullet\) Ambas as tabelas têm uma coluna chamada “Aluno_ID”.
\(\bullet\) A coluna “Aluno_ID” na tabela “Aluno” é uma chave primária.
João deverá criar a chave estrangeira na coluna “aluno_ID” da tabela “Notas_Aluno” para relacionar-se com a coluna “aluno_ID” da tabela “Aluno”. Para isso, João deverá utilizar o seguinte comando:
- CREATE TABLE notas_aluno (aluno_ID NUMBER(12),
media_notas NUMBER(4,3), CONSTRAINT aluno_ID_fk
REFERENCES aluno(aluno_ID));
- CREATE TABLE notas_aluno (aluno_ID NUMBER(12),
media_notas NUMBER(4,3), CONSTRAINT FOREIGN KEY
(aluno_ID)REFERENCES aluno (aluno_ID));
- CREATE TABLE notas_aluno (aluno_ID NUMBER(12),
media_notas NUMBER(4,3), aluno_ID_fk FOREIGN
KEY (aluno_ID)REFERENCES aluno(aluno_ID));
- CREATE TABLE notas_aluno (aluno_ID NUMBER(12),
media_notas NUMBER(4,3), CONSTRAINT aluno_ID_fk
FOREIGN KEY (aluno_ID) REFERENCES
aluno(aluno_ID));
- CREATE TABLE notas_aluno (aluno_ID NUMBER(12),
media_notas NUMBER(4,3), CONSTRAINT aluno_ID_fk
REFERENCES (aluno_ID) FOREIGN KEY
aluno(aluno_ID));
Mostrar resposta e comentário
Gabarito
D
Comentário do professor
O comando apresentado cria a tabela notas_aluno e define, corretamente, a coluna aluno_ID como chave estrangeira que referencia a coluna aluno_ID da tabela aluno.
A sintaxe usada é: CONSTRAINT aluno_ID_fk FOREIGN KEY (aluno_ID) REFERENCES aluno(aluno_ID), que é a forma tabelar (table-level) de declarar a constraint.
Ao declarar a FK dessa forma, o SGBD impõe a integridade referencial: não será possível inserir em notas_aluno um valor de aluno_ID que não exista em aluno, nem excluir um aluno referenciado sem tratar as dependências.
Dar nome explícito à constraint (aluno_ID_fk) facilita manutenção, identificação de erros e operações posteriores (ex.: DROP/ENABLE/DISABLE).
Observação prática: assegure que os tipos e precisões de aluno_ID em ambas as tabelas sejam compatíveis para evitar falhas na criação da FK.
Conteúdo do catálogo FC Concursos · Atualizado em