Aula de revisão - GDI Ricardo de Oliveira Cavalcanti roc3[at]cin.ufpe.br Clínica Médica • • • • Uma clínica médica pretende informatizar os seus serviços. Para já querem começar por informatizar os dados referentes a médicos, pacientes e a consultas. Na clínica trabalham vários médicos, de várias especialidades diferentes. De cada médico, identificado internamente por um número de empregado, a clínica pretende armazenar o nome, especialidade, endereço e telefone. Como é usual, os médicos dão consultas a clientes. A clínica pretende ter sempre disponível a informação dos nomes e endereço dos seus clientes. A cada consulta está associado um só médico e um só cliente. Atualmente as consultas são numeradas para cada um dos médicos, ou seja para cada médico há uma consulta 1, uma consulta 2, etc. Para a clínica é importante manter este sistema de identificação das consultas, por forma a poderem ser introduzidos dados relativos ao tempo em que a clínica ainda não estava informatizada. Da consulta pretende armazenar-se a data em que ocorreu, bem como os vários remédios que foram receitados pelo médico na consulta. E-R telefone nome Endereco NumCons NumMed Médico 1 n Dada por Especialidade NumPac data Consulta m Marca m n Remédio Paciente Endereco receita NumRem 1 nome nome Mapeamento E/R – Relacional – Passo 1 • Para cada entidade regular E no esquema ER, criar uma relação R que inclui todos os atributos de R Médico NumMedico Nome Telefone Endereço Especialidade Paciente Remédio NumPaciente Nome Endereco Código Nome Mapeamento E/R – Relacional – Passo 2 • Para cada entidade fraca W no esquema E-R que tenha como entidade proprietária E, criar uma relação R e incluir todos os atributos de W como atributos de R, incluir o(s) atributo(s) chave primária da relação proprietária E. • A chave primária de R é a combinação da chave primária de E e da chave parcial de W. Consulta Médico NúmeroConsulta Paciente (FK) Data Mapeamento E/R – Relacional – Passo 3 Para cada relacionamento R de 1:1 no esquema ER, • identificar as relações das entidades participando do relacionamento R, • escolher uma das relações e incluir como chave estrangeira, a chave primária da outra relação, • incluir todos os atributos do relacionamento na relação escolhida. Mapeamento E/R – Relacional – Passo 4 Para cada relacionamento regular (não fraco) 1:N, • identificar a relação S que representa a entidade do lado N, • incluir como chave estrangeira a chave primária da relação que representa a entidade do lado 1, • incluir os atributos do relacionamento em S. Mapeamento E/R – Relacional – Passo 5 Para cada relacionamento R de M:N, • criar uma nova relação para representar R, • incluir como chave estrangeira as chaves primárias das relações que participam em R, estas chaves combinadas formarão a chave primária da relação, • incluir também eventuais atributos de R. Consulta_Remedio Consulta Remedio Mapeamento E/R – Relacional – Passo 6 Para cada atributo multivalorado A, criar uma nova relação R, incluindo um atributo correspondendo a A mais a chave primária K da relação que tem A como atributo. • A chave primária de R é a combinação de A e K. Mapeamento E/R – Relacional – Passo 7 • Para cada relacionamento n-ário R (n > 2), • criar uma nova relação S para representar R, • incluir como chaves estrangeiras as chaves primárias das relações que representam as entidades participantes, • incluir os eventuais atributos de R • A chave primária de S é normalmente a combinação das chaves estrangeiras. Mapeamento E/R – Relacional Médico NumMedico Nome Telefone Endereço Especialidade Paciente Remédio NumPaciente Nome Endereco Código Nome Consulta Médico NúmeroConsulta Paciente (FK) Data Consulta_Remedio Consulta Remedio Normalização • Uma relação está na Primeira Forma Normal (1NF) se todos os atributos que a compõem são atômicos. • Uma relação está na Segunda Forma Normal (2NF) se ela está na 1NF e todo atributo não chave é plenamente dependente da chave primária. • Uma relação está na Terceira Forma Normal (3NF) se ela está na 2NF e nenhum atributo não-chave é transitivamente dependente da chave primária. • Uma relação está na Forma Normal de Boyce/Codd (BCNF) se todo determinante é uma chave candidata. • Uma relação está na Quarta Forma Normal (4NF) se ela está na 3NF (BCNF) e não existem dependências multivaloradas.