Hi! Could we please enable some services and cookies to improve your experience and our website?

SQLize | PHPize | SQLtest

Online Sandbox for SQL and PHP: Write, Run, Test, and Share SQL Queries and PHP Code

A A A
Login    Share code      Blog   FAQ
Copy Format Clear
CREATE TYPE Sexo AS ENUM ('Masculino', 'Feminino'); --criando as tabelas e chaves de acordo com o diagrama CREATE TABLE Cargo ( Cod_Cargo SERIAL PRIMARY KEY, Nome_Cargo VARCHAR(30) NOT NULL UNIQUE, Qtde_Vagas INTEGER NOT NULL DEFAULT 9, CHECK (Nome_Cargo IN ('Prefeito', 'Vereador')) ); CREATE TABLE Partido ( Num_Partido INTEGER PRIMARY KEY, Sigla VARCHAR(4) NOT NULL UNIQUE, Nome VARCHAR(50) NOT NULL UNIQUE, Dt_Criacao DATE ); CREATE TABLE Candidato ( Num_Cand INTEGER PRIMARY KEY, Nome VARCHAR(40) NOT NULL, Dt_Nasc DATE, Sexo Sexo DEFAULT 'Masculino', CHECK (Dt_Nasc <= CURRENT_DATE - INTERVAL '18 anos') ); CREATE TABLE Voto ( Codigo_Cargo INTEGER NOT NULL, Num_Cand INTEGER NOT NULL ); CREATE TABLE Pessoa ( titulo VARCHAR(12) UNIQUE, Nome VARCHAR(50) NOT NULL, Comparecimento CHAR(3) ); -- Renomeando a coluna DtCriacao para Dtconstituicao ALTER TABLE Partido RENAME COLUMN Dt_Criacao TO Dt_Constituicao; -- Modificando tipo e nome da tabela Pessoa ALTER TABLE Pessoa ALTER COLUMN Comparecimento TYPE BOOLEAN USING (Comparecimento = 'SIM'); ALTER TABLE Pessoa ALTER COLUMN Comparecimento SET DEFAULT FALSE; ALTER TABLE Pessoa ADD COLUMN Dt_Nasc DATE NOT NULL; ALTER TABLE Pessoa RENAME TO Eleitor; --inserindo alguns dados falsos para saber se as tabelas estão corretas INSERT INTO Cargo (Nome_Cargo, Qtde_Vagas) VALUES ('Prefeito', 1); INSERT INTO Cargo (Nome_Cargo, Qtde_Vagas) VALUES ('Vereador', 9); INSERT INTO Partido VALUES (15, 'PT', 'Partido dos Trabalhadores', '2000-05-10'); INSERT INTO Partido VALUES (45, 'PSDB', 'Partido da Social Democracia Brasileira', '1990-09-15'); INSERT INTO Candidato VALUES (100, 'Lucas Matos', '1988-03-04', 'Masculino'); INSERT INTO Candidato VALUES (101, 'Ana Lúcia', '1930-06-17', 'Feminino'); INSERT INTO Voto VALUES (1, 100); INSERT INTO Voto VALUES (1, 101); INSERT INTO Eleitor VALUES ('123456789012', 'João Gabiel', false, '2000-01-01'); INSERT INTO Eleitor VALUES ('987654321098', 'Mariana', true, '2002-07-14'); --consultar para ver se deu certo SELECT * FROM Cargo; SELECT * FROM Partido; SELECT * FROM Candidato; SELECT * FROM Voto; SELECT * FROM Eleitor;

Stuck with a problem? Got Error? Ask AI support!

Copy Clear