Modelo Entidade-Relacionamento - BCD29008 Engenharia de...

Post on 15-Jul-2020

3 views 0 download

Transcript of Modelo Entidade-Relacionamento - BCD29008 Engenharia de...

Modelo Entidade-RelacionamentoBCD29008 – Engenharia de Telecomunicações

Prof. Emerson Ribeiro de Mello

http://docente.ifsc.edu.br/mello/bcd

11 DE FEVEREIRO DE 2020

A modelagem é necessária?

Modelo de softwareRepresentação das características de funcionamento e comportamentoque ajudarão no entendimento do software a ser desenvolvido

Desejamos desenvolver um sistema acadêmico e precisamosarmazenar dados sobre

Alunos

Funcionários

Cursos

Campus

Quais informações seriam relevantes para serem armazenadas?

Como essas informações estariam organizadas?

1/20

A modelagem é necessária?

Modelo de softwareRepresentação das características de funcionamento e comportamentoque ajudarão no entendimento do software a ser desenvolvido

Desejamos desenvolver um sistema acadêmico e precisamosarmazenar dados sobre

Alunos

Funcionários

Cursos

Campus

Quais informações seriam relevantes para serem armazenadas?

Como essas informações estariam organizadas?

1/20

Fases de um projeto de banco de dados

1 Modelagem conceitualCaptura necessidades da organização em termos de armazenamentoe independe do SGBD

2 Projeto lógicoTransforma modelo conceitual em uma implementação dependentedo SGBD

3 Projeto físicoAjustes para melhorar o desempenho do banco de dados, porém seminfluenciar as funcionalidadesGeralmente trata-se de um processo contínuo, também chamado desintonia do banco de dados (tuning)

2/20

Modelo de banco de dadosDescrição dos tipos de informações que são armazenadas em um bancode dados

Modelo é construído por meio de uma linguagem de modelagem dedados, que pode ser textual ou gráfica

A representação de um modelo de dados por meio de umalinguagem de modelagem de dados é chamada de esquema debanco de dados

3/20

Modelo conceitualIndica quais dados podem aparecer em um banco de dados, mas nãoindica como esses estão armazenados pelo SGBD

Modelagem entidade-relacionamento (ER) é a técnica maisdifundida de modelagem conceitual

4/20

Modelo conceitualIndica quais dados podem aparecer em um banco de dados, mas nãoindica como esses estão armazenados pelo SGBD

Modelagem entidade-relacionamento (ER) é a técnica maisdifundida de modelagem conceitual

4/20

Modelo lógico

Descrição de um banco de dados no nível de abstração visto pelousuário do SGBD

Em um SGBD relacional os dados estão organizados na forma detabelas

5/20

Modelo lógico

Descrição de um banco de dados no nível de abstração visto pelousuário do SGBD

Em um SGBD relacional os dados estão organizados na forma detabelas

5/20

Modelo Entidade-Relacionamento

Entidades

Entidade é uma coisa ou objeto do mundo real que é distinguível detodos os outros objetosConjunto de entidades reúne entidades do mesmo tipo quecompartilham as mesmas propriedades ou atributos

6/20

Atributos descrevem características de uma entidade

Cada atributo possui um conjunto de valores permitidos, chamadode domínio

Valor nulo (NULL) é membro de qualquer domínio e indica que ovalor é desconhecido ou não existe

Elipse dupla indica que o atributo permite múltiplos valores

7/20

Atributos descrevem características de uma entidade

ExercícioIdentifique os atributos da entidade Livro

7/20

Atributos: Superchave

Superchave

Conjunto de atributos que pode ser usado para identificar unicamenteuma entidade

Superchaves possíveis:

{matricula}{matricula, nome}{matricula, nome, dNasc, cpf}{dNasc, cpf}, etc.

ExercícioIdentifique as superchavespossíveis para a entidadeLivro

8/20

Atributos: Superchave

Superchave

Conjunto de atributos que pode ser usado para identificar unicamenteuma entidade

Superchaves possíveis:{matricula}{matricula, nome}{matricula, nome, dNasc, cpf}{dNasc, cpf}, etc.

