Pular para o conteúdo

Fóruns Banco de dados Oracle Como implementar generalização em DB? Como implementar generalização em DB?

#101035
rman
Participante

    Seria assim:


    CREATE TABLE PESSOAS (
    PESSOA_ID NUMBER NOT NULL,
    NOME VARCHAR(32) NOT NULL
    );

    ALTER TABLE PESSOAS ADD CONSTRAINT PK_PESSOAS PRIMARY KEY(PESSOA_ID);

    CREATE TABLE FUNCIONARIOS (
    FUNCIONARIO_ID NUMBER NOT NULL,
    PESSOA_ID NUMBER NOT NULL,
    DATA_ADMISSAO DATE NOT NULL
    );

    ALTER TABLE FUNCIONARIOS ADD CONSTRAINT PK_FUNCIONARIOS PRIMARY KEY(FUNCIONARIO_ID);

    ALTER TABLE FUNCIONARIOS ADD CONSTRAINT FK_PESSOAS_FUNCIONARIOS FOREIGN KEY (PESSOA_ID) REFERENCES PESSOAS (PESSOA_ID);

    CREATE TABLE CLIENTES (
    CLIENTE_ID NUMBER NOT NULL,
    PESSOA_ID NUMBER NOT NULL,
    DATA_ULTIMA_COMPRA DATE
    );

    ALTER TABLE CLIENTES ADD CONSTRAINT PK_CLIENTES PRIMARY KEY(CLIENTE_ID);

    ALTER TABLE CLIENTES ADD CONSTRAINT FK_PESSOAS_CLIENTES FOREIGN KEY (PESSOA_ID) REFERENCES PESSOAS (PESSOA_ID);

    DROP TABLE FUNCIONARIOS;

    DROP TABLE CLIENTES;

    DROP TABLE PESSOAS;