Ajuda - Hospital de urgências

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
Etiqueta
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 1
Registrado em: Qui, 10 Jun 2010 2:34 pm
Localização: Lisboa

Boa tarde a todos.

Tenho um trabalho para fazer até segunda-feira e até ao momento não consegui fazer mais nada do que criar tabelas. Estou dependente deste trabalho para passar a disciplina e não sei como fazer o trabalho.

As tabelas que criei foram:

Selecionar tudo

•	Tabela Cod_postal
 create table Cod_postal
 (Cod_Pos      varchar2(8)     primary key,
 Localidade    varchar2(50)   not null);
 
•	Tabela Utente
create table Utente
(Nr_Utente                number(4)        primary key,
 Nome		           varchar2(50)   not null,
 Sexo                            char(1)             check (Sexo='M' or Sexo='F'),
 Data_Nascimento    date                  not null,
 Morada                      varchar2(100) not null,
 Localidade                 varchar2(50)    not null,
 Cod_Pos                     varchar2(8)      not null,
 Telemovel                  number(9)        not null,
 Alergias                      varchar2(80),
 Estado_Clinico          long,
 foreign key (Cod_Pos) references Cod_Postal(Cod_Pos));
 
•	Tabela Medico
create table Medico
(Nr_Medico          number(4)       primary key,
 Nome_Medico    varchar2(50)   not null);

•	Tabela Consulta
create table Consulta
(Nr_Consulta       number(4)   primary key,
 Desc_Consulta    long              not null,
 Data_Consulta    date              not null,
 Nova_Data          date               not null,
Receita_Medica  varchar2(80) not null,
Nr_Utente            number(4)     not null,
 Nr_Medico          number(4)     not null,
foreign key (Nr_Utente) references Utente(Nr_Utente));
 foreign key (Nr_Medico) references Medico(Nr_Medico));
 
•	Tabela Pagamento
create table Pagamento
(Nr_Pagamento        number(4)       primary key,
 Valor_Pagamento   number(4,2)    not null,
 Tipo_Pagamento     varchar2(50)   not null,
 Data_Pagamento     date                 not null,
 Nr_Utente                 number(4)      not null,
 foreign key (Nr_Utente) references Utente(Nr_Utente));
 
•	Tabela Enfermeiro
create table Enfermeiro
(Nr_Enfermeiro         number(4)      primary key,
 Nome_Enfermeiro   varchar2(50)  not null);
 
•	Tabela Triagem
create table Triagem
(Nr_Consulta     number(4),
 Nr_Enfermeiro number(4),
 primary key (Nr_Consulta, Nr_Enfermeiro));
 
•	Tabela Pulseira
create table Pulseira
(Nr_Pulseira       number(4)             primary key,
 Cor_Pulseira      varchar2(20)         check (Cor_Pulseira='Azul' or Cor_Pulseira='Verde' or Cor_Pulseira='Amarelo' or Cor_Pulseira='Laranja' or Cor_Pulseira='Vermelho'),
 Nr_Utente         number(4)             not null,
 Nr_Enfermeiro number(4)             not null,
 foreign key (Nr_Utente) references Utente(Nr_Utente),
 foreign key (Nr_Enfermeiro) references Enfermeiro(Nr_Enfermeiro));

o objectivo do trabalho é:

- criar um trigger da consulta para o pagamento e preencher com uma nova data de pagamento;
- o trigger depois da introdução de nova data para consulta, cria nova consulta
- criar um cursor em que o utente tem várias consultas para pagar e tem que dar para o utente abater por etapas o montante [/list]


Alguém me pode ajudar?
Muito obrigada
Avatar do usuário
fsitja
Rank: OraSauro
Rank: OraSauro
Mensagens: 611
Registrado em: Seg, 19 Jan 2009 4:29 pm
Localização: Gaúcho no Rio de Janeiro - RJ
"The scars exist to remind us that the past was real"
Campanha: Como fazer uma pergunta e obter uma resposta.
http://tkyte.blogspot.com/2005/06/how-t ... tions.html

OCA & OCP Developer — OCE SQL Expert — OCS Data Warehousing Specialist

Olá,

Acho que você vai precisar se esforçar antes, e depois fazer perguntas específicas, pois ninguém vai dar respostas prontas para uma tarefa que serve para seu aprendizado.

Além disso, os requisitos estão bastante vagos... não deu nem para entender o que foi pedido. Espero que essa não seja a lista conforme foi passada para você... :roll:

Dúvidas gerais de como proceder para criar triggers, utilizar cursores e sintaxe PL/SQL em geral podem ser resolvidas pesquisando na documentação da Oracle, que é muito completa e bem escrita:
Oracle Versão 11g Release 2 - http://www.oracle.com/pls/db112/homepage?remark=tahiti

No tahiti.oracle.com tem a documentação para as demais versões do banco de dados Oracle.

A lógica de criação de consultas, pagamentos e das transações no sistema são conhecimento que só você tem para poder fazer o serviço, nós não temos essa clarividência.
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 2 visitantes