Cardinalidade

Avatar do usuário
bernardino
Site Admin
Mensagens: 929
Registrado em: 28 Ago 2020, 15:11

Cardinalidade

Mensagem por bernardino »

É o número de uma ocorrências de entidade associadas a uma ocorrên


Cardinalidae Máxima

é o número máximo de ocrrências de entidade asssociadas a uma ocorrência da

pessoa
cpf
nome
chave do computador

computador
id
modelo

Solução apresentada por caio

Código: Selecionar todos

CREATE TABLE computador (
  serial_number VARCHAR(50) PRIMARY KEY,
  modelo VARCHAR(100)  -- supondo que modelo seja textual; mude para INT se for o caso
);

Código: Selecionar todos

CREATE TABLE pessoa (
  cpf VARCHAR(11) PRIMARY KEY,  -- cpf como VARCHAR para manter zeros à esquerda
  nome VARCHAR(100) NOT NULL,
  serial_number VARCHAR(50) NOT NULL,
  FOREIGN KEY (serial_number) REFERENCES computador(serial_number)
);
Modelo abaixo mais aceitável

Código: Selecionar todos

CREATE TABLE computador (
  serial_number VARCHAR(50) PRIMARY KEY,
  modelo VARCHAR(100)
);

CREATE TABLE pessoa (
  cpf VARCHAR(11) PRIMARY KEY,
  nome VARCHAR(100) NOT NULL,
  serial_number VARCHAR(50) NOT NULL,
  CONSTRAINT fk_pessoa_computador
    FOREIGN KEY (serial_number) REFERENCES computador(serial_number)
);

or

Código: Selecionar todos

CREATE TABLE Pessoa(
	cpf VARCHAR(11) PRIMARY KEY,
	nome VARCHAR(30)
);

CREATE TABLE Computador(
	codigo INTEGER PRIMARY KEY,
	modelo VARCHAR(30),
	cpffk VARCHAR(11),
	FOREIGN KEY (codigo) REFERENCES Pessoa(cpf)
);
Algumas pessoas acham que foco significa dizer sim para a coisa em que você vai se focar.
Mas não é nada disso.
Significa dizer não às centenas de outras boas ideias que existem.
Você precisa selecionar cuidadosamente.”

Steve Jobs
Responder