Você está na página 1de 99

Aula 03

Banco de Dados
Tribunal de Contas da União – 2021 - FGV
Ementa
• Conceitos básicos de bancos de dados
• Bancos de dados relacionais: teoria e implementação.
Conceitos básicos de bancos
de dados.
Dados x Informação
são fatos brutos, em Consiste no

Informação
Dados

sua forma primária – e, agrupamento de dados


muitas vezes, os dados de forma organizada
podem não fazer para fazer sentido e
sentido sozinhos gerar conhecimento.
Biblioteca!
Onde encontramos banco de dados?
Livro Nome Data Entrega
Grandes Viagens
Mas … o que é banco de dados?

Um banco de dados é uma coleção de


dados relacionados.
Elmasri, Ramez.
3 propriedades implícitas:

1. Representa algum aspecto do mundo real


(minimundo ou universo do discurso.
2. Coleção logicamente coerente de dados.
3. Atende a uma necessidade específica.
Possui um grupo definido de usuários.
Sistema gerenciador de banco de dados
SGBD
• É uma coleção de programas que permite aos
usuários criar e manter um banco de dados.

Sistema de banco de dados.


• A união do banco de dados com o software
de SGBD

Metadados
• Especificar os tipos, estruturas e restrições
dos dados
• Catálogo ou dicionário de dados
Funcionalidades do SGBD
Definir • Definição ou informação descritiva do banco de dados

Construir • O processo de armazenar os dados em algum meio controlado pelo SGBD.

• Inclui funções como consulta ao banco de dados para recuperar dados específicos,
Manipular atualização do banco de dados.

Compartilhar • Permite que diversos usuários e programas acessem-no simultaneamente.

• Inclui proteção do sistema contra defeitos (ou falhas) de hardware ou software e


Proteger proteção de segurança contra acesso não autorizado ou malicioso.
Banco de dados (OUTRAS DEFINIÇÕES)

BANCO DE DADOS
Banco de Dados conjunto de dados estruturados que são
confiáveis, coerentes e compartilhados por usuários que têm
necessidades de informações diferentes.

Uma coleção de dados persistentes que podem ser compartilhados e


estar inter-relacionados.
Dois tipos de redundância de dados
REDUNDÂNCIA DE DADOS

Redundância controlada de dados: Acontece quando o software tem


conhecimento da múltipla representação da informação e garante a
sincronização entre as diversas representações.

Redundância não controlada: Acontece quando a responsabilidade pela


manutenção da sincronia entre as diversas representações de uma
informação está com o usuário e não com o software.
Questão.
Ano: 2018 Banca: FGV Órgão: MPE-AL Prova: FGV - 2018 - MPE-AL - Técnico do
Ministério Público - Geral
O conjunto de programas responsável pelo gerenciamento de uma base de
dados e que, entre outras funções, suporta uma linguagem de consulta, gera
relatórios e disponibiliza uma interface para que os seus clientes possam
incluir, alterar ou consultar dados, é chamado de
Alternativas
A Banco de Dados Relacional (BDR).
B Dicionário de Dados (DD).
C Modelo Entidade Relacionamento (MER).
D Sistema de Suporte à Decisão (SSD).
E Sistema Gerenciador de Bancos de Dados (SGBD).
CARACTERÍSTICAS DA
ABORDAGEM DE BANCO DE
DADOS
Natureza autodescritiva
Natureza autodescritiva
• Uma definição e descrição completa da
sua estrutura e restrições.
• Armazenada no catálogo do SGBD
• Estrutura de cada arquivo, o tipo e formato dos
itens de dados e as restrições sobre os dados.
• METADADOS!
Metadados (Exemplo)
Isolamento entre programas e dados
• Independência de dados do programa
• Exemplo:
• Acrescentar data de nascimento a relação aluno.
Abstração dos dados
• Característica que permite a
independência de dados do programa
e a independência da operação dos
programa.
• SGBD
• Representação conceitual
• Usa um Modelo de dados
• Conceito lógicos
Suporte a múltiplas visões dos dados
• Visão:
• Um subconjunto do banco de dados ou
• Pode conter dados que são derivados dos
arquivos do banco de dados (dados virtual).
• Um SGBD multiusuário precisa oferecer
facilidades para definir múltiplas visões.
Compartilhamento de dados
• Processamento de transação multiusuário
• On-line Transaction Processing (OLTP)
• Controle de concorrência (SGBD)
• Garantir que vários usuários tentando atualizar o mesmo dado façam isso
de maneira controlada.
• Transações concorrente
• Operam de forma correta e eficiente!
Questão.
FGV - Analista de Sistemas (AL MT)/Organização, Sistemas e
Métodos/2013
Características que distinguem a abordagem de bancos de dados
relacionais e centralizados da abordagem tradicional, baseada em
processamento de arquivos, estão listadas a seguir à exceção de uma.
Assinale‐a.
A Compartilhamento de dados e processamento de transações
multiusuários.
B Suporte para múltiplas visões de dados.
C Isolamento entre os programas e os dados.
D Dados são armazenados e tratados somente como cadeias de
caacteres.
E Natureza autodescritiva do sistema de bancos de dados.
Questão
Técnico do Ministério Público (MPE AL)/Geral/2018
O conjunto de programas responsável pelo gerenciamento de uma
base de dados e que, entre outras funções, suporta uma linguagem
de consulta, gera relatórios e disponibiliza uma interface para que os
seus clientes possam incluir, alterar ou consultar dados, é chamado
de
a) Banco de Dados Relacional (BDR).
b) Dicionário de Dados (DD).
c) Modelo Entidade Relacionamento (MER).
d) Sistema de Suporte à Decisão (SSD).
e) Sistema Gerenciador de Bancos de Dados (SGBD).
Banco de dados
Transações
Conceito de transação
• É um programa em execução ou processo que inclui um ou mais
acessos ao banco de dados, que efetuam leitura ou atualizações
de seus registros.