ExercícioIdentifique as superchavespossíveis para a entidadeLivro

8/20

Atributos: Superchave

Superchave

Conjunto de atributos que pode ser usado para identificar unicamenteuma entidade

Superchaves possíveis:{matricula}{matricula, nome}{matricula, nome, dNasc, cpf}{dNasc, cpf}, etc.

ExercícioIdentifique as superchavespossíveis para a entidadeLivro

8/20

ChaveUma superchave da qual não se pode remover quaisquer atributos doconjunto e ainda assim manter a restrição de identificar unicamente umaentidade

Quando houver mais de uma chave, essas são chamadas de chavecandidata

Chaves candidataspossíveis:

{matricula}, {cpf}

ExercícioIdentifique as chaves candidatas possíveispara a entidade Livro

9/20

ChaveUma superchave da qual não se pode remover quaisquer atributos doconjunto e ainda assim manter a restrição de identificar unicamente umaentidade

Quando houver mais de uma chave, essas são chamadas de chavecandidata

Chaves candidataspossíveis:

{matricula}, {cpf}

ExercícioIdentifique as chaves candidatas possíveispara a entidade Livro

9/20

ChaveUma superchave da qual não se pode remover quaisquer atributos doconjunto e ainda assim manter a restrição de identificar unicamente umaentidade

Quando houver mais de uma chave, essas são chamadas de chavecandidata

Chaves candidataspossíveis:

{matricula}, {cpf}

ExercícioIdentifique as chaves candidatas possíveispara a entidade Livro

9/20

Atributo identificador (ER) ou chave primária

Chave primária (primary key – pk) é uma chave candidata escolhidacomo principal meio para identificar uma entidade

O texto sublinhado é a forma de representação do atributoidentificador no diagrama ER

10/20

Produto cartesiano – teoria dos conjuntos

Dados dois conjuntos, A e B o produto cartesiano desses conjuntos(A× B) é o conjunto com todos os pares de ambos conjuntos

RelacionamentoRelacionamento é um subconjunto de A× B

11/20

Produto cartesiano – teoria dos conjuntos

Dados dois conjuntos, A e B o produto cartesiano desses conjuntos(A× B) é o conjunto com todos os pares de ambos conjuntos

RelacionamentoRelacionamento é um subconjunto de A× B

11/20

Relacionamento – Associação entre entidades

Relacionamento: FAZ – subconjunto de Aluno× Curso

Uma entidade pode aparecer 0, 1 ou mais vezes no relacionamentoA combinação de entidades (ex: João – Tele) só pode aparecer umaúnica vez

Matrícula CódigoCurso1234 2904567 2904567 271

12/20

Relacionamento – Associação entre entidades

ExercícioIdentifique um relacionamento entre a entidade Livro e uma outra a serescolhida por você

12/20

Relacionamento – Associação entre entidades

Atributos da entidade AlunoMatrícula, nome, dataNascimento, cpf, telefone

Atributos da entidade CursoCódigoCurso, Nome, Campus

Matrıcula CodigoCurso

1234 290

4567 290

4567 271

Situação do aluno no curso (cursando, concluído, trancado)

Essa informação seria atributo de quem?

13/20

Relacionamento – Associação entre entidades

Atributos da entidade AlunoMatrícula, nome, dataNascimento, cpf, telefone

Atributos da entidade CursoCódigoCurso, Nome, Campus

Matrıcula CodigoCurso

1234 290

4567 290

4567 271

Situação do aluno no curso (cursando, concluído, trancado)

Essa informação seria atributo de quem?

13/20

Relacionamentos podem possuir Atributos

Chave de um relacionamentoPode ser constituída pela união dos atributos identificadores dasentidades participantes

Matrıcula CodigoCurso Situac~ao

1234 290 Cursando

4567 290 Cursando

4567 271 Concluıdo

14/20

Relacionamentos podem possuir Atributos

Chave de um relacionamentoPode ser constituída pela união dos atributos identificadores dasentidades participantes

Matrıcula CodigoCurso Situac~ao

