Exercício adicional 25/07 - Hospital
Página 1 de 1
Exercício adicional 25/07 - Hospital
CREATE TABLE departamento(
cod_departamento serial NOT NULL,
nome_departamento VARCHAR(100) NOT NULL,
PRIMARY KEY (cod_departamento)
);
CREATE TABLE medico (
cod_medico serial NOT NULL,
nome_medico VARCHAR(100) NOT NULL,
cpf_medico VARCHAR(11) NOT NULL,
crm_medico VARCHAR(20) NOT NULL,
cod_departamento integer NOT NULL,
PRIMARY KEY (cod_medico),
FOREIGN KEY (cod_departamento)
REFERENCES departamento (cod_departamento)
);
CREATE TABLE especialidade (
cod_especialidade serial NOT NULL,
nome_especialidade VARCHAR(100) NOT NULL,
cod_cbos_especialidade VARCHAR(20) NOT NULL,
PRIMARY KEY (cod_especialidade)
);
CREATE TABLE medico_especialidade
(
cod_medico integer NOT NULL,
cod_especialidade integer NOT NULL,
PRIMARY KEY (cod_medico, cod_especialidade),
FOREIGN KEY (cod_especialidade)
REFERENCES especialidade (cod_especialidade),
FOREIGN KEY (cod_medico)
REFERENCES medico (cod_medico)
);
CREATE TABLE plano_de_saude (
cod_plano_de_saude serial NOT NULL,
nome_plano_de_saude VARCHAR(100) NOT NULL,
PRIMARY KEY (cod_plano_de_saude)
);
CREATE TABLE paciente (
cod_paciente serial NOT NULL,
nome_paciente VARCHAR(100) NOT NULL,
cpf_paciente VARCHAR(11),
data_nascimento_paciente date NOT NULL,
nome_responsavel_paciente VARCHAR(100),
cod_plano_de_saude integer,
PRIMARY KEY (cod_paciente),
FOREIGN KEY (cod_plano_de_saude)
REFERENCES plano_de_saude (cod_plano_de_saude)
);
CREATE TABLE sala (
cod_sala serial NOT NULL,
numero_sala VARCHAR(20) NOT NULL,
cod_departamento integer NOT NULL,
PRIMARY KEY (cod_sala),
FOREIGN KEY (cod_departamento)
REFERENCES departamento (cod_departamento)
);
CREATE TABLE consulta (
cod_consulta serial NOT NULL,
horario_consulta timestamp NOT NULL,
observacoes_consulta VARCHAR(400),
cod_paciente integer NOT NULL,
cod_plano_de_saude integer,
cod_medico integer NOT NULL,
cod_sala integer NOT NULL,
PRIMARY KEY (cod_consulta),
FOREIGN KEY (cod_medico)
REFERENCES medico (cod_medico),
FOREIGN KEY (cod_paciente)
REFERENCES paciente (cod_paciente),
FOREIGN KEY (cod_plano_de_saude)
REFERENCES plano_de_saude (cod_plano_de_saude),
FOREIGN KEY (cod_sala)
REFERENCES sala (cod_sala)
);
INSERT INTO departamento (nome_departamento)
VALUES ('Atores Principais');
INSERT INTO departamento (nome_departamento)
VALUES ('Coadjuvantes');
INSERT INTO medico (nome_medico, cpf_medico,
crm_medico, cod_departamento)
VALUES ('Gregory House', '12345678901', 'AAA', 5);
--neste exemplo, o codigo do departamento de atores
--principais é 5
INSERT INTO medico (nome_medico, cpf_medico,
crm_medico, cod_departamento)
VALUES ('James Wilson', '98765432109', 'BBB', 6);
--neste exemplo, o codigo do departamento de
--coadjuvantes é 6
INSERT INTO especialidade (nome_especialidade,
cod_cbos_especialidade)
VALUES ('Nefrologia', 'AAAA');
INSERT INTO especialidade (nome_especialidade,
cod_cbos_especialidade)
VALUES ('Clínica Geral', 'BBBB');
INSERT INTO especialidade (nome_especialidade,
cod_cbos_especialidade)
VALUES ('Oncologia', 'CCCC');
select * from medico
select * from especialidade
INSERT INTO medico_especialidade (cod_medico,
cod_especialidade)
VALUES (3, 4);
INSERT INTO medico_especialidade (cod_medico,
cod_especialidade)
VALUES (3, 5);
INSERT INTO medico_especialidade (cod_medico,
cod_especialidade)
VALUES (4, 6);
INSERT INTO sala (numero_sala, cod_departamento)
VALUES ('1', 5);
INSERT INTO sala (numero_sala, cod_departamento)
VALUES ('2a', 5);
INSERT INTO sala (numero_sala, cod_departamento)
VALUES ('2b', 5);
INSERT INTO sala (numero_sala, cod_departamento)
VALUES ('10', 6)
INSERT INTO plano_de_saude (nome_plano_de_saude)
VALUES ('Unimed');
select * from plano_de_saude;
INSERT INTO paciente (nome_paciente, cpf_paciente,
data_nascimento_paciente, nome_responsavel_paciente,
cod_plano_de_saude)
VALUES ('Charles Wust', '11223344556', '1979-12-24',
NULL, 1);
INSERT INTO consulta (horario_consulta,
observacoes_consulta, cod_paciente, cod_plano_de_saude,
cod_medico, cod_sala)
VALUES('2013-07-26 15:00:00', 'paciente importante!!!',
1, 1, 3, 2);
cod_departamento serial NOT NULL,
nome_departamento VARCHAR(100) NOT NULL,
PRIMARY KEY (cod_departamento)
);
CREATE TABLE medico (
cod_medico serial NOT NULL,
nome_medico VARCHAR(100) NOT NULL,
cpf_medico VARCHAR(11) NOT NULL,
crm_medico VARCHAR(20) NOT NULL,
cod_departamento integer NOT NULL,
PRIMARY KEY (cod_medico),
FOREIGN KEY (cod_departamento)
REFERENCES departamento (cod_departamento)
);
CREATE TABLE especialidade (
cod_especialidade serial NOT NULL,
nome_especialidade VARCHAR(100) NOT NULL,
cod_cbos_especialidade VARCHAR(20) NOT NULL,
PRIMARY KEY (cod_especialidade)
);
CREATE TABLE medico_especialidade
(
cod_medico integer NOT NULL,
cod_especialidade integer NOT NULL,
PRIMARY KEY (cod_medico, cod_especialidade),
FOREIGN KEY (cod_especialidade)
REFERENCES especialidade (cod_especialidade),
FOREIGN KEY (cod_medico)
REFERENCES medico (cod_medico)
);
CREATE TABLE plano_de_saude (
cod_plano_de_saude serial NOT NULL,
nome_plano_de_saude VARCHAR(100) NOT NULL,
PRIMARY KEY (cod_plano_de_saude)
);
CREATE TABLE paciente (
cod_paciente serial NOT NULL,
nome_paciente VARCHAR(100) NOT NULL,
cpf_paciente VARCHAR(11),
data_nascimento_paciente date NOT NULL,
nome_responsavel_paciente VARCHAR(100),
cod_plano_de_saude integer,
PRIMARY KEY (cod_paciente),
FOREIGN KEY (cod_plano_de_saude)
REFERENCES plano_de_saude (cod_plano_de_saude)
);
CREATE TABLE sala (
cod_sala serial NOT NULL,
numero_sala VARCHAR(20) NOT NULL,
cod_departamento integer NOT NULL,
PRIMARY KEY (cod_sala),
FOREIGN KEY (cod_departamento)
REFERENCES departamento (cod_departamento)
);
CREATE TABLE consulta (
cod_consulta serial NOT NULL,
horario_consulta timestamp NOT NULL,
observacoes_consulta VARCHAR(400),
cod_paciente integer NOT NULL,
cod_plano_de_saude integer,
cod_medico integer NOT NULL,
cod_sala integer NOT NULL,
PRIMARY KEY (cod_consulta),
FOREIGN KEY (cod_medico)
REFERENCES medico (cod_medico),
FOREIGN KEY (cod_paciente)
REFERENCES paciente (cod_paciente),
FOREIGN KEY (cod_plano_de_saude)
REFERENCES plano_de_saude (cod_plano_de_saude),
FOREIGN KEY (cod_sala)
REFERENCES sala (cod_sala)
);
INSERT INTO departamento (nome_departamento)
VALUES ('Atores Principais');
INSERT INTO departamento (nome_departamento)
VALUES ('Coadjuvantes');
INSERT INTO medico (nome_medico, cpf_medico,
crm_medico, cod_departamento)
VALUES ('Gregory House', '12345678901', 'AAA', 5);
--neste exemplo, o codigo do departamento de atores
--principais é 5
INSERT INTO medico (nome_medico, cpf_medico,
crm_medico, cod_departamento)
VALUES ('James Wilson', '98765432109', 'BBB', 6);
--neste exemplo, o codigo do departamento de
--coadjuvantes é 6
INSERT INTO especialidade (nome_especialidade,
cod_cbos_especialidade)
VALUES ('Nefrologia', 'AAAA');
INSERT INTO especialidade (nome_especialidade,
cod_cbos_especialidade)
VALUES ('Clínica Geral', 'BBBB');
INSERT INTO especialidade (nome_especialidade,
cod_cbos_especialidade)
VALUES ('Oncologia', 'CCCC');
select * from medico
select * from especialidade
INSERT INTO medico_especialidade (cod_medico,
cod_especialidade)
VALUES (3, 4);
INSERT INTO medico_especialidade (cod_medico,
cod_especialidade)
VALUES (3, 5);
INSERT INTO medico_especialidade (cod_medico,
cod_especialidade)
VALUES (4, 6);
INSERT INTO sala (numero_sala, cod_departamento)
VALUES ('1', 5);
INSERT INTO sala (numero_sala, cod_departamento)
VALUES ('2a', 5);
INSERT INTO sala (numero_sala, cod_departamento)
VALUES ('2b', 5);
INSERT INTO sala (numero_sala, cod_departamento)
VALUES ('10', 6)
INSERT INTO plano_de_saude (nome_plano_de_saude)
VALUES ('Unimed');
select * from plano_de_saude;
INSERT INTO paciente (nome_paciente, cpf_paciente,
data_nascimento_paciente, nome_responsavel_paciente,
cod_plano_de_saude)
VALUES ('Charles Wust', '11223344556', '1979-12-24',
NULL, 1);
INSERT INTO consulta (horario_consulta,
observacoes_consulta, cod_paciente, cod_plano_de_saude,
cod_medico, cod_sala)
VALUES('2013-07-26 15:00:00', 'paciente importante!!!',
1, 1, 3, 2);
Tópicos semelhantes
» Exercício adicional 29/07 - Universidade 2
» Exercício adicional 21/08
» Exercício adicional 22/08 - Herança
» Exercício adicional 28/08 - Arquivos
» Exercício adicional 23/08 - Veículos
» Exercício adicional 21/08
» Exercício adicional 22/08 - Herança
» Exercício adicional 28/08 - Arquivos
» Exercício adicional 23/08 - Veículos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos