Skip to content

Instantly share code, notes, and snippets.

@dkvhr
Created June 4, 2025 02:37
Show Gist options
  • Select an option

  • Save dkvhr/022bacdb8f022396cf7ff574336ed19b to your computer and use it in GitHub Desktop.

Select an option

Save dkvhr/022bacdb8f022396cf7ff574336ed19b to your computer and use it in GitHub Desktop.
modelo fisico trabalho banco de dados
-- TABELA: Parlamentar
CREATE TABLE Parlamentar (
codigo INT NOT NULL PRIMARY KEY,
nome VARCHAR(100) NOT NULL
);
-- TABELA: Emenda
CREATE TABLE Emenda (
codigo INT NOT NULL PRIMARY KEY,
nome VARCHAR(150) NOT NULL,
valor DECIMAL(15,2) NOT NULL,
parlamentar_codigo INT NOT NULL,
CONSTRAINT fk_emenda_parlamentar
FOREIGN KEY (parlamentar_codigo)
REFERENCES Parlamentar(codigo)
ON UPDATE CASCADE
ON DELETE RESTRICT
);
-- TABELA: Acao_Orcamentaria
CREATE TABLE Acao_Orcamentaria (
codigo INT NOT NULL PRIMARY KEY,
descricao VARCHAR(255) NOT NULL
);
-- TABELA: Localidade
CREATE TABLE Localidade (
id_local INT NOT NULL PRIMARY KEY,
nome VARCHAR(100) NOT NULL,
uf CHAR(2) NOT NULL
);
-- TABELA: Instituicao
CREATE TABLE Instituicao (
codigo INT NOT NULL PRIMARY KEY,
nome VARCHAR(150) NOT NULL,
tipo VARCHAR(50) NOT NULL,
id_local INT NOT NULL,
CONSTRAINT fk_instituicao_localidade
FOREIGN KEY (id_local)
REFERENCES Localidade(id_local)
ON UPDATE CASCADE
ON DELETE RESTRICT
);
-- TABELA: Execucao
CREATE TABLE Execucao (
id_execucao INT NOT NULL AUTO_INCREMENT,
emenda_codigo INT NOT NULL,
acao_codigo INT NOT NULL,
instituicao_codigo INT NOT NULL,
CONSTRAINT pk_execucao PRIMARY KEY (
emenda_codigo,
acao_codigo,
instituicao_codigo,
id_financiamento
),
CONSTRAINT fk_execucao_emenda
FOREIGN KEY (emenda_codigo)
REFERENCES Emenda(codigo)
ON UPDATE CASCADE
ON DELETE RESTRICT,
CONSTRAINT fk_execucao_acao
FOREIGN KEY (acao_codigo)
REFERENCES Acao_Orcamentaria(codigo)
ON UPDATE CASCADE
ON DELETE RESTRICT,
CONSTRAINT fk_execucao_instituicao
FOREIGN KEY (instituicao_codigo)
REFERENCES Instituicao(codigo)
ON UPDATE CASCADE
ON DELETE RESTRICT
);
-- TABELA: Financiamento
CREATE TABLE Financiamento (
id_financiamento INT NOT NULL PRIMARY KEY,
valor DECIMAL(15,2) NOT NULL,
data DATE NOT NULL,
CONSTRAINT fk_financiamento_execucao
FOREIGN KEY (id_execucao)
REFERENCES Execucao(id_execucao)
ON UPDATE CASCADE
ON DELETE CASCADE
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment