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

Banco de Dados - Resumo - Concursos, Resumos de Introdução a Banco de Dados

Resumo dos principais conceitos de banco de dados para concursos atualizados até 2020.

Tipologia: Resumos

2020

Compartilhado em 27/04/2020

dpolicarpo
dpolicarpo 🇧🇷

1 documento

1 / 38

Toggle sidebar

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

Não perca as partes importantes!

bg1
1
O modelo de rede representa os dados como tipos de registros e um tipo relacionamento
1:N, limitado, chamado tipo conjunto. Nele, os tipos registro são mostrados como retângulos
e os tipos conjunto são vistos como setas diretas rotuladas. O modelo de rede, também
conhecido como modelo CODASYL DBTG , tem uma linguagem um-registro-por-vez
associada que precisa ser embutida em uma linguagem de programação hospedeira.
O modelo hierárquico representa os dados como estruturas de árvores hierárquicas. Cada
hierarquia representa um número de registros relacionados. Não há nenhuma
linguagem-padrão para o modelo hierárquico, embora a maioria dos SGBDs hierárquicos
possua linguagens um-registro-por-vez.
Nos sistemas multiprocessadores nada compartilhados, há simetria e homogeneidade de
nodos; isso não é verdade no ambiente de banco de dados distribuído, no qual a
heterogeneidade de hardware e de sistema operacional em cada nodo é muito comum. A
arquitetura nada compartilhada também é considerada como um ambiente para bancos de
dados paralelos.
Duas fortes características: confiabilidade e disponibilidade, expansão mais fácil
Em um SBDF heterogêneo, um servidor pode ser um SGBD relacional, um outro um SGBD
de rede, e um terceiro um SG orientado por objeto ou hierárquico; em tal caso é necessário
possuir uma linguagem de sistema canônica e incluir tradutor da linguagem para traduzir as
subconsultas da linguagem canônica para a linguagem de cada servidor.
Um Banco de dados hierárquico consiste em uma coleção de registros que são conectados
uns aos outros por meio de ligações. Um registro é uma coleção de campos, cada qual
contendo apenas um valor de dados. Uma ligação é uma associação entre exatamente dois
registros. O modelo hierárquico é, portanto similar ao modelo de rede, no sentido de que
dados e relacionamentos entre dados são também representados por registros e ligações,
respectivamente. O modelo hierárquico difere do modelo de rede na organização de
registros como coleção de árvores em vez de como grafos arbitrários.
Um diagrama com estrutura de árvore é um esquema para um banco de dados hierárquico.
Tal diagrama consiste em dois componentes básicos: retângulos, que correspondem a tipos
de registro, e linhas, que correspondem a ligações. O diagrama com estrutura de árvore
serve para os mesmos propósitos que um diagrama entidade-relacionamento; a saber, ele
especifica a estrutura lógica geral do banco de dados. Um diagrama com estrutura de
árvore é similar ao diagrama de estrutura de dados no modelo de rede. A principal diferença
é que, no primeiro, tipos de registro são organizados na forma de uma árvore enraizada.
Para todo diagrama entidade-relacionamento, existe um diagrama com estrutura de árvore
correspondente.
------------------------------------------------------------------------
Um banco de dados é uma coleção de dados relacionados. Os dados são fatos que podem
ser gravados e que possuem um significado implícito. Possui algumas propriedades:
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26

Pré-visualização parcial do texto

Baixe Banco de Dados - Resumo - Concursos e outras Resumos em PDF para Introdução a Banco de Dados, somente na Docsity!

O modelo de rede representa os dados como tipos de registros e um tipo relacionamento 1:N, limitado, chamado tipo conjunto. Nele, os tipos registro são mostrados como retângulos e os tipos conjunto são vistos como setas diretas rotuladas. O modelo de rede, também conhecido como modelo CODASYL DBTG , tem uma linguagem um-registro-por-vez associada que precisa ser embutida em uma linguagem de programação hospedeira.

O modelo hierárquico representa os dados como estruturas de árvores hierárquicas. Cada hierarquia representa um número de registros relacionados. Não há nenhuma linguagem-padrão para o modelo hierárquico, embora a maioria dos SGBDs hierárquicos possua linguagens um-registro-por-vez.

