Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Comecei a fazer o código SQL. Está certo? O que falta?

CREATE TABLE EMPRESAS (
    CODIGO_EMPRESA CHAR(6) NOT NULL,
    NOME VARCHAR(100) NULL
);
ALTER TABLE EMPRESAS
ADD CONSTRAINT PK_EMPRESAS
PRIMARY KEY (CODIGO_EMPRESA);


CREATE TABLE DEPARTAMENTOS (
    CODIGO_DEPARTAMENTO CHAR(8) NOT NULL,
    CODIGO_EMPRESA CHAR(8) NOT NULL,
    NOME VARCHAR(100) NULL,
    CIDADE VARCHAR(70) NULL
);
ALTER TABLE DEPARTAMENTOS
ADD CONSTRAINT PK_DEPARTAMENTOS
PRIMARY KEY (CODIGO_EMPRESA);


CREATE TABLE COLABORADORES (
    CODIGO_COLABORADOR CHAR(10) NOT NULL PRIMARY KEY,
    ADMISSAO DATE NULL
);

CREATE TABLE PROJETOS (
    CODIGO_PROJETO CHAR(10) NOT NULL PRIMARY KEY,
    CODIGO_DEPARTAMENTO CHAR(8) NOT NULL,
    NOME VARCHAR(100) NULL,
    ORCAMENTO MONEY,
    INICIO DATE,
    HORAS_TRABALHADAS INTEGER
);

CREATE TABLE DEPENDENTES (
    CODIGO_COLABORADOR CHAR(10) NOT NULL,
    IDADE INTEGER,
    TIPO_DE_DEPENDENCIA VARCHAR(12)
)

Insira aqui a descrição dessa imagem para ajudar na acessibilidade Por que há uma relação 0:N, mas não 1:N?

1 resposta
solução!

Akhenaton,

Se seu script rodou e não apresentou nenhum erro, então é isso.

Por que há uma relação 0:N, mas não 1:N?

Um colaborador pode ter ZERO ou N (muitos) dependentes, no meu caso tenho ZERO... KKKKK! Mas um dependente obrigatoriamente precisa ter um colaborador... senão fica literalmente "registro órfão" e pessoa órfã também... KKKKK!

Existem relacionamentos que é obrigatório ter pelo menos 1, exemplo: Departamentos X Colaboradores. Existe algum motivo de um departamento NÃO ter NENHUM colaborador? Por acaso existe departamento fantasma? Que eu saiba só existem "funcionários fantasmas", mas, mesmo assim sempre precisam estar atrelados a um e somente um departamento. Seria estranho um funcionário pertencer a dois ou mais departamentos... talvez NÃO impossível.

[]'s,

Fabio I.