Atomicidade Consistência

Isolamento Durabilidade
Atomicidade
• Uma transação é uma unidade de processamento
atômica que deve ser executada integralmente até
o fim ou não deve ser executada de maneira
alguma – é tudo ou nada.
• Tudo dá certo: COMMIT!
• Alguma coisa dá errado: ROLLBACK!
Consistência
• A execução de uma transação deve levar o banco de dados de um
estado consistente a um outro estado consistente.

1.041.897,57 -1.500,57

1.040.000,00
397,00
Isolamento

• Podemos dizer que uma transação deve parecer


executar isoladamente/independentemente das
demais, mesmo que diversas transações estejam
sendo executadas concorrentemente.
Durabildade
• Os efeitos de uma transação em caso de sucesso devem persistir
no banco de dados mesmo em casos de quedas de energia,
travamentos ou erros.

Mas, o que garante essa durabilidade?

Funcionalidades
Backup (cópia de segurança)
COMMIT
Log de transação

Subsistema de recuperação
Resumindo
PROPRIEDADES DE UMA TRANSAÇÃO
Uma transação é uma unidade de processamento atômica que deve ser executada integralmente
A ATOMICIDADE até o fim ou não deve ser executada.
– Responsável: Subsistema de Recuperação.
A execução de uma transação deve levar o banco de dados de um estado consistente a um outro
C CONSISTÊNCIA estado consistente.
– Responsável: Programador ou Módulo de Restrições de Integridade.
Cada transação deve parecer executar isoladamente das demais, embora diversas transações
I ISOLAMENTO possam estar executando concorrentemente.
– Responsável: Subsistema de Controle de Concorrência.
Os efeitos de uma transação em caso de sucesso devem persistir no banco de dados mesmo em
D DURABILIDADE casos de quedas de energia, travamentos ou erros.
– Responsável: Subsistema de Recuperação.
Questão.
• FGV - Analista de Tecnologia da Informação (BANESTES)/Suporte e
Infraestrutura/2018
• As propriedades usualmente requeridas para transações em bancos de
dados são identificadas pela sigla ACID.
• Essas propriedades são:
• A assincronia, concorrência, integridade, durabilidade;
• B assincronia, consistência, isolamento, distribuição;
• C atomicidade, concorrência, integridade, durabilidade;
• D atomicidade, conformidade, independência, distribuição;
• E atomicidade, consistência, isolamento, durabilidade.
Questão
• Auditor de Contas Públicas (TCE-PB)/Demais Áreas/2018
• A respeito de SGBDs, assinale a opção correta.
• a) Um SGBD, por definição, não é flexível, dada a dificuldade de mudar a estrutura
dos dados quando os requisitos mudam.
• b) Um SGBD é um software que não prevê as funções de definição, recuperação e
alteração de dados, sendo essa tarefa a função básica de um sistema de banco de
dados.
• c) A consistência de dados é o princípio que determina a manutenção de
determinado dado em vários arquivos diferentes.
• d) Conforme o princípio da atomicidade, caso ocorra erro em determinada transação,
todo o conjunto a ela relacionado será desfeito até o retorno ao estado inicial, como
se a transação nunca tivesse sido executada.
• e) O controle de concorrência é o princípio que garante e permite a manipulação, no
mesmo momento, de um mesmo dado por mais de uma pessoa ou um sistema.
Atores em cena
Administrador de banco de dados (DBA)
Administrador de dados (AD)
DBA ou AD?
• Administrador de Dados (AD)
• É a pessoa que toma as decisões estratégicas e de normas com relação
aos dados da empresa.
• Administrador do Banco de dados (DBA)
• É a pessoa que fornece o suporte técnico necessário para implementar
essas decisões. Assim, o DBA é responsável pelo controle geral do sistema
em um nível técnico.
Admin. de Banco de Dados (DBA)
• Banco de dados
• Recurso principal
• SGBD e os software relacionados
• Recurso secundário
• DBA é o responsável
• Por autorizar o acesso ao banco de dados, coordenar e monitorar seu uso
e adquirir recursos de software e hardware conforme a necessidade
• Por resolver problemas como falha na segurança e demora no tempo de
resposta do sistema.
Atribuições do DBA
• Definir o esquema conceitual
• Definir o esquema interno
• Contato com os usuários
• Definir restrições de segurança e integridade
• Monitorar o desempenho e responder a requisitos de mudanças.
• Definir normas de descarga e recarga
Definir normas de descarga e recarga
• O DBA tem de definir e implementar um esquema apropriado de
controle de danos, em geral envolvendo:
1.Descarga ou “dumping” periódico do banco de dados para o meio de
armazenamento de backup e
2.Recarga ou “restauração” do banco de dados quando necessário, a partir
do “dump” mais recente.
Projetistas de Banco de Dados (ADs)
• Responsáveis:
• Identificar os dados a serem armazenados
• Escolher estruturas apropriadas para representar esses dados.
• Para isso ...
• Precisa se comunicar com todos os potenciais usuários a fim de entender
suas necessidades e criar um projeto que as atenda.
• Definem visões!
Atribuições do DA
• Decidir quais informações devem ser mantidas no banco de dados;
• Identificar as entidades de interesse para a empresa e identificar as
informações a serem registradas sobre essas entidades (Projeto Lógico ou
conceitual)
• Padronizam os nomes dos objetos criados no BD;
• Gerenciam e auxiliam na definição das regras de integridade;
• Controlam a existência de informações redundantes;
• Trabalham de forma corporativa nos modelos de dados da
organização;
Usuários finais
• Pessoas cujas funções exigem acesso ao BD para consulta,
atualizações e geração de relatórios.
• São divididos em:
• Casuais - Ocasionalmente acessam o banco de dados
• Iniciantes ou paramétricos - Sua função principal gira em tordo de consultar e
atualizar o banco de dados constantemente, usando tipos padrão de consultas e
atualizações – denominadas transações programadas.
• Sofisticados - estão profundamente familiarizados com as facilidades do SGBD a
ponto de implementar as próprias aplicações
• Isolados - mantêm banco de dados pessoais usando pacotes de programas
prontos, que oferecem interfaces de fácil utilização, baseadas em menus ou
gráficos.
Toma decisões Fornece o suporte
estratégicas e de técnico necessário
normas em relação para implementar e
aos dados. manter os dados.
Vantagens de usar a
abordagem de SGBD
Objetivos do Desenvolvimento de Banco
de Dados
• Desenvolver um Vocabulário Comum
• Definir o Significado dos Dados
• Assegurar a Qualidade dos Dados
Benefícios de Banco de Dados
• O dado pode ser compartilhado
• A redundância pode ser reduzida
• Inconsistências podem ser evitadas
• Pode-se utilizar o suporte a transações
• A integridade pode ser mantida
• A segurança pode ser aperfeiçoada
• Requisitos conflitantes podem ser balanceados
• Padrões podem ser utilizados
Desvantagens dos Sistemas de Arquivos
• Redundância e inconsistência dos dados
• Dificuldade de acesso a dados
• Isolamento dos dados
• Problemas de Integridade
• Problemas de atomicidade
• Anomalias de acesso concorrente
• Problemas de Segurança
Vantagens de usar SGBDs
• Controle de redundância (Normalização)
• Restringir acesso a usuários não autorizados
• Processamento eficiente de consulta (Índices)
• Backup e recuperação
• Multiplas interfaces com o usuário (GUI/Web)
• Representa relacionamento complexo entre os dados
• Restrições de integridade (chave – singularidade, integridade
referencial, semântica)
Implicações adicionais
• Potencial para garantir padrões
• Tempo reduzido para desenvolvimento de aplicações
• Flexibilidade (mudança de estrutura)
• Disponibilidade de informações atualizadas
• Economia de escala
Recursos Comuns dos SGBDs

