View
5
Download
0
Category
Preview:
Citation preview
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
Recommended