Baixe o app para aproveitar ainda mais
Prévia do material em texto
13/03/2015 1 Modelo Entidade Relacionamento Banco de dados 1 Fabrício Nogueira fabricio.silva@uva.br RelembrandoRelembrandoRelembrandoRelembrando • 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 13/03/2015 2 O Modelo EntidadeO Modelo EntidadeO Modelo EntidadeO Modelo Entidade----Relacionamento (MER)Relacionamento (MER)Relacionamento (MER)Relacionamento (MER) • Representação gráfica através de um Diagrama (DER) • Entidades • Atributos • Relacionamentos • Cardinalidades • Generalizações/Especializações • Entidade associativa EntidadeEntidadeEntidadeEntidade • 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 13/03/2015 3 Entidade Entidade Entidade Entidade ---- RepresentaçãoRepresentaçãoRepresentaçãoRepresentaçã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 RelacionamentoRelacionamentoRelacionamentoRelacionamento • Associações entre ocorrências de entidades • Representado através de um losango ligado às entidades associadas Pessoa DepartamentoLotação Pessoa CursoInscrição 13/03/2015 4 Relacionamento Relacionamento Relacionamento Relacionamento –––– Diagrama de ocorrênciasDiagrama de ocorrênciasDiagrama de ocorrênciasDiagrama 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 AutoAutoAutoAuto----relacionamentorelacionamentorelacionamentorelacionamento • 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 13/03/2015 5 CardinalidadeCardinalidadeCardinalidadeCardinalidade • 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 CardinalidadeCardinalidadeCardinalidadeCardinalidade 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 13/03/2015 6 Classificação de relacionamentos bináriosClassificação de relacionamentos bináriosClassificação de relacionamentos bináriosClassificaçã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áriosClassificação de relacionamentos bináriosClassificação de relacionamentos bináriosClassificaçã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 13/03/2015 7 Classificação de relacionamentos bináriosClassificação de relacionamentos bináriosClassificação de relacionamentos bináriosClassificação de relacionamentos binários • 1:1 Empregado MesaAlocação 1 1 Pessoa Casamento 1 1 EsposaMarido Relacionamento ternárioRelacionamento ternárioRelacionamento ternárioRelacionamento ternário Cidade Distribui ção n 1 Distribuidor Produto 1 n 13/03/2015 8 Relacionamento ternárioRelacionamento ternárioRelacionamento ternárioRelacionamento ternário Cidade Distribui ção n 1 Distribuidor 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árioRelacionamento ternárioRelacionamento ternárioRelacionamento ternário Cidade Distribui ção n 1 Distribuidor Produto 1 n A um par cidade-distribuidor podem estar associados muitos produtos, ou seja, um distribuidor pode distribuir muitos produtos em uma cidade. 13/03/2015 9 Relacionamento ternárioRelacionamento ternárioRelacionamento ternárioRelacionamento ternário Cidade Distribui ção n 1 Distribuidor 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ínimaCardinalidade mínimaCardinalidade mínimaCardinalidade 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 13/03/2015 10 Cardinalidade mínimaCardinalidade mínimaCardinalidade mínimaCardinalidade 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 ExemploExemploExemploExemplo • Sistema Acadêmico • Entidades: Alunos, cursos, disciplinas e departamentos • Relacionamentos: Alunos a cursos, disciplinas a cursos, disciplinas a departamentos, disciplinas a pré-requisitos 13/03/2015 11 ExemploExemploExemploExemplo 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) AtributoAtributoAtributoAtributo • 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) 13/03/2015 12 AtributoAtributoAtributoAtributo 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 entidadesIdentificando entidadesIdentificando entidadesIdentificando 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 13/03/2015 13 Identificando entidadesIdentificando entidadesIdentificando entidadesIdentificando 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 NomeCódigo Dependente Nome Número de sequencia (0,n)(1,1) Identificando entidadesIdentificando entidadesIdentificando entidadesIdentificando 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) 13/03/2015 14 Propriedades de atributos identificadoresPropriedades de atributos identificadoresPropriedades de atributos identificadoresPropriedades 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 relacionamentosIdentificando relacionamentosIdentificando relacionamentosIdentificando 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 13/03/2015 15 Identificando relacionamentosIdentificando relacionamentosIdentificando relacionamentosIdentificando relacionamentos • O relacionamento é identificado pelas entidades dele participantes, bem como pelos atributos definidos no relacionamento Médico PacienteConsulta n n Data/hora ExercícioExercícioExercícioExercício • Um berçário deseja informatizar suas operações. • Quando um bebê nasce, algumas informaçõ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. 13/03/2015 16 ExercícioExercícioExercícioExercí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ícioExercícioExercícioExercí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. 13/03/2015 17 ExercícioExercícioExercícioExercício ExercícioExercícioExercícioExercí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. 13/03/2015 18 PráticasPráticasPráticasPráticas • Software BR Modelo • http://sis4.com/brModelo/
Compartilhar