Mannino, Michael V.. Projeto, Desenvolvimento de Aplicações e Administração de Banco de Dados


MODELO DE DADOS
Objetivos de um SGBDs
• Prover um ambiente que seja conveniente e eficiente para
recuperar e armazenar informações de Bancos de Dados
• Abstração de dados
• Retirar da visão do usuário final informações a respeito da forma física de
armazenamento dos dados.
• Simplifica a interação do usuário com o Sistema
• Se refere a supressão de detalhes da organização e armazenamento dos
dados.
Fases de
um projeto
de banco
de dados
Modelo de Dados
• Uma coleção de conceitos que podem ser usados para descrever a
estrutura de um banco de dados
• Uma coleção de ferramentas conceituais para
• Descrição de dados
• Relacionamentos entre eles
• A semântica dos dados
• Restrições de consistência
Questão.
• FGV - Auditor Fiscal da Receita Estadual (SEFAZ RJ)/2011
• Para que um sistema de informação possa ser útil e confiável, deve ser
fundamentado na modelagem de dados, para posterior análise do
processo. A modelagem de dados se baseia nos seguintes elementos:
• A fluxos de dados, atributos e requisitos.
• B fluxos de dados, diagramas e requisitos.
• C classes de dados, métodos e componentes.
• D objetos de dados, diagramas e componentes.
• E objetos de dados, atributos e relacionamentos.
Categorias de modelos de dados
• Modelos de dados de alto nível ou conceituais
• Conceitos que são próximos ao modo como o usuário ver os dados.
• Modelo de dados representativos (ou de implementação)
• Ocultam detalhes de armazenamento de dados em disco, mas podem ser
implementados diretamente em um sistema de computador.
• Modelos de dados de baixo nível ou físicos
• Conceitos que descrevem os detalhes de como os dados são
armazenados no computador, geralmente, voltado para especialistas.
Categorias de modelos de dados

Conceituais
Alto nível

Representativos
Implementação

Físicos
Baixo nível
Exemplos de modelos de dados
• Modelo conceitual (baseado em objetos)
• Modelo E-R – entidades, atributos e relacionamentos
• Modelo representativo (baseado em registro)
• Modelo relacional
• Modelo de dados legados – rede e o hierárquico.
• Modelo físico
• Modelo unificador
• Modelo de memória em “frames”
Questão.
• FGV - Analista de Sistemas (AL MT)/Banco de Dados/2013
• O modelo de dados abstrato que descreve a estrutura de um banco de
dados de forma independente de um SGBD chama-se modelo
• A lógico.
• B conceitual.
• C físico.
• D algorítmico.
• E funcional.
Esquemas e instâncias
Estrutura de um Banco de Dados (BD)
• Instância ou ocorrências ou estado
• Coleção de dados armazenados no Banco de Dados em um determinado
instante
• Próprio banco de dados
• Extensão!!
• Esquema
• É o projeto geral do BD
• Descrição do banco
• Intenção, conotação!!
Esquema x Instância

Esquema Instância

Projeto de banco de dados Fotografia (snapshot)

Intenção Extensão

Conotação Estado

Descrição Ocorrências
Questão.
• FGV - Analista Legislativo (ALESP)/Administração de Banco de Dados e Arquitetura
de Dados/2002
• Quando falamos em banco de dados é necessário deixar clara a distinção entre
esquema de banco de dados e a instância no banco de dados. Esta distinção pode
ser descrita da seguinte forma:
• A Um conceito de um esquema de banco de dados corresponde, em linguagem de
programação, à noção de definição das entidades e relacionamentos.
• B A instância no banco de dados pode ser descrita como uma foto dos dados num
determinado momento.
• C O conceito de instância de relação corresponde, em linguagem de programação, à
noção de definição de tipos.
• D O conteúdo de uma instância de relação não pode mudar com o tempo, quando
esta relação for atualizada.
Questão
• FGV - Analista Legislativo (ALESP)/Administração de Banco de Dados e
Arquitetura de Dados/2002
• Qual a distinção entre valor e variável?
• A Um valor é uma constante individual e uma variável é um recipiente
para uma codificação de um valor.
• B Um valor não tem nenhum local no tempo nem no espaço e a variável
somente em alguns casos possui.
• C Um valor não pode ser atualizado, assim como as variáveis também
não.
• D Uma variável pode ser atualizada e os valores na maioria das vezes
também podem ser atualizados.
Arquitetura em três camadas e
independência de dados
Padrão ANSI-SPARC
• A ideia básica consistia na definição de níveis para a definição de
esquemas associados a um modelo de dados

• Cada um desses níveis deveria isolar as características específicas


que lhe diziam respeito em um schema próprio
Padrão ANSI-SPARC

Arquitetura de três níveis de schema


Arquitetura três esquemas
Alterar o esquema

Esquemas externos
ou visões do usuário

Independência de
dados lógica

Independência de
dados física
Independência de Dados
• A capacidade de alterar o esquema em um nível do sistemas de
banco de dados sem alterar o esquema no nível mais alto ... ou ...
• Habilidade de modificar a definição de um esquema em um nível
sem afetar a definição do esquema em um nível mais alto
• Independência física de dados

• Independência lógica de dados


Questão.
• Órgão: TCE-PA Prova: Auditor de Controle Externo - Área Informática
- Analista de Sistema
• Julgue o item subsequente, no que se refere a sistemas de
gerenciamento de bancos de dados (SGBD).
• Independência lógica de dados refere-se à capacidade de alterar o
esquema conceitual sem a necessidade de alterar os esquemas
externos ou os programas de aplicação.
Exemplo da Arquitetura ANSI/SPARC
Abstração de Dados
Os três níveis de abstração de Nível de visão
dados foram introduzidos no Visão 1 Visão 2 ... Visão n
relatório CODASYL DBTG em
1971.
Uma proposta similar foi Nível Lógico
difundida pelo relatório Administradores de banco de dados
ANSI/SPARC (falamos (quais informações devem pertencer ao BD?)

anteriormente sobre ele), no


qual os 3 níveis foram batizados
de interno, conceitual e externo Nível Físico
isso aconteceu em 1975. Estruturas de dados complexas de nível baixo são descritas em detalhes
(como os dados são de FATO armazenados?)

Silberchatz,. Os três níveis de abstração de dados


Modelos de dados e Arq. Em 3 esquemas
Mapa Mental
Conceitos básicos de bancos de dados
Modelo relacional
Modelagem Lógica
Categorias de modelos de dados

Esquemas
Conceituais Conceituais
Alto nível

Esquemas Representativos
Lógicos
Implementação

Físicos
Esquemas
Físicos Baixo nível
Que tal começarmos pela adega?
Modelo Relacional

Atraiu atenção imediata


Foi introduzido por Ted Codd
devido a sua simplicidade e
em um artigo clássico (1970)
base matemática.

Baseado na teoria de
Sucede os modelos de rede
conjuntos e lógica de
e hierárquico (Sistemas de
predicados de primeira
banco de dados legados).
ordem.
Modelo Relacional
• Cada linha representa um fato correspondente a uma entidade ou
um relacionamento do mundo real.
• O nome das tabelas e os nomes das colunas são usados para
ajudar na interpretação do significado dos valores em cada linha.
Conceitos básicos
Modelo relacional de dados: Relação
Domínio
Atributos Tipo de dados
Aprovados
Cabeçalho Id_Aprovado Nome Municipio CPF Posição
1 Max 2611606 11111111111 1
2 Silvinha 2604106 22222222222 2
Corpo
3 Claudio 2604106 33333333333 3
4 Thiago Null 44444444444 4

4 tuplas
Linhas da tabela
Aspectos do modelo relacional
Exemplificando
Relação: Consiste de um estrutura com cabeçalhos e corpo que serve para armazenar tuplas.

Conceitos: Tupla, atributo, domínio, cabeçalho, corpo, tipo de dados.

Propriedades:
1. Cada tupla contém exatamente um valor (do tipo apropriado) para cada atributo
2. Atributos não são ordenados da esquerda para a direita. Essa propriedade acontece, pois, uma tupla é
definida em termos de conjuntos matemáticos, que não possuem ordenação dos seus elementos
3. Tuplas não são ordenadas de cima para baixo
4. Não existem tuplas duplicadas

Uma tupla deve conter um conjunto de elementos. Cada elemento


deve conter o nome do atributo, o nome do tipo e um valor.

