Computação Instrumental Banco de Dados Modelo ER Material de Maria Augusta Constante Puget Referência: http://www.geocities.com/magupug/bd/bd.html Engenharia Ambiental 2º Semestre de 2006 1
Ciclo de vida de um banco de dados relacional 1. Formulação e análise de requisitos: 2. Projeto lógico do banco de dados: 3. Projeto físico do banco de dados: 4. Distribuição do banco de dados (se necessário distribuir os dados em rede): 5. Implementação do banco de dados, monitoração e modificação. 2
1. Formulação e análise de requisitos: a) Relacionamentos naturais entre os dados (independentes de processo). b) Requisitos de uso (dependentes de processo). c) Plataforma: hardware/software: SO, SGBD d) Requisitos de desempenho e integridade. Resultado: Documento de especificação de requisitos. 3
2. Projeto lógico do banco de dados: a) Modelo ER (projeto conceitual) b) Integração dos múltiplos diagramas ER da empresa. c) Transformação dos diagramas ER para tabelas relacionais. d) Normalização das tabelas relacionais. Resultado: Esquema global transformado para definições de tabelas. 4
2. Projeto lógico do banco de dados: a) Modelo ER 5
2. Projeto lógico do banco de dados: a) Transformação dos diagramas ER para tabelas relacionais. 6
3. Projeto físico do banco de dados: Seleção de índices e métodos de acesso. 4. Distribuição do banco de dados (se necessário distribuir os dados em rede): Fragmentação dos dados, replicação: Minimizar tempo de resposta, minimizar custos, maximizar disponibilidade. 5. Implementação do banco de dados, monitoração e modificação. 7
Modelo Entidade-Relacionamento (ER) 8
- O modelo Entidade-Relacionamento foi proposto originalmente por Peter Pin Shan-Chen (MIT) em 1976, no trabalho entitulado "The Entity- Relationship Model - Toward a Unified View of Data". - Tem sido usado rotineiramente na análise e modelagem de sistemas. - O modelo entidade-relacionamento (E-R) é baseado na percepção do mundo real como um conjunto de objetos básicos chamados entidades e nos relacionamento entre as mesmas. 9
Conceitos do Modelo Entidade- Relacionamento Entidades, Atributos e Relacionamentos 10
Entidade - É uma classe de objetos do mundo real que possuem uma existência independente e que possuem propriedades em comum sobre as quais deseja-se armazenar informações. - Tais objetos podem ter existência física: Pessoa, Carro, Livro. - Podem ainda ter apenas existência conceitual: Curso Universitário, Projeto. 11
Instância de entidade: É uma ocorrência de uma entidade. O equivalente lógico de uma instância é um registro de uma tabela. Exemplo: A entidade Funcionário possui várias instâncias: o funcionário Pedro da Costa, com CPF 123456789, que mora no endereço R. A, 23; o funcionário Paulo da Silva, com CPF 987654321, que mora no endereço R. B, 32 e assim por diante. 12
Atributos Propriedades particulares de uma entidade (ou relacionamento). 13
Classificação de Atributos: Atributos compostos: Podem ser divididos em subpartes com significados independentes. Exemplo: O endereço da entidade e1 pode ser subdividido em Rua e número, Cidade, Estado e CEP. São úteis quando há a necessidade de se referenciar os mesmos como um todo, mas algumas vezes, apenas alguns de seus componentes. Atributos simples: Em contraposição aos atributos compostos, são aqueles que não são divisíveis em partes. Exemplo: O atributo 14 idade.
Classificação de Atributos: Atributos monovalorados: Em contraposição aos atributos multivalorados, são aqueles que assumem um único valor para cada instância de uma entidade. Exemplo: Nome, CPF, data de aniversário são todos exemplos de atributos que, para uma dada pessoa, assumem um único valor. Atributos multivalorados: São aqueles que podem assumir múltiplos valores para uma dada instância da entidade. Exemplo: É comum que uma pessoa tenha vários números de telefone ou vários endereços comerciais. 15
Classificação de Atributos: Atributos opcionais: Quando uma entidade não possui valor para determinado atributo ou quando seu valor é desconhecido, um valor especial chamado null é usado neste caso. Exemplo: O atributo Apartamento só se aplicaria para aqueles funcionários que residissem em algum prédio. 16
Classificação de Atributos: Atributos derivados: Aqueles cujos valores que assumem podem ser obtidos a partir de outro atributo ou a partir de relacionamentos entre entidades. Exemplo: O atributo idade pode ser obtido a partir da data de nascimento de uma pessoa. Atributo-Chave: Atributo ou conjunto de atributos que identificam de modo único cada instância de uma entidade. Exemplo: O número do seguro social do funcionário. O CPF do funcionário. 17
Chave-Primária Pode ser escolhida dentre quaisquer um dos atributos chave, devendo-se evitar usar chaves-primárias compostas. 18
Relacionamento Classe de associações entre duas ou mais entidades. Exemplo: Há um relacionamento Trabalha-Para entre a entidade Funcionário e a entidade Departamento. 19
Instância de relacionamento Ocorrência particular de um relacionamento, envolvendo instâncias específicas de cada uma das entidades envolvidas. Exemplo: O Funcionário João da Silva trabalha para o Departamento de Desenvolvimento de Produtos. 20
Símbolos Utilizados 21
Símbolos Utilizados Retângulos Representam entidades. Elipses Representam atributos. Losângulos Representam relacionamentos. Linhas Ligam atributos a entidades e entidades a relacionamentos. 22
Atributos de Relacionamentos Os relacionamentos também podem ter atributos, da mesma forma que as entidades. Exemplo: Necessidade de se registrar o número de horas que um funcionário dedica a um determinado projeto. 23
O grau de um relacionamento Binários: Envolvem duas entidades. Binários recursivos: Envolvem a associação entre duas instâncias de uma única entidade as quais participam do relacionamento assumindo diferentes papeis. 24
O grau de um relacionamento Ternários: Envolvem três entidades. 25
Mapeamento de Restrições - O mundo real pode impor certas restrições que são refletidas nos relacionamentos. Exemplo: Uma regra segundo a qual um empregado trabalha apenas para um departamento. - Dois tipos principais de restrições de relacionamentos são a razão de cardinalidade de um relacionamento e a dependência de existência (restrição de participação). 26
Razão de Cardinalidade A cardinalidade expressa o número de instâncias de uma entidade às quais uma instância de outra entidade pode estar associada por meio de um relacionamento e é, obviamente, dependente das situações reais que estão sendo modeladas pelo relacionamento. 27
Para um relacionamento binário entre as entidades A e B, a razão de cardinalidade pode ser: Um para um (1:1) Um para muitos (1:N) Muitos para muitos (N:M) 28
Um para um (1:1): Uma instância da entidade A está associada a no máximo uma instância da entidade B, e uma instância da entidade B está associada a no máximo uma instância da entidade A. Exemplo: Funcionário Gerencia - Departamento 29
Um para muitos (1:N): Uma instância da entidade A está associada a várias instâncias da entidade B, e uma instância da entidade B está associada a no máximo uma instância da entidade A. Exemplo: Funcionário Trabalha Para Departamento 30
Muitos para muitos (N:M): Uma instância da entidade A está associada a várias instâncias da entidade B, e uma instância da entidade B está associada a várias instâncias da entidade A. Exemplo: Funcionário AtuaEm - Projeto 31
32