Nos sistemas multiprocessadores nada compartilhados, há simetria e homogeneidade de nodos; isso não é verdade no ambiente de banco de dados distribuído, no qual a heterogeneidade de hardware e de sistema operacional em cada nodo é muito comum. A arquitetura nada compartilhada também é considerada como um ambiente para bancos de dados paralelos. Duas fortes características: confiabilidade e disponibilidade, expansão mais fácil Em um SBDF heterogêneo, um servidor pode ser um SGBD relacional, um outro um SGBD de rede, e um terceiro um SG orientado por objeto ou hierárquico; em tal caso é necessário possuir uma linguagem de sistema canônica e incluir tradutor da linguagem para traduzir as subconsultas da linguagem canônica para a linguagem de cada servidor.

Um Banco de dados hierárquico consiste em uma coleção de registros que são conectados uns aos outros por meio de ligações. Um registro é uma coleção de campos, cada qual contendo apenas um valor de dados. Uma ligação é uma associação entre exatamente dois registros. O modelo hierárquico é, portanto similar ao modelo de rede, no sentido de que dados e relacionamentos entre dados são também representados por registros e ligações, respectivamente. O modelo hierárquico difere do modelo de rede na organização de registros como coleção de árvores em vez de como grafos arbitrários.

Um diagrama com estrutura de árvore é um esquema para um banco de dados hierárquico. Tal diagrama consiste em dois componentes básicos: retângulos, que correspondem a tipos de registro, e linhas, que correspondem a ligações. O diagrama com estrutura de árvore serve para os mesmos propósitos que um diagrama entidade-relacionamento; a saber, ele especifica a estrutura lógica geral do banco de dados. Um diagrama com estrutura de árvore é similar ao diagrama de estrutura de dados no modelo de rede. A principal diferença é que, no primeiro, tipos de registro são organizados na forma de uma árvore enraizada. Para todo diagrama entidade-relacionamento, existe um diagrama com estrutura de árvore correspondente.

Um banco de dados é uma coleção de dados relacionados. Os dados são fatos que podem ser gravados e que possuem um significado implícito. Possui algumas propriedades:

1- Um BD representa alguns aspectos do mundo real (minimundo ou universo do discurso); 2- Um BD é uma coleção lógica e coerente de dados com um significado inerente; 3- Um BD é projetado e povoado para atender um propósito específico.

Um sistema gerenciador de banco de dados (SGBD) é uma coleção de programas que permite aos usuários criar e manter um banco de dados. Facilita os processos de definição, construção, manipulação e compartilhamento de bancos de dados entre vários usuários e aplicações.

Sistema de banco de dados = (SGBD + BD). Características adicionais: 1-Natureza autodescritiva do sistema de banco de dados - é uma descrição(definição) da estrutura do BD e suas restrições. Fica armazenada no catálogo do SGBD. O catálogo tem a informação da estrutura de cada arquivo, tipo, formato, armazenamento de cada item de dado, e as restrições dos dados. Essa inf armazenada no catálogo é chamada de Metadados. Ela descreve a estrutura do BD primário. O catálogo é acessado tanto pelo SGBD quanto pelos usuário que precisam de informações sobre o BD.

2- Isolamento entre os programas e os dados, e a abstração dos dados. - A estrutura dos arquivos de dados é armazenada separadamente dos programas para acesso ao SGBD. OU seja, a partir do momento que tenho um Dic. Ddos não preciso definir tipo de dados no programa. Essa propriedade é a independência programa-dados. Já nos BD orientados a objeto os usuários podem estabelecer operações sobre os objetos. As operações são divididas em duas partes: interface e argumentos. A implementação (ou método) de uma operação é definida separadamente e pode ser alterada sem afetar a interface. Os programas de usuários da aplicação podem operar nos dados invocando essas operações por meio de seus nomes e argumentos, sem considerar como essas operações são implementadas. Isso pode ser chamado de independência programa-operação. A abstração de dados é uma característica que permite a independência programa-dados e programa-operação.. O SGBD proporciona um conjunto de programas que permite o acesso aos dados sem exposição dos detalhes de representação e armazenamento de dados, por meio de uma visão abstrata dos dados, conhecida como independência de dados. CESPE Na independência de dados do programa, propriedade do SGBD, a estrutura dos arquivos de dados é armazenada no catálogo separadamente dos programas de acesso.

