·

Análise e Desenvolvimento de Sistemas ·

Banco de Dados

Send your question to AI and receive an answer instantly

Ask Question

Preview text

Banco de Dados Azriel Majdenbaum Aula 02 Aula 02 Dividida em cinco partes Apresentação dos principais conceitos relacionados a modelagem de dados Construção de Esquemas Conceituais de dados Mapeamento de Esquemas Conceituais para Lógico Relacionais Construção de Esquemas Lógicos Relacionais O que você vai aprender nessa aula Parte 1 Modelagem de Dados Parte 2 Abstrações Básicas Parte 3 Abstrações Avançadas Parte 1 Parte 4 Abstrações Avançadas Parte 2 Parte 5 Modelo Lógico Relacional Aula 2 Parte 1 Modelagem de Dados Níveis de abstração Modelo conceitual EntidadeRelacionamento BRModelo Aula 2 Parte 2 Abstrações Básicas Entidade Atributo Relacionamento Cardinalidade Dinâmica Jogadores e Times de Futebol Aula 2 Parte 3 Abstrações Avançadas Parte 1 Identificação de Entidades Identificação de Relacionamentos Entidade Associativa Dinâmica Locadora de Automóveis Aula 2 Parte 4 Abstrações Avançadas Parte 2 Generalização Especialização Restrições de Integridade em GeneralizaçõesEspecializações Dinâmica Sistema de Informação Acadêmico Aula 2 Parte 5 Modelo Lógico Relacional Regras Simplificadas de Mapeamento Entidade Atributo Relacionamento 1n Relacionamento nn Entidades associativas Relacionamentos 11 GeneralizaçãoEspecialização Dinâmica Mapeamento de Esquema Conceitual para Lógico Relacional O que você vai precisar para acompanhar essa aula Software de modelagem de dados BRModelo O que você vai aprender nessa aula Parte 1 Modelagem de Dados Parte 2 Abstrações Básicas Parte 3 Abstrações Avançadas Parte 1 Parte 4 Abstrações Avançadas Parte 2 Parte 5 Modelo Lógico Relacional Modelagem de Dados Introduction 111 Onde está o nosso software Y X Z dados estático funções funcional dinâmico tempo Para descobrir precisamos evoluir nas 3 dimensões 1 Que funcionalidades precisam ser implementadas 2 Como as funções se sucedem no tempo e como são as dependências entre elas 3 Como os dados que o software usa estão estruturados Então em Engenharia de Software precisamos trabalhar as diferentes perspectivas de modelagem Modelagem funcional Modelagem dinâmica Modelagem de dados Modelagem de Dados Introduction 112 Níveis de Abstração Um metamodelo é um modelo que descreve a estrutura dos modelos Modelos de dados são representações visuais dos elementos de dados de uma empresa e as conexões entre eles Modelagem de Dados Introduction 113 Baseado em ELMASRI NAVATHE 2012 p 133 Modelagem de Dados Introduction 114 Modelos são utilizados para construir uma representação abstrata da realidade A modelagem de dados está baseada na adoção de diferentes níveis de abstração desde a realidade a ser modelada até sua implementação física como estruturas de dados em um SGBD Modelo Conceitual EntidadeRelacionamento Introduction 115 Peter Chen The entityrelationship model toward a unified view of data ACM TODS 1976 Popular Simplicidade Entidade Relacionamento Atributo Voltado à representação dos aspectos estáticos do UdD modelo semântico de DADOS Campeão das extensões Falta de uma notação padronizada Fonte PUGA S FRANÇA E GOYA M 2013 Banco de Dados implementação em SQL PLSQL e Oracle 11g São Paulo São Paulo Modelo Conceitual EntidadeRelacionamento Introduction 116 Primitivas Básicas Entidade Atributo Relacionamento Cardinalidade Identificação Representações de um Esquema ER Diagrama parcial visão geral dos elementos mais importantes do UdD Textual Dicionário de Dados completa serve para projeto lógico da base de dados Essas representações são complementares O que você vai precisar para acompanhar essa aula Software de modelagem brModelo Versão Web httpswwwbrmodelowebcomlangptbrindexhtml Download brModelo 32 httpssourceforgenetprojectsbrmodelo brModelo Web Ferramenta para modelagem de banco de dados 100 online e gratuita Acesse Crie sua conta Funcionalidades que ajudam seu aprendizado brModelo Web BR Modelo Web Email azrielmajgmailcom Senha ENTRAR Recuperar senha Criar conta Idioma Português Brasil Inglês Criar conta Nome Email Senha CRIAR CONTA Voltar brModelo Web Nova modelagem Título Exercício 1 Tipo Conceitual Conceitual Lógico SALVAR Modelagem conceitual de Exercício 1 Paciente consulta Médico Download brModelo SOURCEFORGE Open Source Software Business Software Resources brModelo 32 ER Databese Model Brought to you by chcandido 1 Review Downloads 1314 This Week Last Update 20200928 Linux Mac Windows Download brModelo SOURCEFORGE Open Source Software Business Software Resources Thank you for downloading brModelo 32 Spread the Word Keep Me Updated Abrir Sempre abrir arquivos deste tipo Mostrar na pasta Cancelar Setembro 202 1zip Download brModelo Setembro 202 1zip Arquivo ZIP tamanho descomprimido 4872922 bytes Arquivo Comandos Ferramentas Favoritos Opções Ajuda Adicionar Extrair Para Testar Visualizar Excluir Localizar Assistente Informações Antivírus Comentários SFX Nome chcandidobrModelo06bd0f4 06bd0f416003636351f6e0bfb06cdfc1c74bd529 Setembro 202 1zip cópia de avaliação Caminho e opções da extração Geral Avançado Caminho de destino se o caminho não existir ele será criado DDesktop Método de atualização Extrair e substituir arquivo Extrair e atualizar arquivo Atualizar somente arquivos existentes Método de substituição Perguntar antes de substituir Substituir sem perguntar Omitir arquivos existentes Renomear automaticamente Diversos Extrair arquivos para subpastas Manter arquivos nativos Exibir arquivos no Explorer Salvar configurações OK Cancelar Ajuda Área de Trabalho Azriel Este Computador Área de Trabalho Documentos Modelos Personalizados do Office Downloads Imagens Músicas Objetos 3D Vídeos Sistema C Dados D Bibliotecas Rede Download brModelo Setembro 202 1zip cópia de avaliação Gerar Avançado Caminho e opções da extração Caminho de destino se o caminho não existir ele será criado DDesktop Método de atualização Extrair e substituir arquivo Extrair e atualizar arquivo Atualizar somente arquivos existentes Método de substituição Perguntar antes de substituir Substituir sem perguntar Omitir arquivos existentes Renomear automaticamente Diversos Extrair arquivos para subpastas Manter arquivos inativos Exibir arquivos no Explorer Salvar configurações Área de Trabalho Azriel Este Computador Área de Trabalho Documentos Modelos Personalizados do Office Downloads Imagens Músicas Objetos 3D Vídeos Sistema C Dados D Bibliotecas Rede OK Cancelar Ajuda Total 2 pastas e 2007231 bytes em 11 arquivos Propriedades de brModelo Atalho Geral Atalho Segurança Detalhes Versões Anteriores brModelo Atalho Tipo de destino Executable Jar File Local de destino Arquivos de Programas RFB Destino CArquivos de Programas RFBbrModelojar Iniciar em CArquivos de Programas RFB Tecla de atalho Nenhum Executar Janela normal Comentário Abrir Local do Arquivo Alterar Ícone Avançados OK Cancelar Aplicar Introduction 124 Resumo do que vimos até agora Modelagem de Dados Modelo Conceitual EntidadeRelacionamento brModelo Relembrando o conteúdo do vídeo anterior Modelagem de Dados Modelo Conceitual EntidadeRelacionamento BRModelo O que você vai aprender nessa aula Parte 1 Modelagem de Dados Parte 2 Abstrações Básicas Parte 3 Abstrações Avançadas Parte 1 Parte 4 Abstrações Avançadas Parte 2 Parte 5 Modelo Lógico Relacional O que você vai precisar para acompanhar essa aula BRModelo Abstrações Básicas Introduction 129 Entidade uma coisa ou pessoa concreta ou abstrata e que pode ser individualmente identificada normalmente no processo de descrição não há interesse em descrever cada elemento instância individualmente mas sim cada classe de elementos Atributos restrições de integridade Entidade Instâncias ou Ocorrências Conceito Entidade Conjunto de objetos da realidade modelada sobre os quais desejase manter informações no banco de dados Heuser 1998 Introduction 131 Atributo Dado que é associado a cada ocorrência de entidade ou de relacionamento Propriedade característica de relevância Valor Valor que um atributo de uma entidaderelacionamento possui em um dado momento Domínio Descrição da classe dos valores Restrições de integridade Abstrações Básicas Introduction 132 Tipos de Atributos Obrigatório ou opcional Simples ou repetitivo multivalorado Elementar ou composto Abstrações Básicas Conceito Os jogadores de futebol são cadastrados no boletim da CBF Para cada um deles são registradas as seguintes informações Identificador único Nome Gênero Data de nascimento Cidade estado e país de nascimento Nome do time atual e a data de sua contratação Os times anteriores pelos quais passou cada um deles com um nome uma data de contratação e uma data de término do contrato Opcionalmente o seu empresário que possui um nome um ou mais emails de contato e um ou mais telefones de contato Modele o Universo de Discurso relativo a jogadores utilizando o BRModelo Introduction 134 Relacionamento Uma correspondência entre 2 ou mais entidades não necessariamente distintas Cada entidade desempenha um papel no relacionamento Exemplo João trabalha na PUCRS PUCRS emprega João entidades João PUCRS papéis João empregado PUCRS empregador Abstrações Básicas Introduction 135 Relacionamento relacionamentos não são aleatórios seguem regras da organização regras de negócio Abstrações Básicas Introduction 136 Relacionamento Conjunto de associações entre objetos da realidade que se deseja manter no banco de dados junto com suas informações Abstrações Básicas Introduction 137 Cardinalidade de Relacionamentos Dado um tipo de relacionamento ligando duas entidades onde cada uma desempenha um papel Cardinalidade Máxima Número máximo de vezes que uma dada ocorrência de entidade desempenha um papel no conjunto de relacionamentos Com quantas instâncias pode estar relacionada Tipicamente assume valores 1 ou N sem restrições mas pode ser qualquer valor Cardinalidade Mínima Número mínimo de vezes que uma dada ocorrência de entidade desempenha um papel no conjunto de relacionamentos Com quantas instâncias deve estar relacionada Tipicamente assume valores 0 ou 1 mas pode ser qualquer valor Abstrações Básicas Introduction 138 Cardinalidade Máxima Possibilidades Típicas 11 um para um toda ocorrência pertencente a A está relacionada a no máximo uma ocorrência pertencente a B e viceversa 1N um para N toda ocorrência pertencente a A pode estar relacionada a várias ocorrências pertencentes a B e toda ocorrência pertencente a B pode estar relacionada com no máximo uma ocorrência pertencente a A NN N para N toda ocorrência pertencente a A pode estar relacionada a várias ocorrências pertencentes a B e viceversa Abstrações Básicas Introduction 139 Cardinalidade Máxima Abstrações Básicas Abstrações Básicas Introduction 140 Conceito Um time de futebol possui as seguintes informações Nome Cidade e estado Uma lista de títulos cada qual indicando o nome do campeonato e o ano Opcionalmente o nome do estádio sua capacidade e seu endereço composto por tipo de logradouro nome do logradouro número complemento bairro cidade estado e cep Os seus atuais jogadores cada qual com um nome e uma posição Modele o Universo de Discurso relativo a Times utilizando o BRModelo Continuação da dinâmica anterior Resumo do que vimos até agora Abstrações Básicas Entidade Atributo Relacionamento Cardinalidade Dinâmica Jogadores e Times de Futebol Relembrando o conteúdo do vídeo anterior Abstrações Básicas Entidade Atributo Relacionamento Cardinalidade Dinâmica Jogadores e Times de Futebol O que você vai aprender nessa aula Parte 1 Modelagem de Dados Parte 2 Abstrações Básicas Parte 3 Abstrações Avançadas Parte 1 Parte 4 Abstrações Avançadas Parte 2 Parte 5 Modelo Lógico Relacional Introduction 145 Identificação de Entidades Abstrações Avançadas Conjunto mínimo de atributos e relacionamentos cujos valores correspondem a no máximo a uma entidade do conjunto Caso 1 Identificador formado por um ou mais atributos Caso mais comum Não se deve escolher como identificador para compor um identificador um atributo opcional Representação gráfica Na notação adotada Heuser apenas uma é mostrada graficamente Introduction 146 Identificação de Entidades Abstrações Avançadas Caso 2 identificador formado por um ou mais atributos da entidade e também por relacionamentos dos quais participa Entidade fraca Existe somente quando ligada a outra entidade com cardinalidade 11 Parte do seu identificador é a entidade à qual está associada relacionamento identificador Representação gráfica Introduction 147 Identificação de Relacionamentos Abstrações Avançadas Caso 1 Por definição um relacionamento é identificado pelas entidades que nele participam Não é preciso explicitar no diagrama está implícito no seu significado Em relacionamentos nn pressupõese que as mesmas duas entidades não se relacionam mais de uma vez Exemplo O mesmo homem e a mesma mulher jamais de casam mais de uma vez Introduction 148 Identificação de Relacionamentos Abstrações Avançadas Caso 2 Em relacionamentos mn há casos em que as mesmas duas entidades relacionam mais de uma vez Usar atributos identificadores de relacionamentos Exemplo O mesmo homem e a mesma mulher podem se casar mais de uma vez Introduction 149 Identificação de Relacionamentos Abstrações Avançadas Caso 2 Outros exemplos Introduction 150 Entidade Associativa Abstrações Avançadas Permite que um relacionamento seja visto como uma entidade Permite que o relacionamento agregado seja usado como entidade em outros relacionamentos Introduction 151 Entidade Associativa Abstrações Avançadas Usar quando existem entidades participantes de um relacionamento que são opcionais Introduction 152 Entidade Associativa Abstrações Avançadas Usar quando existem entidades participantes de um relacionamento que são repetitivas Introduction 153 Entidade Associativa Abstrações Avançadas Existem várias turmas para uma mesma disciplina Conceito Uma locadora de automóveis oferece diversas categorias de veículos Cada categoria tem uma sigla de 4 letras que a identifica uma descrição e um valor de tarifa padrão de tabela A locadora possui muitos veículos para locação cada qual de uma categoria Cada veículo é identificado por sua placa possui uma marca um modelo uma data de aquisição uma quantidade de quilômetros rodados e um combustível entre as possibilidades G A e H Os clientes da locadora são cadastrados pelo seu CPF e carteira de motorista informando seu nome email telefone e endereço Quando um cliente loca um veículo é gerado um contrato que possui um número uma data de início e uma data de término prevista bem como o número da filial em que o carro foi retirado e o número da filial em que será devolvido e também o valor de tarifa praticado Modele o Universo de Discurso abaixo relativo a uma Locadora de Automóveis utilizando o BRModelo Resumo do que vimos até agora Abstrações Avançadas Parte 1 Identificação de Entidades Identificação de Relacionamentos Entidade Associativa Dinâmica Locadora de Automóveis Relembrando o conteúdo do vídeo anterior Abstrações Avançadas Parte 1 Identificação de Entidades Identificação de Relacionamentos Entidade Associativa Dinâmica Locadora de Automóveis O que você vai aprender nessa aula Parte 1 Modelagem de Dados Parte 2 Abstrações Básicas Parte 3 Abstrações Avançadas Parte 1 Parte 4 Abstrações Avançadas Parte 2 Parte 5 Modelo Lógico Relacional Introduction 158 Generalização Especialização Abstrações Avançadas A especialização ocorre quando existe uma relação do tipo é um entre entidades É uma estratégia de agrupar ocorrências com características comuns atributosrelacionamentos manipulando de diferentes formas as diferenças entre elas Introduction 159 Generalização Especialização Abstrações Avançadas Somente Entidades podem ser Generalizadasespecializadas Introduction 160 Generalização Especialização Abstrações Avançadas Somente Entidades podem ser Generalizadasespecializadas Introduction 161 Generalização Especialização Abstrações Avançadas Somente Entidades podem ser Generalizadasespecializadas Introduction 162 Generalização Especialização Abstrações Avançadas Somente Entidades podem ser Generalizadasespecializadas Introduction 163 Generalização Especialização Abstrações Avançadas Restrições de integridade Parcial p Total t Total toda ocorrência da entidade generalizada tem de ser ocorrência de pelo menos uma entidade especializada Parcial uma ocorrência da entidade generalizada não precisa ser ocorrência de uma entidade especializada Exclusivo NãoExclusivo Exclusivo toda ocorrência da entidade generalizada pode ser ocorrência de no máximo uma entidade especializada NãoExclusivo uma ocorrência da entidade generalizada pode ser ocorrência de várias entidades especializadas Introduction 164 Generalização Especialização Abstrações Avançadas Introduction 165 Generalização Especialização Abstrações Avançadas Introduction 166 Generalização Especialização Abstrações Avançadas Introduction 167 Generalização Especialização Abstrações Avançadas Introduction 168 Generalização Especialização Abstrações Avançadas Quando usar Todas ocorrências podem ser identificadas da mesma forma Existem atributosrelacionamentos comuns a uma série de ocorrências Existem ocorrências que têm atributos ou relacionamentos adicionais Conseguese dizer que entidade especializada É um tipo de entidade generalizada Quando não usar Não adicionar clareza nem riqueza semântica Diferença é um único atributo Considere atributo opcional Diferença é um relacionamento Considere colocar cardinalidade mínima 0 Desejase diferenciar duas ou mais coleções de ocorrências sem propriedades adicionais Considere colocar um atributo para diferenciar ou um relacionamento Conceito Utilizando o brModelo realize a modelagem conceitual para um sistema de informação acadêmico O sistema deve manter informações sobre alunos professores vagas de estacionamento e cursos Um aluno pode estar inscrito em apenas um curso e o curso pode ter muitos alunos inscritos Um professor pode opcionalmente ter uma vaga de estacionamento e uma vaga de estacionamento pode opcionalmente estar alocada a um professor Adicione os atributos a seguir Aluno número de matrícula CPF nome bolsaSN e RG composto por número do RG e órgão expedidor do RG Professor número de matrícula CPF nome especialização e RG composto por número do RG e órgão expedidor do RG Curso código e nome Vaga de estacionamento código da vaga Resumo do que vimos até agora Abstrações Avançadas Parte 2 Generalização Especialização Restrições de Integridade em GeneralizaçõesEspecializações Dinâmica Sistema de Informação Acadêmico Relembrando o conteúdo do vídeo anterior Abstrações Avançadas Parte 2 Generalização Especialização Restrições de Integridade em GeneralizaçõesEspecializações Dinâmica Sistema de Informação Acadêmico O que você vai aprender nessa aula Parte 1 Modelagem de Dados Parte 2 Abstrações Básicas Parte 3 Abstrações Avançadas Parte 1 Parte 4 Abstrações Avançadas Parte 2 Parte 5 Modelo Lógico Relacional Introduction 173 Modelo Lógico Relacional Baseado em ELMASRI NAVATHE 2012 p 133 Conceito Estudo de Caso Médico Paciente Esquema Conceitual Conceito Estudo de Caso Médico Paciente Esquema Lógico Relacional Introduction 176 Modelo Lógico Relacional Regras Simplificadas de Mapeamento 1 Cada entidade é implementada como uma tabela 2 Cada atributo é implementado como uma coluna a Atributos identificadores são implementados como chaves primárias b Atributos compostos são desmembrados em colunas simples podendo ser usado um prefixo em todas elas c Atributos multivalorados normalmente são implementados como tabelas d Na tabela que implementa o atributo multivalorado deve ser criada uma chave estrangeira para a tabela pai e O relacionamento entre a tabela do atributo multivalorado e a tabela pai pode ser identificador ou não identificador Padrões dependendo da organização Nomes de tabelas substantivo no plural em PascalCase Nomes de atributos normalmente substantivos em snakecase Introduction 177 Modelo Lógico Relacional Regras Simplificadas de Mapeamento 3 Cada relacionamento binário 1n a O identificador da entidade pai migra para a tabela que implementa a entidade filha como chave estrangeira b Se o relacionamento for identificador a chave estrangeira fará parte da chave primária da tabela que implementa a entidade filha c Caso o relacionamento 1N tenha atributos ou configure uma entidade associativa tanto os atributos do relacionamento como os relacionamentos da entidade associativa são implementados na tabela filho Introduction 178 Modelo Lógico Relacional Regras Simplificadas de Mapeamento 4 Cada relacionamento binário nn a O relacionamento é implementado como uma tabela b Os identificadores das duas entidades relacionadas migram para a tabela que implementa o relacionamento como chaves estrangeiras c Normalmente a chave primária da tabela que implementa o relacionamento será a composição das chaves estrangeiras que migraram das entidades relacionadas d Os atributos do relacionamento são implementados como colunas da tabela que implementa o relacionamento Introduction 179 Modelo Lógico Relacional Regras Simplificadas de Mapeamento 5 Entidades associativas são implementadas da mesma forma que os relacionamentos nn 6 Relacionamentos 11 a Opção 1 implementar como um relacionamento 1N escolhendo uma das entidades para ser a entidade pai b Opção 2 migrar todas as colunas de uma entidade para a outra implementando as tabelas e o relacionamento como uma só tabela c Se o relacionamento tiver cardinalidade mínima 0 as colunas da entidade com esta cardinalidade devem ser opcionais Introduction 180 Modelo Lógico Relacional Regras Simplificadas de Mapeamento 7 GeneralizaçõesEspecializações a Opção 1 Implementar cada entidade a generalizada e cada especializada como uma tabela b Opção 2 Implementar todas as entidades como uma única tabela c Opção 3 Implementar combinações das opções anteriores Conceito Mapeie o esquema conceitual abaixo para Lógico Relacional Resumo do que vimos até agora Modelo Lógico Relacional Regras Simplificadas de Mapeamento Entidade Atributo Relacionamento 1n Relacionamento nn Entidades associativas Relacionamentos 11 GeneralizaçãoEspecialização Dinâmica Mapeamento de Esquema Conceitual para Lógico Relacional Construtoras Obras Cod Nome Telefone 1 n Nome fantasia 0 1 Trabalhadores Nome CPF Salário possui 0 n 1 1 Cod Nome Endereco numero logradouro Complemento 0 1 alocam 1 n 1 1 Equipamentos alocam 1 n 0 n Cod Nome Responsavel valor dia Categoria pertence 1 1 1 n dtini dtfim Cod Descricao CURSO AUTOR DISCIPLINA DATA Categoría 11 Cod Descrição pertence 1 n Equipamentos 1 n Cod Nome valor dia alocam 0 n Obras 0 n Cod Nome Endereço logradouro número Complemento 0 1 dtfim dtini alocam 1 1 Trabalhadores 1 n CPF Nome Salário nome fantasia 0 1 Telefone 1 n Responsavel Cod Nome Construtoras 1 1 possui 0 n alocam 1 1