Página 1 de 1

Chaves Primárias e Estrangeiras Para Garantir a Integridade Referencial

Enviado: 25 Mar 2025, 19:20
por bernardino
Estruturando um banco de dados acadêmico no pgAdmin para gerenciar professores, turmas e alunos. Sua modelagem está bem organizada, com as devidas chaves primárias e estrangeiras para garantir a integridade referencial.

Resumo das Ações Realizadas

Criação das tabelas:

professor: contém código, nome e posteriormente foi adicionado um e-mail.

turma: inclui código, número, nível, professor responsável e depois foi adicionada uma coluna nome_turma.

aluno: inicialmente possuía uma coluna idade, mas foi substituída por dt_nascimento.

Alterações nas tabelas:
  • Adicionou e-mail na tabela professor.
  • Substituiu idade por dt_nascimento na tabela aluno.
  • Criou a coluna nome_turma na tabela turma.
Inserções e Atualizações:
  • Foram inseridos 3 professores com seus respectivos e-mails.
  • Foram inseridas 3 turmas associadas a professores.
  • Atualizações foram feitas na coluna nome_turma para definir nomes descritivos das turmas.
Fim do Resumo das Ações Realizadas

Criar Tabela Professor

Código: Selecionar todos

CREATE TABLE professor (
	codigo integer primary key,
	nome varchar(50)
);
Criar Tabela Turma

Código: Selecionar todos

CREATE TABLE turma (
	codigo integer primary key,
	numero integer,
	nivel varchar(50),
	cod_prof_responsavel integer,
	CONSTRAINT fk_cod_prof FOREIGN KEY (cod_prof_responsavel)
	REFERENCES professor (codigo)
);
Criar Tabela Turma

Código: Selecionar todos

CREATE TABLE aluno (
	codigo integer primary key,
	nome varchar(50),
	idade integer,
	cod_turma integer,
	CONSTRAINT fk_cod_turma FOREIGN KEY (cod_turma)
	REFERENCES turma (codigo)
);
Remover coluna de idade

Código: Selecionar todos

ALTER TABLE aluno DROP COLUMN idade;
Adicionar coluna data de nascimento

Código: Selecionar todos

ALTER TABLE aluno ADD COLUMN dt_nascimento DATE;
Adicionar coluna de e-mail na tabela professor

Código: Selecionar todos

ALTER TABLE professor ADD COLUMN email varchar(50);
Inserir dados na tabela de professor

Código: Selecionar todos

INSERT INTO professor (codigo, nome, email)
VALUES (1, 'Caio', '[email protected]'),
		(2, 'Davi', '[email protected]'),
		(3, 'Renata', '[email protected]');
Inserir dados nas tabelas

Código: Selecionar todos

INSERT INTO turma (codigo, numero, nivel, cod_prof_responsavel)
VALUES 	(1,145, 'SEM 1',1),
		(2,255, 'SEM 3',2),
		(3,263, 'SEM 4',1);
Adicionar novo campo de nome da turma na tabela turma

Código: Selecionar todos

ALTER TABLE turma ADD COLUMN nome_turma varchar(50);
Visualizar os dados cadastrados em, turma

Código: Selecionar todos

SELECT * FROM turma;
Atualizar dados da coluna nome_turma

Código: Selecionar todos

UPDATE turma SET nome_turma = 'Banco de dados'; 
Atualizar a turma 1 para programação de computadores

Código: Selecionar todos

UPDATE turma SET nome_turma = 'Programação de Computadores' WHERE codigo = 1; 
Atualizar a turma 2 para programação orientada a objetos

Código: Selecionar todos

UPDATE turma SET nome_turma = 'Programação Orientada a Objetos' WHERE cod_prof_responsavel = 2; 
Leia Mais: https://www.devmedia.com.br/sql-clausula-where/37645

Re: 25/03

Enviado: 25 Mar 2025, 21:32
por bernardino
1. Insira três professores na tabela professor. Use os seguintes dados:

Professor(a) 1: Nome: João Souza, E-mail: [email protected]
Professor(a) 2: Nome: Mariana Silva, E-mail: [email protected]
Professor(a) 3: Nome: Carlos Mendes, E-mail: [email protected]

