Modelos de Banco de Dados

Slides:



Advertisements
Apresentações semelhantes
Prof. Alfredo Parteli Gomes
Advertisements

Programação para Internet Aula 10 Introdução (Características do BD Relacional e Implementação)
Modelagem de Dados Aula 4. 2 Implementação de Entidades Não é aconselhável simplesmente transcrever os nomes dos atributos para nomes de colunas. Nomes.
Modelagem de Dados Aula 5.
Gestão da Tecnologia da Informação Fundamentos de Sistemas de Banco de Dados Faculdade de Tecnologia Senac Jaraguá do Sul.
Modelagem de Dados Aula 3.
Normalização (4FN) Na literatura aparecem outras formas normais, como a forma normal de Boyce/Codd, a 4FN e a 5FN. Destas a única que tem importância na.
Tecnologias para Internet Thyago Maia Tavares de Farias Aula 18.
REPRESENTAÇÕES DE LINGUAGENS Adorilson Bezerra Santa Cruz - RN UNIVERSIDADE DO ESTADO DO RIO GRANDE DO NORTE CAMPUS AVANÇADO DO NATAL DEPARTAMENTO DE CIÊNCIA.
SISTEMA TUTOR INTELIGENTE PARA ENSINO SQL Acadêmico: Sandro Oscar Bugmann Orientador: Alexander Roberto Valdameri.
Gerência de relacionamento com o cliente Elaine C. Amendola Capítulo 06.
Categorias Computacionais N Um modelo categorial para bancos de dados Vítor De Araújo
Banco de Dados Relacionamentos entre Entidades Aula de 15/03/2016 Professor Alessandro Carneiro.
Gestão da Tecnologia da Informação Fundamentos de Sistemas de Banco de Dados Faculdade de Tecnologia Senac Jaraguá do Sul.
Princípios de Desenvolvimento de Algoritmos MAC122 Prof. Dr. Paulo Miranda IME-USP Variáveis e Atribuições.
Diagrama de Use Cases. Objetivo  O Diagrama de Use Cases tem o objetivo de auxiliar a comunicação entre os analistas e o cliente.
Texto dissertativo-argumentativo O desenvolvimento
(Material cedido pela Profa. Daniela Leal Musa)
Modelo Entidade-Relacionamento
SEL 329 – CONVERSÃO ELETROMECÂNICA DE ENERGIA
Diagrama de Sequencia Prof. Thales Castro.
Banco de Dados I Modelagem Relacional
Educação Profissional Técnica de Nível Médio em Informática
Universidade Federal de Santa Catarina Mapeamento ER- Relacional
Capacitação no Uso do SABi
Diagrama de Use Cases.
Banco de Dados em Jogos Digitais
Prof. Wellington Franco
Introdução à Programação BCC 201 Aula
FUNDAMENTO DE PROGRAMAÇÃO PROF. BRUNO DE CASTRO H. SILVA
Universidade Federal de Santa Catarina Mapeamento ER- Relacional
SISTEMAS OPERACIONAIS
Tema 3 - Modelagem ER: Conceitos e Fundamentos
Prof: Márcio Soussa Centro Universitário Jorge Amado
Funções de um computador
Arquitetura de Computadores
FUNDAMENTO DE PROGRAMAÇÃO
Banco de Dados Prof: Márcio Soussa Centro Universitário Jorge Amado.
INE 5201 – INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO
BANCO DE DADOS II.
Prof: Márcio Soussa Centro Universitário Jorge Amado
Análise & Projeto – Diagrama de Entidade-Relacionamento
Daniel Paulo SQL Server 2016 Módulo II Daniel Paulo
4 – Políticas de Segurança
Prof: Márcio Soussa Centro Universitário Jorge Amado
Banco de Dados Prof: Márcio Soussa Centro Universitário Jorge Amado.
Modelos de Banco de Dados
BANCO DE DADOS I.
ESTATÍSTICA AULA 04 ANÁLISE EXPLORATÓRIA DE DADOS I – Unidade 3
Organização básica de arquivos
MER – Modelo de Entidade Relacionamento
Universidade Federal de Santa Catarina Mapeamento ER- Relacional
Linguagem PASCAL Tipos Estruturados
EDA - Prof. Paulemir Campos
Programação Funcional
Trabalho de Conclusão de Curso I
MEMORIAS RAUL DIAZ ROSAS.
Módulo III Capítulo 2: SQLite
Aula Prática Objeto-Relacional Monitoria GDI
Filas.
ALGORITMOS.
Modelagem Entidade-Relacionamento (MER)
Modelo Entidade-Relacionamento
Prof. Marcio Ferreira Modelagem de dados II
Prática O-R Fernando Fonseca.
Bancos de Dados Relacionais
Prof. Elisson de Andrade
Modelagem de Banco de Dados
Sistemas de Informação
Prof. Elisson de Andrade
Transcrição da apresentação:

