[Resolvido]Banco de dados Oracle SqlDeveloper

Pessoal boa tarde criei uma tabela Aluno e , criei uma chave primaria com nome Nr_rgm mas ao referencia-la apresenta o seguinte erro.

Erro de sintaxe.Regras Reconhecidas parcialmente(diagramas de ferrovia)

CREATE TABLE Aluno (
Nr_Rgm Number (8),
Nm_Nome Varchar2(40),
Nm_Pai Varchar2(40),
Nm_Mae VARCHAR2(40),
dt_Nascimento Date,
Id_Sexo char(1) CHECK (Id_Sexo in ('M', 'F')),
constraint PK_Aluno PRIMARY KEY(Nr_Rgm), 
REFERENCES Matricula(Nr_Rgm) 
//Erro apresentado nessa linha.Erro de sintaxe.Regras   Reconhecidas parcialmente(diagramas de ferrovia)
);

Não se faz referência em PK, referência se faz em FK!

CREATE TABLE Aluno (
  Nr_Rgm Number (8),
  Nm_Nome Varchar2(40),
  Nm_Pai Varchar2(40),
  Nm_Mae VARCHAR2(40), 
  dt_Nascimento Date,
  Id_Sexo char(1) CHECK (Id_Sexo in ('M', 'F')),
  constraint PK_Aluno PRIMARY KEY(Nr_Rgm), 
  constraint FK_Aluno FOREIGN KEY(Nr_Rgm) REFERENCES Matricula(Nr_Rgm)
);
1 curtida

mas no exercicio que estou fazendo não pede FK na tabela Aluno

Independente se está ou não pedindo no exercício, referência de chaves entre tabelas sempre se faz da FK da tabela destino para a PK da tabela origem!

Dê uma boa lida a respeito de constraints (PK e FK), seu conceito está meio vago sobre o assunto, isso vai te ajudar.

1 curtida

Blz mais uma vez obrigado Jonathan

1 curtida

O mesma coluna pode ser Primary Key e Foreign Key???

Sim, podem!

2 curtidas