1234 290 Cursando

4567 290 Cursando

4567 271 Concluıdo

14/20

Cardinalidade de relacionamentos

Cardinalidade máximaIndica quantas vezes uma dada entidade poderá aparecer em umrelacionamento

Um aluno pode fazer quantos cursos?Um curso pode ter quantos alunos?

15/20

Cardinalidade de relacionamentos

Cardinalidade máximaIndica quantas vezes uma dada entidade poderá aparecer em umrelacionamento

Um professor pode ser orientador de quantos alunos?Um aluno pode ter quantos orientadores?

15/20

Cardinalidade de relacionamentos

16/20

Cardinalidade de relacionamentos

Um-para-um:Um professor pode orientar no máximo um AlunoUm Aluno pode ser orientado por no máximo um Professor

16/20

Cardinalidade de relacionamentos

Um-para-muitos:Um professor pode orientar muitos AlunosUm Aluno pode ser orientado por no máximo um Professor

16/20

Cardinalidade de relacionamentos

Muitos-para-um:Um professor pode orientar no máximo um AlunoUm Aluno pode ser orientado por muitos Professores

16/20

Cardinalidade de relacionamentos

Muitos-para-muitos:Um professor pode orientar muitos AlunosUm Aluno pode ser orientado por muitos Professores

16/20

Cardinalidade de relacionamentosExemplos

1 Alunos e DisciplinasCada aluno pode fazer várias disciplinas e cada disciplina pode tervários alunos

2 Sala de cinema e FilmeCada sala de cinema para exibir diversos filmes e cada filme pode serexibido em diversas salas de cinemas

3 Hotel e hóspedesO quarto de um hotel pode ser reservado por diversos hóspedes e umhóspede pode reservar diversos quartos

ExercícioApresente a cardinalidade para o relacionamento entre a entidade Livro ea outra entidade que você escolheu no exercício anterior (lâmina 12)

17/20

Cardinalidade de relacionamentosExemplos

1 Alunos e DisciplinasCada aluno pode fazer várias disciplinas e cada disciplina pode tervários alunos

2 Sala de cinema e FilmeCada sala de cinema para exibir diversos filmes e cada filme pode serexibido em diversas salas de cinemas

3 Hotel e hóspedesO quarto de um hotel pode ser reservado por diversos hóspedes e umhóspede pode reservar diversos quartos

ExercícioApresente a cardinalidade para o relacionamento entre a entidade Livro ea outra entidade que você escolheu no exercício anterior (lâmina 12)

17/20

Cardinalidade de relacionamentosExercício 7.1 do livro Sistemas de banco de dados

Desenhe um diagrama E-R para uma seguradora de automóveis em quecada cliente possua um ou mais carros. Cada carro tem associado a elezero ou mais acidentes registrados. Cada apólice de seguro cobre um oumais carros e tem um ou mais pagamentos de prêmios associadas a ela.Cada pagamento tem uma data de vencimento associada, além da dataem que o pagamento foi recebido.

1 Encontrar as entidades (normalmente os substantivos)2 Encontrar os relacionamentos (normalmente os verbos)3 Encontrar os atributos (normalmente ficam explícitos)

18/20

Cardinalidade de relacionamentosExercício 7.1 do livro Sistemas de banco de dados

Desenhe um diagrama E-R para uma seguradora de automóveis em quecada cliente possua um ou mais carros. Cada carro tem associado a elezero ou mais acidentes registrados. Cada apólice de seguro cobre um oumais carros e tem um ou mais pagamentos de prêmios associadas a ela.Cada pagamento tem uma data de vencimento associada, além da dataem que o pagamento foi recebido.

1 Encontrar as entidades (normalmente os substantivos)

2 Encontrar os relacionamentos (normalmente os verbos)3 Encontrar os atributos (normalmente ficam explícitos)

18/20

Cardinalidade de relacionamentosExercício 7.1 do livro Sistemas de banco de dados

