Help ^^ UML - sistema para clinica de exames

[b]Boa tarde galera… eu estou fazendo um projeto pequeno, pra praticar… vou usar jsf + hibernate + primefaces… no meu site eu tenho um projeto de um e-commerce funcionando, porém, mal feito!..

Dessa vez quero fazer uma coias legal, bem feita, gostaria da ajuda na modelagem… se possível, apenas me dizer se o relacionamento entre as entidades estão corretas
[/b]

Ps.: os atributos das entidades ainda estou definindo… o importante mesmo é o relacionamento entre elas…

Obrigado.

o q vem a ser Unidade de Medida?

pessoas podem solicitar exames? logo médico,paciente e secretária solicitariam exames ou qual o tipo de relacionamento de negócio entre eles?

ao invés de id eu utilizaria algo como cpf para pessoa.

e administrador e configuração ficam isolados msm?

att,

Não entendi muito bem a entidade pessoa, eu removeria ela e deixaria Paciente no lugar, secretária é irrelevante, talvez você tenha pretendido dizer qual usuário atendeu o paciente que precisa do exame. Outra coisa a o relacionameno do médico, um paciente pode ter mais de um médico, um clínico geral pode pedir exame, depois um dermatologista…

Minha dica:
Não faça seu modelo relacional como se estivesse fazendo um modelo OO. São coisas diferentes.

Seu modelo vai depender de seus requisitos, isso voce deve saber, mas veja que (a principio) não tem o menor sentido uma tabela pessoa, medico, paciente, secretaria.
enfim, antes de definir seu modelo, pense em seus requisitos. O que sua aplicação deve fazer?

Sobre dizer se o relacionamento entre as entidades estão corretas,
Apesar de não ser possível dizer sim ou nao com certeza sem saber os requisitos, o relacionamento entre as entidades não está legal pois mistura OO com Modelo Entidade Relacionamento.

Só para tentar deixar um pouco mais claro:
Veja sua tabela ‘administrador’. Essa tabela não deve existir. O que poderia existir é uma tabela chamada usuário, sendo que um destes usuários pode ser o administrador.
Quando vamos pra OO, poderiamos pensar em uma classe/objeto Administrador que poderia executar determinadas chamadas que outros objetos não poderiam fazer, ou que poderia fazer algumas chamadas de modo especifico, sobrescrevendo determinados métodos. Na pratica, esse controle fica mesmo por conta da parte de gerenciamento de acesso e não mesmo seria necessario um objeto Administrador. Utilizei aqui desta forma somente como exemplo.