exemplo hospitalar
DESCRIPTION
Exemplo : BD para uma realidade hospitalar Médicos Consultas Med_Amb Pacientes Ambulatórios. Exemplo Hospitalar. a) Esquema Conceitual. Criação de uma tabela Create table nome_tabela ( nome_atributo 1 domínio 1 , - PowerPoint PPT PresentationTRANSCRIPT
Exemplo Hospitalar
Exemplo: BD para uma realidade hospitalar
Médicos Consultas
Med_Amb Pacientes
Ambulatórios
a) Esquema Conceitual
Criação de uma tabela
Create table nome_tabela ( nome_atributo 1 domínio 1,
... ... nome_atributo n domínio n,[ constraint nome_ri primary key (lista_atributos), ][constraint nome_ri foreign key (nome_atributo) references nome_tabela] );
Serão especificadas tantas chaves estrangeiras (foreign key) quantos forem os atributos que expressam relacionamentos entre tabelas.
CRIAÇÃO DAS TABELAS
Ambulatórios [ nroa, andar, capacidade ]
Pacientes [ codp, nomep, idade, cidade , problema ]
Médicos [codm, nomem, idade, especialidade, salario,nroa ]
Consultas [ codm, codp, data_hora ]
Linguagem de Definição de Dados
create table ambulatorios ( nroa integer, andar integer, capacidade integer, constraint a1 primary key(nroa) );
create table pacientes ( codp integer, nomep varchar(20), idade integer, cidade varchar(20), problema varchar(20), constraint p1 primary key(codp));
Linguagem de Definição de Dados
create table medicos ( codm integer, nomem text, idade integer, especialidade text, salario money, nroa integer , constraint m1 primary key(codm) ,constraint ce1 foreign key(nroa) references ambulatorios );
create table consultas ( codm integer, codp integer, data_hora date time, constraint c1 primary key(codm,codp,data_hora),
constraint ce2 foreign key(codm) references medicos, constraint ce3 foreign key(codp) references pacientes );
b) Esquemas Externos
Visão: relação virtual derivada a partir das relações presentes no BD (transparente para a aplicação)
Exemplo de visão: O setor de tratamento de câncer do Hospital lida apenas com dados de pacientes que têm esta doença
Criação de uma visão
Create View nome_visão (lista de atributos) asSelect lista de atributosfrom nome_relação e/ou visão[ where qualificação] ;
Linguagem de Definição de Dados Esquema Externo 1
Criação de uma Visão (SQL):
Create View PacCâncer (código, paciente, idade) asSelect codp, nomep, idadefrom Pacienteswhere problema = ‘Câncer’;
Definições recursivas
Create View PacCanJovens as Select * From PacCâncer Where idade < 21;
Nível Externo Nível ConceitualSelect * Select codp, nomep, idadefrom PacCâncer from Pacienteswhere paciente like ‘J%’; where problema = ‘câncer’ and nomep like ‘J%’;
LMD:
Update PacCâncer Update Pacientes
set idade = idade + 1 set idade = idade + 1
where código = 1; where problema = ‘câncer’
and codp = 1;
Esquema Externo 2
Create View DescontosMed (código, nome, desconto)
as Select codm, nomem, salário * 0.15 + 80
from Médicos;
Esquema Externo 3
Create View ConsultasMP (códigoMédico, especialidade, códigoPaciente, data)
as Select médicos.codm, especialidade, codp, data_hora
from Médicos, Consultas
where Médicos.codm = Consultas.codm;
Esquema Externo 4
Create View DadosMed as
Select codm, nome, especialidade
from Médicos;
Create View Horários
as Select codm,data_hora
from Consultas;
nroa andar capacidade 1 1 30 2 1 50 3 2 40 4 2 25 5 2 50
Ambulatório
Pacientes
codp nomep idade cidade problema
1 Ana 20 Fpolis gripe2 Paulo 24 Palhoça fratura3 Lúcia 30 Fpolis tendinite4 Mário 22 Blumenau sarampo5 Raul 19 Blumenau câncer
Consultas
codm codp data hora1 1 12/10/04 14:001 4 13/10/04 10:002 1 13/10/04 9:002 2 13/10/04 11:002 3 14/10/04 14:002 4 14/10/04 17:003 3 12/10/04 10:003 4 15/10/04 13:004 4 16/10/04 13:00
Médicos
codm nomem idade especialidade nroa salario1 João 20 ortopedia 1 1000,002 Maria 20 traumatologia 2 2000,003 Pedro 25 pediatria 2 500,004 Carlos 28 ortopedia 1500,00
Visão Externa 1- PacCâncer
codigo paciente idade5 Raul 19
Visão Externa 2- DescontosMed
codigo nomem desconto 1 João 2302 Maria 3803 Pedro 1554 Carlos 305
DadosMed
codm nomem especialidade1 João ortopedia2 Maria traumatologia3 Pedro pediatria4 Carlos ortopedia
Visão Externa 4