What’s wrong with Foreign key?

Asked

Viewed 76 times

0

I am working out a database, but at the time of generating the diagram in reverse engineering Workbench no table linked with another, and does not appear the FK, I wonder if I did something wrong, Follow the code

CREATE database db_hospital;

USE db_hospital;

CREATE TABLE tbl_especialidade(
idEspecialidade int not null primary key,
descricaoEspecialidade varchar(100) not null
);

CREATE TABLE tbl_medico(
 crm int not null primary key,
 idEspecialidade smallint not null,
 nome varchar (50) not null,
 endereco varchar (100) not null,
 bairro varchar (30) not null,
 cidade varchar (30) not null,
 uf char (2) not null,
 salario double (8,2) not null,
 foreign key(idEspecialidade) references tbl_especialidade(idEspecialidade)
);

CREATE TABLE tbl_sala(
  numeroSala int auto_increment not null primary key,
  andar tinyint not null,
  alaCentro tinyint not null
);

CREATE TABLE tbl_qualificacaoSala(
    id int auto_increment not null primary key,
    numeroSala int not null,
    idEspecialidade smallint not null,
    dataInicio varchar (11) not null,
    foreign key(idEspecialidade)references tbl_especialidade(idEspecialidade),
    foreign key(numeroSala)references tbl_sala(numeroSala)
);

CREATE TABLE tbl_paciente(
numeroInternacao int auto_increment primary key not null,
cpf varchar (25) not null,
nome varchar (50) not null,
endereco varchar (100) not null,
sexo varchar (10) not null,
nascimento varchar(11) not null,
profissao varchar(30) not null

);

CREATE TABLE tbl_produto(
codigo int auto_increment primary key not null,
principioAtivo varchar (50) not null,
descricao varchar (100) not null,
unidade smallint not null,
saldo smallint not null
);

CREATE TABLE tbl_cirurgia(
id int auto_increment primary key not null,
crm int not null,
numeroInternacao int not null,
idEspecialidade smallint not null,
numeroSala int not null,
foreign key(crm)references tbl_medico(crm),
foreign key(numeroInternacao)references tbl_paciente(numeroInternacao),
foreign key(idEspecialidade)references tbl_especialidade(idEspecialidade),
foreign key(numeroSala)references tbl_sala(numeroSala)
);

CREATE TABLE tbl_consumo(
id int auto_increment primary key not null,
crm int not null,
numeroInternacao int not null,
codigo int not null,
idEspecialidade smallint not null,
numeroSala int not null,
quantidade tinyint not null,
foreign key(crm)references tbl_medico(crm),
foreign key(numeroInternacao)references tbl_paciente(numeroInternacao),
foreign key(codigo)references tbl_produto(codigo),
foreign key(idEspecialidade)references tbl_especialidade(idEspecialidade),
foreign key(numeroSala)references tbl_sala(numeroSala)
);

INSERT INTO tbl_medico(crm,idEspecialidade,nome,endereco,bairro,cidade,uf,salario) values (12349,1,"Anderson Henrique","Carlos Vassalo,724","Dona Rosa","Americana","SP",120000 );

select * from tbl_medico;
select * from tbl_especialidade;
  • The engine is as innodb?

  • Yes is in innodb @rray

No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.