Escolar Documentos
Profissional Documentos
Cultura Documentos
➥Modelagem de Dados
➥Álgebra Relacional
Arquivo A
Arquivo B
Arquivo C
Redundância e inconsistência
Dificuldade de acesso aos dados
Isolamento dos dados
Problemas de integridade
Problemas de atomicidade
Anomalias de acesso concorrente
Problemas de segurança
consulta
➫ Evitar inconsistências produzidas pelo acesso
concorrente
➫ Recuperar estado consistente dos dados após
situação de falha
Fernando R. de A. Júnior Banco de Dados 5
Introdução aos Sistemas de Bancos de Dados
❑ Tecnologia de banco de dados
Programa 1 Programa 2 Programa 3
Descrição
de Dados
Banco de
Sistema de Banco de Dados Dados
•Conjunto de dados inter-relacionados (banco de dados)
•Componente de software (SGBD) Tornar transparente como os dados são
•Acesso e modificação dos dados armazenados e gerenciados
➫ Garantir uma visão abstrata dos dados
Fernando R. de A. Júnior Banco de Dados 6
Introdução aos Sistemas de Bancos de Dados
- Abstração de Dados -
Sistemas
Usuário tem uma
de
visão abstrata dos
Bancos
dados
de Dados
Esquema SGBD
Conceitual
Camada Conceitual
Esquema Interno
Camada Interna (Física) (Banco de Dados armazenado)
Fernando R. de A. Júnior Banco de Dados 8
Introdução aos Sistemas de Bancos de Dados
- Arquitetura em Três Camadas -
❑ Esquema Interno - Camada Interna
➥Descreve como os dados estão fisicamente armazenados
➫ Exemplo
➱ Organização de arquivo
➧sequencial-indexado, hashing, sequencial, heap
➱ Alocação em disco
➱ Tipo de registro
➧Fixo, variável
❑ Esquemas (estâncias)
➥Projeto ou estrutura da base - definição
➥Um esquema para cada nível de abstração
nível externo
Habilidade de modificar
Habilidade de modificar
o esquema lógico sem
o esquema físico sem
causar redefinição dos
causar redefinição dos
programas de aplicação
programas de aplicação
Modificações são
Modificações são
necessárias quando a
necessárias para
estrutura lógica da
melhorar desempenho
base é alterada
➱ Acesso
➱ Controle de Concorrência
➱ Recuperação
➱ Armazenamento
❑ Componentes
➥ DDL - Data Description Language
➫ Utilizada para especificar o esquema de um BD
➱ Expressões da DDL
➧ Interpretadas (compiladas) gerando a especificação de um
conjunto de tabelas
➧ A especificação das tabelas é armazenada no catálogo do banco
de dados
➱ Exemplo (SQL)
➧ create table Empregado
(matricula integer not null,
nome varchar(35),
salario real,
primary key(matricula))
Fernando R. de A. Júnior Banco de Dados 13
Introdução aos Sistemas de Bancos de Dados
- Linguagem de Banco de Dados -
❑ Componentes (cont.)
➥ DML - Data Manipulation Language
➫ Utilizada para permitir DML
➱ Consultas sobre um BD
Procedural
Exemplo (SQL)
➧ - requer a especificação de quais dados
select nome devem ser acessados e como devem ser
Nonprocedural
from Empregado - requer somente a especificação de quais
where salario > 7000 dados devem ser acessados
➱ Inserções em uma tabela
➧ Exemplo (SQL)
➧ Exemplo (SQL)
delete from Empregado
where matricula=14
➱ Atualizar valores de atributos de uma tabela
➧ Exemplo (SQL)
update Empregado set salário=salário1.15
where salario<5000.00
Fernando R. de A. Júnior Banco de Dados 14
Introdução aos Sistemas de Bancos de Dados
- Definição-
☛SGBD
➲ Processador de Consultas + Sistema de Armazenamento
➬ Processador de Consultas
Compilador DML
➱ Analisa sintaticamente e semanticamente comandos DML
expressos em uma linguagem de consulta (ex. SQL)
➱ Traduz estes comandos para uma das formas de representação
Mecanismo de Consultas
➱ Responsável pela otimização e geração de planos de
execução de consultas
Fernando R. de A. Júnior Banco de Dados 15
Introdução aos Sistemas de Bancos de Dados
- Definição-
☛ SGBD
➲ Sistema de Armazenamento
➬ Gerenciador de Transações
●
Controle de concorrência
●
Recuperação do banco de dados após falhas
Gerenciador de Buffer
➱Responsável por recuperar objetos em disco e carregá-los
na memória principal em forma de páginas
SGBD possui uma área de buffer em memória principal
➱
➬ Catálogo
➫ Armazena o esquema do banco de dados (meta-dados)
➱ Nomes das tabelas
➱ Exemplo:
➧ Cardinalidade de uma tabela
Gerenciador Gerenciador
de Buffer de Transações
Sistema de
Armazenamento
Gerenciador
de Arquivo
SGBD
Código Objeto BD
aplicativos índices Arquivos Catálogo
de dados
SBD
Fernando R. de A. Júnior Banco de Dados 18
Introdução aos Sistemas de Bancos de Dados
- O Administrador de Bancos de Dados (DBA) -
❑ Programadores de aplicação
❑ Usuários sofisticados
➥ Modelo entidade-relacionamento
➥ Modelo hierárquico
❑ Modelos físicos de dados
dados
➥Exemplo:
➫ Através do modelo relacional, representar os
dados de uma universidade
Fernando R. de A. Júnior Banco de Dados 22
Introdução aos Sistemas de Bancos de Dados
- Classificação de Sistemas de Bancos de Dados -
❑ Classificação de SBDs - Modelo de Dados
➥ Sistema de Banco de Dados Relacional
➫ Modelo Relacional
➧Relação (tabela)
➧Álgebra Relacional
➧Cálculo Relacional
➱ Restrições de integridade
➧Integridade referencial
➱ Tipos primitivos
➱ Restrições de integridade
➧Hierarquia de classes
➧Herança
- Método
➥Sistema de Banco de Dados Objeto-Relacional
❑ Tolerância a falhas
➥Atomicidade das operações