objeto são compatíveis com as linguagens de programação como C++ e Java, e o software SGBD, automaticamente, executa qualquer conversão necessária. Conseqüentemente, um objeto complexo em C++ pode ser armazenado permanentemente em um SGBD orientado a objeto. Os SGBD tradicional possui o chamado problema de separação por impedância, quando a estrutura de dados fornecida pelo SGBD é incompatível com a estrutura de dados da linguagem de programação. d) Garantindo o armazenamento de estruturas para o processamento eficiente de consultas - O SGBD possui estruturas especializadas para aumentar a velocidade de pesquisa no disco. Os indexes, arquivos auxiliares, têm esse objetivo. Eles são baseados em estruturas de dados árvores(tree) ou estrutura de dados hash, adaptados para pesquisa em disco. e) Garantindo backup e restauração - Um SGBD deve garantir que o BD seja colocado no mesmo estado antes, em caso de falha durante uma transação. f) Fornecendo múltiplas interfaces para os usuários - Essas interfaces incluem linguagens de consulta para os usuários casuais; interfaces de linguagens de programação para programadores de aplicações; formulários e seqüências de comandos para usuários. Essas interfaces são chamadas de GUI (graphical user interface). g) Representando relacionamentos complexos entre dados - O SGBD deve ter a capacidade de representar a variedade de relacionamentos complexos entre os dados, bem como recuperar e atualizar os dados relacionados fácil e eficientemente. h) Forçando restrições de integridade - O tipo mais simples de restrição de integridade envolve a especificação de um tipo de dado para cada item de dados. Por exemplo, na Figura 1.2, podemos especificar que o valor do item de dados Turma, em cada registro ALUNO, tem de ser um inteiro entre 1 e 5, e o valor de Nome deve ser uma string (cadeia de caracteres) menor que 50 caracteres alfabéticos. i) Permitindo interferências e ações usando regras - Alguns sistemas de banco de dados oferecem capacidades para definir as regras de dedução por inferência gerando novas informações de fatos armazenados no banco de dados. Esses sistemas são chamados sistemas de banco de dados dedutivos. No SGBD tradicional, um código explícito de programa procedural teria de ser escrito para dar suporte a essas aplicações. No entanto, se as regras do minimundo mudarem, geralmente é mais conveniente mudar as regras de dedução declaradas que reescrever os programas procedurais.

EXERCÍCIOS Dado - são fatos que podem ser gravados e possuem significado implícito ; Banco de Dados - um conjuntos de dados organizados que representa um mundo real, uma coleção coerente e lógica de dados com um propósito específico; SGBD - conjunto de programas que permite criar e manter o BD; Sistema de Banco de Dados - SGBD + BD; Catálogo de BD - descrição da estrutura do banco de dados contendo tipo e formato de cada item armazenado e suas as restrições.

Independência programa-dados - é o isolamento entre os programas, dos dados e da abstração dos dados. Uma alteração de um programa pode ocorrer sem interferir nos dados. Visão do usuário - é um ambiente customizado de acordo com as necessidades daquele usuário; (são as informações que cada usuário necessita.) DBA - responsável por: controle de acesso, coordenação e monitoração e aquisição de recursos (software ou hardware), desempenho e tunning, além da segurança do BD; Transação enlatada - consultas atualizadas e produzidas de um BD, ou seja, transação padrão. Sistemas de banco de dados dedutivo - têm capacidade de definir regras de dedução de inferência gerando novas informações a partir dos dados gravados. Por exemplo, realizar uma classificação, a partir de informações gravadas. Objeto persistente - é aquele objeto armazenado fora do contexto de um programa mantido para ser recuperado posteriormente; Metadados - são as informações armazenadas no catálogo do BD. Relação - é um conjunto de tuplas (ordenados ou não) Aplicação de processamento de transação -? CESGRANRIO Restrições do tipo check servem para restringir um domínio;

As principais funcionalidades que podem ser fornecidas pelo SGBD - controle de redundância, gerenciamento de transações, acesso a múltiplos usuários, controle de transações, backup e restauração, possibilidade de adicionar regras ou restrições, controle de acesso aos dados,

No SQL - not only SQL. Os SGBDs tradicionais tem o ACID. O NoSQL tem o BASE. Básico, disponível, Estado leve, Eventualmente consistente. Exemplos: Cassandra, MongoDB, HBase, CouchDB e o Redis. Mas se for Big Data é necessário saber a ferramenta para tratar o enorme volume de dados. O Hadoop é a melhor referência. É uma ferramenta para análise de grandes volumes de dados, estruturados ou não.

Evolução dos Modelos de Dados Hierárquico, Rede, Relacional, Objeto- relacional, Objeto e NoSQL. Hierárquico utiliza duas estruturas principais: registros e relações pai-filho

A criação de um índice não necessariamente deve levar em consideração as informações sobre as estruturas dos arquivos para melhorar sua eficiência. CESPE

Tipos de NoSQL

  1. Chave/Valor a. tabelas de hash distribuídas. Armazena objeto indexados por chaves e facilita a busca por esses objeto por suas chaves.
  2. Orientados a Documentos

ARQUITETURA 3 ESQUEMAS

Maiores detalhes: https://www.estrategiaconcursos.com.br/blog/conceitos-basicos-de-banco-de-dados/ Objetivo - separar as aplicações do usr do bd físico.

Instância pode significar também extensão - coleção de dados armazenados no BD em um determinado instante.

Uma arquitetura de três níveis independentes: interno, conceitual e externo. Essa arquitetura tem por objetivo separar o usuário da aplicação do banco de dados físico. Possuem, logicamente, os esquemas definidos em três níveis distintos:

Nível Interno - (nível de armazenamento) (mapeamento conceitual /interno) ocupa como os dados são armazenados fisicamente, incluindo relacionamento entre as tabelas. Nível Externo - ( nível lógico individual do usuário ) (mapeamento externo /conceitual) define views e consiste em uma “janela” parcial que é criada sobre a totalidade do BD, permitindo trabalhar apenas com uma parte dos dados que seja de interesse de uma determinada aplicação. Nível Conceitual - ( nível lógico comunitário ) como os dados são vistos pelos usuários. Esconde os detalhes da implementação física dos arquivos que armazenam os dados e corresponde a uma representação independente de qualquer usuário ou aplicação. Quais dados estão armazenados e os relacionamentos entre eles. O esquema conceitual oculta os detalhes das estruturas de armazenamento físico e se concentra na descrição de entidades, tipos de dados, conexões, operações de usuários e restrições_._

Navathe - “O esquema conceitual é uma descrição concisa dos requisitos de dados dos usuários e inclui descrições detalhadas de tipos de entidade, relacionamentos e restrições - são expressos usando os conceitos fornecidos pelo modelo de dados de alto nível." “Um esquema de banco de dados corresponde à definição do tipo em uma linguagem de programação. Uma variável de um dado tipo tem um valor em particular em dado instante. Assim, esse valor corresponde a uma instância do esquema do banco de dados.” - Silberchatz

A independência dos dados é a capacidade de alterar o esquema em um nível dos sistemas de BD sem alterar o esquema no nível mais alto. P/ tal temos 2 modos:

  1. Independência lógica de dados - a capacidade de alterar o esquema conceitual sem ter de alterar os esquemas externos ou os aplicativos.
  2. Independência física de dados - a capacidade de alterar o esquema interno sem ter de alterar o esquema conceitual. Na arquitetura de três esquemas, a capacidade de alterar o esquema interno sem ter de alterar o esquema conceitual consiste na independência física de dados.

MODELAGEM CONCEITUAL MODELO ENTIDADE RELACIONAMENTO

