MySQL Foreign Keys в сильной сущности - PullRequest
0 голосов
/ 04 декабря 2018

Обе сущности сильны, Perfil (профиль) и Utilizador (на английском языке User) можно идентифицировать по nif и UserID в указанном порядке.Как вы можете видеть, у меня есть Внешний ключ, который делает таблицу Profile в таблице User, во втором случае необходимо объявить NIFId и поместить его в свой первичный ключ, как в комментарии (--primary key(UserID, NifID)), или я должен объявить NIFId какуникальный атрибут или третий вариант не объявляйте его там, так как он не является вложенным.Большое спасибо!

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)  
);  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...