Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Modelagem de Banco de Dados: Conceitos Fundamentais e Aplicações, Notas de estudo de Introdução a Banco de Dados

Resumo sobre algebra relacional SQL

Tipologia: Notas de estudo

2020

Compartilhado em 12/04/2023

gabi-ksp
gabi-ksp 🇧🇷

2 documentos

1 / 21

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Visão Geral 2
Banco de dados 2
SGBD 2
Modelagem de Dados 2
Linguagem de Consulta SQL 2
Esquemas e Instâncias 3
Usuários do BD 3
Funções do Administrador de BD 4
A Importância do Projeto de BD 4
MER (modelo entidade-relacionamento) 4
DER (diagrama entidade-relacionamento) 4
Linguagem de modelagem de dados 5
Regras de negócio 6
Modelo Relacional 10
Modelo de dados 10
Abordagem relacional 10
Tabelas 10
Chaves 11
Linguagens de Consulta Relacional 11
Restrições de Integridade 11
Restrições de Semânticas 12
Dicionário de Dados 12
Redundância de Dados 12
Regras de Codd 12
Transformação entre Modelos 12
Modelagem de dados apoiada por computador 12
Engenharia direta e reversa 12
Exportando e importando dados 12
Normalização 13
Anomalias de Inserção 13
Processo de Normalização 14
1FN 15
Determinação 16
Dependência Funcional 16
2FN 17
3FN 19
Desnormalização 21
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15

Pré-visualização parcial do texto

Baixe Modelagem de Banco de Dados: Conceitos Fundamentais e Aplicações e outras Notas de estudo em PDF para Introdução a Banco de Dados, somente na Docsity!

  • Visão Geral
    • Banco de dados
    • SGBD
    • Modelagem de Dados
    • Linguagem de Consulta SQL
    • Esquemas e Instâncias
    • Usuários do BD
    • Funções do Administrador de BD
    • A Importância do Projeto de BD
  • MER (modelo entidade-relacionamento)
    • DER (diagrama entidade-relacionamento)
    • Linguagem de modelagem de dados
    • Regras de negócio
  • Modelo Relacional
    • Modelo de dados
    • Abordagem relacional
    • Tabelas
    • Chaves
    • Linguagens de Consulta Relacional
    • Restrições de Integridade
    • Restrições de Semânticas
    • Dicionário de Dados
    • Redundância de Dados
    • Regras de Codd
    • Transformação entre Modelos
    • Modelagem de dados apoiada por computador
    • Engenharia direta e reversa
    • Exportando e importando dados
  • Normalização
    • Anomalias de Inserção
    • Processo de Normalização
    • 1FN
    • Determinação
    • Dependência Funcional
    • 2FN
    • 3FN
    • Desnormalização

Visão Geral

Banco de dados

● Coleção de dados inter-relacionados

SGBD

● Conjunto de programas para acessar e manipular esses dados ● Gerencia a interação entre o usuário e o BD (MySql, postgreSQL…)

Modelagem de Dados

● Necessário realizar abstração do mundo real ● Fase imprescindível ● Identificar detalhes que podem ser eliminados ● Importante para determinar o escopo ● Decisões tomadas nesta fase podem afetar o desempenho do BD a ser projeto ● Tipos de Modelos de Dados: → Modelo Relacional → Usa coleção de tabelas para representar os dados

Linguagem de Consulta SQL

(Linguagem de Consulta Estruturada) ● Linguagem de banco de dados relacionais, composta de comandos que permitem aos usuários: → a criação de bancos de dados e estruturas de tabela, → a manipulação dos dados para extrair informações, e → a administração de dados. ● Linguagem padrão de BDs relacionais Tomada de decisão: Conhecimento implica familiaridade, consciência e compreensão das informações. Uso inteligente da informação possibilita boa tomada de decisões Informações são o resultado do processamento de dados para revelar seu significado. Dados são fatos brutos, dos quais podemos extrair informações Devem ser formatados adequadamente para o armazenamento, processamento e apresentação.

Funções do Administrador de BD

Definição do esquema → instruções DDL. Modificação do esquema e de organização física → eventuais alterações que reflitam os interesses da empresa. Concessão de autorização para acesso a dados → controlar as partes do BD que os usuários podem acessar. Manutenção de rotina → Backups periódicos → Garantir que haja suficiente espaço livre → Assegurar que o desempenho não seja comprometido

