Baixe o app para aproveitar ainda mais
Prévia do material em texto
09/03/2015 1 Introdução à modelagem de dados Banco de dados 1 Fabrício Nogueira fabricio.silva@uva.br RelembrandoRelembrandoRelembrandoRelembrando • Coleção de dados relacionados • Representação digital dos dados do mundo real • Grandes volumes de dados e suas relações complexas justificam a criação de estratégias específicas para gerenciá-los Banco de dados 09/03/2015 2 RelembrandoRelembrandoRelembrandoRelembrando • Arquivos X SGBDs • Diminui o tempo de desenvolvimento de aplicações • Tratamento de grande volume de informação • Mecanismo padrão para obtenção dos dados • Compartilhamento para múltiplos usuários • Controle de concorrência • Mecanismos de recuperação de falhas Por que usar SGBD?Por que usar SGBD?Por que usar SGBD?Por que usar SGBD? • Redução do tempo de desenvolvimento • Consistência de dados • Controle de concorrência • Recuperação de falhas 09/03/2015 3 Aplicações tradicionaisAplicações tradicionaisAplicações tradicionaisAplicações tradicionais • Bancos de dados numéricos e textuais • Exemplos • Gerenciamento de vendas de uma farmácia • Gerenciamento de uma loja de tintas • Sistema bibliotecário • Sistema bancário Aplicações mais recentesAplicações mais recentesAplicações mais recentesAplicações mais recentes • Multimídia • Sistemas de Informação Geográfica (GIS) • Data Warehouses 09/03/2015 4 RelacionamentosRelacionamentosRelacionamentosRelacionamentos • Data Mining • Data Warehousing • Information Retrieval • Distributed and Parallel Databases • Big Data • NoSQL • Ontologias e Web Semântica ConceitosConceitosConceitosConceitos • Modelo de dados • Coleção de conceitos para descrever dados • Estrutura para representação de dados • Ex.: Modelo relacional � tabelas e atributos • Esquema • Descreve a coleção de dados que está sendo modelada pelo modelo de dados • Tipo de modelo de dados sendo utilizado • Relacional � Relações (tabelas) e esquema 09/03/2015 5 Níveis de abstração dos dadosNíveis de abstração dos dadosNíveis de abstração dos dadosNíveis de abstração dos dados Nível semântico Nível lógico Nível físico Base de dados Modelagem do universo de discursoModelagem do universo de discursoModelagem do universo de discursoModelagem do universo de discurso • Modelo Entidade-Relacionamento (ER) • Padrão para modelagem conceitual • Criado por Peter Chen em 1976 • Entidade • Objeto do universo • Identificável distintamente • Existência independente Pessoa Livro Departamento de uma empresa Categoria de um livro 09/03/2015 6 Modelagem do universo de discursoModelagem do universo de discursoModelagem do universo de discursoModelagem do universo de discurso • Modelo Orientado a Objetos (OO) • Simula 67 • Primeira linguagem Orienta a Objetos • Smalltalk • Projeto Dynabook • Objeto • Objeto do universo • Identificável distintamente • Existência independente Pessoa Livro Departamento de uma empresa Categoria de um livro Níveis de abstração dos dadosNíveis de abstração dos dadosNíveis de abstração dos dadosNíveis de abstração dos dados • Nível semântico • Alto nível de representação de dados • Relação direta com a forma como os usuários percebem os dados • Entidades ou Objetos • Nível lógico (ou conceitual) • Dependente do SGBD • Estruturas de representação do SGBD • Nível físico • Interno ao SGBD • Armazenamento • Sistema operacional 09/03/2015 7 Modelos lógicos de dadosModelos lógicos de dadosModelos lógicos de dadosModelos lógicos de dados • Modelo relacional • Modelo Hierárquico • Modelo em Rede • Modelo Orientado a Objetos • Modelo Objeto-relacional • NoSQL Modelos lógicos de dadosModelos lógicos de dadosModelos lógicos de dadosModelos lógicos de dados Estruturas 1 Operações 2 Restrições 3 09/03/2015 8 Modelos lógicos de dadosModelos lógicos de dadosModelos lógicos de dadosModelos lógicos de dados Estruturas = tabelas 1 Operações= Álgebra relacional 2 Restrições 3 DuplicidadeDuplicidadeReferencialReferencial Modelos lógicos de dadosModelos lógicos de dadosModelos lógicos de dadosModelos lógicos de dados Estruturas 1 Operações 2 Restrições 3 09/03/2015 9 Modelos lógicos Modelos lógicos Modelos lógicos Modelos lógicos de dadosde dadosde dadosde dados Estruturas = classes 1 Operações = Álgebra, métodos 2 Restrições 3 Objetos com identificação nula Objetos com identificação nula Independência de dadosIndependência de dadosIndependência de dadosIndependência de dados • Sistema de arquivos � Esquema no código fonte do programa • Definição dos dados + representação interna de armazenamento + métodos de acesso • Independência lógica dos dados • Mudanças no nível lógico não afetam o nível físico e nem conceitual • Ex.: Inclusão de novos atributos numa tabela • Independência física dos dados • Alterações no nível físico não afetam o nível conceitual e nem o nível lógico • Ex.: Alteração do método de busca dos dados 09/03/2015 10 Independência de dadosIndependência de dadosIndependência de dadosIndependência de dados • Nível externo (visões) • Garante a independência dando a diferentes usuários dos dados, diferentes possibilidades de visões • Ex.: • Professor� Nome, CPF, Disciplina • Professor � Nome, Endereço, Filiação, RG Níveis de esquema no SGBDNíveis de esquema no SGBDNíveis de esquema no SGBDNíveis de esquema no SGBD • Nível externo • Dados • Nível lógico • Entidades e atributos • Nível físico • Índices • Número de bytes Nível físico Nível lógico Visão Visão Visão 09/03/2015 11 Níveis de esquema no SGBDNíveis de esquema no SGBDNíveis de esquema no SGBDNíveis de esquema no SGBD Exemplo: Base de dados de peças de computadorExemplo: Base de dados de peças de computadorExemplo: Base de dados de peças de computadorExemplo: Base de dados de peças de computador Produto Tipo de produto 1N Código Nome Preço Código Nome 09/03/2015 12 Exemplo: Base de dados de peças de computadorExemplo: Base de dados de peças de computadorExemplo: Base de dados de peças de computadorExemplo: Base de dados de peças de computador Produto codigo nome preco codigo_tipo 1 HP 500 R$ 600 1 2 Sony Vaio R$ 2000 2 3 Dell R$ 1900 2 Tipo de produto Codigo Nome 1 Impressora 2 Notebook Exemplo: Base de dados de peças de computadorExemplo: Base de dados de peças de computadorExemplo: Base de dados de peças de computadorExemplo: Base de dados de peças de computador • Esquema lógico • Produto (codigo, nome, preço, cod_tipo) • Tipo_Produto(codigo, nome) • Cod_tipo da tabela Produto referencia o atributo codigo em Tipo_Produto • Esquema físico • Tabelas acessadas em arquivo de acesso sequencial • Criação de índice usando a coluna código em Tipo_Produto • Esquema de visões (externo) • Aplicação de cotações de produtos só acessa código e preço de produto • Aplicação de tipo de produto só acessa código e descrição 09/03/2015 13 Exemplo: Loja de tintasExemplo: Loja de tintasExemplo: Loja de tintasExemplo: Loja de tintas Serviço Cliente Empresa 1 N 1 N Um cliente solicita um serviço da loja de tintas. Uma empresa pode recomendar vários clientes para a loja de tintas. Exemplo: Loja de tintasExemplo: Loja de tintasExemplo: Loja de tintasExemplo: Loja de tintas • Esquema lógico • Cliente (código, nome, endereço, telefone, cpf, código_empresa, código_serviço) • Empresa (código, nome, endereço, cnpj) • Serviço (código, tipo, descrição, valor) • Esquema físico • Arquivos sequenciais • Índices por cpf, cnpj • Esquema externo • Mala direta: Nome do cliente, telefone e endereço(cliente_mala_direta) • Pagamentos: Nom do cliente, cpf, tipo, serviço, valor (cliente_serviços) 09/03/2015 14 ExercíciosExercíciosExercíciosExercícios • Definição do fator de blocos • Modelo físico • Definição dos relacionamentos • Modelo semântico • Modelo lógico • Importância do esquema externo de visões • Recurso responsável para que as aplicações compartilhem uma mesma informação mantendo as suas especificidades e independência
Compartilhar