Modelos de Banco de Dados

Transformações entre Modelos O projeto lógico consta da transformação de um modelo ER em um modelo lógico, que implementa, a nível de SGBD relacional, os dados representados abstratamente no modelo ER. O termo “implementação” significa que ocorre uma transformação de um modelo mais abstrato para um modelo que contém mais detalhes de implementação.

Transformações entre Modelos Objetivos para definição de regras para transformação de um modelo ER em um modelo relacional: Obter um banco de dados que permita boa performance de instruções de consulta e alteração do banco de dados. Obter boa performance significa basicamente diminuir o número de acessos a disco, já que estes consomem o maior tempo na execução de uma instrução de banco de dados.

Transformações entre Modelos Obter um banco de dados que simplifique o desenvolvimento e a manutenção de aplicações. Estes dois objetivos são os centrais. Além destes, as regras de transformação procuram obter um banco de dados que ocupe pouco espaço em disco.

Transformações entre Modelos Regras de Transformação: Evitar junções: Ter os dados necessários a uma consulta em uma única linha. Um SGBD relacional normalmente armazena os dados de uma linha de uma tabela contiguamente em disco. Diminuir o número de chaves primárias: Para o controle da unicidade da chave primária, o SGBD usa normalmente uma estrutura de acesso auxiliar, um índice, para cada chave primária. Índices, pela forma que são implementados, tendem a ocupar espaço considerável em disco. Além disso, a inserção ou remoção de entradas em um índice podem exigir diversos acesso a disco.

Transformações entre Modelos Deseja-se armazenar, para cada cliente, seu código, seu nome, o nome da pessoa de contato, o endereço e o telefone. Este dados poderiam ser implementados através de uma das seguintes alternativas:

Transformações entre Modelos A primeira alternativa, o SGBD cria apenas um índice por código de cliente, a chave primária da tabela. Na segunda alternativa, o SGBD cria, para cada tabela, um índice por código de cliente. Como cada cliente aparece nas duas tabelas, os dois índices possuem exatamente as mesmas entradas, resultando em armazenamento e processamento dobrados.

Transformações entre Modelos Evitar campos opcionais: São campos que podem assumir o valor VAZIO (NULL em SQL). Os SGBD relacionais usualmente não desperdiçam espaço pelo fato de campos de uma linha estarem vazios, pois usam técnicas de compressão de dados e registros de tamanho variável no armazenamento interno de linhas. Além disso, há uma cláusula de SQL que especifica ao SGBD se o campo deve estar preenchido ou pode estar vazio.

Transformações entre Modelos Passos para a transformação de um modelo ER em modelo relacional: Tradução inicial de entidades e respectivos atributos Tradução de relacionamentos e respectivos atributos Tradução de generalizações/especializações

Transformações entre Modelos Tradução inicial de entidades e respectivos atributos: Cada entidade é traduzida para uma tabela. Neste processo, cada atributo da entidade define uma coluna desta tabela. Os atributos identificadores da entidade correspondem às colunas que compõem a chave primária da tabela.

Transformações entre Modelos A entidade “clientes” com seus atributos “código, nome, data de nascimento e endereço” é transformada na tabela denominada “clientes” com colunas denominadas “codigo, nome, data_nasc e endereco”. Como o atributo “código” é identificador da entidade, a coluna correspondente a este atributo é a chave primária da tabela.

Transformações entre Modelos Nomes de atributos e colunas Não é aconselhável simplesmente transcrever os nomes de atributos para nomes de colunas. Nomes de colunas serão referenciados frequentemente em programas e outras formas de texto em computador. Assim, para diminuir o trabalho de programadores é conveniente manter os nomes de colunas curtos, sem brancos e sem acentuação.

