UCSal – Bacharelado em Informática
Banco de Dados
Profa. Semíramis Assis
2015.2
Banco de Dados Relacionais

Arquitetura de um SGBD relacional
é subdividida nos seguintes itens:
Modelo de Dados
 Esquemas
 Tabelas
 Registros
 Estado

Modelo de Dados



Modelos de Alto nível – modelos conceituais, se
aproximam da forma como o usuário conhece ou
trabalha com os dados. Utiliza conceitos de
Entidades, Atributos e Relacionamentos.
Modelos Representativos (ou Lógico) – modelos com
fácil entendimento pelos usuários. Modelos utilizados
pelos principais SGBDs.
Modelos de Baixo nível (ou Físico) – modelo que
descreve como os dados são armazenados em disco.
Voltado para profissionais de TI.
Modelo de Dados
• Exemplo de Modelo Alto Nível:
Modelo de Dados
• Exemplo de Modelo Representativo (ou Lógico):
Modelo de Dados
• Exemplo de Modelo Físico:
Esquemas



Representa a estrutura interna de
um banco de dados, com suas
tabelas, índices, procedures e
funções.
É criado um para cada aplicação.
Um SGBD deve ser capaz de
gerenciar diversos esquemas em
paralelo.
Esquemas
•Representação de um esquema:
Tabelas



Estrutura representada por colunas
(campos) e linhas (registros) que irão
armazenar dados dos usuários.
Campo é a menor unidade de
armazenamento de dados, podendo
conter apenas um tipo de dado.
Registros, também conhecidos como
tuplas ou n-uplas, representam o conjunto
de campos valorizados em uma tabela.
Tabelas


Comandos
DDL
(Linguagem
de
Definição de Dados) compõem o
conjunto de metadados de uma tabela
(create,
drop,
alter,
constraints,
índices).
Comandos
DML
(Linguagem
de
Manipulação de Dados) realizam
operações sobre os dados de uma
tabela (insert, delete, update, select).
Esquema X Tabelas X Registros
• Esquema:
• Tabela:
• Registro:
Relações e Predicados

Toda relação possui duas partes:





Cabeçalho – Formado pelos nomes das colunas ;
Corpo – Formado por um conjunto de linhas para este
cabeçalho.
O predicado de uma relação é representado por seu
cabeçalho;
Cada linha no corpo representa uma proposição
verdadeira, obtida a partir do predicado pela
substituição de valores de argumentos para os
parâmetros do predicado.
Relações x Valor de relação (RelVar).
Relações e Predicados


O que representa o corpo da relação? E o
cabeçalho?
Como identificar o predicado da tabela
acima?
Exercício!



Tenho duas aplicações: Biblioteca e
Financeiro. Quantos esquemas terei na
minha base de dados?
Um esquema pode enxergar e obter
dados de outro?
“Select * from tabela” é um comando
DML ou DDL? Por que?
Dicionário de Dados



Também conhecido como Catálogo, lugar no
qual todos os esquemas e mapeamentos
correspondentes são armazenados;
Armazenam índices, restrições de integridade,
usuários, RelVars, restrições de segurança,
nomes de tabelas e suas colunas, etc.
São informações essenciais para que o SGBD
faça seu trabalho de forma correta.
Estado do Banco de Dados





É representado pelos dados no banco em um
determinado momento (instantâneo ou foto).
Cada inserção ou alteração de registros altera
o estado do banco.
Estado vazio – Tabelas estão vazias,
acabaram de ser criadas.
Estado inicial – Tabelas tiveram a carga inicial
de dados, foram populadas.
Estado válido – Os dados satisfazem a
estrutura e restrições definidas no esquema.
Serviços de um SGBD









Controle de redundância
Compartilhamento de dados
Concorrência
Recuperação
Controle de acesso
Segurança
Restrições de integridade
Distribuição
Gerência de armazenamento de dados
Controle de Redundância


Uma
mesma
informação
pode
ser
compartilhada por diversas áreas de uma
Organização, podendo ocasionar um estado
inconsistente
e
ocupando
espaço
desnecessário de armazenamento.
É papel do SGBD fornecer mecanismos para
este controle sem prejudicar as áreas que
fazem uso da informação.
Compartilhamento de Dados


O SGBD deve permitir que muitos
usuários possam estar conectados
simultaneamente à mesma base de
dados.
Deve
existir
um
controle
de
concorrência de modo a garantir que o
resultado das diversas operações
realizadas seja correto.
Controle de Concorrência



Controle das leituras e modificações
simultâneas em um mesmo dado da
tabela.
Técnica mais utilizada é o bloqueio dos
dados enquanto a operação não for
finalizada, podendo ser lógico ou físico.
Pode ocasionar em bloqueio eterno
(deadlock).
Controle de Transações




O SGBD deve garantir que a base de dados
fique em estado consistente antes e após as
operações.
Toda transação iniciada ou termina com
sucesso ou é totalmente desfeita.
Transações em um mesmo dado por
diferentes usuários devem seguir uma
sequência de execução.
Controle
melhor
de
concorrência
e
recuperação.
Recuperação



Permite que o banco retorne a um
estado consistente após uma falha.
Backup e restauração é a solução mais
simples.
Arquivos de log podem ajudar no
processo de recuperação.
Controle de Acesso



Garantir que os diversos usuários
acessem os dados de acordo com suas
permissões.
SGBD deve garantir que as operações
corretas sejam realizadas por usuários
autenticados em dados identificados.
Matriz de autorização deve ser mantida.
Segurança

Proteção dos dados:


Dados não sejam acessados e/ou alterados
por usuários sem permissão.
Criptografia / Descriptografia dos dados.
Restrições de Integridade




Consistência dos dados no banco deve seguir
as regras definidas sobre os dados.
Controla valores que um campo pode ter. Ex:
faixa de números, nomes não repetidos, etc.
Controla os relacionamentos entre registros.
SGBD deve fornecer mecanismos para:


Especificar restrições de integridade;
Validar as restrições especificadas.
Gerência de Armazenamento


Gerencia como os registros serão
armazenados no disco.
Gerencia espaço do arquivo em disco.
Exercício!



Permissões para usuários podem ser
dadas de forma individual por tabela?
Como se dá um bloqueio eterno
(deadlock) ? Como resolver?
O que seria uma restrição de
integridade na prática?
Dúvidas?
Download

BD_aula3_OK