Programação com acesso a BD Prof.: Clayton Maciel Costa [email protected] 1 Processo de Projeto de Banco de Dados Projeto Lógico (Mapeamento do Modelo de Dados) Minimundo 1 Levantamento e Análise de Requisitos 2 Esquema Lógico (Modelo do SGBD) 4 3 Projeto Físico Esquema Interno Requisitos do Banco de Dados Projeto Conceitual Esquema Conceitual (Alto Nível) BD Catálogo do SGBD 2 Projeto Conceitual: Modelo ER • Modelo de dados ER • Não é implementado por nenhum SBD; • Utilizado como modelo conceitual para projeto de BDs: • Ferramenta para a modelagem de BDs. • Proposto por P. Chen em 1976; Princípio Básico: Representar dados através: Entidades; Relacionamentos entre as entidades; Atributos: propriedades de entidades ou relacionamentos. 3 Projeto Conceitual: Modelo ER • 1976 O Dr. Peter Chen (visite bit.csc.lsu.edu/~chen/chen.html) propôs o modelo Entidade-Relacionamento (ER) para projetos de banco de dados dando uma nova e importante percepção dos conceitos de modelos de dados. Assim como as linguagens de alto nível, a modelagem ER possibilita ao projetista concentrar-se apenas na utilização dos dados, sem se preocupar com estrutura lógica de tabelas. Dr. Peter Chen, criador do modelo ER. 4 Aplicação Exemplo Considere o BD chamado EMPRESA e seus requisitos. • Organizada em departamentos: • • • • um nome único; um número único; um empregado que gerencia o departamento; a data de quando o empregado começou a gerenciar o departamento deve ser registrada; • um departamento pode ter varias localizações. • Um departamento controla um número de projetos: • cada qual com um nome e número únicos; • uma única localização. 5 Aplicação Exemplo • Cada empregado: • nome, identidade, endereço, salário, sexo, data nascimento; • um empregado é assinalado a um departamento; • pode trabalhar em diversos projetos, os quais não são necessariamente controlados pelo mesmo departamento; • o número de horas por semana que o empregado trabalha em cada projeto e o supervisor direto de cada empregado; • Registro para cada empregado: • número de dependentes (para seguro); • para cada dependente: • primeiro nome, sexo, data de nascimento e relacionamento com o empregado. 6 Aplicação Exemplo Esquema Conceitual do BD EMPRESA 7 Modelo ER: Entidades e Atributos Entidade • Representação abstrata de um objeto do mundo real; • Exemplos de entidades do mundo real: • Objeto concreto: • Um empregado, um carro, um estudante. • Objeto abstrato: • Uma empresa, uma conta bancária, uma disciplina. • Conjunto de entidades (tipo de entidade): • Entidades que apresentam características semelhantes; • Exemplo: • Estudantes, Empregados, Contas. 8 Modelo ER: Entidades e Atributos Atributos de uma entidade • Propriedades que caracterizam uma entidade. • Exemplos: • Atributos de empregados: • matrícula, nome, endereço, rg, cpf, data-nasc, salário, lotação, dataadmissão. • Atributos de estudantes: • matrícula, nome, curso, rg, cpf, data-ingresso. • A cada atributo de uma entidade deve estar associado um valor. 9 Modelo ER: Entidades e Atributos Atributos de uma entidade • Atributos chave de uma entidade: • Conjunto de atributos que identificam univocamente uma entidade • Exemplo: • Matrícula é atributo chave para Estudante. • Chave pode ser formada por vários atributos: chave composta • Exemplo: • Numero e Nome são chaves compostas da entidade Departamento. • Domínio de um atributo: • Conjunto de valores que podem ser atribuídos a um atributo para cada entidade individualmente: • Exemplo: • RG:Integer; Nome do Empregado:String. 10 Modelo ER: Entidades e Atributos 11 Modelo ER: Entidades e Atributos Atributos de uma entidade • Tipos de atributos: • Atributo atômico: • Atributo que não pode ser subdividido. Exemplo: Salário. • Atributo composto: • Atributo formado por vários atributos. Exemplo: Endereço. • Atributo monovalorado: • Atributo para o qual está associado um único valor. Exemplo: Nome. • Atributo multivalorado: • Atributo para qual podem estar associados vários valores. Exemplo: Para o atributo telefone podem estar associados vários valores, como telefone residencial, comercial e celular. • Atributo derivado: • Atributo cujo valor é derivado com base no valor de um outro atributo (atributo base). Exemplo: Atributo idade pode ser derivado do atributo data-nasc. 12 Modelo ER: Entidades e Atributos 13 Modelo ER: Relacionamentos Relacionamento • Abstração que representa associações entre diferentes conjuntos de entidades. • Exemplo: • Empregado John Smith trabalha para Departamento pesquisa. • Empregado Fred Brown gerencia Departamento pesquisa. • Departamento pesquisa controla Projeto X. 14 Modelo ER: Relacionamentos Tipo de Relacionamento • Define um conjunto de associações entre n tipos de entidade E1, E2,...,En • Exemplo: • Trabalha_para entre Empregado e Departamento 15 Modelo ER: Relacionamentos Tipo de Relacionamento • Formalmente, um tipo de relacionamento R é um conjunto de (instâncias de) relacionamentos ri, onde cada ri associa n (instâncias de) entidades (e1,...,en) e cada ej pertence a um tipo de entidade Ej • R ∈ E1 x E2 x ... x En • ri = (e1, ..., en) • Grau de um Tipo de Relacionamento • Número de tipos de entidade participantes de um tipo de relacionamento. 16 Modelo ER: Relacionamentos 17 Modelo ER: Relacionamentos 18 Modelo ER: Relacionamentos Restrições sobre Relacionamento • Limitam as possíveis combinações de entidades que podem participar no conjunto de relacionamentos; • Cardinalidade: número de instâncias de um tipo de relacionamento do qual uma entidade pode participar; • Participação: se a existência de uma entidade depende de seu relacionamento com outra entidade através de um tipo de relacionamento parcial ou total: • Exemplo: Todo empregado deve trabalhar p/ um departamento. (total) • Exemplo: Nem todo empregado gerencia um departamento. (parcial) • Cardinalidade + Participação Restrições Estruturais 19 Modelo ER: Relacionamentos 20 Modelo ER: Relacionamentos 21 Modelo ER: Relacionamentos Relacionamentos Recursivos • Auto relacionamento • Relacionamento envolvendo um único conjunto de entidades; • Exemplo: • Cada departamento possui vários supervisores: • Responsáveis por um subconjunto de empregados do departamento. • Modelagem do relacionamento entre empregado e supervisor: • Um supervisor também é uma entidade do tipo Empregado; • Relacionamento supervisiona. Empregado desempenha dois papéis - é-supervisionado-por (1) - é-supervisor-de (2) 1 1 1 1 Empregado 2 2 Supervisiona 22 Modelo ER: Relacionamentos 23 Aplicação Exemplo Esquema Conceitual do BD EMPRESA 24 Modelo ER: Entidades Entidade Fraca • Entidade cuja existência depende de estar associada, via um relacionamento (relacionamento de identificação), com uma outra entidade (entidade forte); • Exemplo: • Considere o relacionamento dependência entre os conjuntos de entidades Empregado e Dependente. • Dependente contém os dependentes dos empregados da empresa. • A existência de um dependente Bárbara: • Depende da existência de um empregado André e que • Bárbara esteja relacionada a André através do relacionamento dependência. • Uma entidade fraca é identificada • Por estar relacionada com uma entidade forte: • Pelo atributo chave da entidade forte. • Atributos da própria entidade fraca: • Chave parcial. 25 Aplicação Exemplo Esquema Conceitual do BD EMPRESA 26 Modelo ER: Notação Símbolo Representação Conjunto de entidades Conjunto de entidades fracas Conjunto de relacionamentos (relacionamento) Relacionamento de identificação Nome atributo Atributo 27 Modelo ER: Notação Símbolo * Representação Nome atributo Atributo chave Nome atributo Atributo derivado Nome atributo Atributo multivalorado Nome atributo Atributo composto Nome atributo Nome atributo 28 Modelo ER: Notação Símbolo Representação Atributo chave parcial de uma entidade fraca Nome atributo E1 1 R E1 R (min,max) R N E2 Cardinalidade 1:N E Restrição estrutural de participação de E em R E2 Participação total de E2 em R 29 FIM 30