Baixe o app para aproveitar ainda mais
Prévia do material em texto
Modelo Entidade Relacionamento Banco de dados 1 Fabrício Nogueira fabricio.silva@uva.br Relembrando • Modelagem conceitual • Descrição abstrata do problema • Independente da implementação e dos dados armazenados • Modelo Entidade Relacionamento • Modelagem lógica • Representação de como os dados estão armazenados no SGBD • Depende do SGBD escolhido • Modelagem Física • Características de armazenamento em disco O Modelo Entidade-Relacionamento (MER) • Representação gráfica através de um Diagrama (DER) • Entidades • Atributos • Relacionamentos • Cardinalidades • Generalizações/Especializações • Entidade associativa Entidade • Conjunto de objetos sobre os quais se deseja manter informações no banco de dados • Ex.: • Rede de lojas • Produtos, tipos de produtos, vendas, compras, funcionários, loja • Banco • Conta corrente, clientes, agências, transações, endereços Objetos concretos Objetos abstratos Entidade - Representação • Retângulo com o nome da entidade • Conjunto de objetos aos quais as informações serão guardadas • Uma ocorrência ou instância de entidade, seria a representação particular • Ex.: Pessoa: Maria, José, etc - Departamento: Vendas, RH, etc Pessoa Departamento Relacionamento • Associações entre ocorrências de entidades • Representado através de um losango ligado às entidades associadas Pessoa DepartamentoLotação Pessoa CursoInscrição Relacionamento – Diagrama de ocorrências • Representação de associações específicas em um relacionamento Ana Carlos José Maria RH Vendas TI Ana, RH Carlos, RH José, Vendas Maria, TI Auto-relacionamento • Relacionamento entre ocorrências de uma mesma entidade • Papel • Função que uma ocorrência de entidade cumpre dentro de uma ocorrência de relacionamento Pessoa Casamento Marido Esposa Funcionário Gerencia Gerente Supervisionado Cardinalidade • Quantas ocorrências de uma entidade podem estar associadas a uma determinada ocorrência • Cardinalidade Mínima • Número mínimo de ocorrências de entidade associadas a uma ocorrência da entidade em questão através do relacionamento • Cardinalidade Máxima • Número máximo de ocorrências de entidade associadas a uma ocorrência da entidade em questão através do relacionamento Cardinalidade Departamento EmpregadoLotação 1 n Uma ocorrência de empregado pode estar associada a no máximo uma (1) ocorrência de departamento Uma ocorrência de departamento pode estar associada a muitas (n) ocorrência de empregado Classificação de relacionamentos binários • n:n (ou n:m ou muitos pra muitos) Funcionário ProjetoAlocação n n Médico PacienteConsulta n n Produto Composi- ção n n ComponenteComposto Classificação de relacionamentos binários • 1:n (ou um pra muitos) Aluno CursoInscrição 1 n Empregado Dependente 1 n Empregado Supervisão 1 n SupervisionadoSupervisor Classificação de relacionamentos binários • 1:1 Empregado MesaAlocação 1 1 Pessoa Casamento 1 1 EsposaMarido Relacionamento ternário Cidade Distribui ção n 1Distribuidor Produto 1 n Relacionamento ternário Cidade Distribui ção n 1Distribuidor Produto 1 n O par cidade-produto está associado a somente um distribuidor, ou seja, é dada exclusividade de distribuição de um produto para um distribuidor numa cidade. Relacionamento ternário Cidade Distribui ção n 1Distribuidor Produto 1 n A um par cidade-distribuidor podem estar associados muitos produtos, ou seja, um distribuidor pode distribuir muitos produtos em uma cidade. Relacionamento ternário Cidade Distribui ção n 1Distribuidor Produto 1 n A um par produto-distribuidor podem estar associadas muitas cidades, ou seja, um distribuidor pode distribuir um produto em muitas cidades. Cardinalidade mínima • Número mínimo de ocorrências de entidade associadas a uma ocorrência de uma entidade através de um relacionamento • Para fins de projetos de BD, consideram-se apenas: 0 e 1 • Cardinalidade mínima 1 • Associação obrigatória • Cardinalidade mínima 0 • Associação opcional Cardinalidade mínima Empregado MesaAlocação (0,1) (1,1) Ana José Maria m1 Ana, m1 José, m4 m2 m3 m4 m5 m7 m6 m8 Maria, m6 Exemplo • Sistema Acadêmico • Entidades: Alunos, cursos, disciplinas e departamentos • Relacionamentos: Alunos a cursos, disciplinas a cursos, disciplinas a departamentos, disciplinas a pré-requisitos Exemplo Departamento Responsá vel (1,1) (0,n) Disciplina (0,n) liberada Curso Pré- requisito (0,n) liberadora Disc-curso (0,n) (0,n) InscriçãoAluno (0,n) (1,1) Atributo • Dado que é associado a cada ocorrência de uma entidade ou relacionamento a fim de manter uma informação característica • Muitas vezes não são representados para não sobrecarregar o DER • Representação textual anexa ao diagrama Projeto Nome Tipo Código Cliente Nome Código Telefone (0,1) Atributo Engenheiro ProjetoAtuação (0,n) (0,n) Nome FunçãoCódigo TítuloCódigo Financeira Venda Financia- mento (0,1) (0,n) Taxa de juros Numero de parcelas Identificando entidades • Atributo(s) identificador(es) • Conjunto de um ou mais atributos e relacionamentos cujos valores servem para distinguir uma ocorrência da entidade das demais ocorrências da mesma entidade • DER representados por círculos pretos Projeto Nome Tipo Código Aluno Nome Matrícula Prateleira Capacidade Número do corredor Número da prateleira Identificando entidades • Atributo(s) identificador(es) • Há casos em que o identificador de uma entidade é composto por atributos da própria entidade, mas também por relacionamentos das quais a entidade participa (relacionamento identificador) Empregado Nome Código Dependente Nome Número de sequencia (0,n)(1,1) Identificando entidades • Atributo(s) identificador(es) • Há casos em que o identificador de uma entidade é composto por atributos da própria entidade, mas também por relacionamentos das quais a entidade participa (relacionamento identificador) Grupo Código Empresa Número da empresa (0,n)(1,1) Filial Número da filial (0,n)(1,1) Propriedades de atributos identificadores • Deve ser mínimo • Retirando-se um dos atributos, ou relacionamentos, que o compõe ele deixa de ser identificador • Cada entidade deve possuir um único identificador • Em certas entidades, mais de um atributo pode servir como identificador, cabe ao modelador escolher qual usar. • Ex.: Empregado: Matrícula, CPF ou RG Identificando relacionamentos • Uma ocorrência de relacionamento diferencia-se das demais pelas ocorrências das entidades que dela participam • Ex.: Entidades Engenheiro e Projeto se relacionam através de um relacionamento Alocação • Para cada par (engenheiro, projeto), há no máximo um relacionamento • Há casos em que entre mesmas ocorrências de entidade podem existir diversas ocorrências de relacionamento • Ex.: Entidades Médico e Paciente se relacionam através de um relacionamento Consulta • Um mesmo médico pode consultar um mesmo paciente diversas vezes • Nesse caso, é necessário incluir um atributo identificador no relacionamento Identificando relacionamentos • O relacionamento é identificado pelas entidades dele participantes, bem como pelos atributos definidos no relacionamento Médico PacienteConsulta n n Data/hora Exercício • Um berçário deseja informatizar suas operações. • Quando um bebê nasce, algumasinformações são armazenadas sobre ele, tais como: nome, data do nascimento, peso do nascimento, altura, a mãe deste bebê e o médico que fez seu parto. • Para as mães, o berçário também deseja manter um controle, guardando informações como: nome, endereço, telefone e data de nascimento. • Para os médicos, é importante saber: CRM, nome, telefone celular e especialidade. Exercício • Uma floricultura deseja informatizar suas operações. • Inicialmente, deseja manter um cadastro de todos os seus clientes, mantendo informações como: RG, nome, telefone e endereço. • Deseja também manter um cadastro contendo informações sobre os produtos que vende, tais como: nome do produto, tipo (flor, vaso, planta,...), preço e quantidade em estoque. • Quando um cliente faz uma compra, a mesma é armazenada, mantendo informação sobre o cliente que fez a compra, a data da compra, o valor total e os produtos comprados. Exercício • Uma biblioteca deseja manter informações sobre seus livros. • Inicialmente, quer armazenar para os livros as seguintes características: ISBN, título, ano, editora e autores deste livro. • Para os autores, deseja manter: nome e nacionalidade. Cabe salientar que um autor pode ter vários livros, assim como um livro pode ser escrito por vários autores. • Cada livro da biblioteca pertence a uma categoria. A biblioteca deseja manter um cadastro de todas as categorias existentes, com informações como: código da categoria e descrição. • Uma categoria pode ter vários livros associados a ela. Exercício Exercício • Elabore uma representação para entidades e atributos de uma empresa que deve armazenar dados de funcionários, departamentos e projetos. • Cada departamento tem um nome exclusivo, um número exclusivo e um funcionário que o gerencia a partir de uma data. • Um departamento controla uma série de projetos. • Cada projeto tem um nome exclusivo, um número exclusivo e um custo. • O funcionário tem um nome, CPF, endereço, salário, sexo, data de nascimento, está lotado em um departamento, mas pode trabalhar em vários projetos do departamento. • Registraremos o número de horas que o funcionário trabalha em um determinado projeto. • Registraremos também o supervisor do funcionário, que é outro funcionário. • Os dependentes dos funcionários serão registrados com nome, sexo, data de nascimento e parentesco com o funcionário. Práticas • Software BR Modelo • http://sis4.com/brModelo/
Compartilhar