Programa DCC0 Introdução a Banco de Dados Modelo Entidade Relacionamento Mirella M. Moro de Ciência da Computação Universidade Federal de Minas Gerais mirella@dcc.ufmg.br Introdução Conceitos básicos, características da abordagem de banco de dados, modelos de dados, esquemas e instâncias, arquitetura de um sistema de banco de dados, componentes de um sistema de gerência de banco de dados. Modelos de dados e linguagens Modeloentidade relacionamento d l i t (ER), modelo relacional, l álgebra relacional, SQL. Projeto de bancos de dados Fases do projeto de bancos de dados, projeto lógico de bancos de dados relacionais, normalização. ovas Tecnologias e Aplicações de Banco de Dados Processo de Projeto de Bancos de Dados Requisitos de Dados Modelo Entidade Relacionamento. Aplicação exemplo. Entidades, atributos 3. Relacionamentos 4. Restrições sobre relacionamentos 5. Papéis e relacionamentos recursivos 6. Entidade fraca Independente de SGBD Esquema Conceitual Modelo de dados de alto nível 3 4. Aplicação Exemplo: Universidae Sistema de banco de dados de uma Universidade É a versão inicial do sistema de matrícula, a ser expandido O foco está nos estudantes e nos professores Sobre estudantes Armazenar o número de matrícula que os identifica,, endereço completo (logradouro, número, complemento, cidade/estado), sexo úmero de matrícula é formado por 4 dígitos para o ano de entrada no sistema, dígitos da forma de entrada, 4 dígitos automaticamente incrementável Se matriculam em disciplinas em semestre e turma específicos, recebem uma nota ao final para formar histórico (continuação) Sobre disciplinas Possuem um código, e quantidade de créditos Oferecidas por departamento e ministradas por professores Algumas possuem pré requisitos Sobre departamentos (que oferecem disciplinas) Possuem código identificador, e localização (prédio) Possuem um professor como chefe, para o qual a data de início de mandato deve ser armazenada Sobre professores (ministram disciplinas) Possuem um identificador único,, e vários s São alocados obrigatoriamente em um único departamento São avaliados regularmente por estudantes (anônimo), e cada avaliação contém data hora (de entrada), nota (0 0) e texto de comentários 5 6
cod prédio matr logr. end aloca id chefia nro sexo compl cid/est sem turma nota ini cod cre pré req Avaliação datahora texto nota (Aplicação Exemplo do Livro) Banco de Dados de uma companhia Organizada em departamentos: um ú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 e número únicos uma única localização 7 8 (Aplicação Exemplo do Livro) Cada empregado:, identidade, endereço, salário, sexo, data nascimento um empregado é assinalado a um departamento t 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 d (para seguro) para cada dependente: primeiro, sexo, data de nascimento e relacionamento com o empregado 9 supervisor supervisionado 0. Entidades, Atributos Entidades Objetos do mundo real de interesse para alguma aplicação Atributos Propriedades para descrever uma entidade id = 36545 = 899836699 p = Mirella Moura Moro s = {34095849, mirella@dcc.ufmg.br} Tipos de Entidades Define um conjunto de entidades que têm os mesmos atributos (propriedades) Descreve o esquema para um conjunto de entidades que compartilham a mesma estrutura Exemplos, cod = DCC0 = Introdução a Bancos de Dados d cre = 4
OME DO TIPO DE ETIDADE: PROFESSOR id,,, s DISCIPLIA cod,, cre Atributos: Chave e Domínio COJUTO DE ETIDADE: p (EXTESÃO) (36545, 899836699, Mirella Moura Moro, {34095849, mirella@dcc.ufmg.br}) Retornando à aula passada:. Modelo é ER. Esquema dado por tipos de entidades 3. Instâncias equivalem ao conjunto de entidade (extensão) d (DCC0, Introdução a Bancos de Dados, 4) p d (365368, 056395687, (DCC030, Clodoveu A. Davis Jr, TCC Bancos de Dados Avançados, 4) {34097534, clodoveu@dcc.ufmg.br}) ufmg p 3 (365456, 335647856, Gisele Lobo Pappa, {34097536, glpappa@dcc.ufmg.br}) d 3 (DCC85, TECC Elaboração e Apresentação de Artigos Científicos, ) Chave de um tipo de entidade Atributo que possui valor único para cada instância de entidade Ex.: número de matrícula tí (universidade), id d (IR) Chave pode ser formada por vários atributos: chave composta Ex.: registro do veículo = número de registro e estado Domínio de um atributo Conjunto de valores que podem ser atribuídos a um atributo para cada entidade individualmente Ex. idade do professor (6,70); do estudante:string 3 4 Tipos de Atributos Fig. 3.7 - O tipo entidade CARRO com dois atributos-chave, Registro e IDVeiculo matr Simples ou compostos end Ex., end Monovalorados ou multivalorados Ex. sexo, email logr. Armazenados ou derivados data de nascimento > idade, empregados trabalhando no departamento > umerodeempregados Valores ull ão aplicável: l úmero do apartamento Desconhecido: Telefone de casa nro sexo compl data nasc cid/est email idade 5 6 Entidades, Atributos: representação Entidades, Atributos: Exemplos Universidade Entidade Atributo chave multivalorado derivado composto Exemplos Livro sexo matr end cid/est logr. compl nro cod cre id 7 8
3. Relacionamentos Associações entre duas ou mais entidades distintas (instâncias) com um significado Exemplos Mirella M. Moro ensina IBD Wagner Meira Jr chefia DCC XYZ matriculado IBD Tipo de Relacionamento Define um conjunto de associações entre n tipos de entidade E, E,...,En Exemplos: aloca chefia aloca chefia ini 9 0 Tipo de Relacionamento Matematicamente, um tipo de relacionamento R é um conjunto de (instâncias de) relacionamentos r i, onde cada r i associa n (instâncias de) entidades (e,...,e n ) e cada e j pertence a um tipo de entidade d E j R E x E x... x E n r i = (e,..., e n ) Grau de um Tipo de Relacionamento úmero de tipos de entidade participantes de um tipo de relacionamento Figura 3.9 Algumas instâncias do conjunto de relacionamento TRABALHA_PARA, que representa um tipo relacionamento TRABALHA_PARA entre EMPREGADO e DEPARTAMETO. 4. Restrições sobre relacionamentos Figura 3.0 Algumas instâncias de relacionamento do conjunto de relacionamento ternário FORECE. Relacionamento Ternário Próxima aula 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 d através de um tipo de relacionamento parcial ou total Ex. Todo professor deve estar alocado em um departamento (total) Ex. em todo professor chefia um departamento (parcial) Cardinalidade + Participação Restrições Estruturais 3 4
PARCIAL TOTAL TOTAL TOTAL Figura 3. Relacionamento GERECIA : Figura 3.3 Relacionamento TRABALHA_EM, M: 5 6 aloca chefia ini supervisor supervisionado Avaliação sem nota turma pré req 7 8 5. Papeis e Relacionamentos Recursivos Entidades atuam com um determinado papel Significado do papel é dado por um, atribuído a cada tipo de entidade omes só são necessários em tipos de relacionamento que envolvam mais de uma vez o mesmo tipo de entidade relacionamentos recursivos Exemplo: Supervisão, onde Empregado tem os papéis de Supervisor e Subordinado (próximo slide) Figura 3. Um relacionamento recursivo SUPERVISAO entre EMPREGADO, no papel de supervisor (), e EMPREGADO, no papel de subordinado (). 9 30
Pré requisitos na Universidade 6. Entidade Fraca s podem possuir prérequisitos, os quais são outras disciplinas AEDS AEDS AEDS 3 IBD BDA É necessário sempre colocar papeis p nesse tipo de relacionamento recursivo pré req Tipo de entidade que não tem chave própria As instâncias são identificadas através do relacionamento com entidades de outro tipo, chamado de dono ou identificador, juntamente com os valores de alguns atributos (chave parcial) Exemplos: avaliação de professor, dependente de empregado 3 3 Avaliações de professores Requisito: professores são avaliados regularmente por estudantes (anônimo), e cada avaliação contém data hora (de entrada), nota numérica (0 0) e texto de comentários A avaliação não possui chave própria Tem chave parcial: datahora id Avaliação datahora nota texto supervisor Dependente de Empregado supervisionado DEPEDETE DE 33 34 Outro exemplo Floricultura MMM, duas modalidades de compra Comprar um bouquet e pegá lo na loja Comprar um bouquet e entregá lo para alguém em algum endereço. este caso, destinatário/endereço tá i d são obrigatórios para este tipo de compra (mas desnecessários no anterior) Cliente Compra Produto O primeiro caso está coberto por esse diagrama ER. Mas e o segundo??? Onde vão os dados de entrega? descrição formapagto valor prodid nfeid pago qtde M preçounid 35 Outro exemplo Comprar um bouquet e entregá lo para alguém em algum endereço. este caso, destinatário/endereço são obrigatórios para este tipo de compra (mas desnecessários no anterior) Cliente Compra O importante para a floricultura são os dados dos clientes que COMPRAM os produtos, não os que recebem. Destinatário então não interessa além daquela uma compra que foi feita para ele. Caso o mesmo destinatário receba várias compras, também não interessa. Destino Produto endereço descrição pagto valor forma prodid nfeid pago qtde M preço unid 36
otação ER ATRIBUTO ORMAL ATRIBUTO CHAVE 37 38 Resumo Atributos: simples, composto, multi valorado Entidades e seus conjuntos Atributos chave Papéis Cardinalidades (:, :, :M) Participação (total, parcial) Exercícios Formula Agência de viagens Artigos publicados Identificar as entidades os atributos de cada entidade os identificadores de cada entidade os principais p relacionamentos as cardinalidades mínimas/máximas desenhar o diagrama entidade relacionamento 39 40