mysql外键

7ivaypg9  于 2021-06-18  发布在  Mysql
关注(0)|答案(0)|浏览(138)

这两个实体都是强的,perfil(profile)和utilizador(英语user)可以按nif和userid的顺序进行识别。如您所见,我在user表中有一个外键do profile表,在第二个表中,需要声明nifid并将其放在它的主键上,就像我在注解中所做的那样( --primary key(UserID, NifID) )或者我应该将nifid声明为唯一的atribute,或者第三个选项不要在那里声明它,因为它不是nedded。非常感谢你!

create table Perfil(  
  nif char(9),              
  profile_type int(1) NOT NULL,         
  nome varchar(45) NOT NULL,  
  telefone char(9) NOT NULL UNIQUE,  
  DataBirth date NOT NULL,  
  CHECK(profile_type==0 OR profile_type==1)  
  primary key(nif)  
);  

create table Utilizador(  
  UserID int NOT NULL AUTO_INCREMENT,  
  -- NifID char(9) NOT NULL UNIQUE,  -- Is it needed to declare this atribute  
  role int(3) NOT NULL ,                 -- varies from 1 to 3  
  username varchar(20) NOT NULL UNIQUE,  
  password varchar(15) NOT NULL,  
  -- primary key(UserID, NifID),   
  primary key(UserID),  
  FOREIGN KEY (NifID) REFERENCES Perfil(nif)  
);

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题