É um modelo conceitual de alto nível. Fases d 1 Projeto d BD 1- Levantamento de requisitos - projetista faz entrevistas e documento os requisitos de dados e requisitos funcionais - operações ou transações definidas pelo usr.; 2- Projeto Conceitual - criar um esquema conceitual - descrição resumida dos req de dados dos usr, incluindo detalhes de entidade, relacionamento e restrições. Tudo em linguagem de alto nível, fácil do usr entender. 3- Projeto Lógico ou Mapeamento do Modelo d dados - implementação d BD usando um SGBD comercial (maioria usa modelo relacional ou objeto-relacional). Transforma o mod de dd de alto nível em mod de dd de implementação, resultando em um esquema de BD no mod de dd de implementação do SGBD 4- Projeto Físico - definidas estrutr de armznmto interno, índices, caminhos de acesso e orgnzcao de arquivo, além de progr de aplicação como transações.

Conceito de participação total (ou incondicional) no relacionamento - diz que todas as ocorrências da entidade se encontram no relacionamento. Por exemplo, um cliente deve comprar veículos em uma loja de carros para existir como cliente nesta loja.

Entidade Fraca - possui existência dependendo de uma outra denominada de forte

I - Especialização - de uma entidade (superclasse) cria-se um subgrupo (subclasse) com atributos locais ou específicos. O processo de refinar entdde d nvel superior (superclasse) em entdade d nvel inferior(subclasse) c/ atributos adicionais é uma abordagem de projeto top-down. Parte d nvel sup para nvel inf

Restrição de Disjunção - Esta restrição especifica que a mesma instância de entidades de

nível superior não pode pertencer a + d 1 tipo de entidade de nível inferior. Ou seja, a subclasse d qualquer superclasse deve ser separada. Pode partic de 1 mas não de ambas. OU seja, são mutuamente exclusivas. Símbolo d Restrição de sobreposiçao - a mesma instância de entddes de nvel sup pode pertencer a + d 1 tipo de entidade de nvel inf. Isto é, as subclasses de qualquer superclasse não precisam ser separadas e as entidades podem se sobrepor uma a outra. Símbolo “o”

II - Generalização - de várias entidades cria-se um grupo com atributos comuns, formando uma - superclasse, entidade de nvel superior. Representa as semelhanças do nvel inferior e suprime as diferenças. É uma abordagem de projeto botton-up onde várias entidade de nvel + baixo combinadas formam uma 1 entdade de nvel superior. Parte do nvel inf p/ nvel sup. É o inverso da especialização. Atributo herança são os atributos da superclasse herdades pelas subclasse.

Entidade associativa que substitui a associação entre relacionamentos, a qual não é prevista pelo modelo ER, é um relacionamento que passa a ser tratado como entidade, permitindo o uso de relacionamento opcional.

Outras notações Notação de Barker

chave primaria

● atributo obrigatório o atributo opcional

Notações de pés de galinha

Notação da Engenharia de Informação O elemento gráfico mais próximo da entidade representa o número máximo de elementos: apenas um no caso da barra vertical (|) ou vários (pe de galinha). O outro elemento gráfico representa a obrigação (|) ou opção (o)

Notação IDEF1X

Transação ACID Atomicidade - tudo ou nada. Transação é indivisível. Isolamento - transações executadas sem interferências de outros comandos simultâneos do BD. Durabilidade - persistência entre falhas. Uma transação só pode ser desfeita por outra transação. Consistência - garante que o BD sai de um estado consistente e vai para outro estado consistente.

A) Dirty read - leitura suja Leitura de dados de uma transação não efetivada. B) nonrepeatable read (leitura que não pode ser repetida) Lê novamente e descobre que neste intervalo os dados foram alterados por outra transação. C) phantom read (leitura fantasma) Executa 2° vez a consulta e o conj de linhas é diferente por causa de outra transação executada.

Dependência funcional - As dependências funcionais definem como alguns atributos de uma relação conseguem determinar ou restringir os valores de outros atributos. Toda relação

deve ter pelo menos uma chave. Uma chave consegue determinar todos os outros atributos da relação. O fechamento é uma propriedade que determina que a partir de um conjunto conhecido de DFs, utilizando regras de inferência é possível determinar o conjunto completo de DFs de uma relação R. Esse conjunto é denotado por F+. Um dos conceitos básicos do modelo relacional definidos no artigo que introduz sua teoria é que duas tuplas ou linhas de uma tabela não podem ter valores duplicados. Como observamos na questão:

