Exercício adicional 25/07 - Hospital

Ir em baixo

Exercício adicional 25/07 - Hospital

Mensagem por Admin em Sex Jul 26, 2013 1:40 pm

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);

Admin
Admin

Mensagens : 123
Data de inscrição : 01/07/2013

Ver perfil do usuário http://geracaotecjava.forumbrasil.net

Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum