Prévia do material em texto
BANCO DE DADOS Prof. Me. Márcio Fabiano. O. de M. Santos CENTRO UNIVERSITÁRIO NEWTON PAIVA 1 Bem-vindos à disciplina Professor Márcio Fabiano O. de M SantosCENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de Dados CAPÍTULO 2: Abstração, Modelo de Dados e Modelagem de Banco de Dados CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Abstração, Modelo de Dados e Modelagem de Banco de Dados INTRODUÇÃO ➢ Atualmente, o uso dos bancos de dados pela sociedade é totalmente indispensável, pois estes visam facilitar a manutenção de dados essenciais às organizações ou, também, ao uso pessoal; ➢ Um banco de dados mal projetado pode trazer certos prejuízos às organizações, devido a sua alta complexidade em relação às suas estruturas. 4 CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Abstração, Modelo de Dados e Modelagem de Banco de Dados INTRODUÇÃO ➢ Para projetar um banco de dados capaz de atender as necessidades dos usuários finais, é preciso entender a técnica de abstração, os modelos de dados e como se modelar os dados. 5 CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Abstração, Modelo de Dados e Modelagem de Banco de Dados ABSTRAÇÃO ➢ As abstrações auxiliam a entender, classificar e modelar uma realidade, ou seja, algo do mundo real que seja importante para os envolvidos; ➢ No caso dos bancos de dados, os envolvidos podem ser usuários finais, projetistas, analistas, administradores de banco de dados dentre outros; 6 CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Abstração, Modelo de Dados e Modelagem de Banco de Dados ABSTRAÇÃO ➢ Abstração ou a capacidade de abstração é um processo mental utilizado para selecionar determinadas características e propriedades de um conjunto de objetos ou fatos, e também para descartar outras características consideradas não relevantes em certo contexto (Machado, 2014); ➢ A abstração é aplicada sempre em contextos específicos, quando determinados conjuntos de propriedades são relevantes, sendo descartadas as características que não são importantes após uma análise contextualizada. 7 CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Abstração, Modelo de Dados e Modelagem de Banco de Dados ABSTRAÇÃO ➢ Quando se fala em abstração no contexto de banco de dados, tem-se que a fonte dessas abstrações é denominada minimundo ou universo do discurso que representa uma descrição formal de uma realidade do mundo real captada pelo analista que mostra uma visão de como será o processo de negócio; ➢ Qualquer eventual mudança no minimundo reflete diretamente no banco de dados, ou seja, é possível dizer que o minimundo funciona como as regras de negócio de uma organização. 8 CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Abstração, Modelo de Dados e Modelagem de Banco de Dados ABSTRAÇÃO Exemplo: Abstração de um conjunto de carros em visões comerciais diferentes. 9 Site de vendas de automóveis: ➢ Cor; ➢ Número de portas; ➢ Tamanho; ➢ Tipo das rodas; ➢ Etc. Site de aluguel de automóveis: ➢ Ano de fabricação; ➢ Potência do motor; ➢ Autonomia; ➢ Quilometragem; ➢ Etc. Figura 1 – Imagens de carros Fonte: SHUTTERSTOCK, 2018. CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Abstração, Modelo de Dados e Modelagem de Banco de Dados MODELO DE DADOS ➢ Um modelo de dados pode ser definido como um conjunto de conceitos e técnicas que podem ser utilizados para descrever a estrutura e as operações em um banco de dados (ELMASRI; NAVATHE, 2010). ➢ A busca pelo melhor gerenciamento de dados resultou em distintos modelos; em geral, os modelos de dados buscam suprir as falhas encontradas em sistemas de arquivos (ROB; CORONEL, 2010). 10 CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Abstração, Modelo de Dados e Modelagem de Banco de Dados MODELO DE DADOS ➢ Modelo Hierárquico o É determinado por uma estrutura de árvore, no sentido da raiz (pai) até as folhas (filhos). o Essa estrutura possui os chamados níveis ou segmentos, que equivalem ao tipo de registro em um sistema de arquivos. 11 CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Abstração, Modelo de Dados e Modelagem de Banco de Dados MODELO DE DADOS ➢ Modelo Hierárquico o O nível superior (raiz) é chamado de pai do nível imediatamente abaixo dele, que também pode ser chamado de nível filho, e o filho poderá também ser pai do próximo nível abaixo e assim por diante; o O M.H. representa um conjunto de relacionamentos um para muitos (1:N) entre um pai e seus filhos. Porém, cada pai pode ter muitos filhos, mas cada filho só pode possuir um pai. 12 CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Abstração, Modelo de Dados e Modelagem de Banco de Dados Exemplo: 13 Figura 2 – Estrutura Hierárquica de uma empresa Fonte: Elaborada pelo autor. CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Abstração, Modelo de Dados e Modelagem de Banco de Dados MODELO DE DADOS ➢ Modelo de rede o Teve como principal característica a representação de relacionamentos de dados complexos de forma mais eficiente que o modelo hierárquico, visando melhorar o desempenho dos bancos de dados, bem como impor um padrão a eles. o A falta de um padrão foi um grande problema aos projetistas de banco de dados, pois dificultava a portabilidade de projetos e aplicações. 14 CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Abstração, Modelo de Dados e Modelagem de Banco de Dados MODELO DE DADOS ➢ Modelo de rede o Nesse modelo de rede, o usuário percebe o banco de dados como uma coletânea de registros que possuem o relacionamento um para muitos (1:N). o No entanto, o modelo de rede difere do modelo hierárquico, pois permite que um registro tenha mais de um pai. 15 CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Abstração, Modelo de Dados e Modelagem de Banco de Dados Exemplo: 16 Figura 3 – Modelo de dados em rede. Fonte: ROB; CORONEL, 2010. p. 39. Tipos de registro: ➢ CLIENTE; ➢ REPCOMERCIAL; ➢ FATURA, ➢ FAT_LINHA; ➢ PRODUTO; ➢ PAGAMENTO CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Abstração, Modelo de Dados e Modelagem de Banco de Dados Exemplo: 17 Figura 3 – Modelo de dados em rede. Fonte: ROB; CORONEL, 2010. p. 39. Tipos de registro: ➢ CLIENTE; ➢ REPCOMERCIAL; ➢ FATURA, ➢ FAT_LINHA; ➢ PRODUTO; ➢ PAGAMENTO Note que o registro FATURA, por exemplo, é filho de REPCOMERCIAL e CLIENTE, relacionamento este que o modelo hierárquico não permitiria. CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Abstração, Modelo de Dados e Modelagem de Banco de Dados MODELO DE DADOS ➢ Modelo de rede o Apesar de possuir um relacionamento que torna as consultas mais eficientes – por não depender de um único nó raiz para iniciar a pesquisa –, o modelo em rede ainda apresenta alguns problemas. o A falta de um recurso para a elaboração de consultas resultava na criação de códigos para a produção de relatórios simples. 18 CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Abstração, Modelo de Dados e Modelagem de Banco de Dados MODELO DE DADOS ➢ Modelo de rede o Além disso, alterações estruturais poderiam prejudicar os aplicativos que utilizavam o banco de dados. o Por conta dos diversos problemas, na década de 1980, os modelos de dados hierárquicos e em rede foram amplamente substituídos pelo modelo relacional. 19 CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Abstração, Modelo de Dados e Modelagem de Banco de Dados MODELO DE DADOS ➢ Modelo de relacional o É um modelo baseado na concepção de que as informações em um banco de dados podem ser consideradas como relações matemáticas. o Estas relações são representadas através de tabelas, nas quais as linhas são as ocorrências de uma entidade, e ascolunas, seus atributos. 20 CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Abstração, Modelo de Dados e Modelagem de Banco de Dados MODELO DE DADOS ➢ Modelo de relacional o O relacionamento entre as tabelas se dá por meio do compartilhamento de determinado atributo que seja comum entre as tabelas, criando uma referência entre elas. 21 CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados Exemplo: 22 Figura 4 – Ligação de tabelas relacionais. Fonte: ROB; CORONEL, 2010. p. 41. Ao lado, as tabelas CORRETOR e CLIENTE compartilham o atributo AGENT_CODE. CAPÍTULO 3: Projeto de Banco de Dados: Modelagem Conceitual CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Projeto de Banco de Dados – Modelagem Conceitual 24 CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Projeto de Banco de Dados – Modelagem Conceitual INTRODUÇÃO ➢ Um bom projeto de banco de dados é embasado pelo uso de técnicas previamente desenvolvidas e conhecidas pelos projetistas de banco de dados; ➢ O uso dessas técnicas permite a validação de requisitos junto aos usuários finais de banco de dados – para quem os BDs são projetados – por conter esquemas simples e de fácil entendimento. 25 CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Projeto de Banco de Dados – Modelagem Conceitual INTRODUÇÃO ➢ Outro fator importante do uso de modelos de dados conceituais é que se permite o compartilhamento de soluções já modeladas, visto que determinado problema pode ser comum a vários usuários. 26 CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Projeto de Banco de Dados – Modelagem Conceitual MODELO ENTIDADE-RELACIONAMENTO (ER) ➢ Modelo entidade-relacionamento (ER) foi publicado por Peter Chen em 1976 em seu artigo The Entity-Relationship Model: Toward a Unified View of Data (CHEN, 1976). ➢ O modelo ER é conceitual e tem como objetivo representar o mundo real como entidades e seus relacionamentos com outras entidades. ➢ Segundo Peter Chen, para se visualizar uma realidade, é preciso se basear nos relacionamentos entre as entidades que retratam os fatos de tal realidade. 27 CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Projeto de Banco de Dados – Modelagem Conceitual MODELO ENTIDADE-RELACIONAMENTO (ER) ➢ Dessa forma, tanto as entidades quanto os relacionamentos podem possuir atributos que auxiliam na caracterização da realidade que está sendo modelada. 28 CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Projeto de Banco de Dados – Modelagem Conceitual MODELO ENTIDADE-RELACIONAMENTO (ER) ➢ Entidade ✓ Um dos objetos básicos que o modelo entidade-relacionamento utiliza para representar partes envolvidas de determinado domínio são as entidades, que representam algo do mundo real que possui uma existência independente, seja física ou conceitualmente. 29 CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Projeto de Banco de Dados – Modelagem Conceitual MODELO ENTIDADE-RELACIONAMENTO (ER) ➢ Tipos de entidades ✓ Entidades físicas: são aquelas cuja existência é tangível, ou seja, elas existem e são visíveis no mundo real. ✓ qualquer “coisa” do mundo real que possua uma existência física é chamada de entidade física. Exemplo: pessoa, um carro, um prédio, livros, roupas, perfumes, computadores. 30 CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Projeto de Banco de Dados – Modelagem Conceitual MODELO ENTIDADE-RELACIONAMENTO (ER) ➢ Tipos de entidades ✓ Entidades conceituais: também chamadas de entidades lógicas – são aquelas que existem devido à interação com outras entidades, com uma existência conceitual, ou aquelas que fazem sentido em determinado contexto, porém, não existem fisicamente no mundo real. Exemplo: uma empresa ou um curso são entidades lógicas. Note que não estamos falando da sede da empresa ou do curso – que normalmente estão localizados em construções prediais –, estamos falando de seus conceitos. 31 CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Projeto de Banco de Dados – Modelagem Conceitual MODELO ENTIDADE-RELACIONAMENTO (ER) ➢ Classificação das entidades ✓ Entidades fortes: são entidades cuja existência é independente de outras entidades ou aquelas que representam algo do mundo real com existência própria. ✓ Entidades fracas: são entidades cuja existência depende de outras entidades para existirem, pois, sozinhas, não fazem sentido. 32 CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Projeto de Banco de Dados – Modelagem Conceitual MODELO ENTIDADE-RELACIONAMENTO (ER) Exemplo: 33 CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Projeto de Banco de Dados – Modelagem Conceitual MODELO ENTIDADE-RELACIONAMENTO (ER) ➢ Atributos ✓ Atributos são as propriedades que descrevem as entidades. Por exemplo, uma entidade Aluno possui diversas características comuns às suas instâncias. ✓ Essas características podem ser o nome, sobrenome, e-mail, telefone e número de matrícula. 34 CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Projeto de Banco de Dados – Modelagem Conceitual MODELO ENTIDADE-RELACIONAMENTO (ER) ➢ Atributos ✓ A notação original do modelo ER apresentada por Peter Chen representa os atributos de uma entidade como elipses ligadas aos retângulos das respectivas entidades 35 CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Projeto de Banco de Dados – Modelagem Conceitual MODELO ENTIDADE-RELACIONAMENTO (ER) ➢ Tipos de atributos 36 Atributo Simples CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Projeto de Banco de Dados – Modelagem Conceitual MODELO ENTIDADE-RELACIONAMENTO (ER) ➢ Tipos de atributos 37 Atributo composto CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Projeto de Banco de Dados – Modelagem Conceitual MODELO ENTIDADE-RELACIONAMENTO (ER) ➢ Tipos de atributos 38 Atributo monovalorado Atributo multivalorado CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Projeto de Banco de Dados – Modelagem Conceitual MODELO ENTIDADE-RELACIONAMENTO (ER) ➢ Atributos ✓ Entidades 39 Atributo derivado CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Projeto de Banco de Dados – Modelagem Conceitual MODELO ENTIDADE-RELACIONAMENTO ➢ RELACIONAMENTOS o Um relacionamento pode ser expresso por uma associação entre entidades. o Logo, as entidades que participam de um relacionamento são chamadas de entidades participantes. 40 CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Projeto de Banco de Dados – Modelagem Conceitual MODELO ENTIDADE-RELACIONAMENTO ➢ RELACIONAMENTOS o Os relacionamentos possuem papéis, que são identificados pelos nomes que os descrevem. o Dessa forma, é possível identificar diversos relacionamentos entre as mesmas entidades. 41 CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Projeto de Banco de Dados – Modelagem Conceitual MODELO ENTIDADE-RELACIONAMENTO ➢ CHAVE PRIMÁRIA o É um atributo que identifica exclusivamente uma entidade. Exemplo: 42 CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Projeto de Banco de Dados – Modelagem Conceitual MODELO ENTIDADE-RELACIONAMENTO ➢ CHAVE ESTRANGEIRA o Uma chave estrangeira é um conjunto de uma ou mais atributos de uma entidade que se refere à chave primária em outra entidade. 43 CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Projeto de Banco de Dados – Modelagem Conceitual MODELO ENTIDADE-RELACIONAMENTO ➢ CHAVE ESTRANGEIRA 44 Abstração, Modelo de Dados e Modelagem de Banco de Dados MODELO ENTIDADE-RELACIONAMENTO 45 Tipos de cardinalidades de um relacionamento Abstração, Modelo de Dados e Modelagem de Banco de Dados MODELO ENTIDADE-RELACIONAMENTO 46 Grau de um relacionamentoCENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Projeto de Banco de Dados – Modelagem Conceitual MODELO ENTIDADE-RELACIONAMENTO ➢ GENERALIZAÇÃO o Definição de uma entidade que é um superconjunto de uma outra entidade. o Processo de generalizar vários conjuntos de entidades em um só conjunto de entidade 47 CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Projeto de Banco de Dados – Modelagem Conceitual MODELO ENTIDADE-RELACIONAMENTO ➢ ESPECIALIZAÇÃO o Definição de uma entidade que é um subconjunto de uma outra entidade. o Processo de classificar o conjunto de entidades em conjunto de entidades especializados. 48 CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Abstração, Modelo de Dados e Modelagem de Banco de Dados MODELO ENTIDADE-RELACIONAMENTO Exemplo: 49 CAPÍTULO 4: Projeto de Banco de Dados: Modelagem Lógica CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Projeto de Banco de Dados – Modelagem Lógica O modelo lógico ➢ O modelo relacional permite ao projetista focar na representação lógica dos dados e de seus relacionamentos em vez de lidar com detalhes do armazenamento físico, tal como ocorria com os modelos hierárquicos e de rede. ➢ Uma perspectiva lógica dos dados é importante, pois ela pode produzir metodologias de projeto simples e eficientes. ➢ As relações exercem um papel fundamental no modelo relacional e, por esse motivo, devem ser detalhadas. Por isso, será iniciada uma discussão sobre os detalhes da estrutura e do conteúdo das relações. 51 CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Projeto de Banco de Dados – Modelagem Lógica O modelo lógico ➢ A visão lógica de um banco de dados é facilitada pela criação de relacionamentos entre dados por meio de uma estrutura lógica conhecida como relação (tabela). ➢ Relação refere-se a uma estrutura matemática que, em banco de dados, é comumente chamada de tabela. ➢ Uma tabela pode ser entendida como uma estrutura bidimensional formada por linhas e colunas. 52 CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Projeto de Banco de Dados – Modelagem Lógica O modelo lógico ➢ É factível associar uma tabela como uma representação permanente de uma relação lógica, ou seja, de uma relação cujo conteúdo pode ser armazenado e utilizado no futuro. ➢ Uma tabela pode conter um grupo de ocorrências de entidades relacionadas, que, por sua vez, podem ser entendidas como um conjunto de entidades. 53 CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Projeto de Banco de Dados – Modelagem Lógica O modelo lógico ➢ Em seu livro, Rob e Coronel (2010) trazem o seguinte exemplo: considere uma tabela denominada “Aluno” que contém um conjunto de entidades ou instâncias, cada uma representando um aluno. Logo, é comum utilizar os termos tabelas e conjunto de entidades como sinônimos. 54 CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados BANCO DE DADOS Projeto de Banco de Dados – Modelagem Lógica O modelo lógico Exemplo: 55 FIM DA APRESENTAÇÃO Bons estudos! CENTRO UNIVERSITÁRIO NEWTON PAIVA Banco de dados 56 Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24 Slide 25 Slide 26 Slide 27 Slide 28 Slide 29 Slide 30 Slide 31 Slide 32 Slide 33 Slide 34 Slide 35 Slide 36 Slide 37 Slide 38 Slide 39 Slide 40 Slide 41 Slide 42 Slide 43 Slide 44 Slide 45 Slide 46 Slide 47 Slide 48 Slide 49 Slide 50 Slide 51 Slide 52 Slide 53 Slide 54 Slide 55 Slide 56