Restrição de Integridade - integridade=consistência; restrição=condição para atualização. Servem para assegurar as regras de negócio. Podem ser:

  1. Restrições de Domínio - refere-se aos tipos de dds que são permitidos na coluna tabela.
  2. Restrições de Entidade - refere-se a unicidade de registros na tabela
  3. Restrições de Referência - uma tupla que faz referência a uma tupla de outra relação, deve referenciar a uma tupla existente dessa relação. Mantém consistência entre as tuplas

ARQUITETURAS DE BD

  1. Banco de Dados Distribuídos (N camadas) a. várias aplicações buscando dados na rede que estão distribuídos em diversos srv b. consulta vai para qq srv e o sistema se encarrega de buscar a inf em qq srv de forma transparente c. não é dependente de aspectos lógicos de carga de acesso a dados d. atua como cliente-srv O banco de dados distribuído (BDD) é uma coleção de múltiplos bds logicamente inter-relacionados distribuídos por uma rede. Já um sistema de gerenciamento de banco de dados distribuído (SGBDD) é um sistema de software que gerencia um bd distribuído de forma transparente para o usuário.
  2. Arquitetura de 2 Camadas - Cliente (user e aplicação) + Servidor (SGBD) a. front-end - excuta tarefas do aplicativo, interface do usuário b. back-end - srv executa consultas ao DBMS e retorna resulta ao usr c. exige soluções sofisticadas de software

Dois conjuntos de entidades podem ter mais de um conj de relacionamentos entre elas.

VUNESP

No modelo entidade-relacionamento a representação de um relacionamento binário envolve um único conjunto de entidades por duas vezes. VUNESP artigo original de Chen

AULA

NORMALIZAÇÃO

Toda tabela por definição deve estar já na 1FN (eliminou atributo composto e multivalorado)

a)atributo primário - é membro de uma chave candidata; b)super-chave - é um conjunto de atributos que tem a característica de restringir o conjunto de tuplas de uma relação a apenas uma linha; c)chave primária - escolhida entre as chaves candidatas. As demais serão chaves secundárias;

A normalização de dados é uma técnica de decomposição utilizada no projeto de banco de dados com objetivo de prover um armazenamento consistente, evitando redundância de dados e anomalias de atualização. Regras 1FN Um tabela não pode ter campos compostos ou multivalorados. Todos os atributos da relação devem ser atômicos e indivisíveis. Não cria nova relação, só fraciona.

2FN

Deve estar na 1FN; Apenas com chave composta. Todo atributo não primário A em R tem dependência funcional total da chave primária de R. Não existe dependência funcional parcial, ou seja, apenas parte da chave primária determinando um atributo não chave.

A tabela não contém dependências parciais, ou seja, cada coluna não chave depende da chave primária completa e não apenas de parte dela. FCC

3FN Deve estar na 2FN Nenhum atributo não chave (não primário) é transitivamente dependente da chave primária.. Ou seja, um atributo não chave determinando outro atributo não chave. Não há dependência funcional transitiva

A tabela não contém dependências transitivas, ou seja, as colunas que não sejam chave primária não dependem funcionalmente de outras colunas ou combinação de colunas que não seja chave primária. FCC

FNBC Um atributo não chave determinando outro atributo que pode ser super chave, inclusive. Todo determinante é chave candidata.

4FN Deve estar na 3FN Não existir dependências multi-valoradas. Dependências multi-valoradas ocorrerem quando a presença de uma ou mais linhas em uma tabela implica a presença de uma ou mais outras linhas na mesma tabela.

5FN Deve estar na 4FN Dependência de junção - pode decompor a relação sem perdas. Só aplicável em relação com chaves com 3 ou + atributos

Usando o conteúdo deste mesmo registro não puder ser reconstruído (junção) a partir de outros registros menores, extraídos deste registro principal.

MAPEAMENTO DO MODELO ENTIDADE RELACIONAMENTO PARA MODELO

RELACIONAL

➔ Relacionamento binário Cardinalidade 1:1 - (3 opções) Tab1 - dados +fk Tab2 - dados +fk Tab1 - dados +fk Tab2 - dados Tab 1- dados Tab2 - dados+fk