BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br
SUMÁRIO Introdução Modelo de Dados Esquema Geral de Modelagem de BD; ME-R: Conceitos gerais; DE-R Representação e exemplos.
INTRODUÇÃO Um dos principais pressupostos de um BD é fornecer informação a usuários sem que estes necessitem conhecer detalhes concretos de armazenamento Ou seja, é imprescindível que o responsável por projetar um BD use um determinado nível de abstração (um usuário não precisa se responsabilizar em compreender detalhes finos da estrutura de dados utilizada para o armazenamento dos dados!) Pode-se considerar três níveis de abstração (para um projeto de BD): Nível Conceitual Nível Lógico Nível de Visão
MODELO DE DADOS O Modelo de Dados é a principal ferramenta que fornece uma abstração a um BD. É um conjunto de conceitos que podem ser usados para descrever a estrutura de uma base de dados em diferentes níveis. Por estrutura de um BD entende-se: Os tipos de dados, Relacionamentos e Restrições pertinentes aos dados. Muitos modelos de dados também definem um conjunto de operações para especificar como recuperar e modificar o BD.
PROJETO DE UM BDX MODELOS DE DADOS Análise das Necessidades Sintonização Projeto Conceitual Monitoração Projeto Lógico Implementação Projeto Físico
MODELO DE DADOS Modelagem Conceitual Processo mental em que selecionamos apenas determinadas propriedades ou características do problema que possam ser consideradas relevantes. Em geral, pode-se criar um modelo conceitual a partir das seguintes ferramentas: Modelo de Entidades e Relacionamentos Modelo Infológico Modelo Semântico de Dados Modelo Orientado a Objetos etc Modelagem Lógica São usados tanto para capturar uma estrutura lógica global do BD como para estabelecer uma descrição da implementação da estrutura do BD. Ferramenta mais difundida: Modelo Relacional
MODELO DE DADOS RELACIONAL O Modelo Relacional (MR) é considerado o primeiro modelo de dados efetivamente usado em aplicações comerciais. Foi introduzido por Edgar Frank Codd* em 1970. É o modelo que possui a base mais formal entre os modelos de dados, entretanto é o mais simples e com estrutura de dados mais uniforme. http://amturing.acm.org/award_winners/codd_1000892.cfm
MR ESTRUTURA BÁSICA Um banco de dados relacional consiste de uma coleção de tabelas de nomes únicos. Cada tabela possui um conjunto de linhas que representa um relacionamento entre um conjunto de valores. O conceito de tabelas está intimamente ligado ao conceito de uma relação matemática de onde se origina o nome deste modelo. Uma tabela é formada por um conjunto de colunas denominadas de atributos e por um conjunto de linhas denominadas de tuplas. Para cada atributo existe um conjunto de valores permitidos, chamado de domínio.
TABELA SQL é a linguagem utilizada para manipulação e definição de tabelas e suas respectivas relações
ALGUMAS CONCLUSÕES Não se atinge um projeto de tabelas (modelo relacional) adequado sem que um modelo conceitual seja feito Para se efetuar um modelo conceitual é necessário uma avaliação dos requisitos do problema
Análise das Necessidades Sintonização Projeto Conceitual Monitoração Projeto Lógico Implementação Projeto Físico
PROJETO CONCEITUAL Descrição abstrata dos dados do domínio que serão armazenados no BD; É independente de SGBD; Representação visual de fácil compreensão; Principal ferramenta: Modelo de Entidades e Relacionamentos
MODELO ENTIDADE-RELACIONAMENTO (MER) Criado em 1976 por Peter Chen; É a técnica de modelagem de dados mais difundida e aceita; É uma representação gráfica de fácil compreensão; Usa conceitos simples para definir domínio.
EXEMPLO -MER 1 N Cliente Pedido Produto Material Fornecedor 1 Portador 1 N 1 N N 1 N Fatura 1 N Duplicata N 1 Transportadora Cargo 1 N Pedido C. Empregado N N 1 1 1 Órgão 1 N 1 1 N NF 1 N
ENTIDADE Segundo (Korth et. Al, 1999): uma entidade é uma coisa ou um objeto do mundo real que pode ser identificada(o) de uma forma unívoca em relação a todos os outros objetos. cada entidade tem um conjunto de atributos que assumem valores e, em alguns casos, assumem valores que devem ser únicos. Pode ser um elemento com uma existência física: Pessoa, carro, casa ou funcionário. Ou com uma existência conceitual: Empresa, trabalho, curso.
ENTIDADE Entidade: Símbolo: retângulo com o nome da entidade. Cliente Pedro Luiz Margarida Representação Gráfica Antônio Interpretação
RELACIONAMENTO Relacionamento: Conjunto de associações entre ocorrências de entidades; Símbolo: losango nomeado interligando as entidades do relacionamento. Paciente possui Convênio Representação Gráfica
RELACIONAMENTO Paciente possui Convênio Interpretação Margarida Pedro Antônio Luiz Entidades Paciente Pedro, Unimed Antônio, Unimed Luiz, Amil Relacionamentos Possui Unimed Amil Bradesco Saúde Entidades Convênio
CARDINALIDADE EM RELACIONAMENTOS Relacionamentos entre entidades baseiam-se na possibilidade da quantidade de relações, ou seja, na cardinalidade das relações. Cardinalidade: Um para Um; Um para Muitos; Muitos para Muitos; Auto-relacionamento.
CARDINALIDADE EM RELACIONAMENTOS Um para um (1:1): A cada ocorrência de uma ENTIDADE corresponde uma e somente uma ocorrência de outra ENTIDADE. 1 gerencia 1 Empregado Órgão 1 é gerenciado 1 Representação Gráfica
CARDINALIDADE EM RELACIONAMENTOS Um para muitos (1:N): A cada ocorrência de uma ENTIDADE corresponde uma ou mais ocorrências de outra ENTIDADE. Cliente faz 1 N Pedido é feito Representação Gráfica
CARDINALIDADE EM RELACIONAMENTOS Muitos para muitos (N:N): A cada ocorrência de uma ENTIDADE corresponde uma ou mais ocorrências de outra ENTIDADE e vice-versa. Fornecedor fornece 1 N N 1 Histórico é fornecido Material Representação Gráfica
CARDINALIDADE EM RELACIONAMENTOS Auto-relacionamento: Relacionamento entre ocorrências de uma mesma entidade; Exige que papéis sejam definidos. Empregado 1 N é supervisor
CARDINALIDADE EM RELACIONAMENTOS Como interpretar um Auto-Relacionamento: Raquel Vera Priscila Morgana Patrícia Entidades Empregado Raquel, Vera Priscila, Patrícia Entidades Relacionamento
ATRIBUTOS Uma entidade é representada por um conjunto de atributos. Atributos são propriedades descritivas de cada membro de um conjunto de entidades e cada entidade tem seus próprios valores nos atributos. Para cada atributo existe um conjunto de valores possíveis, chamado domínio. Numero Pedido ItemPedido Código Produto Quantidade Descrição
TIPOS DE ATRIBUTOS Tipos de Atributos: Obrigatório versus opcional; Univalorado versus multivalorado; Simples versus composto Nome CNH (0,1) Clientes Titulação(1,N) Endereço Rua Bairro CEP
CHAVES Chaves: Primária: Conjunto de atributos que identificam univocamente cada ocorrência de uma entidade. Exemplo: matrícula de um empregado.
CHAVES Chaves: Candidata: Conjunto de atributos que identificam univocamente cada ocorrência de uma entidade. Exemplo: matrícula e cpf de um empregado.
CHAVES Chaves: Estrangeira: Atributo de uma entidade e que é chave primária de outra entidade. Exemplo: código do cliente na entidade pedido. Cliente 1 N faz Pedido O uso de chaves estrangeiras, em geral, não é uma boa decisão em tempo de projeto conceitual!
ENTIDADE FRACA Entidade fraca: Depende da existência de ocorrências de outra(s) entidade(s) tem Empregado 1 N Tem Dependente é dependente de
LEITURA RECOMENDADA ELMASRI, Ramez, NAVATHE, Shamkant B. Sistemas de banco de dados - fundamentos e aplicações. 5 ed., 2005. Caps. 2 e 3.