Banco de Dados: Teoria e Prática André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Setembro 2016 Picture by http://www.flickr.com/photos/morganmorgan/ 2010 Mapeamento Modelo Conceitual → Lógico (respostas exercícios) Exercício 1 Mapeie para o modelo relacional nome venda composto ativo Medicamento nome popular nome científico incubação Vírus Exercício 1 medicamento(nomeVenda, compostoAtivo) virus(nomeCientifico, nomePopular, incubacao) Exercício 2 Mapeie para o modelo relacional nome venda nome popular composto ativo Medicamento 1 nome científico trata N incubação Vírus Exercício 2 medicamento(nomeVenda, compostoAtivo) virus(nomeCientifico, nomePopular, incubacao, nomeVendaMedicamento) - CHE: nomeVendaMedicamento para medicamento Exercício 3 Mapeie para o modelo relacional nome venda nome popular composto ativo Medicamento N nome científico trata N incubação Vírus Exercício 3 medicamento(nomeVenda, compostoAtivo) virus(nomeCientifico, nomePopular, incubacao) trata(nomeVendaMedicamento, nomeCientificoVirus) - CHE: nomeVendaMedicamento para medicamento - CHE: nomeCientificoVirus para virus Exercício 4 nome venda nome popular composto ativo dosagem N Medicamento id trata N Tipo Paciente nome científico N incubação Vírus Exercício 4 medicamento(nomeVenda, compostoAtivo) virus(nomeCientifico, nomePopular, incubacao) tipoPaciente(id) trata(nomeVendaMedicamento, nomeCientificoVirus, idTipoPaciente, dosagem) - CHE: nomeVendaMedicamento para medicamento - CHE: nomeCientificoVirus para virus - CHE: idTipoPaciente para tipoPaciente Exercício 5 Mapeie para o modelo Relacional nome venda composto ativo Medicamento dosagem N trata nome científico N nome popular incubação Vírus xt N id Tipo Paciente Retrovírus Não Retrovírus Exercício 5 medicamento(nomeVenda, compostoAtivo) virus(nomeCientifico, nomePopular, incubacao, tipoVirus) tipoPaciente(id) trata(nomeVendaMedicamento, nomeCientificoVirus, idTipoPaciente, dosagem) - CHE: nomeVendaMedicamento para medicamento - CHE: nomeCientificoVirus para virus - CHE: idTipoPaciente para tipoPaciente Exercício 6 Mapeie para o modelo relacional nome venda composto ativo N Medicamento N cp dosagem trata Coquetel N incubação Vírus concentração xt N contém N nome popular nome científico id Tipo Paciente sem restrição Retrovírus Não Retrovírus Exercício 6 medicamento(nomeVenda, compostoAtivo) virus(nomeCientifico, nomePopular, incubacao, tipoVirus) tipoPaciente(id) trata(nomeVendaMedicamento, nomeCientificoVirus, idTipoPaciente, dosagem) - CHE: ... coquetel(nomeVenda) - CHE: nomeVenda para medicamento contem(nomeVendaMedicamento, nomeVendaCoquetel, concentração) - CHE: nomeVendaMedicamento para medicamento - CHE: nomeVendaCoquetel para coquetel Exercício 7 nome venda composto ativo N Medicamento N dosagem trata nome popular nome científico N Vírus concentração xt N contém incubação id N Coquetel Tipo Paciente N N Retrovírus Não Retrovírus dosagem coquetel trata N somente retrovírus são tratados com coquetéis medicamento(nomeVenda, compostoAtivo) virus(nomeCientifico, nomePopular, incubacao, tipoVirus) tipoPaciente(id) trata(nomeVendaMedicamento, nomeCientificoVirus, idTipoPaciente, dosagem) - CHE: nomeCientificoVirus para virus - CHE: nomeVendaMedicamento para medicamento - CHE: idTipoPaciente para tipoPaciente coquetel(nomeVenda) contem(nomeVendaMedicamento, nomeVendaCoquetel, concentração) - CHE: nomeVendaMedicamento para medicamento - CHE: nomeVendaCoquetel para coquetel retrovirus(nomeCientifico) - CHE: nomeCientifico para virus coquetelTrata(nomeCientificoRetrovirus, nomeVendaCoquetel, idTipoPaciente, dosagem) - CHE: nomeCientificoRetroviros para retrovirus - CHE: nomeVendaCoquetel para coquetel - CHE: isTipoPaciente para tipoPaciente Exercício 8 nome venda composto ativo N Medicamento N cp dosagem trata Coquetel N incubação Vírus xt N id Tipo Paciente N N nome popular concentração contém N nome científico Retrovírus Não Retrovírus dosagem coquetel trata N retrovírus só são tratados com coquetéis medicamento(nomeVenda, compostoAtivo) virus(nomeCientifico, nomePopular, incubacao) tipoPaciente(id) trata(nomeVendaMedicamento, nomeCientificoNaoRetroVirus, idTipoPaciente, dosagem) - CHE: nomeVendaMedicamento para medicamento - CHE: nomeCientificoNaoRetroVirus para naoRetroVirus - CHE: idTipoPaciente para tipoPaciente coquetel(nomeVenda) contem(nomeVendaMedicamento, nomeVendaCoquetel, concentração) - CHE: nomeVendaMedicamento para medicamento - CHE: nomeVendaCoquetel para coquetel retrovirus(nomeCientifico) - CHE: nomeCientifico para virus coquetelTrata(nomeCientificoRetrovirus, nomeVendaCoquetel, idPaciente, dosagem) - CHE: nomeCientificoRetroviros para retrovirus - CHE: nomeVendaCoquetel para coquetel - CHE: isTipoPaciente para tipoPaciente naoRetroVirus(nomeCientifico) - CHE: nomeCientifico para virus Agradecimentos ▪Luiz Celso Gomes Jr (professor desta disciplina em 2014) que concebeu estes exercícios. Os exercícios foram posteriormente modificados por mim. André Santanchè http://www.ic.unicamp.br/~santanche License ▪ These slides are shared under a Creative Commons License. Under the following conditions: Attribution, Noncommercial and Share Alike. ▪ See further details about this Creative Commons license at: http://creativecommons.org/licenses/by-nc-sa/3.0/