Desenhe um diagrama E-R para uma seguradora de automóveis em quecada cliente possua um ou mais carros. Cada carro tem associado a elezero ou mais acidentes registrados. Cada apólice de seguro cobre um oumais carros e tem um ou mais pagamentos de prêmios associadas a ela.Cada pagamento tem uma data de vencimento associada, além da dataem que o pagamento foi recebido.

1 Encontrar as entidades (normalmente os substantivos)

2 Encontrar os relacionamentos (normalmente os verbos)3 Encontrar os atributos (normalmente ficam explícitos)

18/20

Cardinalidade de relacionamentosExercício 7.1 do livro Sistemas de banco de dados

Desenhe um diagrama E-R para uma seguradora de automóveis em quecada cliente possua um ou mais carros. Cada carro tem associado a elezero ou mais acidentes registrados. Cada apólice de seguro cobre um oumais carros e tem um ou mais pagamentos de prêmios associadas a ela.Cada pagamento tem uma data de vencimento associada, além da dataem que o pagamento foi recebido.

1 Encontrar as entidades (normalmente os substantivos)2 Encontrar os relacionamentos (normalmente os verbos)

3 Encontrar os atributos (normalmente ficam explícitos)

18/20

Cardinalidade de relacionamentosExercício 7.1 do livro Sistemas de banco de dados

Desenhe um diagrama E-R para uma seguradora de automóveis em quecada cliente possua um ou mais carros. Cada carro tem associado a elezero ou mais acidentes registrados. Cada apólice de seguro cobre um oumais carros e tem um ou mais pagamentos de prêmios associadas a ela.Cada pagamento tem uma data de vencimento associada, além da dataem que o pagamento foi recebido.

1 Encontrar as entidades (normalmente os substantivos)2 Encontrar os relacionamentos (normalmente os verbos)

3 Encontrar os atributos (normalmente ficam explícitos)

18/20

Cardinalidade de relacionamentosExercício 7.1 do livro Sistemas de banco de dados

Desenhe um diagrama E-R para uma seguradora de automóveis em quecada cliente possua um ou mais carros. Cada carro tem associado a elezero ou mais acidentes registrados. Cada apólice de seguro cobre um oumais carros e tem um ou mais pagamentos de prêmios associadas a ela.Cada pagamento tem uma data de vencimento associada, além da dataem que o pagamento foi recebido.

1 Encontrar as entidades (normalmente os substantivos)2 Encontrar os relacionamentos (normalmente os verbos)3 Encontrar os atributos (normalmente ficam explícitos)

18/20

Cardinalidade de relacionamentosExercício 7.1 do livro Sistemas de banco de dados

Desenhe um diagrama E-R para uma seguradora de automóveis em quecada cliente possua um ou mais carros. Cada carro tem associado a elezero ou mais acidentes registrados. Cada apólice de seguro cobre um oumais carros e tem um ou mais pagamentos de prêmios associadas a ela.Cada pagamento tem uma data de vencimento associada, além da dataem que o pagamento foi recebido.

1 Encontrar as entidades (normalmente os substantivos)2 Encontrar os relacionamentos (normalmente os verbos)3 Encontrar os atributos (normalmente ficam explícitos)

18/20

Cardinalidade de relacionamentosExercício 7.1 do livro Sistemas de banco de dados

18/20

Cardinalidade de relacionamentosExercício 7.1 do livro Sistemas de banco de dados

18/20

Exercício: cafeteira espresso com leitor NFC

Cada usuário possui um oumais cartões

Deseja-se registrar o total decafé que cada usuárioconsumiu

Somente usuários cadastradospoderão usar a cafeteira e cadausuário possui um saldopré-pago

No final de cada mês, deve-seindicar o total de cafés quecada usuário consumiu

19/20

Aulas baseadas em

HENRY F.; SUDARSHAN SILBERSCHATZ, ABRAHAM; KORTH.SISTEMAS DE BANCO DE DADOS.6a. Edição - Editora Campus, 2012

HEUSER, C. A.PROJETO DE BANCO DE DADOS6a. Edição - Editora Bookman, 2009

SULLIVAN, D. G.COMPUTER SCIENCE – HARVARD UNIVERSITY

20/20