Transformações entre Modelos Nomes de atributos e colunas Nas linguagens de banco de dados, o nome da tabela é muitas vezes usado como qualificador do nome da coluna. Exemplificando, para referenciar a coluna “nome” da tabela “clientes” muitas vezes é usado um termo na forma “clientes.nome”. Por isso, não é recomendado incluir no nome de uma coluna o nome da tabela em que ela aparece. Assim, é preferível usar o nome de coluna “nome” a usar o nome de coluna “nome_cli”.

Transformações entre Modelos Nomes de atributos e colunas A exceção a esta regra é a coluna chave primária da tabela. Como esta coluna pode aparecer em outras tabelas na forma de chave estrangeira, é recomendável que os nomes das colunas que compõem a chave primária sejam sufixadas ou prefixadas com o nome ou sigla da tabela na qual aparecem como chave primária. Por este motivo, a coluna chave primária da tabela do exemplo recebeu a denominação de “cod_cli”.

Transformações entre Modelos Nomes de atributos e colunas Outra recomendação quanto a nomeação de colunas é relativa ao uso de abreviaturas. Muitas vezes usa-se determinadas abreviaturas para tipos de campos que se repetem, como “cod” para um código e “no” ou “num” para um número. A recomendação é que se use sempre a mesma abreviatura em todo o banco de dados.

Transformações entre Modelos Relacionamento identificador (entidade fraca) Trata-se da situação na qual uma entidade possui um relacionamento identificador. Um exemplo de entidade deste tipo é a entidade “dependentes” mostrada no diagrama. Um dependente é identificado pelo código do empregado ao qual ele está vinculado e por um número de sequência que distingue os diversos dependentes de um mesmo empregado.

Transformações entre Modelos Relacionamento identificador (entidade fraca) A regra de tradução de identificadores externos é que, para cada identificador externo seja criada uma coluna na tabela em questão, coluna esta que fará parte da chave primária da tabela. O DER seguinte mostra o esquema relacional para esta tradução da entidade “dependentes”.

Transformações entre Modelos Relacionamento identificador (entidade fraca)

Transformações entre Modelos Tradução de relacionamentos e respectivos atributos: O fator determinante para a tradução a adotar no caso de relacionamentos é a cardinalidade mínima e máxima das entidades que participam do relacionamento. Antes de detalhar a alternativa proposta para cada tipo de relacionamento, apresentamos três formas básicas de tradução de relacionamentos para o modelo relacional: “Tabela Própria”, “Colunas adicionais dentro de tabela de entidade” e “Fusão de tabelas de entidades”.

Transformações entre Modelos Tabela própria O relacionamento é implementado através de uma tabela própria. Esta tabela contém as seguintes colunas: Colunas correspondentes aos identificadores das entidades relacionadas. Colunas correspondentes aos atributos do relacionamento. A chave primária desta tabela é o conjunto das colunas correspondentes aos identificadores das entidades relacionadas.

Transformações entre Modelos Tabela própria

Transformações entre Modelos Colunas adicionais dentro da tabela de entidade A segunda forma de implementação de um relacionamento é a inserção de colunas em uma tabela correspondente a uma das entidades que participam do relacionamento. A tradução consta em inserir na tabela correspondente à entidade com cardinalidade máxima 1 as seguintes colunas:

Transformações entre Modelos Colunas adicionais dentro da tabela de entidade Colunas correspondentes ao identificador da entidade relacionada (“departamentos”), formam uma chave estrangeira em relação à tabela que implementa a entidade relacionada, exemplo a coluna “cod_dep”. Colunas correspondentes aos atributos do relacionamento, exemplo a coluna “data_aloca”.

Transformações entre Modelos Colunas adicionais dentro da tabela de entidade

Transformações entre Modelos Fusão de tabelas de entidades A terceira forma de implementar um relacionamento é através da fusão das tabelas referentes às entidades envolvidas no relacionamento. Esta tradução somente pode ser aplicada quando o relacionamento é de tipo 1:1. A tradução consta de implementar todos atributos de ambas entidades, bem como os atributos do relacionamento em uma única entidade.

Transformações entre Modelos Fusão de tabelas de entidades

Referências Bibliográficas HEUSER, Carlos Alberto. Projeto de Banco de Dados, Porto Alegre: Instituto de informática da UFRGS, Sagra Luzzato, 2001. Série livros didáticos  n.º  4. ELMASRI, R. & NAVATHE, S.B. Fundamentals of Database Systems. Second Edition. Benjamin/Cummings, Redwod City, California, 1994.