TUPLA {CARGO:CARACTER:PROFESSOR, NOME:CARACTER:THIAGO}


Características das relações
• Ordenação de tuplas em uma relação
• Não tem ordem
• Ordem dos valores dentro de uma tupla
• A ordem dos atributos e seus valores não é tão importante, desde que a
correspondência entre atributos e valores seja mantida.
• Valores e NULLs nas tuplas
• Interpretação (significado) de uma relação
Esquemas de um BD Relacional

Diagrama para o esquema do


Banco de dados relacional
EMPRESA
Um estado de um BD relacional
Conceitos básicos do modelo relacional
Relações representam dados e relacionamentos.

Conceito básicos Baseado na teoria dos conjuntos e na lógica de primeira ordem.


Modelo Relacional

Desenvolvidos por conta da simplicidade e familiaridade

Estrutural - os dados no banco de dados são percebidos pelo usuário como tabelas

Aspectos De integridade - tabelas satisfazem a certas restrições de integridade

Manipulador - os operadores disponíveis para que o usuário possa manipular essas


tabelas
Princípio da Todo o conteúdo de informação do banco de dados é representado de um e somente
informação um modo, ou seja, como valores explícitos em posições de colunas em linhas de tabelas.
Tabela x Relação
Característica Relação Tabela
Nomes de tipo são omitidos nos
Não Sim (normalmente)
cabeçalhos.

Nomes de tipo e do atributo


Não Sim
normalmente são omitidos no corpo.

Atributos/colunas possuem uma ordem


Não Sim
da esquerda para a direita.

As tuplas/linhas possuem uma ordem


Não Sim
de cima para baixo.

Pode conter tuplas/linhas duplicatas. Não Sim2

Neste caso, pense em uma tabela do Excel. Se estivermos falando de uma tabela no modelo relacional, ela
[1]

não pode conter linhas duplicadas e todos os seus atributos devem ser atômicos.
Restrição de Integridade
Modelo Relacional
Restrições de integridade (SGBD)
• As restrições de integridade resguardam o BD contra danos
acidentais, assegurando que mudanças não resultem na perda da
consistência dos dados.
• Integridade de Domínio
• Integridade de Chave
• Integridade de Vazio
• Integridade de Entidade
• Integridade Referencial
• Integridade Semântica
Integridade de Domínio
• Restrições de domínio
• Mais elementares formas de restrição de integridade
• Tipo do atributo
• É possível definir um domínio para um atributo restringindo seus valores
• X é inteiro – x >= 70 e x <= 100
• Tipo_Conta é string – tipo_Conta é um dos valores do conjunto (“Corrente”,
“Poupança”, “Investimento”)
Integridade de Chave
• Garante que as tuplas de uma relação sejam únicas.
• O valor de um atributo chave pode ser usado para identificar
exclusivamente cada tupla na relação.
• Em geral, um esquema de relação pode ter mais de uma chave,
neste caso cada uma das chaves é chamada de chave candidata.
Integridade de Vazio

A restrição sobre valores NULL especifica


se valores NULLs serão aceitos.

Especifica se os campos de uma coluna


podem ou não ser vazios.
Integridade de Entidade
• A restrição de integridade afirma que nenhum valor de chave primária pode ser NULL.
• Estabelece que nenhum valor de chave primária pode ser null.
• O valor da chave primária é usado para identificar as tuplas de uma relação
• Null → não identifica!
Integridade Referencial
• Classificada entre duas relações
• Usada para manter a
consistência entre as tuplas nas
duas relações.
• Uma tupla(R1) deve se referir
a um tupla existente (R2) - Ex:
Empregado (DNO)
Integridade Semântica
• É especificada pelas regras de negócio, por exemplo, o salário de
um funcionário não deve ser maior que o salário de seu chefe.
• Essas restrições podem ser especificadas na aplicação que se
comunica com o banco de dados ou ..
• ... pelo próprio SGBD usando uma linguagem de especificação de
restrição de uso geral
• Triggers (gatilhos) e assertions (afirmações).
Restrições de integridade (SGBD)
• Integridade de Domínio (dom(A))
• Integridade de Chave (Unicidade)
• Integridade de Vazio (def if(x!=null?x==null))
• Integridade de Entidade (PK != null)
• Integridade Referencial (FK == PK(Chave Candidata) || FK == null)
• Integridade Semântica (assertions ou triggers)
Obrigado!
TCU – 2021 - FGV

Você também pode gostar