A Importância do Projeto de BD

● Determina a estrutura do BD utilizada para armazenar e gerenciar os dados ● Bem projetado, facilita o gerenciamento dos dados e gera informações precisas e valiosas. ● Mal projetado, pode levar a uma tomada de decisão equivocada

MER (modelo entidade-relacionamento)

● Técnica de modelagem conceitual de dados. ● Permite a realização da descrição abstrata dos dados a serem armazenados no BD ● Independente do SGBD ● Notação chen

DER (diagrama entidade-relacionamento)

● Conjunto de representações gráficas que implementam/suportam os conceitos do MER

Linguagem de modelagem de dados

● Empregada na construção de modelos de dados

● A representação de um modelo de dados recebe a denominação de Esquema de BD

Atributos Propriedades descritivas das entidades. Exemplo: um professor possui uma identificação exclusiva, além de nome, endereços e telefones. Tipos:Simples : não pode ser subdividido. exemplo chen (brModelo) pé de galinha (workbench) → Composto : pode ser subdividido de modo a obter mais atributos exemplo chen (brModelo) pé de galinha (workbench) → Valor único (monovalorado): tem valor único para uma entidade em particular. → Multivalorado: pode conter mais de um valor para um mesmo registro. → Derivados: seu valor é calculado a partir de outro(s) atributo(s), não sendo necessário defini-lo como propriedade da entidade. Exemplo: idade, a partir da data_nascimento. Relacionamentos

Associações entre entidades. Nomenclatura: verbos na voz ativa/passiva Exemplos: um ALUNO frequenta uma TURMA um PROFESSOR ensina uma TURMA A cardinalidade (0,1) faz referência a PROFESSOR A cardinalidade (1,1) faz referência a DEPARTAMENTO Chen Pé de galinha Atenção : para ler o modelo, partimos de uma determinada entidade, sendo que a cardinalidade correspondente a essa entidade é representada no lado oposto do relacionamento. → Tipos de cardinalidades O máximo fica do lado direito E o mínimo do lado esquerdo

Modelo Relacional

Modelo de dados

● Abstração de um objeto ou evento da realidade. ● Descrição formal (gráfica) da estrutura que armazenará os dados do usuário final. ● Permite a representação das estruturas de dados e suas características, relações e restrições ● Características gerais: ○ Processo iterativo e progressivo; ○ Tem as instruções para a criação (física) de um banco de dados que atenda as necessidades do usuário final ○ Facilita a interação e a comunicação entre o projetista, o programador de aplicação e o usuário final

Abordagem relacional

● Coleção de tabelas, com nome exclusivo. ● Redundâncias são resolvidas via Normalização, ainda que as custas de perda de desempenho. ● Dispõe de uma poderosa linguagem de consulta. ● Componentes/elementos: entidades, atributos, relacionamento e restrições.

Tabelas

→ Tabela: composta por linhas e colunas. → Linha: composta por um conjunto de campos. → Coluna: representa um atributo, nome. → Cada interseção linha X coluna mostra um valor único. → Todos os valores de uma coluna devem se adequar a um mesmo formato. → A ordem das linhas/colunas é insignificante para o SGBD. → Cada tabela deve apresentar um atributo ou combinação de atributos que identifique cada linha exclusivamente.

Chaves

● No modelo relacional elas são importantes porque garantem que cada linha (tupla) da tabela seja exclusiva. Ou seja, nenhum par de tuplas em uma tabela pode ter o mesmo valor para todos os atributos que compõe a chave.

Linguagens de Consulta Relacional

● Permitem manipular informações em bancos de dados relacionais. ● Exemplos: SQL - lá em cima explica essa linguagem Álgebra Relacional: Permite ao usuário instruir o sistema a realizar uma sequência de operações algébricas que operam sobre as tabelas do banco de dados para obter o resultado desejado.

Restrições de Integridade