Código: Selecionar todos

INSERT INTO professor (codigo, nome, email)
VALUES 
    (4, 'João Souza', '[email protected]'),
    (5, 'Mariana Silva', '[email protected]'),
    (6, 'Carlos Mendes', '[email protected]');
2. Insira duas turmas na tabela turma relacionadas a professores já inseridos:

Turma 1: Número: 101, Nível: Fundamental, Nome da Turma: Turma A, Professor responsável: João Souza
Turma 2: Número: 102, Nível: Médio, Nome da Turma: Turma B, Professor responsável: Mariana Silva

Código: Selecionar todos

INSERT INTO turma (codigo, numero, nivel, nome_turma, cod_prof_responsavel)
VALUES 
    (4, 101, 'Fundamental', 'Turma A', 4),
    (5, 102, 'Médio', 'Turma B', 5);
3. Atualize o e-mail do professor João Souza para: [email protected].

Código: Selecionar todos

UPDATE professor SET email = '[email protected]' WHERE nome = 'João Souza';
4. Insira quatro alunos na tabela aluno, associando-os às turmas já existentes:

Aluno 1: Nome: 1001, Data de Nascimento: 2007-03-10, Turma: Turma A
Aluno 2: Nome: 1002, Data de Nascimento: 2006-11-25, Turma: Turma A
Aluno 3: Nome: 2001, Data de Nascimento: 2005-09-14, Turma: Turma B
Aluno 4: Nome: 2002, Data de Nascimento: 2005-01-07, Turma: Turma B

Código: Selecionar todos

INSERT INTO aluno (codigo, nome, dt_nascimento, cod_turma)
VALUES 
    (1001, '1001', '2007-03-10', 4),
    (1002, '1002', '2006-11-25', 4),
    (2001, '2001', '2005-09-14', 5),
    (2002, '2002', '2005-01-07', 5);
5. Atualize a turma do aluno de número 1002 para a Turma B.

Código: Selecionar todos

UPDATE aluno SET cod_turma = 5 WHERE codigo = 1002;
6. Insira uma nova turma na tabela turma:

Número: 103, Nível: Fundamental, Nome da Turma: Turma C, Professor responsável: Carlos Mendes

Código: Selecionar todos

INSERT INTO turma (codigo, numero, nivel, nome_turma, cod_prof_responsavel)
VALUES 
    (6, 103, 'Fundamental', 'Turma C', 6);
7. Atualize o nome da turma de número 102 para “Turma Avançada B”.

Código: Selecionar todos

UPDATE turma SET nome_turma = 'Turma Avançada B' WHERE numero = 102;
8. Insira mais dois alunos na nova turma (Turma C):

Aluno 5: Nome: 3001, Data de Nascimento: 2007-06-21, Turma: Turma C
Aluno 6: Nome: 3002, Data de Nascimento: 2006-12-12, Turma: Turma C

Código: Selecionar todos

INSERT INTO aluno (codigo, nome, dt_nascimento, cod_turma)
VALUES 
    (3001, '3001', '2007-06-21', 6),
    (3002, '3002', '2006-12-12', 6);
9. Atualize o professor responsável pela Turma A para o professor Carlos Mendes.

Código: Selecionar todos

UPDATE turma SET cod_prof_responsavel = 6 WHERE nome_turma = 'Turma A';

10. Insira um novo professor e altere o nome e o nível da turma de número 103:

- Novo professor: Nome: Ana Costa, E-mail: [email protected]

- Alterações na turma 103: Novo Nome: Turma Fundamental C Avançada, Novo Nível: Fundamental Avançado

Código: Selecionar todos

INSERT INTO professor (codigo, nome, email)
VALUES (7, 'Ana Costa', '[email protected]');

UPDATE turma SET nome_turma = 'Turma Fundamental C Avançada', nivel = 'Fundamental Avançado' WHERE numero = 103;
Professor
professor.png
professor.png (28.25 KiB) Exibido 4575 vezes
Turma
turma.png
turma.png (31.18 KiB) Exibido 4575 vezes
Aluno
aluno.png
aluno.png (19.96 KiB) Exibido 4575 vezes