● Conjunto de regras que garantem a consistência dos dados. Implementadas por meio do SGBD ● O programador não precisa implementá-las. ● Restrições de integridade básicas: Integridade de Domínio → Define os valores que podem ser assumidos pelos campos de uma coluna; → Faz referência ao tipo do dado. Podem ser agrupados em três grandes grupos: -Strings -Dados numéricos -Dados relacionados com o tempo e/ou datas → É o “Datatype” Integridade de Vazio → Especifica se os campos de uma coluna podem ou não serem vazios (NN - not null) Integridade de Chave

Normalização

● É um processo para avaliar e corrigir estruturas e tabelas de modo a minimizar as redundâncias de dados, reduzindo , assim, a probabilidade de ocorrência de anomalias ● Atua por uma série de etapas chamadas Formas Normais ● Necessidade: ○ Possibilidade de dados inconsistentes (projetista de BD x Projetista de banco de dados) ○ Relatórios podem apresentar resultados incorretos ○ Entradas de dados repetidas desnecessariamente

Anomalias de Inserção

Inserção → Quando dados não podem ser inseridos, a não ser que outros também sejam Atualização → Modificar o valor de campo de um atributo em um registro pode nos obrigar a fazer a mesma modificação em um mesmo atributo, no entanto em outro registro (para não causar inconsistência)

Exclusão → Dados não podem ser excluídos, a não ser que outros dados também sejam

Processo de Normalização

● Deve garantir que: ○ Cada tabela represente algo particular do mundo real; ○ Nenhum item de dados seja armazenado desnecessariamente; ○ Todas as tabelas estejam livres de anomalias de inserção, atualização e exclusão. ● Progressiva separação da relação (tabela) em um conjunto de novas relações (tabelas), baseado nas anomalias e/ou dependências identificadas. Trabalha em uma relação por vez

Determinação

“A determina B” indica que conhecer o valor do atributo A possibilita determinar/conhecer o valor de B.

Dependência Funcional

Diz-se que o atributo B é funcionalmente dependente do atributo A se cada valor da coluna A determina um e somente um valor da coluna B Mesmo que os valores do campo nome coincidam, o fato de existir dependência funcional em relação à ra, indica que é uma pessoa diferente (homônimo) D. Parcial: ocorre quando um atributo é dependente apenas de parte de uma chave primária composta. D. Transitiva: Ocorre quando um atributo não depende da chave primária e sim, de um outro atributo não-chave da tabela.

2FN

● Uma relação encontra-se na 2FN se, e somente se, estiver na 1FN e não possuir dependência funcional parcial ● Características a serem observadas antes de iniciar a conversão para a 2FN ○ Se as tabelas resultantes da conversão para a 1FN tiverem chave primária simples, as mesmas já estarão automaticamente na 2FN ○ A conversão para a 2FN é realizada apenas quando alguma tabela, resultante da conversão para a 1FN, possuir chave primária composta e, algum atributo não primário depender de apenas parte dessa chave ○ Como identificar os atributos não primários que dependem de apenas parte da chave primária composta? ■ Requer análise das características da aplicação (regras de negócio) ■ Traçar diagrama de dependências ■ Descrever as dependências ● Etapas ○ Etapa 1: Copiar para a 2FN a(s) tabela(s) que tiver(em) chave primária simples e/ou que, em relação as quais, não tenha sido identificada dependência parcial (no caso de tabela que tenha chave primária composta)

Resultado

3FN

● Uma relação está em 3FN se, e somente se, estiver na 2FN e não possuir dependência funcional transitiva ● Para estar na 3FN, a relação não deve ter um atributo não-chave funcionalmente dependente de outro atributo não-chave ● Análise das características da aplicação ○ Se mantido o cenário abaixo, caso a tarifa por hora for alterada para um cargo mantido por muitos funcionários, essa alteração deverá ser realizada para cada um desses funcionários. Caso esqueça de atualizar alguma tarifa, funcionários diferentes com a mesma descrição de cargo gerarão tarifas horárias diferentes ● Etapas ○ Etapa 1: Copiar para a 3FN a(s) tabela(s) que tiver(em) menos que dois atributos não-chave

○ Etapa 2: Para todas as dependências transitivas identificadas, apresente o atributo determinante como chave primária de uma nova tabela a ser criada. O atributo determinante, em relação ao qual a dependência esteja ocorrendo, deve permanecer também na tabela original ○ Etapa 3: Remover da tabela original todos os atributos dependentes (transitivos) que foram identificados, criando-os na nova tabela Resultado